posthog-js 1.21.1 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 1.23.0 - 2022-06-01
2
+
3
+ - feat: Allow overriding device id generation (#401)
4
+ - Fix this.get_config undefined error (#397)
5
+
6
+ ## 1.22.0 - 2022-05-31
7
+
8
+ - feat: add support to `fbclid` campaign parameter (#400)
9
+
1
10
  ## 1.21.1 - 2022-05-13
2
11
 
3
12
  - chore(build): bumping to make release (#396)
package/dist/array.js CHANGED
@@ -1,11 +1,11 @@
1
1
  parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"zdbk":[function(require,module,exports) {
2
2
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LZString=void 0;var o=String.fromCharCode,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function t(o,r){if(!n[o]){n[o]={};for(var e=0;e<o.length;e++)n[o][o.charAt(e)]=e}return n[o][r]}var s={compressToBase64:function(o){if(null==o)return"";var e=s._compress(o,6,function(o){return r.charAt(o)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(o){return null==o?"":""==o?null:s._decompress(o.length,32,function(e){return t(r,o.charAt(e))})},compressToUTF16:function(r){return null==r?"":s._compress(r,15,function(r){return o(r+32)})+" "},decompressFromUTF16:function(o){return null==o?"":""==o?null:s._decompress(o.length,16384,function(r){return o.charCodeAt(r)-32})},compressToUint8Array:function(o){for(var r=s.compress(o),e=new Uint8Array(2*r.length),n=0,t=r.length;n<t;n++){var i=r.charCodeAt(n);e[2*n]=i>>>8,e[2*n+1]=i%256}return e},decompressFromUint8Array:function(r){if(null==r)return s.decompress(r);for(var e=new Array(r.length/2),n=0,t=e.length;n<t;n++)e[n]=256*r[2*n]+r[2*n+1];var i=[];return e.forEach(function(r){i.push(o(r))}),s.decompress(i.join(""))},compressToEncodedURIComponent:function(o){return null==o?"":s._compress(o,6,function(o){return e.charAt(o)})},decompressFromEncodedURIComponent:function(o){return null==o?"":""==o?null:(o=o.replace(/ /g,"+"),s._decompress(o.length,32,function(r){return t(e,o.charAt(r))}))},compress:function(r){return s._compress(r,16,function(r){return o(r)})},_compress:function(o,r,e){if(null==o)return"";var n,t,s,i={},p={},c="",a="",u="",l=2,f=3,h=2,d=[],m=0,v=0;for(s=0;s<o.length;s+=1)if(c=o.charAt(s),Object.prototype.hasOwnProperty.call(i,c)||(i[c]=f++,p[c]=!0),a=u+c,Object.prototype.hasOwnProperty.call(i,a))u=a;else{if(Object.prototype.hasOwnProperty.call(p,u)){if(u.charCodeAt(0)<256){for(n=0;n<h;n++)m<<=1,v==r-1?(v=0,d.push(e(m)),m=0):v++;for(t=u.charCodeAt(0),n=0;n<8;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}else{for(t=1,n=0;n<h;n++)m=m<<1|t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t=0;for(t=u.charCodeAt(0),n=0;n<16;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete p[u]}else for(t=i[u],n=0;n<h;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++),i[a]=f++,u=String(c)}if(""!==u){if(Object.prototype.hasOwnProperty.call(p,u)){if(u.charCodeAt(0)<256){for(n=0;n<h;n++)m<<=1,v==r-1?(v=0,d.push(e(m)),m=0):v++;for(t=u.charCodeAt(0),n=0;n<8;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}else{for(t=1,n=0;n<h;n++)m=m<<1|t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t=0;for(t=u.charCodeAt(0),n=0;n<16;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1}0==--l&&(l=Math.pow(2,h),h++),delete p[u]}else for(t=i[u],n=0;n<h;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1;0==--l&&(l=Math.pow(2,h),h++)}for(t=2,n=0;n<h;n++)m=m<<1|1&t,v==r-1?(v=0,d.push(e(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==r-1){d.push(e(m));break}v++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:s._decompress(o.length,32768,function(r){return o.charCodeAt(r)})},_decompress:function(r,e,n){var t,s,i,p,c,a,u,l=[],f=4,h=4,d=3,m="",v=[],w={val:n(0),position:e,index:1};for(t=0;t<3;t+=1)l[t]=t;for(i=0,c=Math.pow(2,2),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;u=o(i);break;case 1:for(i=0,c=Math.pow(2,16),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;u=o(i);break;case 2:return""}for(l[3]=u,s=u,v.push(u);;){if(w.index>r)return"";for(i=0,c=Math.pow(2,d),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;switch(u=i){case 0:for(i=0,c=Math.pow(2,8),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;l[h++]=o(i),u=h-1,f--;break;case 1:for(i=0,c=Math.pow(2,16),a=1;a!=c;)p=w.val&w.position,w.position>>=1,0==w.position&&(w.position=e,w.val=n(w.index++)),i|=(p>0?1:0)*a,a<<=1;l[h++]=o(i),u=h-1,f--;break;case 2:return v.join("")}if(0==f&&(f=Math.pow(2,d),d++),l[u])m=l[u];else{if(u!==h)return null;m=s+s.charAt(0)}v.push(m),l[h++]=s+m.charAt(0),s=m,0==--f&&(f=Math.pow(2,d),d++)}}};exports.LZString=s;
3
3
  },{}],"EHrm":[function(require,module,exports) {
4
- module.exports={name:"posthog-js",version:"1.21.1",description:"Posthog-js allows you to automatically capture usage and send events to PostHog.",repository:"https://github.com/PostHog/posthog-js",author:"hey@posthog.com",license:"MIT",scripts:{start:"parcel watch src/loader-globals.js --out-file dist/array.js",serve:"parcel serve src/loader-globals.js --port 3001 --out-file dist/array.js",build:"yarn build-array && yarn build-module && yarn build-es-module && yarn process-types && yarn build-react","build-array":"parcel build src/loader-globals.js --out-file dist/array.js --no-source-maps","build-module":"rollup -i src/loader-module.js -f cjs -o dist/module.js -c rollup.config.js","build-es-module":"rollup -i src/loader-module.js -f es -o dist/es.js -c rollup.config.js","build-react":"cd react; yarn; yarn build;","process-types":"mkdir -p dist; eslint src --ext .ts -c .eslintrc.ts.js --fix && tsc && cp -f src/*.d.ts dist/",lint:"eslint src --fix",prepublishOnly:"yarn lint && yarn test && yarn build && yarn test-react",test:"jest src","test-react":"cd react; yarn test","test-watch":"jest --watch src",cypress:"cypress open"},main:"dist/module.js",module:"dist/es.js",files:["dist/*","react/dist/*"],dependencies:{"@sentry/types":"^6.11.0",fflate:"^0.4.1","rrweb-snapshot":"^1.1.14"},devDependencies:{"@babel/core":"7.12.10","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^8.1.0","@typescript-eslint/eslint-plugin":"^3.5.0","@typescript-eslint/parser":"^3.5.0","babel-eslint":"10.1.0","babel-jest":"^26.6.3",cypress:"^9.2.0",eslint:"7.3.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react":"^7.21.5","eslint-plugin-react-hooks":"^4.2.0","fast-check":"^2.17.0",given2:"^2.1.7",husky:"^4.2.5",jest:"^27.5.1",jsdom:"16.2.2","jsdom-global":"3.0.2","lint-staged":"^10.2.11",localStorage:"1.0.4","node-fetch":"^2.6.1",parcel:"^1.12.4","posthog-js":"link:.",prettier:"^2.0.5",rollup:"^2.18.2",rrweb:"^1.1.3",sinon:"9.0.2",testcafe:"^1.17.1","testcafe-browser-provider-browserstack":"^1.13.2-alpha.1",typescript:"^3.9.6"},husky:{hooks:{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,tsx,js,json}":"prettier --write","*.{ts,tsx}":["eslint -c .eslintrc.ts.js --fix","tsc --noEmit --esModuleInterop --jsx react"]},jest:{testPathIgnorePatterns:["/node_modules/","/cypress/","/react/","/test_data/"],moduleFileExtensions:["js","json"],setupFilesAfterEnv:["given2/setup"],clearMocks:!0,testEnvironment:"jsdom"}};
4
+ module.exports={name:"posthog-js",version:"1.24.0",description:"Posthog-js allows you to automatically capture usage and send events to PostHog.",repository:"https://github.com/PostHog/posthog-js",author:"hey@posthog.com",license:"MIT",scripts:{start:"parcel watch src/loader-globals.js --out-file dist/array.js",serve:"parcel serve src/loader-globals.js --port 3001 --out-file dist/array.js",build:"yarn build-array && yarn build-module && yarn build-es-module && yarn process-types && yarn build-react","build-array":"parcel build src/loader-globals.js --out-file dist/array.js --no-source-maps","build-module":"rollup -i src/loader-module.js -f cjs -o dist/module.js -c rollup.config.js","build-es-module":"rollup -i src/loader-module.js -f es -o dist/es.js -c rollup.config.js","build-react":"cd react; yarn; yarn build;","process-types":"mkdir -p dist; eslint src --ext .ts -c .eslintrc.ts.js --fix && tsc && cp -f src/*.d.ts dist/",lint:"eslint src --fix",prepublishOnly:"yarn lint && yarn test && yarn build && yarn test-react",test:"jest src","test-react":"cd react; yarn test","test-watch":"jest --watch src",cypress:"cypress open"},main:"dist/module.js",module:"dist/es.js",files:["dist/*","react/dist/*"],dependencies:{"@sentry/types":"^6.11.0",fflate:"^0.4.1","rrweb-snapshot":"^1.1.14"},devDependencies:{"@babel/core":"7.12.10","@babel/preset-env":"7.12.11","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^8.1.0","@typescript-eslint/eslint-plugin":"^3.5.0","@typescript-eslint/parser":"^3.5.0","babel-eslint":"10.1.0","babel-jest":"^26.6.3",cypress:"^9.2.0",eslint:"7.3.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react":"^7.21.5","eslint-plugin-react-hooks":"^4.2.0","fast-check":"^2.17.0",given2:"^2.1.7",husky:"^4.2.5",jest:"^27.5.1",jsdom:"16.2.2","jsdom-global":"3.0.2","lint-staged":"^10.2.11",localStorage:"1.0.4","node-fetch":"^2.6.1",parcel:"^1.12.4","posthog-js":"link:.",prettier:"^2.0.5",rollup:"^2.18.2",rrweb:"^1.1.3",sinon:"9.0.2",testcafe:"^1.19.0","testcafe-browser-provider-browserstack":"^1.14.0",typescript:"^3.9.6"},husky:{hooks:{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,tsx,js,json}":"prettier --write","*.{ts,tsx}":["eslint -c .eslintrc.ts.js --fix","tsc --noEmit --esModuleInterop --jsx react"]},jest:{testPathIgnorePatterns:["/node_modules/","/cypress/","/react/","/test_data/"],moduleFileExtensions:["js","json"],setupFilesAfterEnv:["given2/setup","./src/__tests__/setup.js"],modulePathIgnorePatterns:["src/__tests__/setup.js"],clearMocks:!0,testEnvironment:"jsdom"}};
5
5
  },{}],"itQ5":[function(require,module,exports) {
6
6
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=require("../package.json"),r={DEBUG:!1,LIB_VERSION:e.version},t=r;exports.default=t;
7
7
  },{"../package.json":"EHrm"}],"FOZT":[function(require,module,exports) {
8
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COPY_IN_PROGRESS_ATTRIBUTE=exports.document=exports.logger=exports.userAgent=exports._=exports.window=void 0;var e=r(require("./config"));function r(e){return e&&e.__esModule?e:{default:e}}var n=Array.prototype,o=Function.prototype,t=Object.prototype,i=n.slice,c=t.toString,a=t.hasOwnProperty,s="undefined"!=typeof window?window:{},u=s.navigator||{userAgent:""},d=s.document||{},l=u.userAgent;exports.userAgent=l,exports.document=d,exports.window=s;var f=o.bind,p=n.forEach,w=n.indexOf,h=Array.isArray,g={},b={trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}};exports._=b;var v={log:function(){if(e.default.DEBUG&&!b.isUndefined(window.console)&&window.console){var r=window.console.log.__rrweb_original__?window.console.log.__rrweb_original__:window.console.log;try{r.apply(window.console,arguments)}catch(n){b.each(arguments,function(e){r(e)})}}},error:function(){if(e.default.DEBUG&&!b.isUndefined(window.console)&&window.console){var r=["PostHog error:"].concat(Array.prototype.slice.call(arguments)),n=window.console.error.__rrweb_original__?window.console.error.__rrweb_original__:window.console.error;try{n.apply(window.console,r)}catch(o){b.each(r,function(e){n(e)})}}},critical:function(){if(!b.isUndefined(window.console)&&window.console){var e=["PostHog error:"].concat(Array.prototype.slice.call(arguments)),r=window.console.error.__rrweb_original__?window.console.error.__rrweb_original__:window.console.error;try{r.apply(window.console,e)}catch(n){b.each(e,function(e){r(e)})}}}};exports.logger=v,b.bind=function(e,r){var n,o;if(f&&e.bind===f)return f.apply(e,i.call(arguments,1));if(!b.isFunction(e))throw new TypeError;return n=i.call(arguments,2),o=function(){if(!(this instanceof o))return e.apply(r,n.concat(i.call(arguments)));var t={};t.prototype=e.prototype;var c=new t;t.prototype=null;var a=e.apply(c,n.concat(i.call(arguments)));return Object(a)===a?a:c}},b.bind_instance_methods=function(e){for(var r in e)"function"==typeof e[r]&&(e[r]=b.bind(e[r],e))},b.each=function(e,r,n){if(null!=e)if(p&&e.forEach===p)e.forEach(r,n);else if(e.length===+e.length){for(var o=0,t=e.length;o<t;o++)if(o in e&&r.call(n,e[o],o,e)===g)return}else for(var i in e)if(a.call(e,i)&&r.call(n,e[i],i,e)===g)return},b.extend=function(e){return b.each(i.call(arguments,1),function(r){for(var n in r)void 0!==r[n]&&(e[n]=r[n])}),e},b.isArray=h||function(e){return"[object Array]"===c.call(e)},b.isFunction=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(r){return!1}},b.include=function(e,r){var n=!1;return null===e?n:w&&e.indexOf===w?-1!=e.indexOf(r):(b.each(e,function(e){if(n||(n=e===r))return g}),n)},b.includes=function(e,r){return-1!==e.indexOf(r)},b.isObject=function(e){return e===Object(e)&&!b.isArray(e)},b.isEmptyObject=function(e){if(b.isObject(e)){for(var r in e)if(a.call(e,r))return!1;return!0}return!1},b.isUndefined=function(e){return void 0===e},b.isString=function(e){return"[object String]"==c.call(e)},b.isDate=function(e){return"[object Date]"==c.call(e)},b.isNumber=function(e){return"[object Number]"==c.call(e)},b.encodeDates=function(e){return b.each(e,function(r,n){b.isDate(r)?e[n]=b.formatDate(r):b.isObject(r)&&(e[n]=b.encodeDates(r))}),e},b.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},b.formatDate=function(e){function r(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+r(e.getUTCMonth()+1)+"-"+r(e.getUTCDate())+"T"+r(e.getUTCHours())+":"+r(e.getUTCMinutes())+":"+r(e.getUTCSeconds())},b.safewrap=function(r){return function(){try{return r.apply(this,arguments)}catch(n){v.critical("Implementation error. Please turn on debug and contact support@posthog.com."),e.default.DEBUG&&v.critical(n)}}},b.safewrap_class=function(e,r){for(var n=0;n<r.length;n++)e.prototype[r[n]]=b.safewrap(e.prototype[r[n]])},b.safewrap_instance_methods=function(e){for(var r in e)"function"==typeof e[r]&&(e[r]=b.safewrap(e[r]))},b.strip_empty_properties=function(e){var r={};return b.each(e,function(e,n){b.isString(e)&&e.length>0&&(r[n]=e)}),r};var _="undefined"!=typeof Symbol?Symbol("__deepCircularCopyInProgress__"):"__deepCircularCopyInProgress__";function y(e,r,n){return e!==Object(e)?r?r(e,n):e:e[_]?void 0:(e[_]=!0,b.isArray(e)?(o=[],b.each(e,function(e){o.push(y(e,r))})):(o={},b.each(e,function(e,n){n!==_&&(o[n]=y(e,r,n))})),delete e[_],o);var o}exports.COPY_IN_PROGRESS_ATTRIBUTE=_;var m=["$performance_raw"];b.copyAndTruncateStrings=function(e,r){return y(e,function(e,n){return n&&m.indexOf(n)>-1?e:("string"==typeof e&&null!==r&&(e=e.slice(0,r)),e)})},b.base64Encode=function(e){var r,n,o,t,i,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,u="",d=[];if(!e)return e;e=b.utf8Encode(e);do{r=(i=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>18&63,n=i>>12&63,o=i>>6&63,t=63&i,d[s++]=c.charAt(r)+c.charAt(n)+c.charAt(o)+c.charAt(t)}while(a<e.length);switch(u=d.join(""),e.length%3){case 1:u=u.slice(0,-2)+"==";break;case 2:u=u.slice(0,-1)+"="}return u},b.utf8Encode=function(e){var r,n,o,t,i="";for(r=n=0,o=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,t=0;t<o;t++){var c=e.charCodeAt(t),a=null;c<128?n++:a=c>127&&c<2048?String.fromCharCode(c>>6|192,63&c|128):String.fromCharCode(c>>12|224,c>>6&63|128,63&c|128),null!==a&&(n>r&&(i+=e.substring(r,n)),i+=a,r=n=t+1)}return n>r&&(i+=e.substring(r,e.length)),i},b.UUID=function(){var e=function(){for(var e=1*new Date,r=0;e==1*new Date;)r++;return e.toString(16)+r.toString(16)};return function(){var r=(window.screen.height*window.screen.width).toString(16);return e()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,r,n=l,o=[],t=0;function i(e,r){var n,t=0;for(n=0;n<r.length;n++)t|=o[n]<<8*n;return e^t}for(e=0;e<n.length;e++)r=n.charCodeAt(e),o.unshift(255&r),o.length>=4&&(t=i(t,o),o=[]);return o.length>0&&(t=i(t,o)),t.toString(16)}()+"-"+r+"-"+e()}}(),b.isBlockedUA=function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp|ahrefsbot)/i.test(e)},b.HTTPBuildQuery=function(e,r){var n,o,t=[];return b.isUndefined(r)&&(r="&"),b.each(e,function(e,r){n=encodeURIComponent(e.toString()),o=encodeURIComponent(r),t[t.length]=o+"="+n}),t.join(r)},b.getQueryParam=function(e,r){r=r.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+r+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var o=n[1];try{o=decodeURIComponent(o)}catch(t){v.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},b.getHashParam=function(e,r){var n=e.match(new RegExp(r+"=([^&]*)"));return n?n[1]:null},b.register_event=function(){function e(r){return r&&(r.preventDefault=e.preventDefault,r.stopPropagation=e.stopPropagation),r}return e.preventDefault=function(){this.returnValue=!1},e.stopPropagation=function(){this.cancelBubble=!0},function(r,n,o,t,i){if(r)if(r.addEventListener&&!t)r.addEventListener(n,o,!!i);else{var c="on"+n,a=r[c];r[c]=function(r,n,o){return function(t){if(t=t||e(window.event)){var i,c,a=!0;return b.isFunction(o)&&(i=o(t)),c=n.call(r,t),!1!==i&&!1!==c||(a=!1),a}}}(r,o,a)}else v.error("No valid element provided to register_event")}}(),b.info={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term gclid".split(" "),r="",n={};return b.each(e,function(e){(r=b.getQueryParam(d.URL,e)).length&&(n[e]=r)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var r=b.info.searchEngine(e),n="yahoo"!=r?"q":"p",o={};if(null!==r){o.$search_engine=r;var t=b.getQueryParam(e,n);t.length&&(o.ph_keyword=t)}return o},browser:function(e,r,n){return r=r||"",n||b.includes(e," OPR/")?b.includes(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":b.includes(e,"IEMobile")||b.includes(e,"WPDesktop")?"Internet Explorer Mobile":b.includes(e,"SamsungBrowser/")?"Samsung Internet":b.includes(e,"Edge")||b.includes(e,"Edg/")?"Microsoft Edge":b.includes(e,"FBIOS")?"Facebook Mobile":b.includes(e,"Chrome")?"Chrome":b.includes(e,"CriOS")?"Chrome iOS":b.includes(e,"UCWEB")||b.includes(e,"UCBrowser")?"UC Browser":b.includes(e,"FxiOS")?"Firefox iOS":b.includes(r,"Apple")?b.includes(e,"Mobile")?"Mobile Safari":"Safari":b.includes(e,"Android")?"Android Mobile":b.includes(e,"Konqueror")?"Konqueror":b.includes(e,"Firefox")?"Firefox":b.includes(e,"MSIE")||b.includes(e,"Trident/")?"Internet Explorer":b.includes(e,"Gecko")?"Mozilla":""},browserVersion:function(e,r,n){var o={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[b.info.browser(e,r,n)];if(void 0===o)return null;var t=e.match(o);return t?parseFloat(t[t.length-2]):null},os:function(){var e=l;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)&&!/Mobile/.test(e)?"Android Tablet":/Android/.test(e)?"Android":""},deviceType:function(e){var r=this.device(e);return"iPad"===r||"Android Tablet"===r?"Tablet":r?"Mobile":"Desktop"},referringDomain:function(e){var r=e.split("/");return r.length>=3?r[2]:""},properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(l,u.vendor,window.opera),$device:b.info.device(l),$device_type:b.info.deviceType(l)}),{$current_url:window.location.href,$host:window.location.host,$pathname:window.location.pathname,$browser_version:b.info.browserVersion(l,u.vendor,window.opera),$screen_height:window.screen.height,$screen_width:window.screen.width,$viewport_height:window.innerHeight,$viewport_width:window.innerWidth,$lib:"web",$lib_version:e.default.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:b.timestamp()/1e3})},people_properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(l,u.vendor,window.opera)}),{$browser_version:b.info.browserVersion(l,u.vendor,window.opera)})}},b.isObject=b.isObject,b.isBlockedUA=b.isBlockedUA,b.isEmptyObject=b.isEmptyObject,b.info=b.info,b.info.device=b.info.device,b.info.browser=b.info.browser,b.info.browserVersion=b.info.browserVersion,b.info.properties=b.info.properties;
8
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COPY_IN_PROGRESS_ATTRIBUTE=exports.document=exports.logger=exports.userAgent=exports._=exports.window=void 0;var e=r(require("./config"));function r(e){return e&&e.__esModule?e:{default:e}}var n=Array.prototype,o=Function.prototype,t=Object.prototype,i=n.slice,c=t.toString,a=t.hasOwnProperty,s="undefined"!=typeof window?window:{},u=s.navigator||{userAgent:""},d=s.document||{},l=u.userAgent;exports.userAgent=l,exports.document=d,exports.window=s;var f=o.bind,p=n.forEach,w=n.indexOf,h=Array.isArray,g={},b={trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}};exports._=b;var v={log:function(){if(e.default.DEBUG&&!b.isUndefined(window.console)&&window.console){var r=window.console.log.__rrweb_original__?window.console.log.__rrweb_original__:window.console.log;try{r.apply(window.console,arguments)}catch(n){b.each(arguments,function(e){r(e)})}}},error:function(){if(e.default.DEBUG&&!b.isUndefined(window.console)&&window.console){var r=["PostHog error:"].concat(Array.prototype.slice.call(arguments)),n=window.console.error.__rrweb_original__?window.console.error.__rrweb_original__:window.console.error;try{n.apply(window.console,r)}catch(o){b.each(r,function(e){n(e)})}}},critical:function(){if(!b.isUndefined(window.console)&&window.console){var e=["PostHog error:"].concat(Array.prototype.slice.call(arguments)),r=window.console.error.__rrweb_original__?window.console.error.__rrweb_original__:window.console.error;try{r.apply(window.console,e)}catch(n){b.each(e,function(e){r(e)})}}}};exports.logger=v,b.bind=function(e,r){var n,o;if(f&&e.bind===f)return f.apply(e,i.call(arguments,1));if(!b.isFunction(e))throw new TypeError;return n=i.call(arguments,2),o=function(){if(!(this instanceof o))return e.apply(r,n.concat(i.call(arguments)));var t={};t.prototype=e.prototype;var c=new t;t.prototype=null;var a=e.apply(c,n.concat(i.call(arguments)));return Object(a)===a?a:c}},b.bind_instance_methods=function(e){for(var r in e)"function"==typeof e[r]&&(e[r]=b.bind(e[r],e))},b.each=function(e,r,n){if(null!=e)if(p&&e.forEach===p)e.forEach(r,n);else if(e.length===+e.length){for(var o=0,t=e.length;o<t;o++)if(o in e&&r.call(n,e[o],o,e)===g)return}else for(var i in e)if(a.call(e,i)&&r.call(n,e[i],i,e)===g)return},b.extend=function(e){return b.each(i.call(arguments,1),function(r){for(var n in r)void 0!==r[n]&&(e[n]=r[n])}),e},b.isArray=h||function(e){return"[object Array]"===c.call(e)},b.isFunction=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(r){return!1}},b.include=function(e,r){var n=!1;return null===e?n:w&&e.indexOf===w?-1!=e.indexOf(r):(b.each(e,function(e){if(n||(n=e===r))return g}),n)},b.includes=function(e,r){return-1!==e.indexOf(r)},b.isObject=function(e){return e===Object(e)&&!b.isArray(e)},b.isEmptyObject=function(e){if(b.isObject(e)){for(var r in e)if(a.call(e,r))return!1;return!0}return!1},b.isUndefined=function(e){return void 0===e},b.isString=function(e){return"[object String]"==c.call(e)},b.isDate=function(e){return"[object Date]"==c.call(e)},b.isNumber=function(e){return"[object Number]"==c.call(e)},b.encodeDates=function(e){return b.each(e,function(r,n){b.isDate(r)?e[n]=b.formatDate(r):b.isObject(r)&&(e[n]=b.encodeDates(r))}),e},b.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},b.formatDate=function(e){function r(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+r(e.getUTCMonth()+1)+"-"+r(e.getUTCDate())+"T"+r(e.getUTCHours())+":"+r(e.getUTCMinutes())+":"+r(e.getUTCSeconds())},b.safewrap=function(r){return function(){try{return r.apply(this,arguments)}catch(n){v.critical("Implementation error. Please turn on debug and contact support@posthog.com."),e.default.DEBUG&&v.critical(n)}}},b.safewrap_class=function(e,r){for(var n=0;n<r.length;n++)e.prototype[r[n]]=b.safewrap(e.prototype[r[n]])},b.safewrap_instance_methods=function(e){for(var r in e)"function"==typeof e[r]&&(e[r]=b.safewrap(e[r]))},b.strip_empty_properties=function(e){var r={};return b.each(e,function(e,n){b.isString(e)&&e.length>0&&(r[n]=e)}),r};var _="undefined"!=typeof Symbol?Symbol("__deepCircularCopyInProgress__"):"__deepCircularCopyInProgress__";function y(e,r,n){return e!==Object(e)?r?r(e,n):e:e[_]?void 0:(e[_]=!0,b.isArray(e)?(o=[],b.each(e,function(e){o.push(y(e,r))})):(o={},b.each(e,function(e,n){n!==_&&(o[n]=y(e,r,n))})),delete e[_],o);var o}exports.COPY_IN_PROGRESS_ATTRIBUTE=_;var m=["$performance_raw"];b.copyAndTruncateStrings=function(e,r){return y(e,function(e,n){return n&&m.indexOf(n)>-1?e:("string"==typeof e&&null!==r&&(e=e.slice(0,r)),e)})},b.base64Encode=function(e){var r,n,o,t,i,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,u="",d=[];if(!e)return e;e=b.utf8Encode(e);do{r=(i=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>18&63,n=i>>12&63,o=i>>6&63,t=63&i,d[s++]=c.charAt(r)+c.charAt(n)+c.charAt(o)+c.charAt(t)}while(a<e.length);switch(u=d.join(""),e.length%3){case 1:u=u.slice(0,-2)+"==";break;case 2:u=u.slice(0,-1)+"="}return u},b.utf8Encode=function(e){var r,n,o,t,i="";for(r=n=0,o=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,t=0;t<o;t++){var c=e.charCodeAt(t),a=null;c<128?n++:a=c>127&&c<2048?String.fromCharCode(c>>6|192,63&c|128):String.fromCharCode(c>>12|224,c>>6&63|128,63&c|128),null!==a&&(n>r&&(i+=e.substring(r,n)),i+=a,r=n=t+1)}return n>r&&(i+=e.substring(r,e.length)),i},b.UUID=function(){var e=function(){for(var e=1*new Date,r=0;e==1*new Date;)r++;return e.toString(16)+r.toString(16)};return function(){var r=(window.screen.height*window.screen.width).toString(16);return e()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,r,n=l,o=[],t=0;function i(e,r){var n,t=0;for(n=0;n<r.length;n++)t|=o[n]<<8*n;return e^t}for(e=0;e<n.length;e++)r=n.charCodeAt(e),o.unshift(255&r),o.length>=4&&(t=i(t,o),o=[]);return o.length>0&&(t=i(t,o)),t.toString(16)}()+"-"+r+"-"+e()}}(),b.isBlockedUA=function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp|ahrefsbot)/i.test(e)},b.HTTPBuildQuery=function(e,r){var n,o,t=[];return b.isUndefined(r)&&(r="&"),b.each(e,function(e,r){n=encodeURIComponent(e.toString()),o=encodeURIComponent(r),t[t.length]=o+"="+n}),t.join(r)},b.getQueryParam=function(e,r){r=r.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+r+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var o=n[1];try{o=decodeURIComponent(o)}catch(t){v.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},b.getHashParam=function(e,r){var n=e.match(new RegExp(r+"=([^&]*)"));return n?n[1]:null},b.register_event=function(){function e(r){return r&&(r.preventDefault=e.preventDefault,r.stopPropagation=e.stopPropagation),r}return e.preventDefault=function(){this.returnValue=!1},e.stopPropagation=function(){this.cancelBubble=!0},function(r,n,o,t,i){if(r)if(r.addEventListener&&!t)r.addEventListener(n,o,!!i);else{var c="on"+n,a=r[c];r[c]=function(r,n,o){return function(t){if(t=t||e(window.event)){var i,c,a=!0;return b.isFunction(o)&&(i=o(t)),c=n.call(r,t),!1!==i&&!1!==c||(a=!1),a}}}(r,o,a)}else v.error("No valid element provided to register_event")}}(),b.info={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term gclid fbclid".split(" "),r={};return b.each(e,function(e){var n=b.getQueryParam(d.URL,e);n.length&&(r[e]=n)}),r},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var r=b.info.searchEngine(e),n="yahoo"!=r?"q":"p",o={};if(null!==r){o.$search_engine=r;var t=b.getQueryParam(e,n);t.length&&(o.ph_keyword=t)}return o},browser:function(e,r,n){return r=r||"",n||b.includes(e," OPR/")?b.includes(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":b.includes(e,"IEMobile")||b.includes(e,"WPDesktop")?"Internet Explorer Mobile":b.includes(e,"SamsungBrowser/")?"Samsung Internet":b.includes(e,"Edge")||b.includes(e,"Edg/")?"Microsoft Edge":b.includes(e,"FBIOS")?"Facebook Mobile":b.includes(e,"Chrome")?"Chrome":b.includes(e,"CriOS")?"Chrome iOS":b.includes(e,"UCWEB")||b.includes(e,"UCBrowser")?"UC Browser":b.includes(e,"FxiOS")?"Firefox iOS":b.includes(r,"Apple")?b.includes(e,"Mobile")?"Mobile Safari":"Safari":b.includes(e,"Android")?"Android Mobile":b.includes(e,"Konqueror")?"Konqueror":b.includes(e,"Firefox")?"Firefox":b.includes(e,"MSIE")||b.includes(e,"Trident/")?"Internet Explorer":b.includes(e,"Gecko")?"Mozilla":""},browserVersion:function(e,r,n){var o={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[b.info.browser(e,r,n)];if(void 0===o)return null;var t=e.match(o);return t?parseFloat(t[t.length-2]):null},os:function(){var e=l;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)&&!/Mobile/.test(e)?"Android Tablet":/Android/.test(e)?"Android":""},deviceType:function(e){var r=this.device(e);return"iPad"===r||"Android Tablet"===r?"Tablet":r?"Mobile":"Desktop"},referringDomain:function(e){var r=e.split("/");return r.length>=3?r[2]:""},properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(l,u.vendor,window.opera),$device:b.info.device(l),$device_type:b.info.deviceType(l)}),{$current_url:window.location.href,$host:window.location.host,$pathname:window.location.pathname,$browser_version:b.info.browserVersion(l,u.vendor,window.opera),$screen_height:window.screen.height,$screen_width:window.screen.width,$viewport_height:window.innerHeight,$viewport_width:window.innerWidth,$lib:"web",$lib_version:e.default.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:b.timestamp()/1e3})},people_properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(l,u.vendor,window.opera)}),{$browser_version:b.info.browserVersion(l,u.vendor,window.opera)})}},b.isObject=b.isObject,b.isBlockedUA=b.isBlockedUA,b.isEmptyObject=b.isEmptyObject,b.info=b.info,b.info.device=b.info.device,b.info.browser=b.info.browser,b.info.browserVersion=b.info.browserVersion,b.info.properties=b.info.properties;
9
9
  },{"./config":"itQ5"}],"RYfg":[function(require,module,exports) {
10
10
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getClassName=r,exports.getSafeText=n,exports.isElementNode=o,exports.isTag=s,exports.isTextNode=i,exports.shouldCaptureDomEvent=u,exports.shouldCaptureElement=a,exports.isSensitiveElement=p,exports.shouldCaptureValue=l,exports.isAngularStyleAttr=d,exports.loadScript=f,exports.usefulElements=void 0;var e=require("./utils");function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e){switch(t(e.className)){case"string":return e.className;case"object":return e.className.baseVal||e.getAttribute("class")||"";default:return""}}function n(t){var r="";return a(t)&&!p(t)&&t.childNodes&&t.childNodes.length&&e._.each(t.childNodes,function(t){i(t)&&t.textContent&&(r+=e._.trim(t.textContent).split(/(\s+)/).filter(l).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))}),e._.trim(r)}function o(e){return e&&1===e.nodeType}function s(e,t){return e&&e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function i(e){return e&&3===e.nodeType}var c=["a","button","form","input","select","textarea","label"];function u(e,t){if(!e||s(e,"html")||!o(e))return!1;for(var r=!1,n=[e],i=!0,u=e;u.parentNode&&!s(u,"body");)if(11!==u.parentNode.nodeType){if(!(i=u.parentNode))break;if(c.indexOf(i.tagName.toLowerCase())>-1)r=!0;else{var a=window.getComputedStyle(i);a&&"pointer"===a.getPropertyValue("cursor")&&(r=!0)}n.push(i),u=i}else n.push(u.parentNode.host),u=u.parentNode.host;var p=window.getComputedStyle(e);if(p&&"pointer"===p.getPropertyValue("cursor")&&"click"===t.type)return!0;var l=e.tagName.toLowerCase();switch(l){case"html":return!1;case"form":return"submit"===t.type;case"input":return"change"===t.type||"click"===t.type;case"select":case"textarea":return"change"===t.type||"click"===t.type;default:return r?"click"===t.type:"click"===t.type&&(c.indexOf(l)>-1||"true"===e.getAttribute("contenteditable"))}}function a(t){for(var n=t;n.parentNode&&!s(n,"body");n=n.parentNode){var o=r(n).split(" ");if(e._.includes(o,"ph-sensitive")||e._.includes(o,"ph-no-capture"))return!1}if(e._.includes(r(t).split(" "),"ph-include"))return!0;var i=t.type||"";if("string"==typeof i)switch(i.toLowerCase()){case"hidden":case"password":return!1}var c=t.name||t.id||"";if("string"==typeof c){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(c.replace(/[^a-zA-Z0-9]/g,"")))return!1}return!0}function p(e){return!!(s(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||s(e,"select")||s(e,"textarea")||"true"===e.getAttribute("contenteditable"))}function l(t){if(null===t||e._.isUndefined(t))return!1;if("string"==typeof t){t=e._.trim(t);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((t||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(t))return!1}return!0}function d(e){return"string"==typeof e&&("_ngcontent"===e.substring(0,10)||"_nghost"===e.substring(0,7))}function f(e,t){var r=document.createElement("script");r.type="text/javascript",r.src=e,r.onload=t;var n=document.getElementsByTagName("script");n.length>0?n[0].parentNode.insertBefore(r,n[0]):document.body.appendChild(r)}exports.usefulElements=c;
11
11
  },{"./utils":"FOZT"}],"Oszc":[function(require,module,exports) {
@@ -45,13 +45,13 @@ module.exports={name:"posthog-js",version:"1.21.1",description:"Posthog-js allow
45
45
  },{"./lz-string":"zdbk","fflate":"UJm1","./utils":"FOZT"}],"tOu2":[function(require,module,exports) {
46
46
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.xhr=exports.encodePostData=exports.addParamsToURL=void 0;var e=require("./utils"),r=t(require("./config"));function t(e){return e&&e.__esModule?e:{default:e}}function n(e,r){var t;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=o(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,u=!1;return{s:function(){t=e[Symbol.iterator]()},n:function(){var e=t.next();return s=e.done,e},e:function(e){u=!0,i=e},f:function(){try{s||null==t.return||t.return()}finally{if(u)throw i}}}}function o(e,r){if(e){if("string"==typeof e)return a(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,r):void 0}}function a(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var i=function(t,o,a){var i=o||{};i.ip=a.ip?1:0,i._=(new Date).getTime().toString(),i.ver=r.default.LIB_VERSION;var s=t.split("?");if(s.length>1){var u,c=n(s[1].split("&"));try{for(c.s();!(u=c.n()).done;){var l=u.value.split("=")[0];i[l]&&delete i[l]}}catch(f){c.e(f)}finally{c.f()}}var d=t.indexOf("?")>-1?"&":"?";return t+d+e._.HTTPBuildQuery(i)};exports.addParamsToURL=i;var s=function e(r,t){if(t.blob&&r.buffer)return new Blob([r.buffer],{type:"text/plain"});if(t.sendBeacon||t.blob){var n=e(r,{method:"POST"});return new Blob([n],{type:"application/x-www-form-urlencoded"})}if("POST"!==t.method)return null;var o,a;return o=Array.isArray(r)||(a=r,"[object Uint8Array]"===Object.prototype.toString.call(a))?"data="+encodeURIComponent(r):"data="+encodeURIComponent(r.data),r.compression&&(o+="&compression="+r.compression),o};exports.encodePostData=s;var u=function(r){var t=r.url,n=r.data,o=r.headers,a=r.options,i=r.captureMetrics,u=r.callback,c=r.retriesPerformedSoFar,l=r.retryQueue,d=r.onXHRError,f=new XMLHttpRequest;f.open(a.method,t,!0);var p=s(n,a);i.incr("_send_request"),i.incr("_send_request_inflight"),e._.each(o,function(e,r){f.setRequestHeader(r,e)}),"POST"!==a.method||a.blob||f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),f.withCredentials=!0,f.onreadystatechange=function(){if(4===f.readyState)if(i.incr("xhr-response"),i.incr("xhr-response-".concat(f.status)),i.decr("_send_request_inflight"),200===f.status){if(u){var r;try{r=JSON.parse(f.responseText)}catch(s){return void e.logger.error(s)}u(r)}}else"function"==typeof d&&d(f),[401,403,404,500].indexOf(f.status)<0&&l.enqueue({url:t,data:n,options:a,headers:o,retriesPerformedSoFar:(c||0)+1,callback:u}),u&&(a.verbose?u({status:0,error:error}):u(0))},f.send(p)};exports.xhr=u;
47
47
  },{"./utils":"FOZT","./config":"itQ5"}],"ennf":[function(require,module,exports) {
48
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RetryQueue=void 0;var e=require("./base-request-queue"),t=require("./send-request");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=a(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){c=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}function a(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&f(e.prototype,t),r&&f(e,r),e}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=v();return function(){var r,n=w(e);if(t){var o=w(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return b(this,r)}}function b(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var O=function(r){y(i,e.RequestQueueScaffold);var n=h(i);function i(e,t){var r;return l(this,i),(r=n.call(this)).captureMetrics=e,r.isPolling=!1,r.queue=[],r.areWeOnline=!0,r.onXHRError=t,"onLine"in window.navigator&&(r.areWeOnline=window.navigator.onLine,window.addEventListener("online",function(){r._handleWeAreNowOnline()}),window.addEventListener("offline",function(){r.areWeOnline=!1})),r}return s(i,[{key:"enqueue",value:function(e){var t=e.retriesPerformedSoFar||0;if(!(t>=10)){var r=3e3*Math.pow(2,t),n=new Date(Date.now()+r);console.warn("Enqueued failed request for retry in ".concat(r)),this.queue.push({retryAt:n,requestData:e}),this.isPolling||(this.isPolling=!0,this.poll())}}},{key:"poll",value:function(){var e=this;clearTimeout(this._poller),this._poller=setTimeout(function(){e.areWeOnline&&e.queue.length>0&&e.flush(),e.poll()},this._pollInterval)}},{key:"flush",value:function(){var e=new Date(Date.now()),t=this.queue.filter(function(t){return t.retryAt<e});if(t.length>0){this.queue=this.queue.filter(function(t){return t.retryAt>=e});var r,n=u(t);try{for(n.s();!(r=n.n()).done;){var o=r.value.requestData;this._executeXhrRequest(o)}}catch(i){n.e(i)}finally{n.f()}}}},{key:"unload",value:function(){clearTimeout(this._poller);var e,r=u(this.queue);try{for(r.s();!(e=r.n()).done;){var n=e.value.requestData,i=n.url,a=n.data,c=n.options;try{window.navigator.sendBeacon(i,(0,t.encodePostData)(a,o(o({},c),{},{sendBeacon:!0})))}catch(l){this.get_config("debug")&&console.error(l)}}}catch(f){r.e(f)}finally{r.f()}this.queue=[]}},{key:"_executeXhrRequest",value:function(e){var r=e.url,n=e.data,o=e.options,i=e.headers,u=e.callback,a=e.retriesPerformedSoFar;(0,t.xhr)({url:r,data:n||{},options:o||{},headers:i||{},retriesPerformedSoFar:a||0,callback:u,captureMetrics:this.captureMetrics,retryQueue:this,onXHRError:this.onXHRError})}},{key:"_handleWeAreNowOnline",value:function(){this.areWeOnline=!0,this.flush()}}]),i}();exports.RetryQueue=O;
48
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RetryQueue=void 0;var e=require("./base-request-queue"),t=require("./send-request");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=a(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){c=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}function a(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&f(e.prototype,t),r&&f(e,r),e}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=d();return function(){var r,n=w(e);if(t){var o=w(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return b(this,r)}}function b(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?v(e):t}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var O=function(r){y(i,e.RequestQueueScaffold);var n=h(i);function i(e,t){var r;return l(this,i),(r=n.call(this)).captureMetrics=e,r.isPolling=!1,r.queue=[],r.areWeOnline=!0,r.onXHRError=t,"onLine"in window.navigator&&(r.areWeOnline=window.navigator.onLine,window.addEventListener("online",function(){r._handleWeAreNowOnline()}),window.addEventListener("offline",function(){r.areWeOnline=!1})),r}return s(i,[{key:"enqueue",value:function(e){var t=e.retriesPerformedSoFar||0;if(!(t>=10)){var r=3e3*Math.pow(2,t),n=new Date(Date.now()+r);console.warn("Enqueued failed request for retry in ".concat(r)),this.queue.push({retryAt:n,requestData:e}),this.isPolling||(this.isPolling=!0,this.poll())}}},{key:"poll",value:function(){var e=this;clearTimeout(this._poller),this._poller=setTimeout(function(){e.areWeOnline&&e.queue.length>0&&e.flush(),e.poll()},this._pollInterval)}},{key:"flush",value:function(){var e=new Date(Date.now()),t=this.queue.filter(function(t){return t.retryAt<e});if(t.length>0){this.queue=this.queue.filter(function(t){return t.retryAt>=e});var r,n=u(t);try{for(n.s();!(r=n.n()).done;){var o=r.value.requestData;this._executeXhrRequest(o)}}catch(i){n.e(i)}finally{n.f()}}}},{key:"unload",value:function(){clearTimeout(this._poller);var e,r=u(this.queue);try{for(r.s();!(e=r.n()).done;){var n=e.value.requestData,i=n.url,a=n.data,c=n.options;try{window.navigator.sendBeacon(i,(0,t.encodePostData)(a,o(o({},c),{},{sendBeacon:!0})))}catch(f){var l;(null===(l=this.get_config)||void 0===l?void 0:l.call(this,"debug"))&&console.error(f)}}}catch(s){r.e(s)}finally{r.f()}this.queue=[]}},{key:"_executeXhrRequest",value:function(e){var r=e.url,n=e.data,o=e.options,i=e.headers,u=e.callback,a=e.retriesPerformedSoFar;(0,t.xhr)({url:r,data:n||{},options:o||{},headers:i||{},retriesPerformedSoFar:a||0,callback:u,captureMetrics:this.captureMetrics,retryQueue:this,onXHRError:this.onXHRError})}},{key:"_handleWeAreNowOnline",value:function(){this.areWeOnline=!0,this.flush()}}]),i}();exports.RetryQueue=O;
49
49
  },{"./base-request-queue":"ae0g","./send-request":"tOu2"}],"tci7":[function(require,module,exports) {
50
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionIdManager=void 0;var e=require("./posthog-persistence"),t=require("./storage"),n=require("./utils");function i(e,t){return u(e)||a(e,t)||r(e,t)||s()}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function a(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],i=!0,s=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(i=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(u){s=!0,r=u}finally{try{i||null==a.return||a.return()}finally{if(s)throw r}}return n}}function u(e){if(Array.isArray(e))return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _(e,t,n){return t&&c(e.prototype,t),n&&c(e,n),e}var h=18e5,f=function(){function s(e,t){l(this,s),this.persistence=t,e.persistence_name?this.window_id_storage_key="ph_"+e.persistence_name+"_window_id":this.window_id_storage_key="ph_"+e.token+"_window_id"}return _(s,[{key:"_setWindowId",value:function(e){e!==this._windowId&&(this._windowId=e,!this.persistence.disabled&&t.sessionStore.is_supported()&&t.sessionStore.set(this.window_id_storage_key,e))}},{key:"_getWindowId",value:function(){return this._windowId?this._windowId:!this.persistence.disabled&&t.sessionStore.is_supported()?t.sessionStore.parse(this.window_id_storage_key):null}},{key:"_setSessionId",value:function(t,n){t===this._sessionId&&n===this._timestamp||(this._timestamp=n,this._sessionId=t,this.persistence.register(d({},e.SESSION_ID,[n,t])))}},{key:"_getSessionId",value:function(){return this._sessionId&&this._timestamp?[this._timestamp,this._sessionId]:this.persistence.props[e.SESSION_ID]||[0,null]}},{key:"resetSessionId",value:function(){this._setSessionId(null,null)}},{key:"checkAndGetSessionAndWindowId",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t=t||(new Date).getTime();var s=i(this._getSessionId(),2),r=s[0],o=s[1],a=this._getWindowId();!o||!e&&Math.abs(t-r)>h?(o=n._.UUID(),a=n._.UUID()):a||(a=n._.UUID());var u=0!==r&&e?r:t;return this._setWindowId(a),this._setSessionId(o,u),{sessionId:o,windowId:a}}}]),s}();exports.SessionIdManager=f;
50
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionIdManager=void 0;var e=require("./posthog-persistence"),t=require("./storage"),i=require("./utils");function s(e,t){return u(e)||a(e,t)||r(e,t)||n()}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e,t){if(e){if("string"==typeof e)return o(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,s=new Array(t);i<t;i++)s[i]=e[i];return s}function a(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var i=[],s=!0,n=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(s=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);s=!0);}catch(u){n=!0,r=u}finally{try{s||null==a.return||a.return()}finally{if(n)throw r}}return i}}function u(e){if(Array.isArray(e))return e}function d(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function _(e,t,i){return t&&c(e.prototype,t),i&&c(e,i),e}var h=18e5,p=864e5,f=function(){function n(e,t){l(this,n),this.persistence=t,e.persistence_name?this.window_id_storage_key="ph_"+e.persistence_name+"_window_id":this.window_id_storage_key="ph_"+e.token+"_window_id"}return _(n,[{key:"_setWindowId",value:function(e){e!==this._windowId&&(this._windowId=e,!this.persistence.disabled&&t.sessionStore.is_supported()&&t.sessionStore.set(this.window_id_storage_key,e))}},{key:"_getWindowId",value:function(){return this._windowId?this._windowId:!this.persistence.disabled&&t.sessionStore.is_supported()?t.sessionStore.parse(this.window_id_storage_key):null}},{key:"_setSessionId",value:function(t,i,s){t===this._sessionId&&i===this._sessionActivityTimestamp&&s===this._sessionStartTimestamp||(this._sessionStartTimestamp=s,this._sessionActivityTimestamp=i,this._sessionId=t,this.persistence.register(d({},e.SESSION_ID,[i,t,s])))}},{key:"_getSessionId",value:function(){if(this._sessionId&&this._sessionActivityTimestamp&&this._sessionStartTimestamp)return[this._sessionActivityTimestamp,this._sessionId,this._sessionStartTimestamp];var t=this.persistence.props[e.SESSION_ID];return Array.isArray(t)&&2===t.length&&t.push(t[0]),t||[0,null,0]}},{key:"resetSessionId",value:function(){this._setSessionId(null,null,null)}},{key:"checkAndGetSessionAndWindowId",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t=t||(new Date).getTime();var n=s(this._getSessionId(),3),r=n[0],o=n[1],a=n[2],u=this._getWindowId(),d=a&&a>0&&Math.abs(t-a)>p;!o||!e&&Math.abs(t-r)>h||d?(o=i._.UUID(),u=i._.UUID(),a=t):u||(u=i._.UUID());var l=0===r||!e||d?t:r,c=0===a?(new Date).getTime():a;return this._setWindowId(u),this._setSessionId(o,l,c),{sessionId:o,windowId:u}}}]),n}();exports.SessionIdManager=f;
51
51
  },{"./posthog-persistence":"MAdm","./storage":"KZ7Y","./utils":"FOZT"}],"eWVp":[function(require,module,exports) {
52
52
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.optimisePerformanceData=i,exports.getPerformanceEntriesByType=a,exports.deduplicateKeys=u,exports.pageLoadFrom=c,exports.getPerformanceData=f;var e=require("./utils"),r=n(require("./config"));function n(e){return e&&e.__esModule?e:{default:e}}function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return Number(e)===e&&e%1!=0}function i(e){return e.forEach(function(r,n){for(var t in r)o(r[t])&&r[t].toString().match(/^\d+\.\d{4,}$/)&&(e[n][t]=Number(r[t].toFixed(3))),["serverTiming","workerTiming"].includes(t)&&0===r[t].length&&delete e[n][t],"entryType"===t&&"resource"===r[t]&&delete e[n][t],"nextHopProtocol"===t&&delete e[n][t],0===r[t]&&delete e[n][t]}),u(e)}function a(n){try{return i(JSON.parse(JSON.stringify(e.window.performance.getEntriesByType(n))))}catch(t){return r.default.DEBUG&&console.warn("not able to capture performance data ("+n+") - "+t),[]}}function u(e){if(0===e.length)return[];var r=Object.keys(e[0]);return[r,e.map(function(e){return r.map(function(r){return e[r]})})]}function c(e){var r=e.navigation&&e.navigation[0],n=e.navigation&&e.navigation[1]&&e.navigation[1][0],t=r&&r.indexOf("duration");if(t>-1)return n[t];var o=r&&r.indexOf("loadEventEnd"),i=r&&r.indexOf("startTime");return o>-1?(n&&n[o])-(n&&n[i]||0):void 0}function f(){var r={navigation:a("navigation"),paint:a("paint"),resource:a("resource")};void 0!==t(e.window)&&e.window.performance&&e.window.performance.clearResourceTimings&&e.window.performance.clearResourceTimings();var n={},o=c(r);return o&&(n.$performance_page_loaded=o),n.$performance_raw=JSON.stringify(r),n}
53
53
  },{"./utils":"FOZT","./config":"itQ5"}],"ok3T":[function(require,module,exports) {
54
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.init_from_snippet=N,exports.init_as_module=Y,exports.PostHogLib=void 0;var e,t,o=require("./lz-string"),r=w(require("./config")),i=require("./utils"),n=require("./autocapture"),s=require("./posthog-people"),p=require("./posthog-featureflags"),a=require("./posthog-persistence"),c=require("./extensions/sessionrecording"),_=require("./decide"),u=require("./extensions/toolbar"),d=require("./gdpr-utils"),g=require("./storage"),l=require("./request-queue"),h=require("./capture-metrics"),f=require("./compression"),y=require("./send-request"),b=require("./retry-queue"),m=require("./sessionid"),v=require("./apm");function w(e){return e&&e.__esModule?e:{default:e}}function k(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)}return o}function q(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?k(Object(o),!0).forEach(function(t){P(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):k(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function P(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function S(e,t){return $(e)||E(e,t)||F(e,t)||x()}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function F(e,t){if(e){if("string"==typeof e)return O(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?O(e,t):void 0}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}function E(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],r=!0,i=!1,n=void 0;try{for(var s,p=e[Symbol.iterator]();!(r=(s=p.next()).done)&&(o.push(s.value),!t||o.length!==t);r=!0);}catch(a){i=!0,n=a}finally{try{r||null==p.return||p.return()}finally{if(i)throw n}}return o}}function $(e){if(Array.isArray(e))return e}var I=0,R=1,A=function(){},H={},j="posthog",M=i.window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,L=!M&&-1===i.userAgent.indexOf("MSIE")&&-1===i.userAgent.indexOf("Mozilla"),D=function(){return{api_host:"https://app.posthog.com",api_method:"POST",api_transport:"XHR",autocapture:!0,rageclick:!1,cross_subdomain_cookie:-1===i.document.location.hostname.indexOf("herokuapp.com"),persistence:"cookie",persistence_name:"",cookie_name:"",loaded:function(){},store_google:!0,save_referrer:!0,test:!1,verbose:!1,img:!1,capture_pageview:!0,debug:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_cookie:!1,enable_recording_console_log:!1,secure_cookie:"https:"===i.window.location.protocol,ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_capturing_persistence_type:"localStorage",opt_out_capturing_cookie_prefix:null,property_blacklist:[],sanitize_properties:null,xhr_headers:{},inapp_protocol:"//",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{blockClass:"ph-no-capture",blockSelector:null,ignoreClass:"ph-ignore-input",maskAllInputs:!0,maskInputOptions:{},maskInputFn:null,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_toolbar_metrics:!1,on_xhr_error:function(e){var t="Bad HTTP status: "+e.status+" "+e.statusText;console.error(t)},_onCapture:function(){},_capture_metrics:!1,_capture_performance:!1}},U=function(){};exports.PostHogLib=U;var C=function(o,a,_){var d,g=_===j?t:t[_];if(g&&e===I)d=g;else{if(g&&!i._.isArray(g))return void console.error("You have already initialized "+_);d=new U}if(d._init(o,a,_),d.people=new s.PostHogPeople,d.people._init(d),d.featureFlags=new p.PostHogFeatureFlags(d),d.feature_flags=d.featureFlags,d.toolbar=new u.Toolbar(d),d.toolbar.maybeLoadEditor(),d.sessionRecording=new c.SessionRecording(d),d.sessionRecording.startRecordingIfEnabled(),d.__autocapture_enabled=d.get_config("autocapture"),d.get_config("autocapture")){n.autocapture.enabledForProject(d.get_config("token"),100,100)?n.autocapture.isBrowserSupported()?n.autocapture.init(d):(d.__autocapture_enabled=!1,i.logger.log("Disabling Automatic Event Collection because this browser is not supported")):(d.__autocapture_enabled=!1,i.logger.log("Not in active bucket: disabling Automatic Event Collection."))}return r.default.DEBUG=r.default.DEBUG||d.get_config("debug"),!i._.isUndefined(g)&&i._.isArray(g)&&(d._execute_array.call(d.people,g.people),d._execute_array(g)),d};U.prototype.init=function(e,o,r){if(i._.isUndefined(r))console.error("You must name your new library: init(token, config, name)");else{if(r!==j){var n=C(e,o,r);return t[r]=n,n._loaded(),n}console.error("You must initialize the main posthog object right after you include the PostHog js snippet")}},U.prototype._init=function(e,t,o){this.__loaded=!0,this.config={},this._triggered_notifs=[],this.compression={},this.set_config(i._.extend({},D(),t,{name:o,token:e,callback_fn:(o===j?o:j+"."+o)+"._jsc"})),this._jsc=function(){},this._captureMetrics=new h.CaptureMetrics(this.get_config("_capture_metrics")),this._requestQueue=new l.RequestQueue(this._captureMetrics,i._.bind(this._handle_queued_event,this)),this._retryQueue=new b.RetryQueue(this._captureMetrics,this.get_config("on_xhr_error")),this.__captureHooks=[],this.__request_queue=[],this.persistence=new a.PostHogPersistence(this.config),this.sessionManager=new m.SessionIdManager(this.config,this.persistence),this._gdpr_init();var r=i._.UUID();this.get_distinct_id()||this.register_once({distinct_id:r,$device_id:r},""),i.window.addEventListener&&i.window.addEventListener("unload",this._handle_unload.bind(this))},U.prototype._loaded=function(){this.featureFlags.setReloadingPaused(!0);try{this.get_config("loaded")(this)}catch(e){console.error("`loaded` function failed",e)}this._start_queue_if_opted_in(),this.get_config("capture_pageview")&&this.capture("$pageview",{},{send_instantly:!0}),this.get_config("advanced_disable_decide")||new _.Decide(this).call(),this.featureFlags.resetRequestQueue(),this.featureFlags.setReloadingPaused(!1)},U.prototype._start_queue_if_opted_in=function(){this.has_opted_out_capturing()||this.get_config("request_batching")&&this._requestQueue.poll()},U.prototype._dom_loaded=function(){this.has_opted_out_capturing()||i._.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__request_queue,this._start_queue_if_opted_in()},U.prototype._prepare_callback=function(e,t){if(i._.isUndefined(e))return null;if(M){return function(o){e(o,t)}}var o=this._jsc,r=""+Math.floor(1e8*Math.random()),n=this.get_config("callback_fn")+"["+r+"]";return o[r]=function(i){delete o[r],e(i,t)},n},U.prototype._handle_unload=function(){this.get_config("request_batching")?(this.get_config("capture_pageview")&&this.capture("$pageleave"),this.get_config("_capture_metrics")&&(this._requestQueue.updateUnloadMetrics(),this.capture("$capture_metrics",this._captureMetrics.metrics)),this._requestQueue.unload(),this._retryQueue.unload()):this.get_config("capture_pageview")&&this.capture("$pageleave",null,{transport:"sendbeacon"})},U.prototype._handle_queued_event=function(e,t,o){var r=JSON.stringify(t);this.__compress_and_send_json_request(e,r,o||H,A)},U.prototype.__compress_and_send_json_request=function(e,t,o,r){var i=S((0,f.compressData)((0,f.decideCompression)(this.compression),t,o),2),n=i[0],s=i[1];this._send_request(e,n,s,r)},U.prototype._send_request=function(e,t,o,r){if(L)this.__request_queue.push(arguments);else{var n={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")};o=i._.extend(n,o||{}),M||(o.method="GET");var s=i.window.navigator.sendBeacon&&"sendbeacon"===o.transport.toLowerCase();if(e=(0,y.addParamsToURL)(e,o.urlQueryArgs,{ip:this.get_config("ip")}),i._.isObject(t)&&this.get_config("img")){var p=i.document.createElement("img");p.src=e,i.document.body.appendChild(p)}else if(s)try{i.window.navigator.sendBeacon(e,(0,y.encodePostData)(t,q(q({},o),{},{sendBeacon:!0})))}catch(_){this.get_config("debug")&&console.error(_)}else if(M)try{(0,y.xhr)({url:e,data:t,headers:this.get_config("xhr_headers"),options:o,captureMetrics:this._captureMetrics,callback:r,retriesPerformedSoFar:0,retryQueue:this._retryQueue,onXHRError:this.get_config("on_xhr_error")})}catch(_){console.error(_)}else{var a=i.document.createElement("script");a.type="text/javascript",a.async=!0,a.defer=!0,a.src=e;var c=i.document.getElementsByTagName("script")[0];c.parentNode.insertBefore(a,c)}}},U.prototype._execute_array=function(e){var t,o=[],r=[],n=[];i._.each(e,function(e){e&&(t=e[0],i._.isArray(t)?n.push(e):"function"==typeof e?e.call(this):i._.isArray(e)&&"alias"===t?o.push(e):i._.isArray(e)&&-1!==t.indexOf("capture")&&"function"==typeof this[t]?n.push(e):r.push(e))},this);var s=function(e,t){i._.each(e,function(e){if(i._.isArray(e[0])){var o=t;i._.each(e,function(e){o=o[e[0]].apply(o,e.slice(1))})}else this[e[0]].apply(this,e.slice(1))},t)};s(o,this),s(r,this),s(n,this)},U.prototype.push=function(e){this._execute_array([e])},U.prototype.capture=(0,d.addOptOutCheckPostHogLib)(function(e,t,o){if(this.__loaded){this._captureMetrics.incr("capture"),"$snapshot"===e&&this._captureMetrics.incr("snapshot");var r=(o=o||H).transport;if(r&&(o.transport=r),i._.isUndefined(e)||"string"!=typeof e)console.error("No event name provided to posthog.capture");else if(!i._.isBlockedUA(i.userAgent)){var n=this.persistence.remove_event_timer(e);this.persistence.update_search_keyword(i.document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(i.document.referrer);var s={event:e,properties:this._calculate_event_properties(e,t,n)};"$identify"===e&&o.$set&&(s.$set=o.$set),s=i._.copyAndTruncateStrings(s,o._noTruncate?null:this.get_config("properties_string_max_length")),this.get_config("debug")&&i.logger.log("PostHog.js send",s);var p=JSON.stringify(s),a=this.get_config("api_host")+(o.endpoint||"/e/"),c=o!==H;return!this.get_config("request_batching")||c&&!o._batchKey||o.send_instantly?this.__compress_and_send_json_request(a,p,o):(s.timestamp=new Date,this._requestQueue.enqueue(a,s,o)),this._invokeCaptureHooks(e,s),s}}}),U.prototype._addCaptureHook=function(e){this.__captureHooks.push(e)},U.prototype._invokeCaptureHooks=function(e,t){this.config._onCapture(e,t),i._.each(this.__captureHooks,function(t){return t(e)})},U.prototype._calculate_event_properties=function(e,t,o){var r=q({},t);if(r.token=this.get_config("token"),"$snapshot"===e){var n=this.persistence.properties();return r.distinct_id=n.distinct_id,r}if(!i._.isUndefined(o)){var s=(new Date).getTime()-o;r.$duration=parseFloat((s/1e3).toFixed(3))}if(this.sessionManager){var p=this.sessionManager.checkAndGetSessionAndWindowId(),a=p.sessionId,c=p.windowId;r.$session_id=a,r.$window_id=c}r=i._.extend({},i._.info.properties(),this.persistence.properties(),r),"$pageview"===e&&this.get_config("_capture_performance")&&(r=i._.extend(r,(0,v.getPerformanceData)()));var _=this.get_config("property_blacklist");i._.isArray(_)?i._.each(_,function(e){delete r[e]}):console.error("Invalid value for property_blacklist config: "+_);var u=this.get_config("sanitize_properties");return u&&(r=u(r,e)),r},U.prototype.register=function(e,t){this.persistence.register(e,t)},U.prototype.register_once=function(e,t,o){this.persistence.register_once(e,t,o)},U.prototype.unregister=function(e){this.persistence.unregister(e)},U.prototype._register_single=function(e,t){var o={};o[e]=t,this.register(o)},U.prototype.getFeatureFlag=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.getFeatureFlag(e,t)},U.prototype.isFeatureEnabled=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.isFeatureEnabled(e,t)},U.prototype.reloadFeatureFlags=function(){return this.featureFlags.reloadFeatureFlags()},U.prototype.onFeatureFlags=function(e){this.featureFlags.onFeatureFlags(e)},U.prototype.identify=function(e,t,o){if(e){this._captureMetrics.incr("identify");var r=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var i=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:i},"")}e!==r&&e!==this.get_property(a.ALIAS_ID_KEY)&&(this.unregister(a.ALIAS_ID_KEY),this.register({distinct_id:e})),e===r||this.get_property("$device_id")&&r!==this.get_property("$device_id")?(t&&this.people.set(t),o&&this.people.set_once(o)):this.capture("$identify",{distinct_id:e,$anon_distinct_id:r},{$set:t||{}},{$set_once:o||{}}),e!==r&&this.reloadFeatureFlags()}else console.error("Unique user id has not been set in posthog.identify")},U.prototype.group=function(e,t,o){if(e&&t){this._captureMetrics.incr("group");var r=this.getGroups();this.register({$groups:q(q({},r),{},P({},e,t))}),o&&this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:o}),r[e]!==t&&this.reloadFeatureFlags()}else console.error("posthog.group requires a group type and group key")},U.prototype.reset=function(e){var t=this.get_property("$device_id");this.persistence.clear();var o=i._.UUID();this.register_once({distinct_id:o,$device_id:e?o:t},"")},U.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},U.prototype.getGroups=function(){return this.get_property("$groups")||{}},U.prototype.alias=function(e,t){if(e===this.get_property(a.PEOPLE_DISTINCT_ID_KEY))return console.critical("Attempting to create alias for existing People user - aborting."),-2;var o=this;return i._.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(a.ALIAS_ID_KEY,e),this.capture("$create_alias",{alias:e,distinct_id:t},function(){o.identify(e)})):(console.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},U.prototype.set_config=function(e){var t=q({},this.config);i._.isObject(e)&&(i._.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),g.localStore.is_supported()&&"true"===g.localStore.get("ph_debug")&&(this.config.debug=!0),r.default.DEBUG=r.default.DEBUG||this.get_config("debug"),this.sessionRecording&&void 0!==e.disable_session_recording&&t.disable_session_recording!==e.disable_session_recording&&(e.disable_session_recording?this.sessionRecording.stopRecording():this.sessionRecording.startRecordingIfEnabled()))},U.prototype.startSessionRecording=function(){this.set_config({disable_session_recording:!1})},U.prototype.stopSessionRecording=function(){this.set_config({disable_session_recording:!0})},U.prototype.sessionRecordingStarted=function(){return this.sessionRecording.started()},U.prototype.get_config=function(e){var t;return null===(t=this.config)||void 0===t?void 0:t[e]},U.prototype.get_property=function(e){return this.persistence.props[e]},U.prototype.toString=function(){var e=this.get_config("name");return e!==j&&(e=j+"."+e),e},U.prototype._gdpr_init=function(){"localStorage"===this.get_config("opt_out_capturing_persistence_type")&&g.localStore.is_supported()&&(!this.has_opted_in_capturing()&&this.has_opted_in_capturing({persistence_type:"cookie"})&&this.opt_in_capturing({enable_persistence:!1}),!this.has_opted_out_capturing()&&this.has_opted_out_capturing({persistence_type:"cookie"})&&this.opt_out_capturing({clear_persistence:!1}),this.clear_opt_in_out_capturing({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_capturing()?this._gdpr_update_persistence({clear_persistence:!0}):this.has_opted_in_capturing()||!this.get_config("opt_out_capturing_by_default")&&!g.cookieStore.get("ph_optout")||(g.cookieStore.remove("ph_optout"),this.opt_out_capturing({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},U.prototype._gdpr_update_persistence=function(e){var t;if(e&&e.clear_persistence)t=!0;else{if(!e||!e.enable_persistence)return;t=!1}this.get_config("disable_persistence")||this.persistence.disabled===t||this.persistence.set_disabled(t)},U.prototype._gdpr_call_func=function(e,t){return t=i._.extend({capture:i._.bind(this.capture,this),persistence_type:this.get_config("opt_out_capturing_persistence_type"),cookie_prefix:this.get_config("opt_out_capturing_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),secure_cookie:this.get_config("secure_cookie")},t),g.localStore.is_supported()||"localStorage"!==t.persistence_type||(t.persistence_type="cookie"),e(this.get_config("token"),{capture:t.capture,captureEventName:t.capture_event_name,captureProperties:t.capture_properties,persistenceType:t.persistence_type,persistencePrefix:t.cookie_prefix,cookieExpiration:t.cookie_expiration,crossSubdomainCookie:t.cross_subdomain_cookie,secureCookie:t.secure_cookie})},U.prototype.opt_in_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.optIn,e),this._gdpr_update_persistence(e)},U.prototype.opt_out_capturing=function(e){e=i._.extend({clear_persistence:!0},e),this._gdpr_call_func(d.optOut,e),this._gdpr_update_persistence(e)},U.prototype.has_opted_in_capturing=function(e){return this._gdpr_call_func(d.hasOptedIn,e)},U.prototype.has_opted_out_capturing=function(e){return this._gdpr_call_func(d.hasOptedOut,e)},U.prototype.clear_opt_in_out_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.clearOptInOut,e),this._gdpr_update_persistence(e)},U.prototype.sentry_integration=function(e,t,o,r){this.name="posthog-js",this.setupOnce=function(i){i(function(i){if("error"!==i.level||!e.__loaded)return i;i.tags||(i.tags={}),i.tags["PostHog Person URL"]=e.config.api_host+"/person/"+e.get_distinct_id(),e.sessionRecordingStarted()&&(i.tags["PostHog Recording URL"]=e.config.api_host+"/recordings/#sessionRecordingId="+e.sessionManager.checkAndGetSessionAndWindowId(!0).sessionId);var n={$sentry_event_id:i.event_id,$sentry_exception:i.exception};return t&&o&&(n.$sentry_url=(r||"https://sentry.io/organizations/")+t+"/issues/?project="+o+"&query="+i.event_id),e.capture("$exception",n),i})}},U.prototype.debug=function(e){!1===e?(i.window.console.log("You've disabled debug mode."),localStorage&&localStorage.setItem("ph_debug",void 0),this.set_config({debug:!1})):(i.window.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),localStorage&&localStorage.setItem("ph_debug","true"),this.set_config({debug:!0}))},U.prototype.decodeLZ64=o.LZString.decompressFromBase64,U.prototype.init=U.prototype.init,U.prototype.reset=U.prototype.reset,U.prototype.capture=U.prototype.capture,U.prototype.register=U.prototype.register,U.prototype.register_once=U.prototype.register_once,U.prototype.unregister=U.prototype.unregister,U.prototype.identify=U.prototype.identify,U.prototype.getGroups=U.prototype.getGroups,U.prototype.group=U.prototype.group,U.prototype.alias=U.prototype.alias,U.prototype.set_config=U.prototype.set_config,U.prototype.get_config=U.prototype.get_config,U.prototype.get_property=U.prototype.get_property,U.prototype.get_distinct_id=U.prototype.get_distinct_id,U.prototype.toString=U.prototype.toString,U.prototype.opt_out_captureing=U.prototype.opt_out_captureing,U.prototype.opt_in_captureing=U.prototype.opt_in_captureing,U.prototype.has_opted_out_captureing=U.prototype.has_opted_out_captureing,U.prototype.has_opted_in_captureing=U.prototype.has_opted_in_captureing,U.prototype.clear_opt_in_out_captureing=U.prototype.clear_opt_in_out_captureing,U.prototype.opt_out_capturing=U.prototype.opt_out_capturing,U.prototype.opt_in_capturing=U.prototype.opt_in_capturing,U.prototype.has_opted_out_capturing=U.prototype.has_opted_out_capturing,U.prototype.has_opted_in_capturing=U.prototype.has_opted_in_capturing,U.prototype.clear_opt_in_out_capturing=U.prototype.clear_opt_in_out_capturing,U.prototype.getFeatureFlag=U.prototype.getFeatureFlag,U.prototype.isFeatureEnabled=U.prototype.isFeatureEnabled,U.prototype.reloadFeatureFlags=U.prototype.reloadFeatureFlags,U.prototype.onFeatureFlags=U.prototype.onFeatureFlags,U.prototype.decodeLZ64=U.prototype.decodeLZ64,U.prototype.SentryIntegration=U.prototype.sentry_integration,U.prototype.debug=U.prototype.debug,U.prototype.LIB_VERSION=r.default.LIB_VERSION,U.prototype.startSessionRecording=U.prototype.startSessionRecording,U.prototype.stopSessionRecording=U.prototype.stopSessionRecording,U.prototype.sessionRecordingStarted=U.prototype.sessionRecordingStarted,a.PostHogPersistence.prototype.properties=a.PostHogPersistence.prototype.properties,a.PostHogPersistence.prototype.update_search_keyword=a.PostHogPersistence.prototype.update_search_keyword,a.PostHogPersistence.prototype.update_referrer_info=a.PostHogPersistence.prototype.update_referrer_info,a.PostHogPersistence.prototype.get_cross_subdomain=a.PostHogPersistence.prototype.get_cross_subdomain,a.PostHogPersistence.prototype.clear=a.PostHogPersistence.prototype.clear,i._.safewrap_class(U,["identify"]);var T={},B=function(){i._.each(T,function(e,o){o!==j&&(t[o]=e)}),t._=i._},Q=function(){t.init=function(o,r,n){if(n)return t[n]||(t[n]=T[n]=C(o,r,n),t[n]._loaded()),t[n];var s=t;T[j]?s=T[j]:o&&((s=C(o,r,j))._loaded(),T[j]=s),t=s,e===R&&(i.window[j]=t),B()}},G=function(){function e(){e.done||(e.done=!0,L=!1,i._.each(T,function(e){e._dom_loaded()}))}if(i.document.addEventListener)"complete"===i.document.readyState?e():i.document.addEventListener("DOMContentLoaded",e,!1);else if(i.document.attachEvent){i.document.attachEvent("onreadystatechange",e);var t=!1;try{t=null===i.window.frameElement}catch(o){}i.document.documentElement.doScroll&&t&&function t(){try{i.document.documentElement.doScroll("left")}catch(o){return void setTimeout(t,1)}e()}()}i._.register_event(i.window,"load",e,!0)};function N(){e=R,i._.isUndefined(i.window.posthog)&&(i.window.posthog=[]),(t=i.window.posthog).__loaded||t.config&&t.persistence?console.error("PostHog library has already been downloaded at least once."):(i._.each(t._i,function(e){e&&i._.isArray(e)&&(T[e[e.length-1]]=C.apply(this,e))}),Q(),t.init(),i._.each(T,function(e){e._loaded()}),G())}function Y(){return e=I,t=new U,Q(),t.init(),G(),t}
54
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.init_from_snippet=N,exports.init_as_module=Y,exports.PostHogLib=void 0;var e,t,o=require("./lz-string"),r=w(require("./config")),i=require("./utils"),n=require("./autocapture"),s=require("./posthog-people"),p=require("./posthog-featureflags"),a=require("./posthog-persistence"),c=require("./extensions/sessionrecording"),_=require("./decide"),u=require("./extensions/toolbar"),d=require("./gdpr-utils"),g=require("./storage"),l=require("./request-queue"),h=require("./capture-metrics"),f=require("./compression"),y=require("./send-request"),b=require("./retry-queue"),v=require("./sessionid"),m=require("./apm");function w(e){return e&&e.__esModule?e:{default:e}}function k(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)}return o}function q(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?k(Object(o),!0).forEach(function(t){P(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):k(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function P(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function S(e,t){return $(e)||E(e,t)||F(e,t)||x()}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function F(e,t){if(e){if("string"==typeof e)return O(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?O(e,t):void 0}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}function E(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],r=!0,i=!1,n=void 0;try{for(var s,p=e[Symbol.iterator]();!(r=(s=p.next()).done)&&(o.push(s.value),!t||o.length!==t);r=!0);}catch(a){i=!0,n=a}finally{try{r||null==p.return||p.return()}finally{if(i)throw n}}return o}}function $(e){if(Array.isArray(e))return e}var I=0,R=1,A=function(){},H={},j="posthog",M=i.window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,L=!M&&-1===i.userAgent.indexOf("MSIE")&&-1===i.userAgent.indexOf("Mozilla"),D=function(){return{api_host:"https://app.posthog.com",api_method:"POST",api_transport:"XHR",autocapture:!0,rageclick:!1,cross_subdomain_cookie:-1===i.document.location.hostname.indexOf("herokuapp.com"),persistence:"cookie",persistence_name:"",cookie_name:"",loaded:function(){},store_google:!0,save_referrer:!0,test:!1,verbose:!1,img:!1,capture_pageview:!0,debug:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_cookie:!1,enable_recording_console_log:!1,secure_cookie:"https:"===i.window.location.protocol,ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_capturing_persistence_type:"localStorage",opt_out_capturing_cookie_prefix:null,property_blacklist:[],sanitize_properties:null,xhr_headers:{},inapp_protocol:"//",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{blockClass:"ph-no-capture",blockSelector:null,ignoreClass:"ph-ignore-input",maskAllInputs:!0,maskInputOptions:{},maskInputFn:null,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_toolbar_metrics:!1,on_xhr_error:function(e){var t="Bad HTTP status: "+e.status+" "+e.statusText;console.error(t)},get_device_id:function(e){return e},_onCapture:function(){},_capture_metrics:!1,_capture_performance:!1}},U=function(){};exports.PostHogLib=U;var C=function(o,a,_){var d,g=_!==j&&t?t[_]:t;if(g&&e===I)d=g;else{if(g&&!i._.isArray(g))return void console.error("You have already initialized "+_);d=new U}if(d._init(o,a,_),d.people=new s.PostHogPeople,d.people._init(d),d.featureFlags=new p.PostHogFeatureFlags(d),d.feature_flags=d.featureFlags,d.toolbar=new u.Toolbar(d),d.toolbar.maybeLoadEditor(),d.sessionRecording=new c.SessionRecording(d),d.sessionRecording.startRecordingIfEnabled(),d.__autocapture_enabled=d.get_config("autocapture"),d.get_config("autocapture")){n.autocapture.enabledForProject(d.get_config("token"),100,100)?n.autocapture.isBrowserSupported()?n.autocapture.init(d):(d.__autocapture_enabled=!1,i.logger.log("Disabling Automatic Event Collection because this browser is not supported")):(d.__autocapture_enabled=!1,i.logger.log("Not in active bucket: disabling Automatic Event Collection."))}return r.default.DEBUG=r.default.DEBUG||d.get_config("debug"),!i._.isUndefined(g)&&i._.isArray(g)&&(d._execute_array.call(d.people,g.people),d._execute_array(g)),d};U.prototype.init=function(e,o,r){if(i._.isUndefined(r))console.error("You must name your new library: init(token, config, name)");else{if(r!==j){var n=C(e,o,r);return t[r]=n,n._loaded(),n}console.error("You must initialize the main posthog object right after you include the PostHog js snippet")}},U.prototype._init=function(e,t,o){if(this.__loaded=!0,this.config={},this._triggered_notifs=[],this.compression={},this.set_config(i._.extend({},D(),t,{name:o,token:e,callback_fn:(o===j?o:j+"."+o)+"._jsc"})),this._jsc=function(){},this._captureMetrics=new h.CaptureMetrics(this.get_config("_capture_metrics")),this._requestQueue=new l.RequestQueue(this._captureMetrics,i._.bind(this._handle_queued_event,this)),this._retryQueue=new b.RetryQueue(this._captureMetrics,this.get_config("on_xhr_error")),this.__captureHooks=[],this.__request_queue=[],this.persistence=new a.PostHogPersistence(this.config),this.sessionManager=new v.SessionIdManager(this.config,this.persistence),this._gdpr_init(),!this.get_distinct_id()){var r=this.get_config("get_device_id")(i._.UUID());this.register_once({distinct_id:r,$device_id:r},"")}i.window.addEventListener&&i.window.addEventListener("unload",this._handle_unload.bind(this))},U.prototype._loaded=function(){this.featureFlags.setReloadingPaused(!0);try{this.get_config("loaded")(this)}catch(e){console.error("`loaded` function failed",e)}this._start_queue_if_opted_in(),this.get_config("capture_pageview")&&this.capture("$pageview",{},{send_instantly:!0}),this.get_config("advanced_disable_decide")||new _.Decide(this).call(),this.featureFlags.resetRequestQueue(),this.featureFlags.setReloadingPaused(!1)},U.prototype._start_queue_if_opted_in=function(){this.has_opted_out_capturing()||this.get_config("request_batching")&&this._requestQueue.poll()},U.prototype._dom_loaded=function(){this.has_opted_out_capturing()||i._.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__request_queue,this._start_queue_if_opted_in()},U.prototype._prepare_callback=function(e,t){if(i._.isUndefined(e))return null;if(M){return function(o){e(o,t)}}var o=this._jsc,r=""+Math.floor(1e8*Math.random()),n=this.get_config("callback_fn")+"["+r+"]";return o[r]=function(i){delete o[r],e(i,t)},n},U.prototype._handle_unload=function(){this.get_config("request_batching")?(this.get_config("capture_pageview")&&this.capture("$pageleave"),this.get_config("_capture_metrics")&&(this._requestQueue.updateUnloadMetrics(),this.capture("$capture_metrics",this._captureMetrics.metrics)),this._requestQueue.unload(),this._retryQueue.unload()):this.get_config("capture_pageview")&&this.capture("$pageleave",null,{transport:"sendbeacon"})},U.prototype._handle_queued_event=function(e,t,o){var r=JSON.stringify(t);this.__compress_and_send_json_request(e,r,o||H,A)},U.prototype.__compress_and_send_json_request=function(e,t,o,r){var i=S((0,f.compressData)((0,f.decideCompression)(this.compression),t,o),2),n=i[0],s=i[1];this._send_request(e,n,s,r)},U.prototype._send_request=function(e,t,o,r){if(L)this.__request_queue.push(arguments);else{var n={method:this.get_config("api_method"),transport:this.get_config("api_transport"),verbose:this.get_config("verbose")};o=i._.extend(n,o||{}),M||(o.method="GET");var s=i.window.navigator.sendBeacon&&"sendbeacon"===o.transport.toLowerCase();if(e=(0,y.addParamsToURL)(e,o.urlQueryArgs,{ip:this.get_config("ip")}),i._.isObject(t)&&this.get_config("img")){var p=i.document.createElement("img");p.src=e,i.document.body.appendChild(p)}else if(s)try{i.window.navigator.sendBeacon(e,(0,y.encodePostData)(t,q(q({},o),{},{sendBeacon:!0})))}catch(_){this.get_config("debug")&&console.error(_)}else if(M)try{(0,y.xhr)({url:e,data:t,headers:this.get_config("xhr_headers"),options:o,captureMetrics:this._captureMetrics,callback:r,retriesPerformedSoFar:0,retryQueue:this._retryQueue,onXHRError:this.get_config("on_xhr_error")})}catch(_){console.error(_)}else{var a=i.document.createElement("script");a.type="text/javascript",a.async=!0,a.defer=!0,a.src=e;var c=i.document.getElementsByTagName("script")[0];c.parentNode.insertBefore(a,c)}}},U.prototype._execute_array=function(e){var t,o=[],r=[],n=[];i._.each(e,function(e){e&&(t=e[0],i._.isArray(t)?n.push(e):"function"==typeof e?e.call(this):i._.isArray(e)&&"alias"===t?o.push(e):i._.isArray(e)&&-1!==t.indexOf("capture")&&"function"==typeof this[t]?n.push(e):r.push(e))},this);var s=function(e,t){i._.each(e,function(e){if(i._.isArray(e[0])){var o=t;i._.each(e,function(e){o=o[e[0]].apply(o,e.slice(1))})}else this[e[0]].apply(this,e.slice(1))},t)};s(o,this),s(r,this),s(n,this)},U.prototype.push=function(e){this._execute_array([e])},U.prototype.capture=(0,d.addOptOutCheckPostHogLib)(function(e,t,o){if(this.__loaded){this._captureMetrics.incr("capture"),"$snapshot"===e&&this._captureMetrics.incr("snapshot");var r=(o=o||H).transport;if(r&&(o.transport=r),i._.isUndefined(e)||"string"!=typeof e)console.error("No event name provided to posthog.capture");else if(!i._.isBlockedUA(i.userAgent)){var n=this.persistence.remove_event_timer(e);this.persistence.update_search_keyword(i.document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(i.document.referrer);var s={event:e,properties:this._calculate_event_properties(e,t,n)};"$identify"===e&&o.$set&&(s.$set=o.$set),s=i._.copyAndTruncateStrings(s,o._noTruncate?null:this.get_config("properties_string_max_length")),this.get_config("debug")&&i.logger.log("PostHog.js send",s);var p=JSON.stringify(s),a=this.get_config("api_host")+(o.endpoint||"/e/"),c=o!==H;return!this.get_config("request_batching")||c&&!o._batchKey||o.send_instantly?this.__compress_and_send_json_request(a,p,o):(s.timestamp=new Date,this._requestQueue.enqueue(a,s,o)),this._invokeCaptureHooks(e,s),s}}}),U.prototype._addCaptureHook=function(e){this.__captureHooks.push(e)},U.prototype._invokeCaptureHooks=function(e,t){this.config._onCapture(e,t),i._.each(this.__captureHooks,function(t){return t(e)})},U.prototype._calculate_event_properties=function(e,t,o){var r=q({},t);if(r.token=this.get_config("token"),"$snapshot"===e){var n=this.persistence.properties();return r.distinct_id=n.distinct_id,r}if(!i._.isUndefined(o)){var s=(new Date).getTime()-o;r.$duration=parseFloat((s/1e3).toFixed(3))}if(this.sessionManager){var p=this.sessionManager.checkAndGetSessionAndWindowId(),a=p.sessionId,c=p.windowId;r.$session_id=a,r.$window_id=c}r=i._.extend({},i._.info.properties(),this.persistence.properties(),r),"$pageview"===e&&this.get_config("_capture_performance")&&(r=i._.extend(r,(0,m.getPerformanceData)()));var _=this.get_config("property_blacklist");i._.isArray(_)?i._.each(_,function(e){delete r[e]}):console.error("Invalid value for property_blacklist config: "+_);var u=this.get_config("sanitize_properties");return u&&(r=u(r,e)),r},U.prototype.register=function(e,t){this.persistence.register(e,t)},U.prototype.register_once=function(e,t,o){this.persistence.register_once(e,t,o)},U.prototype.unregister=function(e){this.persistence.unregister(e)},U.prototype._register_single=function(e,t){var o={};o[e]=t,this.register(o)},U.prototype.getFeatureFlag=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.getFeatureFlag(e,t)},U.prototype.isFeatureEnabled=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.featureFlags.isFeatureEnabled(e,t)},U.prototype.reloadFeatureFlags=function(){return this.featureFlags.reloadFeatureFlags()},U.prototype.onFeatureFlags=function(e){this.featureFlags.onFeatureFlags(e)},U.prototype.identify=function(e,t,o){if(e){this._captureMetrics.incr("identify");var r=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var i=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:i},"")}e!==r&&e!==this.get_property(a.ALIAS_ID_KEY)&&(this.unregister(a.ALIAS_ID_KEY),this.register({distinct_id:e})),e===r||this.get_property("$device_id")&&r!==this.get_property("$device_id")?(t&&this.people.set(t),o&&this.people.set_once(o)):this.capture("$identify",{distinct_id:e,$anon_distinct_id:r},{$set:t||{}},{$set_once:o||{}}),e!==r&&this.reloadFeatureFlags()}else console.error("Unique user id has not been set in posthog.identify")},U.prototype.group=function(e,t,o){if(e&&t){this._captureMetrics.incr("group");var r=this.getGroups();this.register({$groups:q(q({},r),{},P({},e,t))}),o&&this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:o}),r[e]!==t&&this.reloadFeatureFlags()}else console.error("posthog.group requires a group type and group key")},U.prototype.reset=function(e){var t=this.get_property("$device_id");this.persistence.clear();var o=this.get_config("get_device_id")(i._.UUID());this.register_once({distinct_id:o,$device_id:e?o:t},"")},U.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},U.prototype.getGroups=function(){return this.get_property("$groups")||{}},U.prototype.alias=function(e,t){if(e===this.get_property(a.PEOPLE_DISTINCT_ID_KEY))return console.critical("Attempting to create alias for existing People user - aborting."),-2;var o=this;return i._.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(a.ALIAS_ID_KEY,e),this.capture("$create_alias",{alias:e,distinct_id:t},function(){o.identify(e)})):(console.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},U.prototype.set_config=function(e){var t=q({},this.config);i._.isObject(e)&&(i._.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),g.localStore.is_supported()&&"true"===g.localStore.get("ph_debug")&&(this.config.debug=!0),r.default.DEBUG=r.default.DEBUG||this.get_config("debug"),this.sessionRecording&&void 0!==e.disable_session_recording&&t.disable_session_recording!==e.disable_session_recording&&(e.disable_session_recording?this.sessionRecording.stopRecording():this.sessionRecording.startRecordingIfEnabled()))},U.prototype.startSessionRecording=function(){this.set_config({disable_session_recording:!1})},U.prototype.stopSessionRecording=function(){this.set_config({disable_session_recording:!0})},U.prototype.sessionRecordingStarted=function(){return this.sessionRecording.started()},U.prototype.get_config=function(e){var t;return null===(t=this.config)||void 0===t?void 0:t[e]},U.prototype.get_property=function(e){return this.persistence.props[e]},U.prototype.toString=function(){var e=this.get_config("name");return e!==j&&(e=j+"."+e),e},U.prototype._gdpr_init=function(){"localStorage"===this.get_config("opt_out_capturing_persistence_type")&&g.localStore.is_supported()&&(!this.has_opted_in_capturing()&&this.has_opted_in_capturing({persistence_type:"cookie"})&&this.opt_in_capturing({enable_persistence:!1}),!this.has_opted_out_capturing()&&this.has_opted_out_capturing({persistence_type:"cookie"})&&this.opt_out_capturing({clear_persistence:!1}),this.clear_opt_in_out_capturing({persistence_type:"cookie",enable_persistence:!1})),this.has_opted_out_capturing()?this._gdpr_update_persistence({clear_persistence:!0}):this.has_opted_in_capturing()||!this.get_config("opt_out_capturing_by_default")&&!g.cookieStore.get("ph_optout")||(g.cookieStore.remove("ph_optout"),this.opt_out_capturing({clear_persistence:this.get_config("opt_out_persistence_by_default")}))},U.prototype._gdpr_update_persistence=function(e){var t;if(e&&e.clear_persistence)t=!0;else{if(!e||!e.enable_persistence)return;t=!1}this.get_config("disable_persistence")||this.persistence.disabled===t||this.persistence.set_disabled(t)},U.prototype._gdpr_call_func=function(e,t){return t=i._.extend({capture:i._.bind(this.capture,this),persistence_type:this.get_config("opt_out_capturing_persistence_type"),cookie_prefix:this.get_config("opt_out_capturing_cookie_prefix"),cookie_expiration:this.get_config("cookie_expiration"),cross_subdomain_cookie:this.get_config("cross_subdomain_cookie"),secure_cookie:this.get_config("secure_cookie")},t),g.localStore.is_supported()||"localStorage"!==t.persistence_type||(t.persistence_type="cookie"),e(this.get_config("token"),{capture:t.capture,captureEventName:t.capture_event_name,captureProperties:t.capture_properties,persistenceType:t.persistence_type,persistencePrefix:t.cookie_prefix,cookieExpiration:t.cookie_expiration,crossSubdomainCookie:t.cross_subdomain_cookie,secureCookie:t.secure_cookie})},U.prototype.opt_in_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.optIn,e),this._gdpr_update_persistence(e)},U.prototype.opt_out_capturing=function(e){e=i._.extend({clear_persistence:!0},e),this._gdpr_call_func(d.optOut,e),this._gdpr_update_persistence(e)},U.prototype.has_opted_in_capturing=function(e){return this._gdpr_call_func(d.hasOptedIn,e)},U.prototype.has_opted_out_capturing=function(e){return this._gdpr_call_func(d.hasOptedOut,e)},U.prototype.clear_opt_in_out_capturing=function(e){e=i._.extend({enable_persistence:!0},e),this._gdpr_call_func(d.clearOptInOut,e),this._gdpr_update_persistence(e)},U.prototype.sentry_integration=function(e,t,o,r){this.name="posthog-js",this.setupOnce=function(i){i(function(i){if("error"!==i.level||!e.__loaded)return i;i.tags||(i.tags={}),i.tags["PostHog Person URL"]=e.config.api_host+"/person/"+e.get_distinct_id(),e.sessionRecordingStarted()&&(i.tags["PostHog Recording URL"]=e.config.api_host+"/recordings/#sessionRecordingId="+e.sessionManager.checkAndGetSessionAndWindowId(!0).sessionId);var n={$sentry_event_id:i.event_id,$sentry_exception:i.exception};return t&&o&&(n.$sentry_url=(r||"https://sentry.io/organizations/")+t+"/issues/?project="+o+"&query="+i.event_id),e.capture("$exception",n),i})}},U.prototype.debug=function(e){!1===e?(i.window.console.log("You've disabled debug mode."),localStorage&&localStorage.setItem("ph_debug",void 0),this.set_config({debug:!1})):(i.window.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),localStorage&&localStorage.setItem("ph_debug","true"),this.set_config({debug:!0}))},U.prototype.decodeLZ64=o.LZString.decompressFromBase64,U.prototype.init=U.prototype.init,U.prototype.reset=U.prototype.reset,U.prototype.capture=U.prototype.capture,U.prototype.register=U.prototype.register,U.prototype.register_once=U.prototype.register_once,U.prototype.unregister=U.prototype.unregister,U.prototype.identify=U.prototype.identify,U.prototype.getGroups=U.prototype.getGroups,U.prototype.group=U.prototype.group,U.prototype.alias=U.prototype.alias,U.prototype.set_config=U.prototype.set_config,U.prototype.get_config=U.prototype.get_config,U.prototype.get_property=U.prototype.get_property,U.prototype.get_distinct_id=U.prototype.get_distinct_id,U.prototype.toString=U.prototype.toString,U.prototype.opt_out_captureing=U.prototype.opt_out_captureing,U.prototype.opt_in_captureing=U.prototype.opt_in_captureing,U.prototype.has_opted_out_captureing=U.prototype.has_opted_out_captureing,U.prototype.has_opted_in_captureing=U.prototype.has_opted_in_captureing,U.prototype.clear_opt_in_out_captureing=U.prototype.clear_opt_in_out_captureing,U.prototype.opt_out_capturing=U.prototype.opt_out_capturing,U.prototype.opt_in_capturing=U.prototype.opt_in_capturing,U.prototype.has_opted_out_capturing=U.prototype.has_opted_out_capturing,U.prototype.has_opted_in_capturing=U.prototype.has_opted_in_capturing,U.prototype.clear_opt_in_out_capturing=U.prototype.clear_opt_in_out_capturing,U.prototype.getFeatureFlag=U.prototype.getFeatureFlag,U.prototype.isFeatureEnabled=U.prototype.isFeatureEnabled,U.prototype.reloadFeatureFlags=U.prototype.reloadFeatureFlags,U.prototype.onFeatureFlags=U.prototype.onFeatureFlags,U.prototype.decodeLZ64=U.prototype.decodeLZ64,U.prototype.SentryIntegration=U.prototype.sentry_integration,U.prototype.debug=U.prototype.debug,U.prototype.LIB_VERSION=r.default.LIB_VERSION,U.prototype.startSessionRecording=U.prototype.startSessionRecording,U.prototype.stopSessionRecording=U.prototype.stopSessionRecording,U.prototype.sessionRecordingStarted=U.prototype.sessionRecordingStarted,a.PostHogPersistence.prototype.properties=a.PostHogPersistence.prototype.properties,a.PostHogPersistence.prototype.update_search_keyword=a.PostHogPersistence.prototype.update_search_keyword,a.PostHogPersistence.prototype.update_referrer_info=a.PostHogPersistence.prototype.update_referrer_info,a.PostHogPersistence.prototype.get_cross_subdomain=a.PostHogPersistence.prototype.get_cross_subdomain,a.PostHogPersistence.prototype.clear=a.PostHogPersistence.prototype.clear,i._.safewrap_class(U,["identify"]);var T={},B=function(){i._.each(T,function(e,o){o!==j&&(t[o]=e)}),t._=i._},Q=function(){t.init=function(o,r,n){if(n)return t[n]||(t[n]=T[n]=C(o,r,n),t[n]._loaded()),t[n];var s=t;T[j]?s=T[j]:o&&((s=C(o,r,j))._loaded(),T[j]=s),t=s,e===R&&(i.window[j]=t),B()}},G=function(){function e(){e.done||(e.done=!0,L=!1,i._.each(T,function(e){e._dom_loaded()}))}if(i.document.addEventListener)"complete"===i.document.readyState?e():i.document.addEventListener("DOMContentLoaded",e,!1);else if(i.document.attachEvent){i.document.attachEvent("onreadystatechange",e);var t=!1;try{t=null===i.window.frameElement}catch(o){}i.document.documentElement.doScroll&&t&&function t(){try{i.document.documentElement.doScroll("left")}catch(o){return void setTimeout(t,1)}e()}()}i._.register_event(i.window,"load",e,!0)};function N(){e=R,i._.isUndefined(i.window.posthog)&&(i.window.posthog=[]),(t=i.window.posthog).__loaded||t.config&&t.persistence?console.error("PostHog library has already been downloaded at least once."):(i._.each(t._i,function(e){e&&i._.isArray(e)&&(T[e[e.length-1]]=C.apply(this,e))}),Q(),t.init(),i._.each(T,function(e){e._loaded()}),G())}function Y(){return e=I,t=new U,Q(),t.init(),G(),t}
55
55
  },{"./lz-string":"zdbk","./config":"itQ5","./utils":"FOZT","./autocapture":"gR3r","./posthog-people":"ecEG","./posthog-featureflags":"aVqC","./posthog-persistence":"MAdm","./extensions/sessionrecording":"Z2N4","./decide":"auG7","./extensions/toolbar":"ZEpJ","./gdpr-utils":"rxSh","./storage":"KZ7Y","./request-queue":"Je4H","./capture-metrics":"TeHW","./compression":"Ie9M","./send-request":"tOu2","./retry-queue":"ennf","./sessionid":"tci7","./apm":"eWVp"}],"e2xX":[function(require,module,exports) {
56
56
  "use strict";var r=require("./posthog-core");(0,r.init_from_snippet)();
57
57
  },{"./posthog-core":"ok3T"}]},{},["e2xX"], null)
