@usermaven/sdk-js 1.0.4 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -3
- package/dist/npm/usermaven.cjs.js +1528 -283
- package/dist/npm/usermaven.d.ts +161 -15
- package/dist/npm/usermaven.es.js +1526 -284
- package/dist/web/lib.js +1 -0
- package/package.json +14 -13
package/dist/web/lib.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function r(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function i(e){let t=!!globalThis.window;return!t&&e&&c().warn(e),t}function o(e){if(!i())throw new Error(e||"window' is not available. Seems like this code runs outside browser environment. It shouldn't happen");return window}var s={DEBUG:{name:"DEBUG",severity:10},INFO:{name:"INFO",severity:100},WARN:{name:"WARN",severity:1e3},ERROR:{name:"ERROR",severity:1e4},NONE:{name:"NONE",severity:1e4}},a=null;function c(){return a||(a=u())}function u(e){var t=i()&&window.__eventNLogLevel,n=s.WARN;if(t){var o=s[t.toUpperCase()];o&&o>0&&(n=o)}else e&&(n=e);var a={minLogLevel:n};return Object.values(s).forEach((function(e){var t=e.name,i=e.severity;a[t.toLowerCase()]=function(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];if(i>=n.severity&&e.length>0){var s=e[0],a=e.splice(1),c="[J-".concat(t,"] ").concat(s);"DEBUG"===t||"INFO"===t?console.log.apply(console,r([c],a,!1)):"WARN"===t?console.warn.apply(console,r([c],a,!1)):console.error.apply(console,r([c],a,!1))}}})),function(e,t){if(i()){var n=window;n.__usermavenDebug||(n.__usermavenDebug={}),n.__usermavenDebug[e]=t}}("logger",a),a}function p(e,t,n){var r;void 0===n&&(n={});var i=e+"="+encodeURIComponent(t);if(i+="; Path="+(null!==(r=n.path)&&void 0!==r?r:"/"),n.maxAge&&(i+="; Max-Age="+Math.floor(n.maxAge)),n.domain&&(i+="; Domain="+n.domain),n.expires&&(i+="; Expires="+n.expires.toUTCString()),n.httpOnly&&(i+="; HttpOnly"),n.secure&&(i+="; Secure"),n.sameSite)switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i}var l;function d(e){if(!e)return{};for(var t={},n=e.split(";"),r=0;r<n.length;r++){var i=n[r],o=i.indexOf("=");o>0&&(t[i.substr(r>0?1:0,r>0?o-1:o)]=i.substr(o+1))}return t}function h(e,t){return Array.from(e.attributes).forEach((function(e){t.setAttribute(e.nodeName,e.nodeValue)}))}function f(e,t){e.innerHTML=t;var n,r=e.getElementsByTagName("script");for(n=r.length-1;n>=0;n--){var i=r[n],o=document.createElement("script");h(i,o),i.innerHTML&&(o.innerHTML=i.innerHTML),o.setAttribute("data-usermaven-tag-id",e.id),document.getElementsByTagName("head")[0].appendChild(o),r[n].parentNode.removeChild(r[n])}}var g=function(e){return e&&decodeURIComponent(o().document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},m=function(e,t,n){void 0===n&&(n={}),o().document.cookie=p(e,t,n)},_=function(e,t){void 0===t&&(t="/"),document.cookie=e+"= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"+(t?"; path = "+t:"")},v=function(){return Math.random().toString(36).substring(2,12)},y=function(){return Math.random().toString(36).substring(2,7)},b={utm_source:"source",utm_medium:"medium",utm_campaign:"campaign",utm_term:"term",utm_content:"content"},w={gclid:!0,fbclid:!0,dclid:!0};var k="1.0.0";const S=Array.prototype,P=Function.prototype,x=Object.prototype,O=S.slice,C=x.toString,A=x.hasOwnProperty,E="undefined"!=typeof window?window:{},I=E.navigator||{userAgent:""},N=E.document||{},U=I.userAgent,$=P.bind,j=S.forEach,T=S.indexOf,D=Array.isArray,M={};var B={trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},F=function(){if(!B.isUndefined(window.console)&&window.console){var e=["UserMaven error:",...arguments];try{window.console.error.apply(window.console,e)}catch(t){B.each(e,(function(e){window.console.error(e)}))}}};B.bind=function(e,t){var n,r;if($&&e.bind===$)return $.apply(e,O.call(arguments,1));if(!B.isFunction(e))throw new TypeError;return n=O.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(O.call(arguments)));var i={};i.prototype=e.prototype;var o=new i;i.prototype=null;var s=e.apply(o,n.concat(O.call(arguments)));return Object(s)===s?s:o},r},B.bind_instance_methods=function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=B.bind(e[t],e))},B.each=function(e,t,n){if(null!=e)if(j&&e.forEach===j)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r,e)===M)return}else for(var o in e)if(A.call(e,o)&&t.call(n,e[o],o,e)===M)return},B.extend=function(e){return B.each(O.call(arguments,1),(function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])})),e},B.isArray=D||function(e){return"[object Array]"===C.call(e)},B.isFunction=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},B.include=function(e,t){var n=!1;return null===e?n:T&&e.indexOf===T?-1!=e.indexOf(t):(B.each(e,(function(e){if(n||(n=e===t))return M})),n)},B.includes=function(e,t){return-1!==e.indexOf(t)},B.isObject=function(e){return e===Object(e)&&!B.isArray(e)},B.isEmptyObject=function(e){if(B.isObject(e)){for(var t in e)if(A.call(e,t))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(t,n){B.isDate(t)?e[n]=B.formatDate(t):B.isObject(t)&&(e[n]=B.encodeDates(t))})),e},B.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},B.formatDate=function(e){function t(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())},B.safewrap=function(e){return function(){try{return e.apply(this,arguments)}catch(e){F("Implementation error. Please turn on debug and contact support@usermaven.com.")}}},B.safewrap_class=function(e,t){for(var n=0;n<t.length;n++)e.prototype[t[n]]=B.safewrap(e.prototype[t[n]])},B.safewrap_instance_methods=function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=B.safewrap(e[t]))},B.strip_empty_properties=function(e){var t={};return B.each(e,(function(e,n){B.isString(e)&&e.length>0&&(t[n]=e)})),t};const z="undefined"!=typeof Symbol?Symbol("__deepCircularCopyInProgress__"):"__deepCircularCopyInProgress__";function R(e,t){if(e!==Object(e))return t?t(e):e;if(e[z])return;let n;return e[z]=!0,B.isArray(e)?(n=[],B.each(e,(e=>{n.push(R(e,t))}))):(n={},B.each(e,((e,r)=>{r!==z&&(n[r]=R(e,t))}))),delete e[z],n}var L;B.copyAndTruncateStrings=(e,t)=>R(e,(e=>("string"==typeof e&&null!==t&&(e=e.slice(0,t)),e))),B.base64Encode=function(e){var t,n,r,i,o,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,c=0,u="",p=[];if(!e)return e;e=B.utf8Encode(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>18&63,n=o>>12&63,r=o>>6&63,i=63&o,p[c++]=s.charAt(t)+s.charAt(n)+s.charAt(r)+s.charAt(i)}while(a<e.length);switch(u=p.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 t,n,r,i,o="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,i=0;i<r;i++){var s=e.charCodeAt(i),a=null;s<128?n++:a=s>127&&s<2048?String.fromCharCode(s>>6|192,63&s|128):String.fromCharCode(s>>12|224,s>>6&63|128,63&s|128),null!==a&&(n>t&&(o+=e.substring(t,n)),o+=a,t=n=i+1)}return n>t&&(o+=e.substring(t,e.length)),o},B.UUID=(L=function(){for(var e=1*new Date,t=0;e==1*new Date;)t++;return e.toString(16)+t.toString(16)},function(){var e=(window.screen.height*window.screen.width).toString(16);return L()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,t,n=U,r=[],i=0;function o(e,t){var n,i=0;for(n=0;n<t.length;n++)i|=r[n]<<8*n;return e^i}for(e=0;e<n.length;e++)t=n.charCodeAt(e),r.unshift(255&t),r.length>=4&&(i=o(i,r),r=[]);return r.length>0&&(i=o(i,r)),i.toString(16)}()+"-"+e+"-"+L()}),B.isBlockedUA=function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp)/i.test(e)},B.HTTPBuildQuery=function(e,t){var n,r,i=[];return B.isUndefined(t)&&(t="&"),B.each(e,(function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),i[i.length]=r+"="+n})),i.join(t)},B.getQueryParam=function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){}return r.replace(/\+/g," ")},B.getHashParam=function(e,t){var n=e.match(new RegExp(t+"=([^&]*)"));return n?n[1]:null},B.register_event=function(){function e(t){return t&&(t.preventDefault=e.preventDefault,t.stopPropagation=e.stopPropagation),t}return e.preventDefault=function(){this.returnValue=!1},e.stopPropagation=function(){this.cancelBubble=!0},function(t,n,r,i,o){if(t)if(t.addEventListener&&!i)t.addEventListener(n,r,!!o);else{var s="on"+n,a=t[s];t[s]=function(t,n,r){return function(i){if(i=i||e(window.event)){var o,s,a=!0;return B.isFunction(r)&&(o=r(i)),s=n.call(t,i),!1!==o&&!1!==s||(a=!1),a}}}(t,r,a)}}}(),B.info={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term gclid".split(" "),t="",n={};return B.each(e,(function(e){(t=B.getQueryParam(N.URL,e)).length&&(n[e]=t)})),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 t=B.info.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var i=B.getQueryParam(e,n);i.length&&(r.um_keyword=i)}return r},browser:function(e,t,n){return t=t||"",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(t,"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,t,n){var r={"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,t,n)];if(void 0===r)return null;var i=e.match(r);return i?parseFloat(i[i.length-2]):null},os:function(){var e=U;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){const t=this.device(e);return"iPad"===t||"Android Tablet"===t?"Tablet":t?"Mobile":"Desktop"},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},properties:function(){return B.extend(B.strip_empty_properties({$os:B.info.os(),$browser:B.info.browser(U,I.vendor,window.opera),$device:B.info.device(U),$device_type:B.info.deviceType(U)}),{$current_url:window.location.href,$host:window.location.host,$pathname:window.location.pathname,$browser_version:B.info.browserVersion(U,I.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:k,$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(U,I.vendor,window.opera)}),{$browser_version:B.info.browserVersion(U,I.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;var H=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i;const J={get:function(e){try{for(var t=e+"=",n=document.cookie.split(";"),r=0;r<n.length;r++){for(var i=n[r];" "==i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return decodeURIComponent(i.substring(t.length,i.length))}}catch(e){}return null},parse:function(e){var t;try{t=JSON.parse(J.get(e))||{}}catch(e){}return t},set:function(e,t,n,r,i){try{var o="",s="",a="";if(r){var c=document.location.hostname.match(H),u=c?c[0]:"";o=u?"; domain=."+u:""}if(n){var p=new Date;p.setTime(p.getTime()+24*n*60*60*1e3),s="; expires="+p.toGMTString()}i&&(a="; secure");var l=e+"="+encodeURIComponent(JSON.stringify(t))+s+"; path=/"+o+a;return document.cookie=l,l}catch(e){return}},remove:function(e,t){try{J.set(e,"",-1,t)}catch(e){return}}};var W=null;const q={is_supported:function(){if(null!==W)return W;var e=!0;if(window)try{var t="__mplssupport__";q.set(t,"xyz"),'"xyz"'!==q.get(t)&&(e=!1),q.remove(t)}catch(t){e=!1}else e=!1;return W=e,e},error:function(e){},get:function(e){try{return window.localStorage.getItem(e)}catch(e){q.error(e)}return null},parse:function(e){try{return JSON.parse(q.get(e))||{}}catch(e){}return null},set:function(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){q.error(e)}},remove:function(e){try{window.localStorage.removeItem(e)}catch(e){q.error(e)}}},V={...q,parse:function(e){try{let t={};try{t=J.parse(e)||{},t.distinct_id&&J.set(e,{distinct_id:t.distinct_id})}catch(e){}const n=B.extend(t,JSON.parse(q.get(e)||"{}"));return q.set(e,n),n}catch(e){}return null},set:function(e,t){try{q.set(e,t),t.distinct_id&&J.set(e,{distinct_id:t.distinct_id})}catch(e){q.error(e)}},remove:function(e){try{window.localStorage.removeItem(e),J.remove(e)}catch(e){q.error(e)}}},K={},Q={is_supported:function(){return!0},error:function(e){},parse:function(e){return K[e]||null},set:function(e,t){K[e]=t},remove:function(e){delete K[e]}},G={sessionStorageSupported:null,is_supported:function(){if(null!==G.sessionStorageSupported)return G.sessionStorageSupported;if(G.sessionStorageSupported=!0,window)try{let e="__support__",t="xyz";G.set(e,t),'"xyz"'!==G.get(e)&&(G.sessionStorageSupported=!1),G.remove(e)}catch(e){G.sessionStorageSupported=!1}else G.sessionStorageSupported=!1;return G.sessionStorageSupported},error:function(e){Config.DEBUG},get:function(e){try{return window.sessionStorage.getItem(e)}catch(e){G.error(e)}return null},parse:function(e){try{return JSON.parse(G.get(e))||null}catch(e){}return null},set:function(e,t){try{window.sessionStorage.setItem(e,JSON.stringify(t))}catch(e){G.error(e)}},remove:function(e){try{window.sessionStorage.removeItem(e)}catch(e){G.error(e)}}};var X="__timers",Y="$sesid",Z="$enabled_feature_flags",ee=["__mps","__mpso","__mpus","__mpa","__mpap","__mpr","__mpu","__cmpns",X,"$session_recording_enabled",Y,Z],te=function(e){let t="";e.token&&(t=e.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),this.props={},this.campaign_params_saved=!1,e.persistence_name?this.name="um_"+e.persistence_name:this.name="um_"+t+"_usermaven";var n=e.persistence;"cookie"!==n&&-1===n.indexOf("localStorage")&&"memory"!==n&&(F("Unknown persistence type "+n+"; falling back to cookie"),n=e.persistence="cookie"),"localStorage"===n&&q.is_supported()?this.storage=q:"localStorage+cookie"===n&&V.is_supported()?this.storage=V:this.storage="memory"===n?Q:J,this.load(),this.update_config(e),this.save()};te.prototype.properties=function(){var e={};return B.each(this.props,(function(t,n){if(n===Z&&"object"==typeof t)for(var r=Object.keys(t),i=0;i<r.length;i++)e[`$feature/${r[i]}`]=t[r[i]];else B.include(ee,n)||(e[n]=t)})),e},te.prototype.load=function(){if(!this.disabled){var e=this.storage.parse(this.name);e&&(this.props=B.extend({},e))}},te.prototype.save=function(){this.disabled||this.storage.set(this.name,this.props,this.expire_days,this.cross_subdomain,this.secure)},te.prototype.remove=function(){this.storage.remove(this.name,!1),this.storage.remove(this.name,!0)},te.prototype.clear=function(){this.remove(),this.props={}},te.prototype.register_once=function(e,t,n){return!!B.isObject(e)&&(void 0===t&&(t="None"),this.expire_days=void 0===n?this.default_expiry:n,B.each(e,(function(e,n){this.props.hasOwnProperty(n)&&this.props[n]!==t||(this.props[n]=e)}),this),this.save(),!0)},te.prototype.register=function(e,t){return!!B.isObject(e)&&(this.expire_days=void 0===t?this.default_expiry:t,B.extend(this.props,e),this.save(),!0)},te.prototype.unregister=function(e){e in this.props&&(delete this.props[e],this.save())},te.prototype.update_campaign_params=function(){this.campaign_params_saved||(this.register(B.info.campaignParams()),this.campaign_params_saved=!0)},te.prototype.update_search_keyword=function(e){this.register(B.info.searchInfo(e))},te.prototype.update_referrer_info=function(e){this.register_once({$initial_referrer:e||"$direct",$initial_referring_domain:B.info.referringDomain(e)||"$direct"},""),this.register({$referrer:e||this.props.$referrer||"$direct",$referring_domain:B.info.referringDomain(e)||this.props.$referring_domain||"$direct"})},te.prototype.get_referrer_info=function(){return B.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},te.prototype.safe_merge=function(e){return B.each(this.props,(function(t,n){n in e||(e[n]=t)})),e},te.prototype.update_config=function(e){this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie)},te.prototype.set_disabled=function(e){this.disabled=e,this.disabled?this.remove():this.save()},te.prototype.set_cross_subdomain=function(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())},te.prototype.get_cross_subdomain=function(){return this.cross_subdomain},te.prototype.set_secure=function(e){e!==this.secure&&(this.secure=!!e,this.remove(),this.save())},te.prototype.set_event_timer=function(e,t){var n=this.props.__timers||{};n[e]=t,this.props.__timers=n,this.save()},te.prototype.remove_event_timer=function(e){var t=(this.props.__timers||{})[e];return B.isUndefined(t)||(delete this.props.__timers[e],this.save()),t};class ne{constructor(e,t){this.persistence=t,this.session_change_threshold=e.persistence_time||1800,this.session_change_threshold*=1e3,e.persistence_name?this.window_id_storage_key="um_"+e.persistence_name+"_window_id":this.window_id_storage_key="um_"+e.token+"_window_id"}_setWindowId(e){e!==this.windowId&&(this.windowId=e,!this.persistence.disabled&&G.is_supported()&&G.set(this.window_id_storage_key,e))}_getWindowId(){return this.windowId?this.windowId:!this.persistence.disabled&&G.is_supported()?G.parse(this.window_id_storage_key):null}_setSessionId(e,t){e===this.sessionId&&t===this.timestamp||(this.timestamp=t,this.sessionId=e,this.persistence.register({[Y]:[t,e]}))}_getSessionId(){return this.sessionId&&this.timestamp?[this.timestamp,this.sessionId]:this.persistence.props.$sesid||[0,null]}resetSessionId(){this._setSessionId(null,null)}getSessionAndWindowId(e=null,t=!1){if(this.persistence.disabled)return{};e=e||(new Date).getTime();let[n,r]=this._getSessionId(),i=this._getWindowId();!r||Math.abs(e-n)>this.session_change_threshold?(r=B.UUID(),i=B.UUID()):i||(i=B.UUID());const o=e;return this._setWindowId(i),this._setSessionId(r,o),{session_id:r,window_id:i}}}function re(e){switch(typeof e.className){case"string":return e.className;case"object":return e.className.baseVal||e.getAttribute("class")||"";default:return""}}function ie(e){var t="";return ue(e)&&!pe(e)&&e.childNodes&&e.childNodes.length&&B.each(e.childNodes,(function(e){ae(e)&&e.textContent&&(t+=B.trim(e.textContent).split(/(\s+)/).filter(le).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))})),B.trim(t)}function oe(e){return e&&1===e.nodeType}function se(e,t){return e&&e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function ae(e){return e&&3===e.nodeType}var ce=["a","button","form","input","select","textarea","label"];function ue(e){for(var t=e;t.parentNode&&!se(t,"body");t=t.parentNode){var n=re(t).split(" ");if(B.includes(n,"um-sensitive")||B.includes(n,"um-no-capture"))return!1}if(B.includes(re(e).split(" "),"um-include"))return!0;var r=e.type||"";if("string"==typeof r)switch(r.toLowerCase()){case"hidden":case"password":return!1}var i=e.name||e.id||"";if("string"==typeof i){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))return!1}return!0}function pe(e){return!!(se(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||se(e,"select")||se(e,"textarea")||"true"===e.getAttribute("contenteditable"))}function le(e){if(null===e||B.isUndefined(e))return!1;if("string"==typeof e){e=B.trim(e);if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((e||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(e))return!1}return!0}class de{constructor(e,t=e.get_config("rageclick")){this.clicks=[],this.instance=e,this.enabled=t}click(e,t,n){if(!this.enabled)return;const r=this.clicks[this.clicks.length-1];r&&Math.abs(e-r.x)+Math.abs(t-r.y)<30&&n-r.timestamp<1e3?(this.clicks.push({x:e,y:t,timestamp:n}),3===this.clicks.length&&this.instance.capture("$rageclick")):this.clicks=[{x:e,y:t,timestamp:n}]}}var he={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;do{e=e.previousSibling}while(e&&!oe(e));return e},_getPropertiesFromElement:function(e,t,n){var r=e.tagName.toLowerCase(),i={tag_name:r};ce.indexOf(r)>-1&&!n&&(i.$el_text=ie(e));var o=re(e);o.length>0&&(i.classes=o.split(" ").filter((function(e){return""!==e}))),B.each(e.attributes,(function(n){var r;pe(e)&&-1===["name","id","class"].indexOf(n.name)||!t&&le(n.value)&&("string"!=typeof(r=n.name)||"_ngcontent"!==r.substring(0,10)&&"_nghost"!==r.substring(0,7))&&(i["attr__"+n.name]=n.value)}));for(var s=1,a=1,c=e;c=this._previousElementSibling(c);)s++,c.tagName===e.tagName&&a++;return i.nth_child=s,i.nth_of_type=a,i},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1}},_extractCustomPropertyValue:function(e){var t=[];return B.each(document.querySelectorAll(e.css_selector),(function(e){var n;["input","select"].indexOf(e.tagName.toLowerCase())>-1?n=e.value:e.textContent&&(n=e.textContent),le(n)&&t.push(n)})),t.join(", ")},_getCustomProperties:function(e){var t={};return B.each(this._customProperties,(function(n){B.each(n.event_selectors,(function(r){var i=document.querySelectorAll(r);B.each(i,(function(r){B.includes(e,r)&&ue(r)&&(t[n.name]=this._extractCustomPropertyValue(n))}),this)}),this)}),this),t},_getEventTarget:function(e){return void 0===e.target?e.srcElement:e.target.shadowRoot?e.composedPath()[0]:e.target},_captureEvent:function(e,t){var n=this._getEventTarget(e);if(ae(n)&&(n=n.parentNode),"click"===e.type&&this.rageclicks.click(e.clientX,e.clientY,(new Date).getTime()),function(e,t){if(!e||se(e,"html")||!oe(e))return!1;for(var n=!1,r=[e],i=!0,o=e;o.parentNode&&!se(o,"body");)if(11!==o.parentNode.nodeType){if(!(i=o.parentNode))break;if(ce.indexOf(i.tagName.toLowerCase())>-1)n=!0;else{let e=window.getComputedStyle(i);e&&"pointer"===e.getPropertyValue("cursor")&&(n=!0)}r.push(i),o=i}else r.push(o.parentNode.host),o=o.parentNode.host;let s=window.getComputedStyle(e);if(s&&"pointer"===s.getPropertyValue("cursor")&&"click"===t.type)return!0;var a=e.tagName.toLowerCase();switch(a){case"html":return!1;case"form":return"submit"===t.type;case"input":case"select":case"textarea":return"change"===t.type||"click"===t.type;default:return n?"click"===t.type:"click"===t.type&&(ce.indexOf(a)>-1||"true"===e.getAttribute("contenteditable"))}}(n,e)){for(var r=[n],i=n;i.parentNode&&!se(i,"body");)11!==i.parentNode.nodeType?(r.push(i.parentNode),i=i.parentNode):(r.push(i.parentNode.host),i=i.parentNode.host);var o,s=[],a=!1;if(B.each(r,(function(e){var n=ue(e);"a"===e.tagName.toLowerCase()&&(o=e.getAttribute("href"),o=n&&le(o)&&o);var r=re(e).split(" ");B.includes(r,"um-no-capture")&&(a=!0),s.push(this._getPropertiesFromElement(e,t.get_config("mask_all_element_attributes"),t.get_config("mask_all_text")))}),this),t.get_config("mask_all_text")||(s[0].$el_text=ie(n)),o&&(s[0].attr__href=o),a)return!1;var c=B.extend(this._getDefaultProperties(e.type),{$elements:s},this._getCustomProperties(r));return t.capture("$autocapture",c),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e){var t=B.bind((function(t){t=t||window.event,this._captureEvent(t,e)}),this);B.register_event(document,"submit",t,!1,!0),B.register_event(document,"change",t,!1,!0),B.register_event(document,"click",t,!1,!0)},_customProperties:{},init:function(e){var t=e.get_config("token");console.log('Initializing autocapture for token "'+t+'"'),this._initializedTokens.indexOf(t)>-1?console.log('autocapture already initialized for token "'+t+'"'):(this._initializedTokens.push(t),e.get_config("autocapture")?this._addDomEventHandlers(e):e.__autocapture_enabled=!1,this.rageclicks=new de(e))},enabledForProject:function(e,t,n){t=B.isUndefined(t)?10:t,n=B.isUndefined(n)?10:n;for(var r=0,i=0;i<e.length;i++)r+=e.charCodeAt(i);return r%t<n},isBrowserSupported:function(){return B.isFunction(document.querySelectorAll)}};B.bind_instance_methods(he),B.safewrap_instance_methods(he);var fe="__buildEnv__",ge="__buildDate__",me="".concat("__buildVersion__","/").concat(fe,"@").concat(ge),_e=316224e3,ve=function(e,t){c().debug("Sending beacon",t);var n=new Blob([t],{type:"text/plain"});return navigator.sendBeacon(e,n),Promise.resolve()};var ye=function(e,t){return console.log("Jitsu client tried to send payload to ".concat(e),function(e){if("string"==typeof e)try{return JSON.stringify(JSON.parse(e),null,2)}catch(t){return e}}(t)),Promise.resolve()};function be(e,t){void 0===t&&(t=void 0),""!=(t=null!=t?t:window.location.pathname)&&"/"!=t&&(_(e,t),be(e,t.slice(0,t.lastIndexOf("/"))))}var we=function(){function e(e,t){this.cookieDomain=e,this.cookieName=t}return e.prototype.save=function(e){m(this.cookieName,JSON.stringify(e),{domain:this.cookieDomain,secure:"http:"!==document.location.protocol,maxAge:_e})},e.prototype.restore=function(){be(this.cookieName);var e=g(this.cookieName);if(e)try{var t=JSON.parse(decodeURIComponent(e));return"object"!=typeof t?void c().warn("Can't restore value of ".concat(this.cookieName,"@").concat(this.cookieDomain,", expected to be object, but found ").concat("object"!=typeof t,": ").concat(t,". Ignoring")):t}catch(t){return void c().error("Failed to decode JSON from "+e,t)}},e.prototype.delete=function(){_(this.cookieName)},e}(),ke=function(){function e(){}return e.prototype.save=function(e){},e.prototype.restore=function(){},e.prototype.delete=function(){},e}();var Se={getSourceIp:function(){},describeClient:function(){return{referer:document.referrer,url:window.location.href,page_title:document.title,doc_path:document.location.pathname,doc_host:document.location.hostname,doc_search:window.location.search,screen_resolution:screen.width+"x"+screen.height,vp_size:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)+"x"+Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),user_agent:navigator.userAgent,user_language:navigator.language,doc_encoding:document.characterSet}},getAnonymousId:function(e){var t=e.name,n=e.domain;be(t);var r=g(t);if(r)return c().debug("Existing user id",r),r;var i=v();return c().debug("New user id",i),m(t,i,{domain:n,secure:"http:"!==document.location.protocol,maxAge:_e}),i}};var Pe={getSourceIp:function(){},describeClient:function(){return{}},getAnonymousId:function(){return""}},xe=function(){return Se},Oe=function(){return Pe},Ce=function(e,t,n,r){void 0===r&&(r=function(e,t){});var i=new window.XMLHttpRequest;return new Promise((function(o,s){i.onerror=function(e){c().error("Failed to send",t,e),r(-1,{}),s(new Error("Failed to send JSON. See console logs"))},i.onload=function(){200!==i.status?(r(i.status,{}),c().warn("Failed to send data to ".concat(e," (#").concat(i.status," - ").concat(i.statusText,")"),t),s(new Error("Failed to send JSON. Error code: ".concat(i.status,". See logs for details")))):r(i.status,i.responseText),o()},i.open("POST",e),i.setRequestHeader("Content-Type","application/json"),Object.entries(n||{}).forEach((function(e){var t=e[0],n=e[1];return i.setRequestHeader(t,n)})),i.send(t),c().debug("sending json",t)}))},Ae=function(){function r(){this.userProperties={},this.permanentProperties={globalProps:{},propsPerEvent:{}},this.cookieDomain="",this.trackingHost="",this.idCookieName="",this.randomizeUrl=!1,this.apiKey="",this.initialized=!1,this._3pCookies={},this.cookiePolicy="keep",this.ipPolicy="keep",this.beaconApi=!1,this.transport=Ce,this.customHeaders=function(){return{}},this.__autocapture_enabled=!1}return r.prototype.get_config=function(e){return this.config?this.config[e]:null},r.prototype.id=function(t,n){return this.userProperties=e(e({},this.userProperties),t),c().debug("Usermaven user identified",t),this.userIdPersistence?this.userIdPersistence.save(t):c().warn("Id() is called before initialization"),n?Promise.resolve():this.track("user_identify",{})},r.prototype.rawTrack=function(e){return this.sendJson(e)},r.prototype.makeEvent=function(t,n,r){var o,s=r.env,a=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(r,["env"]);s||(s=i()?xe():Oe()),this.restoreId();var c=this.getCtx(s),u=e(e({},this.permanentProperties.globalProps),null!==(o=this.permanentProperties.propsPerEvent[t])&&void 0!==o?o:{}),p=e({api_key:this.apiKey,src:n,event_type:t},a),l=s.getSourceIp();return l&&(p.source_ip=l),this.compatMode?e(e(e({},u),{eventn_ctx:c}),p):e(e(e({},u),c),p)},r.prototype._send3p=function(e,t,n){var r="3rdparty";n&&""!==n&&(r=n);var i=this.makeEvent(r,e,{src_payload:t});return this.sendJson(i)},r.prototype.sendJson=function(e){var t=this,n="keep"!==this.cookiePolicy?"&cookie_policy=".concat(this.cookiePolicy):"",r="keep"!==this.ipPolicy?"&ip_policy=".concat(this.ipPolicy):"",o=i()?"/api/v1/event":"/api/v1/s2s/event",s="".concat(this.trackingHost).concat(o,"?token=").concat(this.apiKey).concat(n).concat(r);this.randomizeUrl&&(s="".concat(this.trackingHost,"/api.").concat(y(),"?p_").concat(y(),"=").concat(this.apiKey).concat(n).concat(r));var a=JSON.stringify(e);return c().debug("Sending payload to ".concat(s),a),this.transport(s,a,this.customHeaders(),(function(e,n){return t.postHandle(e,n)}))},r.prototype.postHandle=function(e,t){if("strict"===this.cookiePolicy||"comply"===this.cookiePolicy){if(200===e){var n=t;if("string"==typeof t&&(n=JSON.parse(t)),!n.delete_cookie)return}this.userIdPersistence.delete(),this.propsPersistance.delete(),_(this.idCookieName)}if(200===e){n=t;if("string"==typeof t&&t.length>0){var r=(n=JSON.parse(t)).jitsu_sdk_extras;if(r&&r.length>0)if(i())for(var o=0,s=r;o<s.length;o++){var a=s[o],u=a.type,p=a.id,l=a.value;if("tag"===u){var d=document.createElement("div");d.id=p,f(d,l),d.childElementCount>0&&document.body.appendChild(d)}}else c().error("Tags destination supported only in browser environment")}}},r.prototype.getCtx=function(t){var n=new Date,r=t.describeClient()||{},i=this.sessionManager.getSessionAndWindowId(),o=i.session_id,s=i.window_id,a=this.userProperties.company||{};delete this.userProperties.company;var c,u,p=e(e({event_id:"",session_id:o,window_id:s,user:e({anonymous_id:"strict"!==this.cookiePolicy?t.getAnonymousId({name:this.idCookieName,domain:this.cookieDomain}):""},this.userProperties),ids:this._getIds(),utc_time:(c=n.toISOString(),u=c.split(".")[1],u?u.length>=7?c:c.slice(0,-1)+"0".repeat(7-u.length)+"Z":c),local_tz_offset:n.getTimezoneOffset()},r),function(e){var t={utm:{},click_id:{}};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n],i=b[n];i?t.utm[i]=r:w[n]&&(t.click_id[n]=r)}return t}(function(e){if(!e)return{};for(var t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,n={},r=("?"===t[0]?t.substr(1):t).split("&"),i=0;i<r.length;i++){var o=r[i].split("=");n[decodeURIComponent(o[0])]=decodeURIComponent(o[1]||"")}return n}(r.doc_search)));return Object.keys(a).length&&(p.company=a),p},r.prototype._getIds=function(){if(!i())return{};for(var e=function(e){if(void 0===e&&(e=!1),e&&l)return l;var t=d(document.cookie);return l=t,t}(!1),t={},n=0,r=Object.entries(e);n<r.length;n++){var o=r[n],s=o[0],a=o[1];this._3pCookies[s]&&(t["_"==s.charAt(0)?s.substr(1):s]=a)}return t},r.prototype.track=function(e,t){var n=t||{};c().debug("track event of type",e,n);var r=this.makeEvent(e,this.compatMode?"eventn":"usermaven",t||{});return this.sendJson(r)},r.prototype.init=function(r){var o,p,l,d,h,f=this;if(i()&&!r.force_use_fetch)r.fetch&&c().warn("Custom fetch implementation is provided to Usermaven. However, it will be ignored since Usermaven runs in browser"),this.transport=this.beaconApi?ve:Ce;else{if(!r.fetch&&!globalThis.fetch)throw new Error("Usermaven runs in Node environment. However, neither UsermavenOptions.fetch is provided, nor global fetch function is defined. \nPlease, provide custom fetch implementation. You can get it via node-fetch package");this.transport=(l=r.fetch||globalThis.fetch,function(r,i,o,s){return void 0===s&&(s=function(e,t){}),t(void 0,void 0,void 0,(function(){var t,a,u;return n(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,l(r,{method:"POST",headers:e({Accept:"application/json","Content-Type":"application/json"},o||{}),body:i})];case 1:return t=n.sent(),[3,3];case 2:throw a=n.sent(),c().error("Failed to send",i,a),s(-1,{}),new Error("Failed to send JSON. See console logs");case 3:if(200!==t.status)throw c().warn("Failed to send data to ".concat(r," (#").concat(t.status," - ").concat(t.statusText,")"),i),new Error("Failed to send JSON. Error code: ".concat(t.status,". See logs for details"));return[4,t.json()];case 4:return u=n.sent(),s(t.status,u),[2]}}))}))})}if(r.custom_headers&&"function"==typeof r.custom_headers?this.customHeaders=r.custom_headers:r.custom_headers&&(this.customHeaders=function(){return r.custom_headers}),"echo"===r.tracking_host&&(c().warn('jitsuClient is configured with "echo" transport. Outgoing requests will be written to console'),this.transport=ye),r.ip_policy&&(this.ipPolicy=r.ip_policy),r.cookie_policy&&(this.cookiePolicy=r.cookie_policy),"strict"===r.privacy_policy&&(this.ipPolicy="strict",this.cookiePolicy="strict"),r.use_beacon_api&&navigator.sendBeacon&&(this.beaconApi=!0),"comply"===this.cookiePolicy&&this.beaconApi&&(this.cookiePolicy="strict"),r.log_level&&(d=r.log_level,(h=s[d.toLocaleUpperCase()])||(console.warn("Can't find log level with name ".concat(d.toLocaleUpperCase(),", defaulting to INFO")),h=s.INFO),a=u(h)),this.initialOptions=r,c().debug("Initializing Usemaven Tracker tracker",r,me),r.key){if(this.compatMode=void 0!==r.compat_mode&&!!r.compat_mode,this.cookieDomain=r.cookie_domain||function(){if(i())return".".concat((e=location.hostname,t=function(e){return(e.indexOf("//")>-1?e.split("/")[2]:e.split("/")[0]).split(":")[0].split("?")[0]}(e),n=t.split("."),(r=n.length)>2&&(t=n[r-2]+"."+n[r-1],2==n[r-2].length&&2==n[r-1].length&&(t=n[r-3]+"."+t)),t));var e,t,n,r}(),this.trackingHost=function(e){for(;n="/",-1!==(t=e).indexOf(n,t.length-n.length);)e=e.substr(0,e.length-1);var t,n;return 0===e.indexOf("https://")||0===e.indexOf("http://")?e:"//"+e}(r.tracking_host||"t.usermaven.com"),this.randomizeUrl=r.randomize_url||!1,this.idCookieName=r.cookie_name||"__eventn_id",this.apiKey=r.key,"strict"===this.cookiePolicy?this.propsPersistance=new ke:this.propsPersistance=i()?new we(this.cookieDomain,this.idCookieName+"_props"):new ke,"strict"===this.cookiePolicy?this.userIdPersistence=new ke:this.userIdPersistence=i()?new we(this.cookieDomain,this.idCookieName+"_usr"):new ke,this.propsPersistance){var g=this.propsPersistance.restore();g&&(this.permanentProperties=g,this.permanentProperties.globalProps=null!==(o=g.globalProps)&&void 0!==o?o:{},this.permanentProperties.propsPerEvent=null!==(p=g.propsPerEvent)&&void 0!==p?p:{}),c().debug("Restored persistent properties",this.permanentProperties)}this.config=B.extend({},{persistence:"cookie",persistence_name:"session",autocapture:!1,capture_pageview:!0,store_google:!1,save_referrer:!1,properties_string_max_length:null,property_blacklist:[],sanitize_properties:null},r||{},this.config||{},{token:this.apiKey}),c().debug("Default Configuration",this.config),this.manageSession(this.config),this.manageAutoCapture(this.config),!1===r.capture_3rd_party_cookies?this._3pCookies={}:(r.capture_3rd_party_cookies||["_ga","_fbp","_ym_uid","ajs_user_id","ajs_anonymous_id"]).forEach((function(e){return f._3pCookies[e]=!0})),r.ga_hook&&c().warn("GA event interceptor isn't supported anymore"),r.segment_hook&&function(e){var t=window;t.analytics||(t.analytics=[]);e.interceptAnalytics(t.analytics)}(this),this.initialized=!0,window.addEventListener&&window.addEventListener("unload",this._handle_unload.bind(this))}else c().error("Can't initialize Usemaven, key property is not set")},r.prototype.interceptAnalytics=function(t){var n=this,r=function(t){var r;try{var i=e({},t.payload);c().debug("Intercepted segment payload",i.obj);var o=t.integrations["Segment.io"];if(o&&o.analytics){var s=o.analytics;"function"==typeof s.user&&s.user()&&"function"==typeof s.user().id&&(i.obj.userId=s.user().id())}(null===(r=null==i?void 0:i.obj)||void 0===r?void 0:r.timestamp)&&(i.obj.sentAt=i.obj.timestamp);var a=t.payload.type();"track"===a&&(a=t.payload.event()),n._send3p("ajs",i,a)}catch(e){c().warn("Failed to send an event",e)}t.next(t.payload)};"function"==typeof t.addSourceMiddleware?(c().debug("Analytics.js is initialized, calling addSourceMiddleware"),t.addSourceMiddleware(r)):(c().debug("Analytics.js is not initialized, pushing addSourceMiddleware to callstack"),t.push(["addSourceMiddleware",r])),t.__en_intercepted=!0},r.prototype.restoreId=function(){if(this.userIdPersistence){var t=this.userIdPersistence.restore();t&&(this.userProperties=e(e({},t),this.userProperties))}},r.prototype.set=function(t,n){var r,i=null==n?void 0:n.eventType,o=void 0===(null==n?void 0:n.persist)||(null==n?void 0:n.persist);if(void 0!==i){var s=null!==(r=this.permanentProperties.propsPerEvent[i])&&void 0!==r?r:{};this.permanentProperties.propsPerEvent[i]=e(e({},s),t)}else this.permanentProperties.globalProps=e(e({},this.permanentProperties.globalProps),t);this.propsPersistance&&o&&this.propsPersistance.save(this.permanentProperties)},r.prototype.unset=function(e,t){o();var n=null==t?void 0:t.eventType,r=void 0===(null==t?void 0:t.persist)||(null==t?void 0:t.persist);n?this.permanentProperties.propsPerEvent[n]&&delete this.permanentProperties.propsPerEvent[n][e]:delete this.permanentProperties.globalProps[e],this.propsPersistance&&r&&this.propsPersistance.save(this.permanentProperties)},r.prototype.manageSession=function(e){c().debug("Options",e),e=e||{},c().debug("Options",e);var t={persistence:e.persistence||"cookie",persistence_name:e.persistence_name||"session",cross_subdomain_cookie:e.cross_subdomain_cookie||!0};this.config=B.extend(t,this.config||{},{token:this.apiKey}),c().debug("Default Configuration",this.config),this.persistence=new te(this.config),c().debug("Persistence Configuration",this.persistence),this.sessionManager=new ne(this.config,this.persistence),c().debug("Session Configuration",this.sessionManager)},r.prototype.manageAutoCapture=function(e){if(c().debug("Auto Capture Status: ",this.config.autocapture),this.__autocapture_enabled=this.config.autocapture,this.__autocapture_enabled){he.enabledForProject(this.apiKey,100,100)?he.isBrowserSupported()?he.init(this):(this.config.autocapture=!1,console.log("Disabling Automatic Event Collection because this browser is not supported")):(this.config.autocapture=!1,console.log("Not in active bucket: disabling Automatic Event Collection."))}},r.prototype.capture=function(e,t){var n,r;if(void 0===t&&(t={}),this.initialized){if(B.isUndefined(e)||"string"!=typeof e)console.error("No event name provided to posthog.capture");else if(!B.isBlockedUA(U)){var i=this.persistence.remove_event_timer(e);this.persistence.update_search_keyword(document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(document.referrer);var o={event:e+(t.$event_type?"_"+t.$event_type:""),properties:this._calculate_event_properties(e,t,i)};(null===(r=null===(n=(o=B.copyAndTruncateStrings(o,this.get_config("properties_string_max_length"))).properties)||void 0===n?void 0:n.autocapture_attributes)||void 0===r?void 0:r.tag_name)&&this.track("$autocapture",o.properties)}}else console.error("Trying to capture event before initialization")},r.prototype._calculate_event_properties=function(e,t,n){var r,i,o=t||{};if("$snapshot"===e)return o;if(!B.isUndefined(n)){var s=(new Date).getTime()-n;o.$duration=parseFloat((s/1e3).toFixed(3))}o=B.extend({},this.persistence.properties(),o);var a=this.get_config("property_blacklist");B.isArray(a)?B.each(a,(function(e){delete o[e]})):console.error("Invalid value for property_blacklist config: "+a);var c=this.get_config("sanitize_properties");c&&(o=c(o,e));var u={},p=o.$elements||[];return p.length&&(u=p[0]),o.autocapture_attributes=u,o.autocapture_attributes.el_text=null!==(r=o.autocapture_attributes.$el_text)&&void 0!==r?r:"",o.autocapture_attributes.event_type=null!==(i=o.$event_type)&&void 0!==i?i:"",delete o.$ce_version,delete o.$event_type,delete o.$initial_referrer,delete o.$initial_referring_domain,delete o.$referrer,delete o.$referring_domain,delete o.$elements,delete o.autocapture_attributes.$el_text,delete o.autocapture_attributes.nth_child,delete o.autocapture_attributes.nth_of_type,o},r.prototype._handle_unload=function(){this.get_config("capture_pageview")&&this.capture("$pageleave")},r}();var Ee=["use_beacon_api","cookie_domain","tracking_host","cookie_name","key","ga_hook","segment_hook","randomize_url","capture_3rd_party_cookies","id_method","log_level","compat_mode","privacy_policy","cookie_policy","ip_policy","custom_headers","force_use_fetch","persistence","persistence_name","project_id","cross_subdomain_cookie","persistence_time","disable_persistence","autocapture","capture_pageview","properties_string_max_length","property_blacklist"];var Ie="data-suppress-interception-warning";function Ne(e){return"\n ATTENTION! ".concat(e,"-hook set to true along with defer/async attribute! If ").concat(e," code is inserted right after Usermaven tag,\n first tracking call might not be intercepted! Consider one of the following:\n - Inject usermaven tracking code without defer/async attribute\n - If you're sure that events won't be sent to ").concat(e," before Usermaven is fully initialized, set ").concat(Ie,'="true"\n script attribute\n ')}function Ue(e,t){c().debug("Processing queue",e);for(var n=0;n<e.length;n+=1){var i=r([],e[n],!0)||[],o=i[0],s=i.slice(1),a=t[o];"function"==typeof a&&a.apply(t,s)}e.length=0}if(window){var $e=window,je=function(e){var t=document.currentScript||document.querySelector("script[src*=jsFileName][data-usermaven-api-key]");if(t){var n,r={tracking_host:(n=t.getAttribute("src"),n.replace("/s/lib.js","").replace("/lib.js","")),key:null};Ee.forEach((function(e){var n="data-"+e.replace(new RegExp("_","g"),"-");if(void 0!==t.getAttribute(n)&&null!==t.getAttribute(n)){var i=t.getAttribute(n);"true"===i?i=!0:"false"===i&&(i=!1),r[e]=i}})),e.usermavenClient=function(e){var t=new Ae;return t.init(e),t}(r),!r.segment_hook||null===t.getAttribute("defer")&&null===t.getAttribute("async")||null!==t.getAttribute(Ie)||c().warn(Ne("segment")),!r.ga_hook||null===t.getAttribute("defer")&&null===t.getAttribute("async")||null!==t.getAttribute(Ie)||c().warn(Ne("ga"));var i=function(){var t=e.usermavenQ=e.usermavenQ||[];t.push(arguments),Ue(t,e.usermavenClient)};return e.usermaven=i,console.log(r),r.project_id&&i("set",{project_id:r.project_id}),"true"!==t.getAttribute("data-init-only")&&"yes"!==t.getAttribute("data-init-only")&&(Object.keys(r).includes("capture_pageview")&&!r.capture_pageview||i("track","pageview")),e.usermavenClient}c().warn("Usermaven script is not properly initialized. The definition must contain data-usermaven-api-key as a parameter")}($e);je?(c().debug("Usermaven in-browser tracker has been initialized"),$e.usermaven=function(){var e=$e.usermavenQ=$e.usermavenQ||[];e.push(arguments),Ue(e,je)},$e.usermavenQ&&(c().debug("Initial queue size of ".concat($e.usermavenQ.length," will be processed")),Ue($e.usermavenQ,je))):c().error("Usermaven tracker has not been initialized (reason unknown)")}else c().warn("Usermaven tracker called outside browser context. It will be ignored")}();
|
package/package.json
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usermaven/sdk-js",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Usermaven JavaScript SDK.",
|
|
5
5
|
"main": "dist/npm/usermaven.cjs.js",
|
|
6
|
-
"module": "dist/npm/dist/usermaven.
|
|
6
|
+
"module": "dist/npm/dist/usermaven.es.js",
|
|
7
7
|
"types": "dist/npm/usermaven.d.ts",
|
|
8
8
|
"files": [
|
|
9
|
-
"dist/npm/*"
|
|
9
|
+
"dist/npm/*",
|
|
10
|
+
"dist/web/*"
|
|
10
11
|
],
|
|
11
12
|
"author": "Usermaven <hello@usermaven.com>",
|
|
12
13
|
"scripts": {
|
|
13
14
|
"clean": "rm -rf ./dist",
|
|
14
15
|
"devserver": "PORT=8081 nodemon --watch '__tests__/common/*.ts' --exec 'ts-node' __tests__/common/devserver.ts",
|
|
15
|
-
"test": "jest --detectOpenHandles --verbose false",
|
|
16
|
+
"test": "rollup -c && jest --detectOpenHandles --verbose false",
|
|
16
17
|
"build": "rollup -c"
|
|
17
18
|
},
|
|
18
19
|
"jest": {
|
|
20
|
+
"testEnvironment": "node",
|
|
19
21
|
"testMatch": [
|
|
20
22
|
"**/__tests__/*.spec.{ts,js}"
|
|
21
23
|
],
|
|
@@ -28,29 +30,28 @@
|
|
|
28
30
|
"@babel/preset-typescript": "^7.13.0",
|
|
29
31
|
"@rollup/plugin-babel": "^5.3.0",
|
|
30
32
|
"@rollup/plugin-replace": "^2.4.2",
|
|
33
|
+
"@types/express": "^4.17.13",
|
|
31
34
|
"@types/jest": "^26.0.22",
|
|
32
35
|
"body-parser": "^1.19.0",
|
|
33
36
|
"express": "^4.17.1",
|
|
37
|
+
"fetch-cookie": "^1.0.0",
|
|
34
38
|
"jest": "^27.3.1",
|
|
35
39
|
"jest-fetch-mock": "^3.0.3",
|
|
36
40
|
"jest-playwright-preset": "^1.7.0",
|
|
41
|
+
"next": "^12.0.8",
|
|
42
|
+
"node-fetch": "^3.1.0",
|
|
37
43
|
"nodemon": "^2.0.15",
|
|
38
|
-
|
|
39
|
-
"rollup": "^2.
|
|
44
|
+
"playwright": "^1.19.2",
|
|
45
|
+
"rollup": "^2.70.1",
|
|
40
46
|
"rollup-plugin-copy": "^3.4.0",
|
|
41
47
|
"rollup-plugin-terser": "^7.0.2",
|
|
42
48
|
"rollup-plugin-typescript": "^1.0.1",
|
|
49
|
+
"ts-jest": "^27.1.2",
|
|
43
50
|
"ts-node": "^9.1.1",
|
|
44
51
|
"tslib": "^2.3.1",
|
|
45
52
|
"typescript": "^4.4.3"
|
|
46
53
|
},
|
|
47
54
|
"resolutions": {
|
|
48
|
-
|
|
49
|
-
"ansi-regex": "^5.0.1",
|
|
50
|
-
"tmpl": "^1.0.5",
|
|
51
|
-
"ws": "^8.2.3",
|
|
52
|
-
"normalize-url": "^4.5.1",
|
|
53
|
-
"axios": "^0.21.2",
|
|
54
|
-
"browserslist": "^4.17.3"
|
|
55
|
+
|
|
55
56
|
}
|
|
56
57
|
}
|