package/dist/es.js CHANGED
@@ -863,7 +863,7 @@ var LZString = {
863
863
  }
864
864
  };
865
865
 
866
- var version = "1.21.1";
866
+ var version = "1.24.0";
867
867
 
868
868
  var Config$1 = {
869
869
  DEBUG: false,
@@ -1535,12 +1535,11 @@ _.register_event = function () {
1535
1535
 
1536
1536
  _.info = {
1537
1537
  campaignParams: function campaignParams() {
1538
- var campaign_keywords = 'utm_source utm_medium utm_campaign utm_content utm_term gclid'.split(' '),
1539
- kw = '',
1540
- params = {};
1538
+ var campaign_keywords = 'utm_source utm_medium utm_campaign utm_content utm_term gclid fbclid'.split(' ');
1539
+ var params = {};
1541
1540
 
1542
1541
  _.each(campaign_keywords, function (kwkey) {
1543
- kw = _.getQueryParam(document$1.URL, kwkey);
1542
+ var kw = _.getQueryParam(document$1.URL, kwkey);
1544
1543
 
1545
1544
  if (kw.length) {
1546
1545
  params[kwkey] = kw;
@@ -5479,7 +5478,11 @@ var RetryQueue = /*#__PURE__*/function (_RequestQueueScaffold) {
5479
5478
  sendBeacon: true
5480
5479
  })));
5481
5480
  } catch (e) {
5482
- if (this.get_config('debug')) {
5481
+ var _this$get_config;
5482
+
5483
+ // Note sendBeacon automatically retries, and after the first retry it will loose reference to contextual `this`.
5484
+ // This means in some cases `this.getConfig` will be undefined.
5485
+ if ((_this$get_config = this.get_config) !== null && _this$get_config !== void 0 && _this$get_config.call(this, 'debug')) {
5483
5486
  console.error(e);
5484
5487
  }
5485
5488
  }
@@ -5526,6 +5529,8 @@ var RetryQueue = /*#__PURE__*/function (_RequestQueueScaffold) {
5526
5529
 
5527
5530
  var SESSION_CHANGE_THRESHOLD = 30 * 60 * 1000; // 30 mins
5528
5531
 
5532
+ var SESSION_LENGTH_LIMIT = 24 * 3600 * 1000; // 24 hours
5533
+
5529
5534
  var SessionIdManager = /*#__PURE__*/function () {
5530
5535
  function SessionIdManager(config, persistence) {
5531
5536
  _classCallCheck(this, SessionIdManager);
@@ -5571,28 +5576,36 @@ var SessionIdManager = /*#__PURE__*/function () {
5571
5576
 
5572
5577
  }, {
5573
5578
  key: "_setSessionId",
5574
- value: function _setSessionId(sessionId, timestamp) {
5575
- if (sessionId !== this._sessionId || timestamp !== this._timestamp) {
5576
- this._timestamp = timestamp;
5579
+ value: function _setSessionId(sessionId, sessionActivityTimestamp, sessionStartTimestamp) {
5580
+ if (sessionId !== this._sessionId || sessionActivityTimestamp !== this._sessionActivityTimestamp || sessionStartTimestamp !== this._sessionStartTimestamp) {
5581
+ this._sessionStartTimestamp = sessionStartTimestamp;
5582
+ this._sessionActivityTimestamp = sessionActivityTimestamp;
5577
5583
  this._sessionId = sessionId;
5578
- this.persistence.register(_defineProperty({}, SESSION_ID, [timestamp, sessionId]));
5584
+ this.persistence.register(_defineProperty({}, SESSION_ID, [sessionActivityTimestamp, sessionId, sessionStartTimestamp]));
5579
5585
  }
5580
5586
  }
5581
5587
  }, {
5582
5588
  key: "_getSessionId",
5583
5589
  value: function _getSessionId() {
5584
- if (this._sessionId && this._timestamp) {
5585
- return [this._timestamp, this._sessionId];
5590
+ if (this._sessionId && this._sessionActivityTimestamp && this._sessionStartTimestamp) {
5591
+ return [this._sessionActivityTimestamp, this._sessionId, this._sessionStartTimestamp];
5592
+ }
5593
+
5594
+ var sessionId = this.persistence['props'][SESSION_ID];
5595
+
5596
+ if (Array.isArray(sessionId) && sessionId.length === 2) {
5597
+ // Storage does not yet have a session start time. Add the last activity timestamp as the start time
5598
+ sessionId.push(sessionId[0]);
5586
5599
  }
5587
5600
 
5588
- return this.persistence['props'][SESSION_ID] || [0, null];
5601
+ return sessionId || [0, null, 0];
5589
5602
  } // Resets the session id by setting it to null. On the subsequent call to checkAndGetSessionAndWindowId,
5590
5603
  // new ids will be generated.
5591
5604
 
5592
5605
  }, {
5593
5606
  key: "resetSessionId",
5594
5607
  value: function resetSessionId() {
5595
- this._setSessionId(null, null);
5608
+ this._setSessionId(null, null, null);
5596
5609
  }
5597
5610
  /*
5598
5611
  * This function returns the current sessionId and windowId. It should be used to
@@ -5619,24 +5632,29 @@ var SessionIdManager = /*#__PURE__*/function () {
5619
5632
  timestamp = timestamp || new Date().getTime();
5620
5633
 
5621
5634
  var _this$_getSessionId = this._getSessionId(),
5622
- _this$_getSessionId2 = _slicedToArray(_this$_getSessionId, 2),
5635
+ _this$_getSessionId2 = _slicedToArray(_this$_getSessionId, 3),
5623
5636
  lastTimestamp = _this$_getSessionId2[0],
5624
- sessionId = _this$_getSessionId2[1];
5637
+ sessionId = _this$_getSessionId2[1],
5638
+ startTimestamp = _this$_getSessionId2[2];
5625
5639
 
5626
5640
  var windowId = this._getWindowId();
5627
5641
 
5628
- if (!sessionId || !readOnly && Math.abs(timestamp - lastTimestamp) > SESSION_CHANGE_THRESHOLD) {
5642
+ var sessionPastMaximumLength = startTimestamp && startTimestamp > 0 && Math.abs(timestamp - startTimestamp) > SESSION_LENGTH_LIMIT;
5643
+
5644
+ if (!sessionId || !readOnly && Math.abs(timestamp - lastTimestamp) > SESSION_CHANGE_THRESHOLD || sessionPastMaximumLength) {
5629
5645
  sessionId = _.UUID();
5630
5646
  windowId = _.UUID();
5647
+ startTimestamp = timestamp;
5631
5648
  } else if (!windowId) {
5632
5649
  windowId = _.UUID();
5633
5650
  }
5634
5651
 
5635
- var newTimestamp = lastTimestamp === 0 || !readOnly ? timestamp : lastTimestamp;
5652
+ var newTimestamp = lastTimestamp === 0 || !readOnly || sessionPastMaximumLength ? timestamp : lastTimestamp;
5653
+ var sessionStartTimestamp = startTimestamp === 0 ? new Date().getTime() : startTimestamp;
5636
5654
 
5637
5655
  this._setWindowId(windowId);
5638
5656
 
5639
- this._setSessionId(sessionId, newTimestamp);
5657
+ this._setSessionId(sessionId, newTimestamp, sessionStartTimestamp);
5640
5658
 
5641
5659
  return {
5642
5660
  sessionId: sessionId,
@@ -5858,6 +5876,9 @@ var defaultConfig = function defaultConfig() {
5858
5876
  var error = 'Bad HTTP status: ' + req.status + ' ' + req.statusText;
5859
5877
  console.error(error);
5860
5878
  },
5879
+ get_device_id: function get_device_id(uuid) {
5880
+ return uuid;
5881
+ },
5861
5882
  // Used for internal testing
5862
5883
  _onCapture: function _onCapture() {},
5863
5884
  _capture_metrics: false,
@@ -5882,7 +5903,7 @@ var PostHogLib = function PostHogLib() {};
5882
5903
 
5883
5904
  var create_mplib = function create_mplib(token, config, name) {
5884
5905
  var instance,
5885
- target = name === PRIMARY_INSTANCE_NAME ? posthog_master : posthog_master[name];
5906
+ target = name === PRIMARY_INSTANCE_NAME || !posthog_master ? posthog_master : posthog_master[name];
5886
5907
 
5887
5908
  if (target && init_type === INIT_MODULE) {
5888
5909
  instance = target;
@@ -6007,12 +6028,11 @@ PostHogLib.prototype._init = function (token, config, name) {
6007
6028
 
6008
6029
  this._gdpr_init();
6009
6030
 
6010
- var uuid = _.UUID();
6011
-
6012
6031
  if (!this.get_distinct_id()) {
6013
6032
  // There is no need to set the distinct id
6014
6033
  // or the device id if something was already stored
6015
6034
  // in the persitence
6035
+ var uuid = this.get_config('get_device_id')(_.UUID());
6016
6036
  this.register_once({
6017
6037
  distinct_id: uuid,
6018
6038
  $device_id: uuid
@@ -6716,9 +6736,7 @@ PostHogLib.prototype.group = function (groupType, groupKey, groupPropertiesToSet
6716
6736
  PostHogLib.prototype.reset = function (reset_device_id) {
6717
6737
  var device_id = this.get_property('$device_id');
6718
6738
  this['persistence'].clear();
6719
-
6720
- var uuid = _.UUID();
6721
-
6739
+ var uuid = this.get_config('get_device_id')(_.UUID());
6722
6740
  this.register_once({
6723
6741
  distinct_id: uuid,
6724
6742
  $device_id: reset_device_id ? uuid : device_id
@@ -6921,6 +6939,10 @@ PostHogLib.prototype.alias = function (alias, original) {
6921
6939
  *
6922
6940
  * // prevent autocapture from capturing textContent on all elements
6923
6941
  * mask_all_text: false
6942
+ *
6943
+ * // Anonymous users get a random UUID as their device by default.
6944
+ * // This option allows overriding that option.
6945
+ * get_device_id: (uuid) => uuid
6924
6946
  * }
6925
6947
  *
6926
6948
  *
package/dist/module.d.ts CHANGED
@@ -308,6 +308,9 @@ declare class posthog {
308
308
  * // setting will not do anything if you use PostHog Cloud
309
309
  * advanced_disable_toolbar_metrics: false
310
310
  *
311
+ * // Anonymous users get a random UUID as their device by default.
312
+ * // This option allows overriding that option.
313
+ * get_device_id: (uuid) => uuid
311
314
  * }
312
315
  *
313
316
  *
@@ -620,6 +623,7 @@ declare namespace posthog {
620
623
  mask_all_text?: boolean
621
624
  advanced_disable_decide?: boolean
622
625
  advanced_disable_toolbar_metrics?: boolean
626
+ get_device_id?: (uuid: string) => string
623
627
  _capture_performance?: boolean
624
628
  }
625
629
 
package/dist/module.js CHANGED
@@ -865,7 +865,7 @@ var LZString = {
865
865
  }
866
866
  };
867
867
 
868
- var version = "1.21.1";
868
+ var version = "1.24.0";
869
869
 
870
870
  var Config$1 = {
871
871
  DEBUG: false,
@@ -1537,12 +1537,11 @@ _.register_event = function () {
1537
1537
 
1538
1538
  _.info = {
1539
1539
  campaignParams: function campaignParams() {
1540
- var campaign_keywords = 'utm_source utm_medium utm_campaign utm_content utm_term gclid'.split(' '),
1541
- kw = '',
1542
- params = {};
1540
+ var campaign_keywords = 'utm_source utm_medium utm_campaign utm_content utm_term gclid fbclid'.split(' ');
1541
+ var params = {};
1543
1542
 
1544
1543
  _.each(campaign_keywords, function (kwkey) {
1545
- kw = _.getQueryParam(document$1.URL, kwkey);
1544
+ var kw = _.getQueryParam(document$1.URL, kwkey);
1546
1545
 
1547
1546
  if (kw.length) {
1548
1547
  params[kwkey] = kw;
@@ -5481,7 +5480,11 @@ var RetryQueue = /*#__PURE__*/function (_RequestQueueScaffold) {
5481
5480
  sendBeacon: true
5482
5481
  })));
5483
5482
  } catch (e) {
5484
- if (this.get_config('debug')) {
5483
+ var _this$get_config;
5484
+
5485
+ // Note sendBeacon automatically retries, and after the first retry it will loose reference to contextual `this`.
5486
+ // This means in some cases `this.getConfig` will be undefined.
5487
+ if ((_this$get_config = this.get_config) !== null && _this$get_config !== void 0 && _this$get_config.call(this, 'debug')) {
5485
5488
  console.error(e);
5486
5489
  }
5487
5490
  }
@@ -5528,6 +5531,8 @@ var RetryQueue = /*#__PURE__*/function (_RequestQueueScaffold) {
5528
5531
 
5529
5532
  var SESSION_CHANGE_THRESHOLD = 30 * 60 * 1000; // 30 mins
5530
5533
 
5534
+ var SESSION_LENGTH_LIMIT = 24 * 3600 * 1000; // 24 hours
5535
+
5531
5536
  var SessionIdManager = /*#__PURE__*/function () {
5532
5537
  function SessionIdManager(config, persistence) {
5533
5538
  _classCallCheck(this, SessionIdManager);
@@ -5573,28 +5578,36 @@ var SessionIdManager = /*#__PURE__*/function () {
5573
5578
 
5574
5579
  }, {
5575
5580
  key: "_setSessionId",
5576
- value: function _setSessionId(sessionId, timestamp) {
5577
- if (sessionId !== this._sessionId || timestamp !== this._timestamp) {
5578
- this._timestamp = timestamp;
5581
+ value: function _setSessionId(sessionId, sessionActivityTimestamp, sessionStartTimestamp) {
5582
+ if (sessionId !== this._sessionId || sessionActivityTimestamp !== this._sessionActivityTimestamp || sessionStartTimestamp !== this._sessionStartTimestamp) {
5583
+ this._sessionStartTimestamp = sessionStartTimestamp;
5584
+ this._sessionActivityTimestamp = sessionActivityTimestamp;
5579
5585
  this._sessionId = sessionId;
5580
- this.persistence.register(_defineProperty({}, SESSION_ID, [timestamp, sessionId]));
5586
+ this.persistence.register(_defineProperty({}, SESSION_ID, [sessionActivityTimestamp, sessionId, sessionStartTimestamp]));
5581
5587
  }
5582
5588
  }
5583
5589
  }, {
5584
5590
  key: "_getSessionId",
5585
5591
  value: function _getSessionId() {
5586
- if (this._sessionId && this._timestamp) {
5587
- return [this._timestamp, this._sessionId];
5592
+ if (this._sessionId && this._sessionActivityTimestamp && this._sessionStartTimestamp) {
5593
+ return [this._sessionActivityTimestamp, this._sessionId, this._sessionStartTimestamp];
5594
+ }
5595
+
5596
+ var sessionId = this.persistence['props'][SESSION_ID];
5597
+
5598
+ if (Array.isArray(sessionId) && sessionId.length === 2) {
5599
+ // Storage does not yet have a session start time. Add the last activity timestamp as the start time
5600
+ sessionId.push(sessionId[0]);
5588
5601
  }
5589
5602
 
5590
- return this.persistence['props'][SESSION_ID] || [0, null];
5603
+ return sessionId || [0, null, 0];
5591
5604
  } // Resets the session id by setting it to null. On the subsequent call to checkAndGetSessionAndWindowId,
5592
5605
  // new ids will be generated.
5593
5606
 
5594
5607
  }, {
5595
5608
  key: "resetSessionId",
5596
5609
  value: function resetSessionId() {
5597
- this._setSessionId(null, null);
5610
+ this._setSessionId(null, null, null);
5598
5611
  }
5599
5612
  /*
5600
5613
  * This function returns the current sessionId and windowId. It should be used to
@@ -5621,24 +5634,29 @@ var SessionIdManager = /*#__PURE__*/function () {
5621
5634
  timestamp = timestamp || new Date().getTime();
5622
5635
 
5623
5636
  var _this$_getSessionId = this._getSessionId(),
5624
- _this$_getSessionId2 = _slicedToArray(_this$_getSessionId, 2),
5637
+ _this$_getSessionId2 = _slicedToArray(_this$_getSessionId, 3),
5625
5638
  lastTimestamp = _this$_getSessionId2[0],
5626
- sessionId = _this$_getSessionId2[1];
5639
+ sessionId = _this$_getSessionId2[1],
5640
+ startTimestamp = _this$_getSessionId2[2];
5627
5641
 
5628
5642
  var windowId = this._getWindowId();
5629
5643
 
5630
- if (!sessionId || !readOnly && Math.abs(timestamp - lastTimestamp) > SESSION_CHANGE_THRESHOLD) {
5644
+ var sessionPastMaximumLength = startTimestamp && startTimestamp > 0 && Math.abs(timestamp - startTimestamp) > SESSION_LENGTH_LIMIT;
5645
+
5646
+ if (!sessionId || !readOnly && Math.abs(timestamp - lastTimestamp) > SESSION_CHANGE_THRESHOLD || sessionPastMaximumLength) {
5631
5647
  sessionId = _.UUID();
5632
5648
  windowId = _.UUID();
5649
+ startTimestamp = timestamp;
5633
5650
  } else if (!windowId) {
5634
5651
  windowId = _.UUID();
5635
5652
  }
5636
5653
 
5637
- var newTimestamp = lastTimestamp === 0 || !readOnly ? timestamp : lastTimestamp;
5654
+ var newTimestamp = lastTimestamp === 0 || !readOnly || sessionPastMaximumLength ? timestamp : lastTimestamp;
5655
+ var sessionStartTimestamp = startTimestamp === 0 ? new Date().getTime() : startTimestamp;
5638
5656
 
5639
5657
  this._setWindowId(windowId);
5640
5658
 
5641
- this._setSessionId(sessionId, newTimestamp);
5659
+ this._setSessionId(sessionId, newTimestamp, sessionStartTimestamp);
5642
5660
 
5643
5661
  return {
5644
5662
  sessionId: sessionId,
@@ -5860,6 +5878,9 @@ var defaultConfig = function defaultConfig() {
5860
5878
  var error = 'Bad HTTP status: ' + req.status + ' ' + req.statusText;
5861
5879
  console.error(error);
5862
5880
  },
5881
+ get_device_id: function get_device_id(uuid) {
5882
+ return uuid;
5883
+ },
5863
5884
  // Used for internal testing
5864
5885
  _onCapture: function _onCapture() {},
5865
5886
  _capture_metrics: false,
@@ -5884,7 +5905,7 @@ var PostHogLib = function PostHogLib() {};
5884
5905
 
5885
5906
  var create_mplib = function create_mplib(token, config, name) {
5886
5907
  var instance,
5887
- target = name === PRIMARY_INSTANCE_NAME ? posthog_master : posthog_master[name];
5908
+ target = name === PRIMARY_INSTANCE_NAME || !posthog_master ? posthog_master : posthog_master[name];
5888
5909
 
5889
5910
  if (target && init_type === INIT_MODULE) {
5890
5911
  instance = target;
@@ -6009,12 +6030,11 @@ PostHogLib.prototype._init = function (token, config, name) {
6009
6030
 
6010
6031
  this._gdpr_init();
6011
6032
 
6012
- var uuid = _.UUID();
6013
-
6014
6033
  if (!this.get_distinct_id()) {
6015
6034
  // There is no need to set the distinct id
6016
6035
  // or the device id if something was already stored
6017
6036
  // in the persitence
6037
+ var uuid = this.get_config('get_device_id')(_.UUID());
6018
6038
  this.register_once({
6019
6039
  distinct_id: uuid,
6020
6040
  $device_id: uuid
@@ -6718,9 +6738,7 @@ PostHogLib.prototype.group = function (groupType, groupKey, groupPropertiesToSet
6718
6738
  PostHogLib.prototype.reset = function (reset_device_id) {
6719
6739
  var device_id = this.get_property('$device_id');
6720
6740
  this['persistence'].clear();
6721
-
6722
- var uuid = _.UUID();
6723
-
6741
+ var uuid = this.get_config('get_device_id')(_.UUID());
6724
6742
  this.register_once({
6725
6743
  distinct_id: uuid,
6726
6744
  $device_id: reset_device_id ? uuid : device_id
@@ -6923,6 +6941,10 @@ PostHogLib.prototype.alias = function (alias, original) {
6923
6941
  *
6924
6942
  * // prevent autocapture from capturing textContent on all elements
6925
6943
  * mask_all_text: false
6944
+ *
6945
+ * // Anonymous users get a random UUID as their device by default.
6946
+ * // This option allows overriding that option.
6947
+ * get_device_id: (uuid) => uuid
6926
6948
  * }
6927
6949
  *
6928
6950
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "posthog-js",
3
- "version": "1.21.1",
3
+ "version": "1.24.0",
4
4
  "description": "Posthog-js allows you to automatically capture usage and send events to PostHog.",
5
5
  "repository": "https://github.com/PostHog/posthog-js",
6
6
  "author": "hey@posthog.com",
@@ -62,8 +62,8 @@
62
62
  "rollup": "^2.18.2",
63
63
  "rrweb": "^1.1.3",
64
64
  "sinon": "9.0.2",
65
- "testcafe": "^1.17.1",
66
- "testcafe-browser-provider-browserstack": "^1.13.2-alpha.1",
65
+ "testcafe": "^1.19.0",
66
+ "testcafe-browser-provider-browserstack": "^1.14.0",
67
67
  "typescript": "^3.9.6"
68
68
  },
69
69
  "husky": {
@@ -90,7 +90,11 @@
90
90
  "json"
91
91
  ],
92
92
  "setupFilesAfterEnv": [
93
- "given2/setup"
93
+ "given2/setup",
94
+ "./src/__tests__/setup.js"
95
+ ],
96
+ "modulePathIgnorePatterns": [
97
+ "src/__tests__/setup.js"
94
98
  ],
95
99
  "clearMocks": true,
96
100
  "testEnvironment": "jsdom"