@walkeros/web-source-browser 0.1.0 → 0.1.2

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.
@@ -1 +1 @@
1
- "use strict";var Source=(()=>{var e,t,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={};((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})(i,{SourceBrowser:()=>Ae,createTagger:()=>$e,default:()=>Pe,getAllEvents:()=>M,getEvents:()=>T,getGlobals:()=>U,sourceBrowser:()=>Ie});var c=Object.getOwnPropertyNames,a=(e={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.0",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[c(e)[0]])((t={exports:{}}).exports,t),t.exports}),l={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},u={merge:!0,shallow:!0,extend:!0};function d(e,t={},n={}){n={...u,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function f(e){return Array.isArray(e)}function g(e){return void 0!==e}function m(e){return e===document||e instanceof Element}function p(e){return"object"==typeof e&&null!==e&&!f(e)&&"[object Object]"===Object.prototype.toString.call(e)}function h(e){return"string"==typeof e}function b(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}var y,w,{version:k}=a();function v(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function S(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function O(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var j=Object.getOwnPropertyNames,x=(y={"package.json"(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.0",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.0"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},{Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}});function C(e,t,n,r){let o=n||[];if(n||(o=e.on[t]||[],Object.values(e.destinations).forEach(e=>{var n;const r=null==(n=e.config.on)?void 0:n[t];r&&(o=o.concat(r))})),o.length)switch(t){case x.Commands.Consent:!function(e,t,n){const r=n||e.consent;t.forEach(t=>{Object.keys(r).filter(e=>e in t).forEach(n=>{S(t[n])(e,r)})})}(e,o,r);break;case x.Commands.Ready:case x.Commands.Run:i=o,(s=e).allowed&&i.forEach(e=>{S(e)(s)});break;case x.Commands.Session:!function(e,t){e.session&&t.forEach(t=>{S(t)(e,e.session)})}(e,o)}var s,i}function E(e,t){return(e.getAttribute(t)||"").trim()}var A=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function $(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const r=window.innerHeight,o=e.getBoundingClientRect(),s=o.height,i=o.y,c=i+s,a={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(s<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(a.x<0)return!1;if(a.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(a.y<0)return!1;if(a.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(a.x,a.y)}else{const e=r/2;if(i<0&&c<e)return!1;if(c>r&&i>e)return!1;n=document.elementFromPoint(a.x,r/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function L(e={}){const{cb:t,consent:n,collector:r,storage:o}=e,s=(null==r?void 0:r.push)||A;if(!n)return I((o?W:N)(e),r,t);{const r=function(e,t){let n;return(r,o)=>{if(g(n)&&n===(null==r?void 0:r.group))return;n=null==r?void 0:r.group;let s=()=>N(e);if(e.consent){(function(e,t={},n={}){const r={...t,...n},o={};let s=void 0===e;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(s=!0))}),!!s&&o})((f(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),o)&&(s=()=>W(e))}return I(s(),r,t)}}(e,t);s("walker on","consent",(f(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{}))}}function I(e,t,n){return!1===n?e:(n||(n=P),n(e,t,P))}var P=(e,t)=>{const n=(null==t?void 0:t.push)||A,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e};function _(e,t=l.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,r="";return e&&(n=0,r=e),{e:n,v:r}}}let o,s;switch(t){case l.Storage.Cookie:o=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case l.Storage.Local:s=r(window.localStorage.getItem(e));break;case l.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(o=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=l.Storage.Session){switch(t){case l.Storage.Cookie:R(e,"",0,t);break;case l.Storage.Local:window.localStorage.removeItem(e);break;case l.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),o="")),b(o||"")}function R(e,t,n=30,r=l.Storage.Session,o){const s={e:Date.now()+6e4*n,v:String(t)},i=JSON.stringify(s);switch(r){case l.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let r=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;o&&(r+="; domain="+o),document.cookie=r;break}case l.Storage.Local:window.localStorage.setItem(e,i);break;case l.Storage.Session:window.sessionStorage.setItem(e,i)}return _(e,r)}function W(e={}){const t=Date.now(),{length:n=30,deviceKey:r="elbDeviceId",deviceStorage:o="local",deviceAge:s=30,sessionKey:i="elbSessionId",sessionStorage:c="local",pulse:a=!1}=e,l=N(e);let u=!1;const d=S((e,t,n)=>{let r=_(e,n);return r||(r=v(8),R(e,r,1440*t,n)),String(r)})(r,s,o),f=S((e,r)=>{const o=JSON.parse(String(_(e,r)));return a||(o.isNew=!1,l.marketing&&(Object.assign(o,l),u=!0),u||o.updated+6e4*n<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,u=!0):o.runs++),o},()=>{u=!0})(i,c)||{},g={id:v(12),start:t,isNew:!0,count:1,runs:1},m=Object.assign(g,l,f,{device:d},{isStart:u,storage:!0,updated:t},e.data);return R(i,JSON.stringify(m),2*n,c),m}function N(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const r=new URL(e.url||window.location.href),o=e.referrer||document.referrer,s=o&&new URL(o).hostname,i=function(e,t={}){const n="clickId",r={},o={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(d(o,t)).forEach(([t,o])=>{const s=e.searchParams.get(t);s&&(o===n&&(o=t,r[n]=t),r[o]=s)}),r}(r,e.parameters);if(Object.keys(i).length&&(i.marketing||(i.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(r.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:v(12),referrer:s},i,e.data):n}function D(e,t,n=!0){return e+(t=null!=t?(n?"-":"")+t:"")}function H(e,t,n,r=!0){return V(E(t,D(e,n,r))||"").reduce((e,n)=>{let[r,o]=Y(n);if(!r)return e;if(o||(r.endsWith(":")&&(r=r.slice(0,-1)),o=""),o.startsWith("#")){o=o.slice(1);try{let e=t[o];e||"selected"!==o||(e=t.options[t.selectedIndex].text),o=String(e)}catch(e){o=""}}return r.endsWith("[]")?(r=r.slice(0,-2),f(e[r])||(e[r]=[]),e[r].push(b(o))):e[r]=b(o),e},{})}function M(e=document.body,t=x.Commands.Prefix){let n=[];const r=x.Commands.Action,o=`[${D(t,r,!1)}]`,s=e=>{Object.keys(H(t,e,r,!1)).forEach(r=>{n=n.concat(T(e,r,t))})};return e!==document&&e.matches(o)&&s(e),K(e,o,s),n}function T(e,t,n=x.Commands.Prefix){const r=[],{actions:o,nearestOnly:s}=function(e,t,n){let r=t;for(;r;){const t=E(r,D(e,x.Commands.Actions,!1));if(t){const e=G(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=E(r,D(e,x.Commands.Action,!1));if(o){const e=G(o);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}r=q(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t);return o.length?(o.forEach(o=>{const i=V(o.actionParams||"",",").reduce((e,t)=>(e[O(t)]=!0,e),{}),c=J(n,e,i,s);if(!c.length){const t="page",r=`[${D(n,t)}]`,[o,s]=F(e,r,n,t);c.push({entity:t,data:o,nested:[],context:s})}c.forEach(e=>{r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r}function U(e=x.Commands.Prefix,t=document){const n=D(e,x.Commands.Globals,!1);let r={};return K(t,`[${n}]`,t=>{r=d(r,H(e,t,x.Commands.Globals,!1))}),r}function G(e){const t={};return V(e).forEach(e=>{const[n,r]=Y(e),[o,s]=z(n);if(!o)return;let[i,c]=z(r||"");i=i||o,t[o]||(t[o]=[]),t[o].push({trigger:o,triggerParams:s,action:i,actionParams:c})}),t}function J(e,t,n,r=!1){const o=[];let s=t;for(n=0!==Object.keys(n||{}).length?n:void 0;s;){const i=B(e,s,t,n);if(i&&(o.push(i),r))break;s=q(e,s)}return o}function B(e,t,n,r){const o=E(t,D(e));if(!o||r&&!r[o])return null;const s=[t],i=`[${D(e,o)}],[${D(e,"")}]`,c=D(e,x.Commands.Link,!1);let a={};const l=[],[u,f]=F(n||t,i,e,o);K(t,`[${c}]`,t=>{const[n,r]=Y(E(t,c));"parent"===r&&K(document.body,`[${c}="${n}:child"]`,t=>{s.push(t);const n=B(e,t);n&&l.push(n)})});const g=[];s.forEach(e=>{e.matches(i)&&g.push(e),K(e,i,e=>g.push(e))});let m={};return g.forEach(t=>{m=d(m,H(e,t,"")),a=d(a,H(e,t,o))}),a=d(d(m,a),u),s.forEach(t=>{K(t,`[${D(e)}]`,t=>{const n=B(e,t);n&&l.push(n)})}),{entity:o,data:a,context:f,nested:l}}function q(e,t){const n=D(e,x.Commands.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=Y(E(t,n));if("child"===r)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function F(e,t,n,r){let o={};const s={};let i=e;const c=`[${D(n,x.Commands.Context,!1)}]`;let a=0;for(;i;)i.matches(t)&&(o=d(H(n,i,""),o),o=d(H(n,i,r),o)),i.matches(c)&&(Object.entries(H(n,i,x.Commands.Context,!1)).forEach(([e,t])=>{t&&!s[e]&&(s[e]=[t,a])}),++a),i=q(n,i);return[o,s]}function K(e,t,n){e.querySelectorAll(t).forEach(n)}function V(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function Y(e){const[t,n]=e.split(/:(.+)/,2);return[O(t),O(n)]}function z(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Q=new WeakMap,X=new WeakMap;function Z(e){const t=Date.now();let n=X.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:$(e),lastChecked:t},X.set(e,n)),n.isVisible}function ee(e){if(window.IntersectionObserver)return S(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,r;const o=t.target,s=e._visibilityState;if(!s)return;const i=s.timers.get(o);if(t.intersectionRatio>0){const r=Date.now();let c=Q.get(o);(!c||r-c.lastChecked>1e3)&&(c={isLarge:o.offsetHeight>window.innerHeight,lastChecked:r},Q.set(o,c));if(t.intersectionRatio>=.5||c.isLarge&&Z(o)){const t=null==(n=s.elementConfigs)?void 0:n.get(o);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!i){const t=window.setTimeout(async()=>{var t,n;if(Z(o)){const r=null==(t=s.elementConfigs)?void 0:t.get(o);(null==r?void 0:r.context)&&await we(r.context,o,r.trigger);const i=null==(n=s.elementConfigs)?void 0:n.get(o);(null==i?void 0:i.multiple)?i.blocked=!0:function(e,t){const n=e._visibilityState;if(!n)return;n.observer&&n.observer.unobserve(t);const r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),Q.delete(t),X.delete(t)}(e,o)}},s.duration);s.timers.set(o,t)}return}}i&&(clearTimeout(i),s.timers.delete(o));const c=null==(r=s.elementConfigs)?void 0:r.get(o);(null==c?void 0:c.multiple)&&(c.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function te(e,t,n={multiple:!1}){var r;const o=e.collector._visibilityState;(null==o?void 0:o.observer)&&t&&(o.elementConfigs||(o.elementConfigs=new WeakMap),o.elementConfigs.set(t,{multiple:null!=(r=n.multiple)&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),o.observer.observe(t))}function ne(e){const t=e._visibilityState;t&&(t.observer&&t.observer.disconnect(),delete e._visibilityState)}var re=performance.now();function oe(e,t,n,r,o,s,i){const{collector:c,settings:a}=e;if(h(t)&&t.startsWith("walker ")){return c.push(t,n)}if(p(t)){const e=t;return e.source||(e.source=se()),c.push(e)}const[l]=String(p(t)?t.name:t).split(" ");let u,d=p(n)?n:{},f={},g=!1;if(m(n)&&(u=n,g=!0),m(o)?u=o:p(o)&&Object.keys(o).length&&(f=o),u){const e=J(a.prefix||"data-elb",u).find(e=>e.entity===l);e&&(g&&(d=e.data),f=e.context)}"page"===l&&(d.id=d.id||window.location.pathname);const b={name:String(t||""),data:d,context:f,nested:s,custom:i,trigger:h(r)?r:"",timing:Math.round((performance.now()-re)/10)/100,source:se()};return c.push(b)}function se(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var ie,ce=[],ae="click",le="hover",ue="load",de="pulse",fe="scroll",ge="submit",me="impression",pe="visible",he="wait";function be(e,t){!function(e,t){const n=t.scope,r={collector:e,settings:t};n.addEventListener("click",S(function(e){ve.call(this,r,e)})),n.addEventListener("submit",S(function(e){Se.call(this,r,e)}))}(e,t)}function ye(e,t){!function(e,t){const n=t.scope;ce=[],ne(e),function(e,t=1e3){e._visibilityState||(e._visibilityState={observer:ee(e),timers:new WeakMap,duration:t})}(e,1e3);const r=D(t.prefix,x.Commands.Action,!1),o=n||document;o!==document&&ke(e,o,r,t);o.querySelectorAll(`[${r}]`).forEach(n=>{ke(e,n,r,t)}),ce.length&&function(e,t,n){const r={collector:e,settings:n},o=(e,t)=>e.filter(([e,n])=>{const r=window.scrollY+window.innerHeight,o=e.offsetTop;if(r<o)return!0;const s=e.clientHeight;return!(100*(1-(o+s-r)/(s||1))>=n)||(we(t,e,fe),!1)});ie||(ie=function(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}(function(){ce=o.call(t,ce,r)}),t.addEventListener("scroll",ie))}(e,o,t)}(e,t)}async function we(e,t,n){const r=T(t,n,e.settings.prefix);return Promise.all(r.map(t=>oe(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function ke(e,t,n,r){const o=E(t,n);if(!o)return;const s={collector:e,settings:r};Object.values(G(o)).forEach(e=>e.forEach(e=>{switch(e.trigger){case le:!function(e,t){t.addEventListener("mouseenter",S(function(t){t.target instanceof Element&&we(e,t.target,le)}))}(s,t);break;case ue:!function(e,t){we(e,t,ue)}(s,t);break;case de:!function(e,t,n=""){setInterval(()=>{document.hidden||we(e,t,de)},parseInt(n||"")||15e3)}(s,t,e.triggerParams);break;case fe:!function(e,t=""){const n=parseInt(t||"")||50;if(n<0||n>100)return;ce.push([e,n])}(t,e.triggerParams);break;case me:te(s,t);break;case pe:te(s,t,{multiple:!0});break;case he:!function(e,t,n=""){setTimeout(()=>we(e,t,he),parseInt(n||"")||15e3)}(s,t,e.triggerParams)}}))}function ve(e,t){we(e,t.target,ae)}function Se(e,t){t.target&&we(e,t.target,ge)}function Oe(e,t={}){const n=t.name||"elbLayer";window[n]||(window[n]=[]);const r=window[n];r.push=function(...n){if(Ce(n[0])){const r=[...Array.from(n[0])],o=Array.prototype.push.apply(this,[r]);return xe(e,t.prefix,r),o}const r=Array.prototype.push.apply(this,n);return n.forEach(n=>{xe(e,t.prefix,n)}),r},Array.isArray(r)&&r.length>0&&function(e,t="data-elb",n){je(e,t,n,!0),je(e,t,n,!1),n.length=0}(e,t.prefix,r)}function je(e,t,n,r){const o=[];let s=!0;n.forEach(e=>{const t=Ce(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const i=t[0],c=!p(i)&&h(i)&&i.startsWith("walker ");if(p(i)){if("object"==typeof i&&0===Object.keys(i).length)return}else{const e=Array.from(t);if(!h(e[0])||""===e[0].trim())return;const n="walker run";s&&e[0]===n&&(s=!1)}(r&&c||!r&&!c)&&o.push(t)}),o.forEach(n=>{xe(e,t,n)})}function xe(e,t="data-elb",n){S(()=>{if(Array.isArray(n)){const[r,...o]=n;if(!r||h(r)&&""===r.trim())return;if(h(r)&&r.startsWith("walker "))return void e.push(r,o[0]);oe({collector:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},r,...o)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e.push(n)}},()=>{})()}function Ce(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function Ee(e={}){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:document,...e}}var Ae={};function $e(e={}){const t=e.prefix||"data-elb";return function(e){let n,r=e;const o={},s={},i={},c={},a={},l={};function u(e){return Object.entries(e).map(([e,t])=>`${e}:${function(e){if(!g(e)||null===e)return"undefined";let t=String(e);return t=t.replace(/\\/g,"\\\\"),t=t.replace(/;/g,"\\;"),t=t.replace(/:/g,"\\:"),t=t.replace(/'/g,"\\'"),t}(t)}`).join(";")}const d={entity:e=>(n=e,r=e,d),data(e,t){const n=null!=r?r:"";return o[n]||(o[n]={}),h(e)?o[n][e]=t:Object.assign(o[n],e),d},action(e,t){if(h(e))if(g(t))s[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);s[t]=n}else s[e]=e;else Object.assign(s,e);return d},actions(e,t){if(h(e))if(g(t))i[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);i[t]=n}else i[e]=e;else Object.assign(i,e);return d},context:(e,t)=>(h(e)?c[e]=t:Object.assign(c,e),d),globals:(e,t)=>(h(e)?a[e]=t:Object.assign(a,e),d),link:(e,t)=>(h(e)?l[e]=t:Object.assign(l,e),d),get(){const e={};return n&&(e[t]=n),Object.entries(o).forEach(([n,r])=>{if(Object.keys(r).length>0){e[n?`${t}-${n}`:`${t}-`]=u(r)}}),Object.keys(s).length>0&&(e[`${t}action`]=u(s)),Object.keys(i).length>0&&(e[`${t}actions`]=u(i)),Object.keys(c).length>0&&(e[`${t}context`]=u(c)),Object.keys(a).length>0&&(e[`${t}globals`]=u(a)),Object.keys(l).length>0&&(e[`${t}link`]=u(l)),e}};return d}}var Le,Ie=async(e,t)=>{try{const n={...t,settings:Ee(t.settings)},r={type:"browser",config:n,collector:e,destroy(){ne(e)}};if(!1!==n.settings.elbLayer&&Oe(e,{name:h(n.settings.elbLayer)?n.settings.elbLayer:"elbLayer",prefix:n.settings.prefix}),n.settings.session){const t="boolean"==typeof n.settings.session?{}:n.settings.session;!function(e,t={}){const n=t.config||{},r=d(e.config.sessionStatic||{},t.data||{});var o,s,i;(o=L,s="SessionStart",i=e.hooks,function(...e){let t;const n="post"+s,r=i["pre"+s],c=i[n];return t=r?r({fn:o},...e):o(...e),c&&(t=c({fn:o,result:t},...e)),t})({...n,cb:(e,t,r)=>{let o;const s=n;return!1!==s.cb&&s.cb?o=s.cb(e,t,r):!1!==s.cb&&(o=r(e,t,r)),t&&(t.session=e,C(t,"session")),o},data:r,collector:e})}(e,{config:t})}await async function(e,t,n){const r=()=>{if(e(t,n),null==t?void 0:t.on)try{C(t,"ready")}catch(e){}};"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}(be,e,n.settings);const o=e=>{if(ye(e,n.settings),n.settings.pageview){const[t,r]=function(e,t){const n=window.location,r="page",o=t===document?document.body:t,[s,i]=F(o,`[${D(e,r)}]`,e,r);return s.domain=n.hostname,s.title=document.title,s.referrer=document.referrer,n.search&&(s.search=n.search),n.hash&&(s.hash=n.hash),[s,i]}(n.settings.prefix||"data-elb",n.settings.scope);oe({collector:e,settings:n.settings},"page view",t,ue,r)}};await e.push("walker on","run",o);const s=e._destroy;e._destroy=()=>{var e;null==(e=r.destroy)||e.call(r),s&&s()};const i=(...t)=>{const[r,o,s,i,c,a]=t;return oe({collector:e,settings:n.settings},r,o,s,i,c,a)};return h(n.settings.elb)&&(window[n.settings.elb]=i),{source:r,elb:i}}catch(e){throw e}},Pe=Ie;return Le=i,((e,t,i,c)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of o(t))s.call(e,a)||a===i||n(e,a,{get:()=>t[a],enumerable:!(c=r(t,a))||c.enumerable});return e})(n({},"__esModule",{value:!0}),Le)})();
1
+ "use strict";var Source=(()=>{var e,t,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={};((e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})(s,{SourceBrowser:()=>$e,createTagger:()=>Le,default:()=>We,getAllEvents:()=>M,getElbAttributeName:()=>D,getElbValues:()=>H,getEvents:()=>T,getGlobals:()=>_,sourceBrowser:()=>Pe});var c=Object.getOwnPropertyNames,a=(e={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.2",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[c(e)[0]])((t={exports:{}}).exports,t),t.exports}),l={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},u={merge:!0,shallow:!0,extend:!0};function d(e,t={},n={}){n={...u,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const i=e[r];return n.merge&&Array.isArray(i)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function f(e){return Array.isArray(e)}function g(e){return void 0!==e}function m(e){return e===document||e instanceof Element}function p(e){return"object"==typeof e&&null!==e&&!f(e)&&"[object Object]"===Object.prototype.toString.call(e)}function b(e){return"string"==typeof e}function h(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}var y,w,{version:k}=a();function v(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function S(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function O(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var x=Object.getOwnPropertyNames,j=(y={"package.json"(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.2",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.2"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},{Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}});function C(e,t){return(e.getAttribute(t)||"").trim()}var E=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function A(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const r=window.innerHeight,o=e.getBoundingClientRect(),i=o.height,s=o.y,c=s+i,a={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(i<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(a.x<0)return!1;if(a.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(a.y<0)return!1;if(a.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(a.x,a.y)}else{const e=r/2;if(s<0&&c<e)return!1;if(c>r&&s>e)return!1;n=document.elementFromPoint(a.x,r/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function $(e={}){const{cb:t,consent:n,collector:r,storage:o}=e,i=(null==r?void 0:r.push)||E;if(!n)return L((o?N:R)(e),r,t);{const r=function(e,t){let n;return(r,o)=>{if(g(n)&&n===(null==r?void 0:r.group))return;n=null==r?void 0:r.group;let i=()=>R(e);if(e.consent){(function(e,t={},n={}){const r={...t,...n},o={};let i=void 0===e;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(i=!0))}),!!i&&o})((f(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),o)&&(i=()=>N(e))}return L(i(),r,t)}}(e,t);i("walker on","consent",(f(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{}))}}function L(e,t,n){return!1===n?e:(n||(n=I),n(e,t,I))}var I=(e,t)=>{const n=(null==t?void 0:t.push)||E,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e};function P(e,t=l.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,r="";return e&&(n=0,r=e),{e:n,v:r}}}let o,i;switch(t){case l.Storage.Cookie:o=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case l.Storage.Local:i=r(window.localStorage.getItem(e));break;case l.Storage.Session:i=r(window.sessionStorage.getItem(e))}return i&&(o=i.v,0!=i.e&&i.e<Date.now()&&(function(e,t=l.Storage.Session){switch(t){case l.Storage.Cookie:W(e,"",0,t);break;case l.Storage.Local:window.localStorage.removeItem(e);break;case l.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),o="")),h(o||"")}function W(e,t,n=30,r=l.Storage.Session,o){const i={e:Date.now()+6e4*n,v:String(t)},s=JSON.stringify(i);switch(r){case l.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let r=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;o&&(r+="; domain="+o),document.cookie=r;break}case l.Storage.Local:window.localStorage.setItem(e,s);break;case l.Storage.Session:window.sessionStorage.setItem(e,s)}return P(e,r)}function N(e={}){const t=Date.now(),{length:n=30,deviceKey:r="elbDeviceId",deviceStorage:o="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:c="local",pulse:a=!1}=e,l=R(e);let u=!1;const d=S((e,t,n)=>{let r=P(e,n);return r||(r=v(8),W(e,r,1440*t,n)),String(r)})(r,i,o),f=S((e,r)=>{const o=JSON.parse(String(P(e,r)));return a||(o.isNew=!1,l.marketing&&(Object.assign(o,l),u=!0),u||o.updated+6e4*n<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,u=!0):o.runs++),o},()=>{u=!0})(s,c)||{},g={id:v(12),start:t,isNew:!0,count:1,runs:1},m=Object.assign(g,l,f,{device:d},{isStart:u,storage:!0,updated:t},e.data);return W(s,JSON.stringify(m),2*n,c),m}function R(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const r=new URL(e.url||window.location.href),o=e.referrer||document.referrer,i=o&&new URL(o).hostname,s=function(e,t={}){const n="clickId",r={},o={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(d(o,t)).forEach(([t,o])=>{const i=e.searchParams.get(t);i&&(o===n&&(o=t,r[n]=t),r[o]=i)}),r}(r,e.parameters);if(Object.keys(s).length&&(s.marketing||(s.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(r.hostname),t=!n.includes(i)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:v(12),referrer:i},s,e.data):n}function D(e,t,n=!0){return e+(t=null!=t?(n?"-":"")+t:"")}function H(e,t,n,r=!0){return K(C(t,D(e,n,r))||"").reduce((e,n)=>{let[r,o]=Y(n);if(!r)return e;if(o||(r.endsWith(":")&&(r=r.slice(0,-1)),o=""),o.startsWith("#")){o=o.slice(1);try{let e=t[o];e||"selected"!==o||(e=t.options[t.selectedIndex].text),o=String(e)}catch(e){o=""}}return r.endsWith("[]")?(r=r.slice(0,-2),f(e[r])||(e[r]=[]),e[r].push(h(o))):e[r]=h(o),e},{})}function M(e,t=j.Commands.Prefix){var n;const r=e||("undefined"!=typeof document?document.body:void 0);if(!r)return[];let o=[];const i=j.Commands.Action,s=`[${D(t,i,!1)}]`,c=e=>{Object.keys(H(t,e,i,!1)).forEach(n=>{o=o.concat(T(e,n,t))})};return r!==("undefined"!=typeof document?document:null)&&(null==(n=r.matches)?void 0:n.call(r,s))&&c(r),F(r,s,c),o}function T(e,t,n=j.Commands.Prefix){const r=[],{actions:o,nearestOnly:i}=function(e,t,n){let r=t;for(;r;){const t=C(r,D(e,j.Commands.Actions,!1));if(t){const e=G(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=C(r,D(e,j.Commands.Action,!1));if(o){const e=G(o);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}r=q(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t);return o.length?(o.forEach(o=>{const s=K(o.actionParams||"",",").reduce((e,t)=>(e[O(t)]=!0,e),{}),c=B(n,e,s,i);if(!c.length){const t="page",r=`[${D(n,t)}]`,[o,i]=V(e,r,n,t);c.push({entity:t,data:o,nested:[],context:i})}c.forEach(e=>{r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r}function _(e=j.Commands.Prefix,t=document){const n=D(e,j.Commands.Globals,!1);let r={};return F(t,`[${n}]`,t=>{r=d(r,H(e,t,j.Commands.Globals,!1))}),r}function U(e,t){const n=window.location,r="page",o=t===document?document.body:t,[i,s]=V(o,`[${D(e,r)}]`,e,r);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}function G(e){const t={};return K(e).forEach(e=>{const[n,r]=Y(e),[o,i]=z(n);if(!o)return;let[s,c]=z(r||"");s=s||o,t[o]||(t[o]=[]),t[o].push({trigger:o,triggerParams:i,action:s,actionParams:c})}),t}function B(e,t,n,r=!1){const o=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=J(e,i,t,n);if(s&&(o.push(s),r))break;i=q(e,i)}return o}function J(e,t,n,r){const o=C(t,D(e));if(!o||r&&!r[o])return null;const i=[t],s=`[${D(e,o)}],[${D(e,"")}]`,c=D(e,j.Commands.Link,!1);let a={};const l=[],[u,f]=V(n||t,s,e,o);F(t,`[${c}]`,t=>{const[n,r]=Y(C(t,c));"parent"===r&&F(document.body,`[${c}="${n}:child"]`,t=>{i.push(t);const n=J(e,t);n&&l.push(n)})});const g=[];i.forEach(e=>{e.matches(s)&&g.push(e),F(e,s,e=>g.push(e))});let m={};return g.forEach(t=>{m=d(m,H(e,t,"")),a=d(a,H(e,t,o))}),a=d(d(m,a),u),i.forEach(t=>{F(t,`[${D(e)}]`,t=>{const n=J(e,t);n&&l.push(n)})}),{entity:o,data:a,context:f,nested:l}}function q(e,t){const n=D(e,j.Commands.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=Y(C(t,n));if("child"===r)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function V(e,t,n,r){let o={};const i={};let s=e;const c=`[${D(n,j.Commands.Context,!1)}]`;let a=0;for(;s;)s.matches(t)&&(o=d(H(n,s,""),o),o=d(H(n,s,r),o)),s.matches(c)&&(Object.entries(H(n,s,j.Commands.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,a])}),++a),s=q(n,s);return[o,i]}function F(e,t,n){e.querySelectorAll(t).forEach(n)}function K(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function Y(e){const[t,n]=e.split(/:(.+)/,2);return[O(t),O(n)]}function z(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Q=new WeakMap,X=new WeakMap,Z=new WeakMap;function ee(e){const t=Date.now();let n=X.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:A(e),lastChecked:t},X.set(e,n)),n.isVisible}function te(e){if(window.IntersectionObserver)return S(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,r;const o=t.target,i=Z.get(e);if(!i)return;const s=i.timers.get(o);if(t.intersectionRatio>0){const r=Date.now();let c=Q.get(o);(!c||r-c.lastChecked>1e3)&&(c={isLarge:o.offsetHeight>window.innerHeight,lastChecked:r},Q.set(o,c));if(t.intersectionRatio>=.5||c.isLarge&&ee(o)){const t=null==(n=i.elementConfigs)?void 0:n.get(o);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(ee(o)){const r=null==(t=i.elementConfigs)?void 0:t.get(o);(null==r?void 0:r.context)&&await ke(r.context,o,r.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(o);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Z.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),Q.delete(t),X.delete(t)}(e,o)}},i.duration);i.timers.set(o,t)}return}}s&&(clearTimeout(s),i.timers.delete(o));const c=null==(r=i.elementConfigs)?void 0:r.get(o);(null==c?void 0:c.multiple)&&(c.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function ne(e,t,n={multiple:!1}){var r;const o=e.settings.scope||document,i=Z.get(o);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(r=n.multiple)&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function re(e){if(!e)return;const t=Z.get(e);t&&(t.observer&&t.observer.disconnect(),Z.delete(e))}var oe=performance.now();function ie(e,t,n,r,o,i,s){const{elb:c,settings:a}=e;if(b(t)&&t.startsWith("walker ")){return c(t,n)}if(p(t)){const e=t;return e.source||(e.source=se()),e.globals||(e.globals=_(a.prefix,a.scope||document)),c(e)}const[l]=String(p(t)?t.name:t).split(" ");let u,d=p(n)?n:{},f={},g=!1;if(m(n)&&(u=n,g=!0),m(o)?u=o:p(o)&&Object.keys(o).length&&(f=o),u){const e=B(a.prefix||"data-elb",u).find(e=>e.entity===l);e&&(g&&(d=e.data),f=e.context)}"page"===l&&(d.id=d.id||window.location.pathname);const h=_(a.prefix,a.scope);return c({name:String(t||""),data:d,context:f,globals:h,nested:i,custom:s,trigger:b(r)?r:"",timing:Math.round((performance.now()-oe)/10)/100,source:se()})}function se(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var ce,ae=[],le="click",ue="hover",de="load",fe="pulse",ge="scroll",me="submit",pe="impression",be="visible",he="wait";function ye(e,t){if(!t.scope)return;!function(e,t){const n=t.scope;if(!n)return;n.addEventListener("click",S(function(t){Se.call(this,e,t)})),n.addEventListener("submit",S(function(t){Oe.call(this,e,t)}))}(e,t)}function we(e,t){if(!t.scope)return;!function(e,t){const n=t.scope;ae=[];const r=n||document;re(r),function(e,t=1e3){Z.has(e)||Z.set(e,{observer:te(e),timers:new WeakMap,duration:t})}(r,1e3);const o=D(t.prefix,j.Commands.Action,!1);r!==document&&ve(e,r,o,t);r.querySelectorAll(`[${o}]`).forEach(n=>{ve(e,n,o,t)}),ae.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const r=window.scrollY+window.innerHeight,o=e.offsetTop;if(r<o)return!0;const i=e.clientHeight;return!(100*(1-(o+i-r)/(i||1))>=n)||(ke(t,e,ge),!1)});ce||(ce=function(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}(function(){ae=n.call(t,ae,e)}),t.addEventListener("scroll",ce))}(e,r)}(e,t)}async function ke(e,t,n){const r=T(t,n,e.settings.prefix);return Promise.all(r.map(t=>ie(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function ve(e,t,n,r){const o=C(t,n);o&&Object.values(G(o)).forEach(n=>n.forEach(n=>{switch(n.trigger){case ue:!function(e,t){t.addEventListener("mouseenter",S(function(t){t.target instanceof Element&&ke(e,t.target,ue)}))}(e,t);break;case de:!function(e,t){ke(e,t,de)}(e,t);break;case fe:!function(e,t,n=""){setInterval(()=>{document.hidden||ke(e,t,fe)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case ge:!function(e,t=""){const n=parseInt(t||"")||50;if(n<0||n>100)return;ae.push([e,n])}(t,n.triggerParams);break;case pe:ne(e,t);break;case be:ne(e,t,{multiple:!0});break;case he:!function(e,t,n=""){setTimeout(()=>ke(e,t,he),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}}))}function Se(e,t){ke(e,t.target,le)}function Oe(e,t){t.target&&ke(e,t.target,me)}function xe(e,t={}){const n=t.name||"elbLayer",r=t.window||("undefined"!=typeof window?window:void 0);if(!r)return;const o=r;o[n]||(o[n]=[]);const i=o[n];i.push=function(...n){if(Ee(n[0])){const r=[...Array.from(n[0])],o=Array.prototype.push.apply(this,[r]);return Ce(e,t.prefix,r),o}const r=Array.prototype.push.apply(this,n);return n.forEach(n=>{Ce(e,t.prefix,n)}),r},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){je(e,t,n,!0),je(e,t,n,!1),n.length=0}(e,t.prefix,i)}function je(e,t,n,r){const o=[];let i=!0;n.forEach(e=>{const t=Ee(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],c=!p(s)&&b(s)&&s.startsWith("walker ");if(p(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!b(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(r&&c||!r&&!c)&&o.push(t)}),o.forEach(n=>{Ce(e,t,n)})}function Ce(e,t="data-elb",n){S(()=>{if(Array.isArray(n)){const[r,...o]=n;if(!r||b(r)&&""===r.trim())return;if(b(r)&&r.startsWith("walker "))return void e(r,o[0]);ie({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},r,...o)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Ee(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function Ae(e,t={}){return $({...t,collector:{push:e,group:void 0}})}var $e={};function Le(e={}){const t=e.prefix||"data-elb";return function(e){let n,r=e;const o={},i={},s={},c={},a={},l={};function u(e){return Object.entries(e).map(([e,t])=>`${e}:${function(e){if(!g(e)||null===e)return"undefined";let t=String(e);return t=t.replace(/\\/g,"\\\\"),t=t.replace(/;/g,"\\;"),t=t.replace(/:/g,"\\:"),t=t.replace(/'/g,"\\'"),t}(t)}`).join(";")}const d={entity:e=>(n=e,r=e,d),data(e,t){const n=null!=r?r:"";return o[n]||(o[n]={}),b(e)?o[n][e]=t:Object.assign(o[n],e),d},action(e,t){if(b(e))if(g(t))i[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);i[t]=n}else i[e]=e;else Object.assign(i,e);return d},actions(e,t){if(b(e))if(g(t))s[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);s[t]=n}else s[e]=e;else Object.assign(s,e);return d},context:(e,t)=>(b(e)?c[e]=t:Object.assign(c,e),d),globals:(e,t)=>(b(e)?a[e]=t:Object.assign(a,e),d),link:(e,t)=>(b(e)?l[e]=t:Object.assign(l,e),d),get(){const e={};return n&&(e[t]=n),Object.entries(o).forEach(([n,r])=>{if(Object.keys(r).length>0){e[n?`${t}-${n}`:`${t}-`]=u(r)}}),Object.keys(i).length>0&&(e[`${t}action`]=u(i)),Object.keys(s).length>0&&(e[`${t}actions`]=u(s)),Object.keys(c).length>0&&(e[`${t}context`]=u(c)),Object.keys(a).length>0&&(e[`${t}globals`]=u(a)),Object.keys(l).length>0&&(e[`${t}link`]=u(l)),e}};return d}}var Ie,Pe=async(e,t)=>{try{const n=t||{},{elb:r,window:o,document:i}=n;if(!r)throw new Error("Browser source requires elb function in environment");const s=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}((null==e?void 0:e.settings)||{},i),c={settings:s},a={elb:r,settings:s};if(i&&o){if(!1!==s.elbLayer&&xe(r,{name:b(s.elbLayer)?s.elbLayer:"elbLayer",prefix:s.prefix,window:o}),s.session){const e="boolean"==typeof s.session?{}:s.session;Ae(r,e)}await async function(e,t,n){const r=()=>{e(t,n)};"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}(ye,a,s);(()=>{if(we(a,s),s.pageview){const[e,t]=U(s.prefix||"data-elb",s.scope);ie(a,"page view",e,"load",t)}})(),b(s.elb)&&s.elb&&(o[s.elb]=(...e)=>{const[t,n,r,o,i,s]=e;return ie(a,t,n,r,o,i,s)})}return{type:"browser",config:c,push:(...e)=>{const[t,n,r,o,i,s]=e;return ie(a,t,n,r,o,i,s)},destroy:async()=>{i&&re(s.scope||i)},on:async(e,t)=>{switch(e){case"consent":if(s.session&&t){const e="boolean"==typeof s.session?{}:s.session;Ae(r,e)}break;case"session":case"ready":default:break;case"run":if(i&&o&&(we(a,s),s.pageview)){const[e,t]=U(s.prefix||"data-elb",s.scope);ie(a,"page view",e,"load",t)}}}}}catch(e){throw e}},We=Pe;return Ie=s,((e,t,s,c)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of o(t))i.call(e,a)||a===s||n(e,a,{get:()=>t[a],enumerable:!(c=r(t,a))||c.enumerable});return e})(n({},"__esModule",{value:!0}),Ie)})();
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _walkeros_core from '@walkeros/core';
2
2
  import { Elb, WalkerOS, Collector, Source } from '@walkeros/core';
3
- import { DestinationWeb, Elb as Elb$1, SessionConfig, SessionCallback, Walker } from '@walkeros/web-core';
3
+ import { DestinationWeb, SessionConfig, SessionCallback, Walker } from '@walkeros/web-core';
4
4
 
5
5
  type Scope$1 = Element | Document;
6
6
  type Trigger = string;
@@ -27,7 +27,6 @@ type PushResult = Elb.PushResult;
27
27
  type Layer = Elb.Layer | IArguments;
28
28
 
29
29
  interface BrowserSourceConfig extends Source.Config {
30
- type: 'browser';
31
30
  settings: InitSettings;
32
31
  }
33
32
  interface InitSettings extends Record<string, unknown> {
@@ -36,30 +35,29 @@ interface InitSettings extends Record<string, unknown> {
36
35
  pageview?: boolean;
37
36
  session?: boolean | SessionConfig;
38
37
  elb?: string;
39
- elbLayer?: boolean | string | Elb$1.Layer;
38
+ elbLayer?: boolean | string | Elb.Layer;
40
39
  }
41
40
  interface Settings extends Record<string, unknown> {
42
41
  prefix: string;
43
- scope: Element | Document;
42
+ scope?: Element | Document;
44
43
  pageview: boolean;
45
44
  session: boolean | SessionConfig;
46
45
  elb: string;
47
- elbLayer: boolean | string | Elb$1.Layer;
46
+ elbLayer: boolean | string | Elb.Layer;
47
+ }
48
+ interface Environment extends Source.Environment {
49
+ window?: typeof window;
50
+ document?: typeof document;
48
51
  }
49
52
  interface Context {
50
- collector: Collector.Instance;
53
+ elb: Elb.Fn;
51
54
  settings: Settings;
52
55
  }
53
56
 
54
- type ELBLayer = Array<Elb$1.Layer | IArguments>;
57
+ type ELBLayer = Array<Elb.Layer | IArguments>;
55
58
  interface ELBLayerConfig {
56
59
  name?: string;
57
60
  }
58
- declare global {
59
- interface Window {
60
- [key: string]: Elb$1.Layer | unknown;
61
- }
62
- }
63
61
  type Scope = Document | Element;
64
62
 
65
63
  type index_BrowserArguments<R = Promise<Elb.PushResult>> = BrowserArguments<R>;
@@ -75,6 +73,7 @@ type index_CommandRun<R = Promise<Elb.PushResult>> = CommandRun<R>;
75
73
  type index_Context = Context;
76
74
  type index_ELBLayer = ELBLayer;
77
75
  type index_ELBLayerConfig = ELBLayerConfig;
76
+ type index_Environment = Environment;
78
77
  type index_InitSettings = InitSettings;
79
78
  type index_Layer = Layer;
80
79
  type index_PushResult = PushResult;
@@ -84,9 +83,11 @@ declare const index_SessionConfig: typeof SessionConfig;
84
83
  type index_Settings = Settings;
85
84
  type index_Trigger = Trigger;
86
85
  declare namespace index {
87
- export { type index_BrowserArguments as BrowserArguments, type index_BrowserCommands as BrowserCommands, type index_BrowserPush as BrowserPush, type index_BrowserPushContext as BrowserPushContext, type index_BrowserPushData as BrowserPushData, type index_BrowserPushOptions as BrowserPushOptions, type index_BrowserSourceConfig as BrowserSourceConfig, type index_CommandDestination as CommandDestination, type index_CommandInit as CommandInit, type index_CommandRun as CommandRun, type index_Context as Context, type index_ELBLayer as ELBLayer, type index_ELBLayerConfig as ELBLayerConfig, type index_InitSettings as InitSettings, type index_Layer as Layer, type index_PushResult as PushResult, type index_Scope as Scope, index_SessionCallback as SessionCallback, index_SessionConfig as SessionConfig, type index_Settings as Settings, type index_Trigger as Trigger };
86
+ export { type index_BrowserArguments as BrowserArguments, type index_BrowserCommands as BrowserCommands, type index_BrowserPush as BrowserPush, type index_BrowserPushContext as BrowserPushContext, type index_BrowserPushData as BrowserPushData, type index_BrowserPushOptions as BrowserPushOptions, type index_BrowserSourceConfig as BrowserSourceConfig, type index_CommandDestination as CommandDestination, type index_CommandInit as CommandInit, type index_CommandRun as CommandRun, type index_Context as Context, type index_ELBLayer as ELBLayer, type index_ELBLayerConfig as ELBLayerConfig, type index_Environment as Environment, type index_InitSettings as InitSettings, type index_Layer as Layer, type index_PushResult as PushResult, type index_Scope as Scope, index_SessionCallback as SessionCallback, index_SessionConfig as SessionConfig, type index_Settings as Settings, type index_Trigger as Trigger };
88
87
  }
89
88
 
89
+ declare function getElbAttributeName(prefix: string, name?: string, isProperty?: boolean): string;
90
+ declare function getElbValues(prefix: string, element: Element, name: string, isProperty?: boolean): WalkerOS.Properties;
90
91
  declare function getAllEvents(scope?: Scope, prefix?: string): Walker.Events;
91
92
  declare function getEvents(target: Element, trigger: string, prefix?: string): Walker.Events;
92
93
  declare function getGlobals(prefix?: string, scope?: Scope): WalkerOS.Properties;
@@ -112,6 +113,12 @@ interface TaggerInstance {
112
113
  */
113
114
  declare function createTagger(config?: TaggerConfig): (entity?: string) => TaggerInstance;
114
115
 
115
- declare const sourceBrowser: Source.Init<BrowserSourceConfig, BrowserPush>;
116
+ /**
117
+ * Browser source implementation using environment injection.
118
+ *
119
+ * This source captures DOM events, manages sessions, handles pageviews,
120
+ * and processes the elbLayer for browser environments.
121
+ */
122
+ declare const sourceBrowser: Source.Init<BrowserSourceConfig>;
116
123
 
117
- export { index as SourceBrowser, type TaggerConfig, type TaggerInstance, createTagger, sourceBrowser as default, getAllEvents, getEvents, getGlobals, sourceBrowser };
124
+ export { index as SourceBrowser, type TaggerConfig, type TaggerInstance, createTagger, sourceBrowser as default, getAllEvents, getElbAttributeName, getElbValues, getEvents, getGlobals, sourceBrowser };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _walkeros_core from '@walkeros/core';
2
2
  import { Elb, WalkerOS, Collector, Source } from '@walkeros/core';
3
- import { DestinationWeb, Elb as Elb$1, SessionConfig, SessionCallback, Walker } from '@walkeros/web-core';
3
+ import { DestinationWeb, SessionConfig, SessionCallback, Walker } from '@walkeros/web-core';
4
4
 
5
5
  type Scope$1 = Element | Document;
6
6
  type Trigger = string;
@@ -27,7 +27,6 @@ type PushResult = Elb.PushResult;
27
27
  type Layer = Elb.Layer | IArguments;
28
28
 
29
29
  interface BrowserSourceConfig extends Source.Config {
30
- type: 'browser';
31
30
  settings: InitSettings;
32
31
  }
33
32
  interface InitSettings extends Record<string, unknown> {
@@ -36,30 +35,29 @@ interface InitSettings extends Record<string, unknown> {
36
35
  pageview?: boolean;
37
36
  session?: boolean | SessionConfig;
38
37
  elb?: string;
39
- elbLayer?: boolean | string | Elb$1.Layer;
38
+ elbLayer?: boolean | string | Elb.Layer;
40
39
  }
41
40
  interface Settings extends Record<string, unknown> {
42
41
  prefix: string;
43
- scope: Element | Document;
42
+ scope?: Element | Document;
44
43
  pageview: boolean;
45
44
  session: boolean | SessionConfig;
46
45
  elb: string;
47
- elbLayer: boolean | string | Elb$1.Layer;
46
+ elbLayer: boolean | string | Elb.Layer;
47
+ }
48
+ interface Environment extends Source.Environment {
49
+ window?: typeof window;
50
+ document?: typeof document;
48
51
  }
49
52
  interface Context {
50
- collector: Collector.Instance;
53
+ elb: Elb.Fn;
51
54
  settings: Settings;
52
55
  }
53
56
 
54
- type ELBLayer = Array<Elb$1.Layer | IArguments>;
57
+ type ELBLayer = Array<Elb.Layer | IArguments>;
55
58
  interface ELBLayerConfig {
56
59
  name?: string;
57
60
  }
58
- declare global {
59
- interface Window {
60
- [key: string]: Elb$1.Layer | unknown;
61
- }
62
- }
63
61
  type Scope = Document | Element;
64
62
 
65
63
  type index_BrowserArguments<R = Promise<Elb.PushResult>> = BrowserArguments<R>;
@@ -75,6 +73,7 @@ type index_CommandRun<R = Promise<Elb.PushResult>> = CommandRun<R>;
75
73
  type index_Context = Context;
76
74
  type index_ELBLayer = ELBLayer;
77
75
  type index_ELBLayerConfig = ELBLayerConfig;
76
+ type index_Environment = Environment;
78
77
  type index_InitSettings = InitSettings;
79
78
  type index_Layer = Layer;
80
79
  type index_PushResult = PushResult;
@@ -84,9 +83,11 @@ declare const index_SessionConfig: typeof SessionConfig;
84
83
  type index_Settings = Settings;
85
84
  type index_Trigger = Trigger;
86
85
  declare namespace index {
87
- export { type index_BrowserArguments as BrowserArguments, type index_BrowserCommands as BrowserCommands, type index_BrowserPush as BrowserPush, type index_BrowserPushContext as BrowserPushContext, type index_BrowserPushData as BrowserPushData, type index_BrowserPushOptions as BrowserPushOptions, type index_BrowserSourceConfig as BrowserSourceConfig, type index_CommandDestination as CommandDestination, type index_CommandInit as CommandInit, type index_CommandRun as CommandRun, type index_Context as Context, type index_ELBLayer as ELBLayer, type index_ELBLayerConfig as ELBLayerConfig, type index_InitSettings as InitSettings, type index_Layer as Layer, type index_PushResult as PushResult, type index_Scope as Scope, index_SessionCallback as SessionCallback, index_SessionConfig as SessionConfig, type index_Settings as Settings, type index_Trigger as Trigger };
86
+ export { type index_BrowserArguments as BrowserArguments, type index_BrowserCommands as BrowserCommands, type index_BrowserPush as BrowserPush, type index_BrowserPushContext as BrowserPushContext, type index_BrowserPushData as BrowserPushData, type index_BrowserPushOptions as BrowserPushOptions, type index_BrowserSourceConfig as BrowserSourceConfig, type index_CommandDestination as CommandDestination, type index_CommandInit as CommandInit, type index_CommandRun as CommandRun, type index_Context as Context, type index_ELBLayer as ELBLayer, type index_ELBLayerConfig as ELBLayerConfig, type index_Environment as Environment, type index_InitSettings as InitSettings, type index_Layer as Layer, type index_PushResult as PushResult, type index_Scope as Scope, index_SessionCallback as SessionCallback, index_SessionConfig as SessionConfig, type index_Settings as Settings, type index_Trigger as Trigger };
88
87
  }
89
88
 
89
+ declare function getElbAttributeName(prefix: string, name?: string, isProperty?: boolean): string;
90
+ declare function getElbValues(prefix: string, element: Element, name: string, isProperty?: boolean): WalkerOS.Properties;
90
91
  declare function getAllEvents(scope?: Scope, prefix?: string): Walker.Events;
91
92
  declare function getEvents(target: Element, trigger: string, prefix?: string): Walker.Events;
92
93
  declare function getGlobals(prefix?: string, scope?: Scope): WalkerOS.Properties;
@@ -112,6 +113,12 @@ interface TaggerInstance {
112
113
  */
113
114
  declare function createTagger(config?: TaggerConfig): (entity?: string) => TaggerInstance;
114
115
 
115
- declare const sourceBrowser: Source.Init<BrowserSourceConfig, BrowserPush>;
116
+ /**
117
+ * Browser source implementation using environment injection.
118
+ *
119
+ * This source captures DOM events, manages sessions, handles pageviews,
120
+ * and processes the elbLayer for browser environments.
121
+ */
122
+ declare const sourceBrowser: Source.Init<BrowserSourceConfig>;
116
123
 
117
- export { index as SourceBrowser, type TaggerConfig, type TaggerInstance, createTagger, sourceBrowser as default, getAllEvents, getEvents, getGlobals, sourceBrowser };
124
+ export { index as SourceBrowser, type TaggerConfig, type TaggerInstance, createTagger, sourceBrowser as default, getAllEvents, getElbAttributeName, getElbValues, getEvents, getGlobals, sourceBrowser };
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,t,n,r,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){asyncGeneratorStep(i,r,o,a,c,"next",e)}function c(e){asyncGeneratorStep(i,r,o,a,c,"throw",e)}a(void 0)})}}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],a=!0,c=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(c)throw o}}return i}}function _non_iterable_rest(){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 _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_array(e){return _array_with_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(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(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(s){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}var Source=function(){var e,t,n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},he,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),i=o[0],a=o[1],c=e[i];return n.merge&&Array.isArray(c)&&Array.isArray(a)?t[i]=a.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||i in e)&&(t[i]=a),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},r=function(e){return Array.isArray(e)},o=function(e){return void 0!==e},i=function(e){return e===document||_instanceof(e,Element)},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!r(e)&&"[object Object]"===Object.prototype.toString.call(e)},c=function(e){return"string"==typeof e},s=function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)},l=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t="";t.length<e;)t+=(36*Math.random()|0).toString(36);return t},u=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}},f=function(e){return e?e.trim().replace(/^'|'$/g,"").trim():""},d=function(e,t,n,r){var o,i,a,c=n||[];if(n||(c=e.on[t]||[],Object.values(e.destinations).forEach(function(e){var n,r=null===(n=e.config.on)||void 0===n?void 0:n[t];r&&(c=c.concat(r))})),c.length)switch(t){case ke.Commands.Consent:o=e,i=c,a=r||o.consent,i.forEach(function(e){Object.keys(a).filter(function(t){return t in e}).forEach(function(t){u(e[t])(o,a)})});break;case ke.Commands.Ready:case ke.Commands.Run:!function(e,t){e.allowed&&t.forEach(function(t){u(t)(e)})}(e,c);break;case ke.Commands.Session:!function(e,t){e.session&&t.forEach(function(t){u(t)(e,e.session)})}(e,c)}},p=function(e,t){return(e.getAttribute(t)||"").trim()},g=function(e){var t,n=getComputedStyle(e);if("none"===n.display)return!1;if("visible"!==n.visibility)return!1;if(n.opacity&&Number(n.opacity)<.1)return!1;var r=window.innerHeight,o=e.getBoundingClientRect(),i=o.height,a=o.y,c=a+i,s={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(i<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(s.x<0)return!1;if(s.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(s.y<0)return!1;if(s.y>(document.documentElement.clientHeight||window.innerHeight))return!1;t=document.elementFromPoint(s.x,s.y)}else{var l=r/2;if(a<0&&c<l)return!1;if(c>r&&a>l)return!1;t=document.elementFromPoint(s.x,r/2)}if(t)do{if(t===e)return!0}while(t=t.parentElement);return!1},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.cb,n=e.consent,i=e.collector,a=e.storage,c=(null==i?void 0:i.push)||Se;if(!n)return y((a?m:h)(e),i,t);var s,l,u,f=(s=e,l=t,function(e,t){if(!o(u)||u!==(null==e?void 0:e.group)){u=null==e?void 0:e.group;var n=function(){return h(s)};return s.consent&&function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n}((r(s.consent)?s.consent:[s.consent]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,!0))},{}),t)&&(n=function(){return m(s)}),y(n(),e,l)}});c("walker on","consent",(r(n)?n:[n]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,f))},{}))},y=function(e,t,n){return!1===n?e:(n||(n=je),n(e,t,je))},_=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me.Utils.Storage.Session;function o(e){try{return JSON.parse(e||"")}catch(r){var t=1,n="";return e&&(t=0,n=e),{e:t,v:n}}}switch(r){case me.Utils.Storage.Cookie:var i;t=decodeURIComponent((null===(i=document.cookie.split("; ").find(function(t){return t.startsWith(e+"=")}))||void 0===i?void 0:i.split("=")[1])||"");break;case me.Utils.Storage.Local:n=o(window.localStorage.getItem(e));break;case me.Utils.Storage.Session:n=o(window.sessionStorage.getItem(e))}return n&&(t=n.v,0!=n.e&&n.e<Date.now()&&(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me.Utils.Storage.Session;switch(t){case me.Utils.Storage.Cookie:b(e,"",0,t);break;case me.Utils.Storage.Local:window.localStorage.removeItem(e);break;case me.Utils.Storage.Session:window.sessionStorage.removeItem(e)}}(e,r),t="")),s(t||"")},b=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:me.Utils.Storage.Session,o=arguments.length>4?arguments[4]:void 0,i={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(i);switch(r){case me.Utils.Storage.Cookie:t="object"==(void 0===t?"undefined":_type_of(t))?JSON.stringify(t):t;var c="".concat(e,"=").concat(encodeURIComponent(t),"; max-age=").concat(60*n,"; path=/; SameSite=Lax; secure");o&&(c+="; domain="+o),document.cookie=c;break;case me.Utils.Storage.Local:window.localStorage.setItem(e,a);break;case me.Utils.Storage.Session:window.sessionStorage.setItem(e,a)}return _(e,r)},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now(),n=e.length,r=void 0===n?30:n,o=e.deviceKey,i=void 0===o?"elbDeviceId":o,a=e.deviceStorage,c=void 0===a?"local":a,s=e.deviceAge,f=void 0===s?30:s,d=e.sessionKey,p=void 0===d?"elbSessionId":d,g=e.sessionStorage,v=void 0===g?"local":g,y=e.pulse,m=void 0!==y&&y,w=h(e),k=!1,S=u(function(e,t,n){var r=_(e,n);return r||(r=l(8),b(e,r,1440*t,n)),String(r)})(i,f,c),j=u(function(e,n){var o=JSON.parse(String(_(e,n)));return m||(o.isNew=!1,w.marketing&&(Object.assign(o,w),k=!0),k||o.updated+6e4*r<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,k=!0):o.runs++),o},function(){k=!0})(p,v)||{},O={id:l(12),start:t,isNew:!0,count:1,runs:1},x=Object.assign(O,w,j,{device:S},{isStart:k,storage:!0,updated:t},e.data);return b(p,JSON.stringify(x),2*r,v),x},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.isStart||!1,r={isStart:t,storage:!1};if(!1===e.isStart)return r;if(!t&&"navigate"!==_sliced_to_array(performance.getEntriesByType("navigation"),1)[0].type)return r;var o=new URL(e.url||window.location.href),i=e.referrer||document.referrer,a=i&&new URL(i).hostname,c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="clickId",o={},i={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:r,fbclid:r,gclid:r,msclkid:r,ttclid:r,twclid:r,igshid:r,sclid:r};return Object.entries(n(i,t)).forEach(function(t){var n=_sliced_to_array(t,2),i=n[0],a=n[1],c=e.searchParams.get(i);c&&(a===r&&(a=i,o[r]=i),o[a]=c)}),o}(o,e.parameters);if(Object.keys(c).length&&(c.marketing||(c.marketing=!0),t=!0),!t){var s=e.domains||[];s.push(o.hostname),t=!s.includes(a)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:l(12),referrer:a},c,e.data):r},w=function(e,t){return e+(t=null!=t?(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?"-":"")+t:"")},k=function(e,t,n){var o=p(t,w(e,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]))||"";return I(o).reduce(function(e,n){var o=_sliced_to_array(U(n),2),i=o[0],a=o[1];if(!i)return e;if(a||(i.endsWith(":")&&(i=i.slice(0,-1)),a=""),a.startsWith("#")){a=a.slice(1);try{var c=t[a];c||"selected"!==a||(c=t.options[t.selectedIndex].text),a=String(c)}catch(e){a=""}}return i.endsWith("[]")?(i=i.slice(0,-2),r(e[i])||(e[i]=[]),e[i].push(s(a))):e[i]=s(a),e},{})},S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ke.Commands.Prefix,n=[],r=ke.Commands.Action,o="[".concat(w(t,r,!1),"]"),i=function(e){Object.keys(k(t,e,r,!1)).forEach(function(r){n=n.concat(j(e,r,t))})};return e!==document&&e.matches(o)&&i(e),P(e,o,i),n},j=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ke.Commands.Prefix,r=[],o=L(n,e,t),i=o.actions,a=o.nearestOnly;return i.length?(i.forEach(function(o){var i=I(o.actionParams||"",",").reduce(function(e,t){return e[f(t)]=!0,e},{}),c=C(n,e,i,a);if(!c.length){var s="page",l="[".concat(w(n,s),"]"),u=_sliced_to_array(E(e,l,n,s),2),d=u[0],p=u[1];c.push({entity:s,data:d,nested:[],context:p})}c.forEach(function(e){r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r},O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ke.Commands.Prefix,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,r=w(e,ke.Commands.Globals,!1),o="[".concat(r,"]"),i={};return P(t,o,function(t){i=n(i,k(e,t,ke.Commands.Globals,!1))}),i},x=function(e){var t={};return I(e).forEach(function(e){var n=_sliced_to_array(U(e),2),r=n[0],o=n[1],i=_sliced_to_array(W(r),2),a=i[0],c=i[1];if(a){var s=_sliced_to_array(W(o||""),2),l=s[0],u=s[1];l=l||a,t[a]||(t[a]=[]),t[a].push({trigger:a,triggerParams:c,action:l,actionParams:u})}}),t},C=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){var a=Oe(e,i,t,n);if(a&&(o.push(a),r))break;i=A(e,i)}return o},A=function(e,t){var n=w(e,ke.Commands.Link,!1);if(t.matches("[".concat(n,"]"))){var r=_sliced_to_array(U(p(t,n)),2),o=r[0];if("child"===r[1])return document.querySelector("[".concat(n,'="').concat(o,':parent"]'))}return!t.parentElement&&t.getRootNode&&_instanceof(t.getRootNode(),ShadowRoot)?t.getRootNode().host:t.parentElement},E=function(e,t,r,o){for(var i={},a={},c=e,s="[".concat(w(r,ke.Commands.Context,!1),"]"),l=0;c;)c.matches(t)&&(i=n(k(r,c,""),i),i=n(k(r,c,o),i)),c.matches(s)&&(Object.entries(k(r,c,ke.Commands.Context,!1)).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=t[1];r&&!a[n]&&(a[n]=[r,l])}),++l),c=A(r,c);return[i,a]},P=function(e,t,n){e.querySelectorAll(t).forEach(n)},L=function(e,t,n){for(var r=t;r;){var o=p(r,w(e,ke.Commands.Actions,!1));if(o){var i=x(o);if(i[n])return{actions:i[n],nearestOnly:!1}}var a=p(r,w(e,ke.Commands.Action,!1));if(a){var c=x(a);if(c[n]||"click"!==n)return{actions:c[n]||[],nearestOnly:!0}}r=A(e,r)}return{actions:[],nearestOnly:!1}},I=function(e){if(!e)return[];var t=new RegExp("(?:[^".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:";","']+|'[^']*')+"),"ig");return e.match(t)||[]},U=function(e){var t=_sliced_to_array(e.split(/:(.+)/,2),2),n=t[0],r=t[1];return[f(n),f(r)]},W=function(e){var t=_sliced_to_array(e.split("(",2),2),n=t[0],r=t[1];return[n,r?r.slice(0,-1):""]},D=function(e){var t=Date.now(),n=Ee.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:g(e),lastChecked:t},Ee.set(e,n)),n.isVisible},R=function(e){if(window.IntersectionObserver)return u(function(){return new window.IntersectionObserver(function(t){t.forEach(function(t){H(e,t)})},{rootMargin:"0px",threshold:[0,.5]})},function(){})()},H=function(e,t){var n,r=t.target,o=e._visibilityState;if(o){var i=o.timers.get(r);if(t.intersectionRatio>0){var a=Date.now(),c=Ae.get(r);if((!c||a-c.lastChecked>1e3)&&(c={isLarge:r.offsetHeight>window.innerHeight,lastChecked:a},Ae.set(r,c)),t.intersectionRatio>=.5||c.isLarge&&D(r)){var s,l=null===(s=o.elementConfigs)||void 0===s?void 0:s.get(r);if((null==l?void 0:l.multiple)&&l.blocked)return;if(!i){var u=window.setTimeout(function(){return _async_to_generator(function(){var t,n,i,a;return _ts_generator(this,function(c){switch(c.label){case 0:return D(r)?(null==(i=null===(t=o.elementConfigs)||void 0===t?void 0:t.get(r))?void 0:i.context)?[4,q(i.context,r,i.trigger)]:[3,2]:[3,3];case 1:c.sent(),c.label=2;case 2:(null==(a=null===(n=o.elementConfigs)||void 0===n?void 0:n.get(r))?void 0:a.multiple)?a.blocked=!0:function(e,t){var n=e._visibilityState;if(n){n.observer&&n.observer.unobserve(t);var r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),Ae.delete(t),Ee.delete(t)}}(e,r),c.label=3;case 3:return[2]}})})()},o.duration);o.timers.set(r,u)}return}}i&&(clearTimeout(i),o.timers.delete(r));var f=null===(n=o.elementConfigs)||void 0===n?void 0:n.get(r);(null==f?void 0:f.multiple)&&(f.blocked=!1)}},N=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{multiple:!1},o=e.collector._visibilityState;(null==o?void 0:o.observer)&&t&&(o.elementConfigs||(o.elementConfigs=new WeakMap),o.elementConfigs.set(t,{multiple:null!==(n=r.multiple)&&void 0!==n&&n,blocked:!1,context:e,trigger:r.multiple?"visible":"impression"}),o.observer.observe(t))},T=function(e){var t=e._visibilityState;t&&(t.observer&&t.observer.disconnect(),delete e._visibilityState)},M=function(e,t,n,r,o,s,l){var u=e.collector,f=e.settings;if(c(t)&&t.startsWith("walker "))return u.push(t,n);if(a(t)){var d=t;return d.source||(d.source=G()),u.push(d)}var p,g=_sliced_to_array(String(a(t)?t.name:t).split(" "),1)[0],v=a(n)?n:{},y={},_=!1;if(i(n)&&(p=n,_=!0),i(o)?p=o:a(o)&&Object.keys(o).length&&(y=o),p){var b=C(f.prefix||"data-elb",p).find(function(e){return e.entity===g});b&&(_&&(v=b.data),y=b.context)}"page"===g&&(v.id=v.id||window.location.pathname);var m={name:String(t||""),data:v,context:y,nested:s,custom:l,trigger:c(r)?r:"",timing:Math.round((performance.now()-Pe)/10)/100,source:G()};return u.push(m)},G=function(){return{type:"browser",id:window.location.href,previous_id:document.referrer}},J=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=function(){if(e(t,n),null==t?void 0:t.on)try{d(t,"ready")}catch(e){}},"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r),[2]})})()},B=function(e,t){K(e,t)},K=function(e,t){var n=t.scope,r={collector:e,settings:t};n.addEventListener("click",u(function(e){$.call(this,r,e)})),n.addEventListener("submit",u(function(e){Z.call(this,r,e)}))},V=function(e,t){var n=t.scope;Le=[],T(e),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;e._visibilityState||(e._visibilityState={observer:R(e),timers:new WeakMap,duration:t})}(e,1e3);var r=w(t.prefix,ke.Commands.Action,!1),o=n||document;o!==document&&F(e,o,r,t),o.querySelectorAll("[".concat(r,"]")).forEach(function(n){F(e,n,r,t)}),Le.length&&te(e,o,t)},q=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=j(t,n,e.settings.prefix),[2,Promise.all(r.map(function(t){return M(e,_object_spread_props(_object_spread({name:"".concat(t.entity," ").concat(t.action)},t),{trigger:n}))}))]})})()},F=function(e,t,n,r){var o=p(t,n);if(o){var i={collector:e,settings:r};Object.values(x(o)).forEach(function(e){return e.forEach(function(e){switch(e.trigger){case Ie.Hover:Y(i,t);break;case Ie.Load:z(i,t);break;case Ie.Pulse:Q(i,t,e.triggerParams);break;case Ie.Scroll:X(t,e.triggerParams);break;case Ie.Impression:N(i,t);break;case Ie.Visible:N(i,t,{multiple:!0});break;case Ie.Wait:ee(i,t,e.triggerParams)}})})}},$=function(e,t){q(e,t.target,Ie.Click)},Y=function(e,t){t.addEventListener("mouseenter",u(function(t){_instanceof(t.target,Element)&&q(e,t.target,Ie.Hover)}))},z=function(e,t){q(e,t,Ie.Load)},Q=function(e,t){setInterval(function(){document.hidden||q(e,t,Ie.Pulse)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)},X=function(e){var t=parseInt((arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||"")||50;t<0||t>100||Le.push([e,t])},Z=function(e,t){t.target&&q(e,t.target,Ie.Submit)},ee=function(e,t){setTimeout(function(){return q(e,t,Ie.Wait)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)},te=function(e,t,n){var r={collector:e,settings:n},o=function(e,t){return e.filter(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1],i=window.scrollY+window.innerHeight,a=r.offsetTop;if(i<a)return!0;var c=r.clientHeight;return!(100*(1-(a+c-i)/(c||1))>=o)||(q(t,r,Ie.Scroll),!1)})};xe||(xe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=null;return function(){for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];if(null===n)return n=setTimeout(function(){n=null},t),e.apply(void 0,_to_consumable_array(o))}}(function(){Le=o.call(t,Le,r)}),t.addEventListener("scroll",xe))},ne=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;re(e,t,n,!0),re(e,t,n,!1),n.length=0},re=function(e,t,n,r){var o=[],i=!0;n.forEach(function(e){var t=ie(e)?_to_consumable_array(Array.from(e)):ae(e)?Array.from(e):[e];if((!Array.isArray(t)||0!==t.length)&&(!Array.isArray(t)||1!==t.length||t[0])){var n=t[0],s=!a(n)&&c(n)&&n.startsWith("walker ");if(a(n)){if("object"===(void 0===n?"undefined":_type_of(n))&&0===Object.keys(n).length)return}else{var l=Array.from(t);if(!c(l[0])||""===l[0].trim())return;i&&"walker run"===l[0]&&(i=!1)}(r&&s||!r&&!s)&&o.push(t)}}),o.forEach(function(n){oe(e,t,n)})},oe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;u(function(){if(Array.isArray(n)){var r=_to_array(n),o=r[0],i=r.slice(1);if(!o||c(o)&&""===o.trim())return;if(c(o)&&o.startsWith("walker "))return void e.push(o,i[0]);M.apply(void 0,[{collector:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o].concat(_to_consumable_array(i)))}else if(n&&"object"===(void 0===n?"undefined":_type_of(n))){if(0===Object.keys(n).length)return;e.push(n)}},function(){})()},ie=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"[object Arguments]"===Object.prototype.toString.call(e)},ae=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length},ce=function(e){var t,r,o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=i.config||{},c=n(e.config.sessionStatic||{},i.data||{}),s=(t=v,r="SessionStart",o=e.hooks,function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];var a,c="post"+r,s=o["pre"+r],l=o[c];return a=s?s.apply(void 0,[{fn:t}].concat(_to_consumable_array(n))):t.apply(void 0,_to_consumable_array(n)),l&&(a=l.apply(void 0,[{fn:t,result:a}].concat(_to_consumable_array(n)))),a})(_object_spread_props(_object_spread({},a),{cb:function(e,t,n){var r,o=a;return!1!==o.cb&&o.cb?r=o.cb(e,t,n):!1!==o.cb&&(r=n(e,t,n)),t&&(t.session=e,d(t,"session")),r},data:c,collector:e}));return s},se=function(){return _object_spread({prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:document},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},le=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).prefix||"data-elb";return function(t){var n=void 0,r=t,i={},a={},s={},l={},u={},f={};function d(e){return Object.entries(e).map(function(e){var t=_sliced_to_array(e,2),n=t[0],r=t[1];return"".concat(n,":").concat(function(e){if(!o(e)||null===e)return"undefined";var t=String(e);return(t=(t=(t=t.replace(/\\/g,"\\\\")).replace(/;/g,"\\;")).replace(/:/g,"\\:")).replace(/'/g,"\\'")}(r))}).join(";")}var p={entity:function(e){return n=e,r=e,p},data:function(e,t){var n=null!=r?r:"";return i[n]||(i[n]={}),c(e)?i[n][e]=t:Object.assign(i[n],e),p},action:function(e,t){if(c(e))if(o(t))a[e]=t;else if(e.includes(":")){var n=_sliced_to_array(e.split(":",2),2),r=n[0],i=n[1];a[r]=i}else a[e]=e;else Object.assign(a,e);return p},actions:function(e,t){if(c(e))if(o(t))s[e]=t;else if(e.includes(":")){var n=_sliced_to_array(e.split(":",2),2),r=n[0],i=n[1];s[r]=i}else s[e]=e;else Object.assign(s,e);return p},context:function(e,t){return c(e)?l[e]=t:Object.assign(l,e),p},globals:function(e,t){return c(e)?u[e]=t:Object.assign(u,e),p},link:function(e,t){return c(e)?f[e]=t:Object.assign(f,e),p},get:function(){var t={};return n&&(t[e]=n),Object.entries(i).forEach(function(n){var r=_sliced_to_array(n,2),o=r[0],i=r[1];if(Object.keys(i).length>0){var a=o?"".concat(e,"-").concat(o):"".concat(e,"-");t[a]=d(i)}}),Object.keys(a).length>0&&(t["".concat(e,"action")]=d(a)),Object.keys(s).length>0&&(t["".concat(e,"actions")]=d(s)),Object.keys(l).length>0&&(t["".concat(e,"context")]=d(l)),Object.keys(u).length>0&&(t["".concat(e,"globals")]=d(u)),Object.keys(f).length>0&&(t["".concat(e,"link")]=d(f)),t}};return p}},ue=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,de=Object.getOwnPropertyNames,pe=Object.prototype.hasOwnProperty,ge={};!function(e,t){for(var n in t)ue(e,n,{get:t[n],enumerable:!0})}(ge,{SourceBrowser:function(){return Ue},createTagger:function(){return le},default:function(){return De},getAllEvents:function(){return S},getEvents:function(){return j},getGlobals:function(){return O},sourceBrowser:function(){return We}});var ve,ye,_e=Object.getOwnPropertyNames,be=(e={"package.json":function(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.0",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[_e(e)[0]])((t={exports:{}}).exports,t),t.exports}),me={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}},he={merge:!0,shallow:!0,extend:!0},we=(be().version,Object.getOwnPropertyNames),ke=(ve={"package.json":function(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.0",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.0"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},{Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}}),Se=function(){var e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)},je=function(e,t){var n=(null==t?void 0:t.push)||Se,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e};function Oe(e,t,r,o){var i=p(t,w(e));if(!i||o&&!o[i])return null;var a=[t],c="[".concat(w(e,i),"],[").concat(w(e,""),"]"),s=w(e,ke.Commands.Link,!1),l={},u=[],f=_sliced_to_array(E(r||t,c,e,i),2),d=f[0],g=f[1];P(t,"[".concat(s,"]"),function(t){var n=_sliced_to_array(U(p(t,s)),2),r=n[0];"parent"===n[1]&&P(document.body,"[".concat(s,'="').concat(r,':child"]'),function(t){a.push(t);var n=Oe(e,t);n&&u.push(n)})});var v=[];a.forEach(function(e){e.matches(c)&&v.push(e),P(e,c,function(e){return v.push(e)})});var y={};return v.forEach(function(t){y=n(y,k(e,t,"")),l=n(l,k(e,t,i))}),l=n(n(y,l),d),a.forEach(function(t){P(t,"[".concat(w(e),"]"),function(t){var n=Oe(e,t);n&&u.push(n)})}),{entity:i,data:l,context:g,nested:u}}var xe,Ce,Ae=new WeakMap,Ee=new WeakMap,Pe=performance.now(),Le=[],Ie={Click:"click",Custom:"custom",Hover:"hover",Load:"load",Pulse:"pulse",Scroll:"scroll",Submit:"submit",Impression:"impression",Visible:"visible",Wait:"wait"},Ue={},We=function(e,t){return _async_to_generator(function(){var n,r,o,i,a,s;return _ts_generator(this,function(l){switch(l.label){case 0:return l.trys.push([0,3,,4]),n=_object_spread_props(_object_spread({},t),{settings:se(t.settings)}),r={type:"browser",config:n,collector:e,destroy:function(){T(e)}},!1!==n.settings.elbLayer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name||"elbLayer";window[n]||(window[n]=[]);var r=window[n];r.push=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];if(ie(r[0])){var i=_to_consumable_array(Array.from(r[0])),a=Array.prototype.push.apply(this,[i]);return oe(e,t.prefix,i),a}var c=Array.prototype.push.apply(this,r);return r.forEach(function(n){oe(e,t.prefix,n)}),c},Array.isArray(r)&&r.length>0&&ne(e,t.prefix,r)}(e,{name:c(n.settings.elbLayer)?n.settings.elbLayer:"elbLayer",prefix:n.settings.prefix}),n.settings.session&&(o="boolean"==typeof n.settings.session?{}:n.settings.session,ce(e,{config:o})),[4,J(B,e,n.settings)];case 1:return l.sent(),i=function(e){if(function(e,t){V(e,t)}(e,n.settings),n.settings.pageview){var t=_sliced_to_array(function(e,t){var n=window.location,r="page",o=t===document?document.body:t,i=_sliced_to_array(E(o,"[".concat(w(e,r),"]"),e,r),2),a=i[0],c=i[1];return a.domain=n.hostname,a.title=document.title,a.referrer=document.referrer,n.search&&(a.search=n.search),n.hash&&(a.hash=n.hash),[a,c]}(n.settings.prefix||"data-elb",n.settings.scope),2),r=t[0],o=t[1];M({collector:e,settings:n.settings},"page view",r,Ie.Load,o)}},[4,e.push("walker on","run",i)];case 2:return l.sent(),a=e._destroy,e._destroy=function(){var e;null===(e=r.destroy)||void 0===e||e.call(r),a&&a()},s=function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];var i=_sliced_to_array(r,6),a=i[0],c=i[1],s=i[2],l=i[3],u=i[4],f=i[5];return M({collector:e,settings:n.settings},a,c,s,l,u,f)},c(n.settings.elb)&&(window[n.settings.elb]=s),[2,{source:r,elb:s}];case 3:throw l.sent();case 4:return[2]}})})()},De=We;return Ce=ge,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,i=!1,a=void 0;try{for(var c,s=function(){var o=c.value;pe.call(e,o)||o===n||ue(e,o,{get:function(){return t[o]},enumerable:!(r=fe(t,o))||r.enumerable})},l=de(t)[Symbol.iterator]();!(o=(c=l.next()).done);o=!0)s()}catch(e){i=!0,a=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw a}}}return e}(ue({},"__esModule",{value:!0}),Ce)}();
1
+ "use strict";function _array_like_to_array(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 _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,t,r,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(n,o)}function _async_to_generator(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){asyncGeneratorStep(i,n,o,a,c,"next",e)}function c(e){asyncGeneratorStep(i,n,o,a,c,"throw",e)}a(void 0)})}}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}}function _non_iterable_rest(){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 _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(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 _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_array(e){return _array_with_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(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(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(s){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}var Source=function(){var e,t,r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=_object_spread({},he,r);var n=Object.entries(t).reduce(function(t,n){var o=_sliced_to_array(n,2),i=o[0],a=o[1],c=e[i];return r.merge&&Array.isArray(c)&&Array.isArray(a)?t[i]=a.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(r.extend||i in e)&&(t[i]=a),t},{});return r.shallow?_object_spread({},e,n):(Object.assign(e,n),e)},n=function(e){return Array.isArray(e)},o=function(e){return void 0!==e},i=function(e){return e===document||_instanceof(e,Element)},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!n(e)&&"[object Object]"===Object.prototype.toString.call(e)},c=function(e){return"string"==typeof e},s=function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)},u=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t="";t.length<e;)t+=(36*Math.random()|0).toString(36);return t},l=function(e,t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}},f=function(e){return e?e.trim().replace(/^'|'$/g,"").trim():""},d=function(e,t){return(e.getAttribute(t)||"").trim()},p=function(e){var t,r=getComputedStyle(e);if("none"===r.display)return!1;if("visible"!==r.visibility)return!1;if(r.opacity&&Number(r.opacity)<.1)return!1;var n=window.innerHeight,o=e.getBoundingClientRect(),i=o.height,a=o.y,c=a+i,s={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(i<=n){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(s.x<0)return!1;if(s.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(s.y<0)return!1;if(s.y>(document.documentElement.clientHeight||window.innerHeight))return!1;t=document.elementFromPoint(s.x,s.y)}else{var u=n/2;if(a<0&&c<u)return!1;if(c>n&&a>u)return!1;t=document.elementFromPoint(s.x,n/2)}if(t)do{if(t===e)return!0}while(t=t.parentElement);return!1},g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.cb,r=e.consent,i=e.collector,a=e.storage,c=(null==i?void 0:i.push)||Se;if(!r)return v((a?b:m)(e),i,t);var s,u,l,f=(s=e,u=t,function(e,t){if(!o(l)||l!==(null==e?void 0:e.group)){l=null==e?void 0:e.group;var r=function(){return m(s)};return s.consent&&function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),r={},n=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(r[o]=!0,e&&e[o]&&(n=!0))}),!!n&&r}((n(s.consent)?s.consent:[s.consent]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,!0))},{}),t)&&(r=function(){return b(s)}),v(r(),e,u)}});c("walker on","consent",(n(r)?r:[r]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,f))},{}))},v=function(e,t,r){return!1===r?e:(r||(r=Oe),r(e,t,Oe))},y=function(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me.Utils.Storage.Session;function o(e){try{return JSON.parse(e||"")}catch(n){var t=1,r="";return e&&(t=0,r=e),{e:t,v:r}}}switch(n){case me.Utils.Storage.Cookie:var i;t=decodeURIComponent((null===(i=document.cookie.split("; ").find(function(t){return t.startsWith(e+"=")}))||void 0===i?void 0:i.split("=")[1])||"");break;case me.Utils.Storage.Local:r=o(window.localStorage.getItem(e));break;case me.Utils.Storage.Session:r=o(window.sessionStorage.getItem(e))}return r&&(t=r.v,0!=r.e&&r.e<Date.now()&&(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:me.Utils.Storage.Session;switch(t){case me.Utils.Storage.Cookie:_(e,"",0,t);break;case me.Utils.Storage.Local:window.localStorage.removeItem(e);break;case me.Utils.Storage.Session:window.sessionStorage.removeItem(e)}}(e,n),t="")),s(t||"")},_=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:me.Utils.Storage.Session,o=arguments.length>4?arguments[4]:void 0,i={e:Date.now()+6e4*r,v:String(t)},a=JSON.stringify(i);switch(n){case me.Utils.Storage.Cookie:t="object"==(void 0===t?"undefined":_type_of(t))?JSON.stringify(t):t;var c="".concat(e,"=").concat(encodeURIComponent(t),"; max-age=").concat(60*r,"; path=/; SameSite=Lax; secure");o&&(c+="; domain="+o),document.cookie=c;break;case me.Utils.Storage.Local:window.localStorage.setItem(e,a);break;case me.Utils.Storage.Session:window.sessionStorage.setItem(e,a)}return y(e,n)},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now(),r=e.length,n=void 0===r?30:r,o=e.deviceKey,i=void 0===o?"elbDeviceId":o,a=e.deviceStorage,c=void 0===a?"local":a,s=e.deviceAge,f=void 0===s?30:s,d=e.sessionKey,p=void 0===d?"elbSessionId":d,g=e.sessionStorage,v=void 0===g?"local":g,b=e.pulse,h=void 0!==b&&b,w=m(e),k=!1,S=l(function(e,t,r){var n=y(e,r);return n||(n=u(8),_(e,n,1440*t,r)),String(n)})(i,f,c),O=l(function(e,r){var o=JSON.parse(String(y(e,r)));return h||(o.isNew=!1,w.marketing&&(Object.assign(o,w),k=!0),k||o.updated+6e4*n<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,k=!0):o.runs++),o},function(){k=!0})(p,v)||{},j={id:u(12),start:t,isNew:!0,count:1,runs:1},x=Object.assign(j,w,O,{device:S},{isStart:k,storage:!0,updated:t},e.data);return _(p,JSON.stringify(x),2*n,v),x},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.isStart||!1,n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t&&"navigate"!==_sliced_to_array(performance.getEntriesByType("navigation"),1)[0].type)return n;var o=new URL(e.url||window.location.href),i=e.referrer||document.referrer,a=i&&new URL(i).hostname,c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="clickId",o={},i={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(r(i,t)).forEach(function(t){var r=_sliced_to_array(t,2),i=r[0],a=r[1],c=e.searchParams.get(i);c&&(a===n&&(a=i,o[n]=i),o[a]=c)}),o}(o,e.parameters);if(Object.keys(c).length&&(c.marketing||(c.marketing=!0),t=!0),!t){var s=e.domains||[];s.push(o.hostname),t=!s.includes(a)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:u(12),referrer:a},c,e.data):n},h=function(e,t){return e+(t=null!=t?(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?"-":"")+t:"")},w=function(e,t,r){var o=d(t,h(e,r,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]))||"";return L(o).reduce(function(e,r){var o=_sliced_to_array(U(r),2),i=o[0],a=o[1];if(!i)return e;if(a||(i.endsWith(":")&&(i=i.slice(0,-1)),a=""),a.startsWith("#")){a=a.slice(1);try{var c=t[a];c||"selected"!==a||(c=t.options[t.selectedIndex].text),a=String(c)}catch(e){a=""}}return i.endsWith("[]")?(i=i.slice(0,-2),n(e[i])||(e[i]=[]),e[i].push(s(a))):e[i]=s(a),e},{})},k=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ke.Commands.Prefix,n=e||("undefined"!=typeof document?document.body:void 0);if(!n)return[];var o=[],i=ke.Commands.Action,a="[".concat(h(r,i,!1),"]"),c=function(e){Object.keys(w(r,e,i,!1)).forEach(function(t){o=o.concat(S(e,t,r))})};return n!==("undefined"!=typeof document?document:null)&&(null===(t=n.matches)||void 0===t?void 0:t.call(n,a))&&c(n),P(n,a,c),o},S=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ke.Commands.Prefix,n=[],o=I(r,e,t),i=o.actions,a=o.nearestOnly;return i.length?(i.forEach(function(o){var i=L(o.actionParams||"",",").reduce(function(e,t){return e[f(t)]=!0,e},{}),c=A(r,e,i,a);if(!c.length){var s="page",u="[".concat(h(r,s),"]"),l=_sliced_to_array(E(e,u,r,s),2),d=l[0],p=l[1];c.push({entity:s,data:d,nested:[],context:p})}c.forEach(function(e){n.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),n):n},O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ke.Commands.Prefix,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,n=h(e,ke.Commands.Globals,!1),o="[".concat(n,"]"),i={};return P(t,o,function(t){i=r(i,w(e,t,ke.Commands.Globals,!1))}),i},j=function(e,t){var r=window.location,n="page",o=t===document?document.body:t,i=_sliced_to_array(E(o,"[".concat(h(e,n),"]"),e,n),2),a=i[0],c=i[1];return a.domain=r.hostname,a.title=document.title,a.referrer=document.referrer,r.search&&(a.search=r.search),r.hash&&(a.hash=r.hash),[a,c]},x=function(e){var t={};return L(e).forEach(function(e){var r=_sliced_to_array(U(e),2),n=r[0],o=r[1],i=_sliced_to_array(W(n),2),a=i[0],c=i[1];if(a){var s=_sliced_to_array(W(o||""),2),u=s[0],l=s[1];u=u||a,t[a]||(t[a]=[]),t[a].push({trigger:a,triggerParams:c,action:u,actionParams:l})}}),t},A=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],i=t;for(r=0!==Object.keys(r||{}).length?r:void 0;i;){var a=je(e,i,t,r);if(a&&(o.push(a),n))break;i=C(e,i)}return o},C=function(e,t){var r=h(e,ke.Commands.Link,!1);if(t.matches("[".concat(r,"]"))){var n=_sliced_to_array(U(d(t,r)),2),o=n[0];if("child"===n[1])return document.querySelector("[".concat(r,'="').concat(o,':parent"]'))}return!t.parentElement&&t.getRootNode&&_instanceof(t.getRootNode(),ShadowRoot)?t.getRootNode().host:t.parentElement},E=function(e,t,n,o){for(var i={},a={},c=e,s="[".concat(h(n,ke.Commands.Context,!1),"]"),u=0;c;)c.matches(t)&&(i=r(w(n,c,""),i),i=r(w(n,c,o),i)),c.matches(s)&&(Object.entries(w(n,c,ke.Commands.Context,!1)).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],n=t[1];n&&!a[r]&&(a[r]=[n,u])}),++u),c=C(n,c);return[i,a]},P=function(e,t,r){e.querySelectorAll(t).forEach(r)},I=function(e,t,r){for(var n=t;n;){var o=d(n,h(e,ke.Commands.Actions,!1));if(o){var i=x(o);if(i[r])return{actions:i[r],nearestOnly:!1}}var a=d(n,h(e,ke.Commands.Action,!1));if(a){var c=x(a);if(c[r]||"click"!==r)return{actions:c[r]||[],nearestOnly:!0}}n=C(e,n)}return{actions:[],nearestOnly:!1}},L=function(e){if(!e)return[];var t=new RegExp("(?:[^".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:";","']+|'[^']*')+"),"ig");return e.match(t)||[]},U=function(e){var t=_sliced_to_array(e.split(/:(.+)/,2),2),r=t[0],n=t[1];return[f(r),f(n)]},W=function(e){var t=_sliced_to_array(e.split("(",2),2),r=t[0],n=t[1];return[r,n?n.slice(0,-1):""]},D=function(e){var t=Date.now(),r=Ee.get(e);return(!r||t-r.lastChecked>500)&&(r={isVisible:p(e),lastChecked:t},Ee.set(e,r)),r.isVisible},N=function(e){if(window.IntersectionObserver)return l(function(){return new window.IntersectionObserver(function(t){t.forEach(function(t){H(e,t)})},{rootMargin:"0px",threshold:[0,.5]})},function(){})()},H=function(e,t){var r,n=t.target,o=Pe.get(e);if(o){var i=o.timers.get(n);if(t.intersectionRatio>0){var a=Date.now(),c=Ce.get(n);if((!c||a-c.lastChecked>1e3)&&(c={isLarge:n.offsetHeight>window.innerHeight,lastChecked:a},Ce.set(n,c)),t.intersectionRatio>=.5||c.isLarge&&D(n)){var s,u=null===(s=o.elementConfigs)||void 0===s?void 0:s.get(n);if((null==u?void 0:u.multiple)&&u.blocked)return;if(!i){var l=window.setTimeout(function(){return _async_to_generator(function(){var t,r,i,a;return _ts_generator(this,function(c){switch(c.label){case 0:return D(n)?(null==(i=null===(t=o.elementConfigs)||void 0===t?void 0:t.get(n))?void 0:i.context)?[4,F(i.context,n,i.trigger)]:[3,2]:[3,3];case 1:c.sent(),c.label=2;case 2:(null==(a=null===(r=o.elementConfigs)||void 0===r?void 0:r.get(n))?void 0:a.multiple)?a.blocked=!0:function(e,t){var r=Pe.get(e);if(r){r.observer&&r.observer.unobserve(t);var n=r.timers.get(t);n&&(clearTimeout(n),r.timers.delete(t)),Ce.delete(t),Ee.delete(t)}}(e,n),c.label=3;case 3:return[2]}})})()},o.duration);o.timers.set(n,l)}return}}i&&(clearTimeout(i),o.timers.delete(n));var f=null===(r=o.elementConfigs)||void 0===r?void 0:r.get(n);(null==f?void 0:f.multiple)&&(f.blocked=!1)}},R=function(e,t){var r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{multiple:!1},o=e.settings.scope||document,i=Pe.get(o);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!==(r=n.multiple)&&void 0!==r&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))},M=function(e){if(e){var t=Pe.get(e);t&&(t.observer&&t.observer.disconnect(),Pe.delete(e))}},T=function(e,t,r,n,o,s,u){var l=e.elb,f=e.settings;if(c(t)&&t.startsWith("walker "))return l(t,r);if(a(t)){var d=t;return d.source||(d.source=G()),d.globals||(d.globals=O(f.prefix,f.scope||document)),l(d)}var p,g=_sliced_to_array(String(a(t)?t.name:t).split(" "),1)[0],v=a(r)?r:{},y={},_=!1;if(i(r)&&(p=r,_=!0),i(o)?p=o:a(o)&&Object.keys(o).length&&(y=o),p){var b=A(f.prefix||"data-elb",p).find(function(e){return e.entity===g});b&&(_&&(v=b.data),y=b.context)}"page"===g&&(v.id=v.id||window.location.pathname);var m=O(f.prefix,f.scope);return l({name:String(t||""),data:v,context:y,globals:m,nested:s,custom:u,trigger:c(n)?n:"",timing:Math.round((performance.now()-Ie)/10)/100,source:G()})},G=function(){return{type:"browser",id:window.location.href,previous_id:document.referrer}},B=function(e,t,r){return _async_to_generator(function(){var n;return _ts_generator(this,function(o){return n=function(){e(t,r)},"loading"!==document.readyState?n():document.addEventListener("DOMContentLoaded",n),[2]})})()},J=function(e,t){t.scope&&q(e,t)},V=function(e,t){t.scope&&K(e,t)},q=function(e,t){var r=t.scope;r&&(r.addEventListener("click",l(function(t){Y.call(this,e,t)})),r.addEventListener("submit",l(function(t){ee.call(this,e,t)})))},K=function(e,t){var r=t.scope;Le=[];var n=r||document;M(n),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;Pe.has(e)||Pe.set(e,{observer:N(e),timers:new WeakMap,duration:t})}(n,1e3);var o=h(t.prefix,ke.Commands.Action,!1);n!==document&&$(e,n,o,t),n.querySelectorAll("[".concat(o,"]")).forEach(function(r){$(e,r,o,t)}),Le.length&&re(e,n,t)},F=function(e,t,r){return _async_to_generator(function(){var n;return _ts_generator(this,function(o){return n=S(t,r,e.settings.prefix),[2,Promise.all(n.map(function(t){return T(e,_object_spread_props(_object_spread({name:"".concat(t.entity," ").concat(t.action)},t),{trigger:r}))}))]})})()},$=function(e,t,r,n){var o=d(t,r);o&&Object.values(x(o)).forEach(function(r){return r.forEach(function(r){switch(r.trigger){case Ue.Hover:z(e,t);break;case Ue.Load:Q(e,t);break;case Ue.Pulse:X(e,t,r.triggerParams);break;case Ue.Scroll:Z(t,r.triggerParams);break;case Ue.Impression:R(e,t);break;case Ue.Visible:R(e,t,{multiple:!0});break;case Ue.Wait:te(e,t,r.triggerParams)}})})},Y=function(e,t){F(e,t.target,Ue.Click)},z=function(e,t){t.addEventListener("mouseenter",l(function(t){_instanceof(t.target,Element)&&F(e,t.target,Ue.Hover)}))},Q=function(e,t){F(e,t,Ue.Load)},X=function(e,t){setInterval(function(){document.hidden||F(e,t,Ue.Pulse)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)},Z=function(e){var t=parseInt((arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||"")||50;t<0||t>100||Le.push([e,t])},ee=function(e,t){t.target&&F(e,t.target,Ue.Submit)},te=function(e,t){setTimeout(function(){return F(e,t,Ue.Wait)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)},re=function(e,t,r){var n=function(e,t){return e.filter(function(e){var r=_sliced_to_array(e,2),n=r[0],o=r[1],i=window.scrollY+window.innerHeight,a=n.offsetTop;if(i<a)return!0;var c=n.clientHeight;return!(100*(1-(a+c-i)/(c||1))>=o)||(F(t,n,Ue.Scroll),!1)})};xe||(xe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=null;return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];if(null===r)return r=setTimeout(function(){r=null},t),e.apply(void 0,_to_consumable_array(o))}}(function(){Le=n.call(t,Le,e)}),t.addEventListener("scroll",xe))},ne=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",r=arguments.length>2?arguments[2]:void 0;oe(e,t,r,!0),oe(e,t,r,!1),r.length=0},oe=function(e,t,r,n){var o=[],i=!0;r.forEach(function(e){var t=ae(e)?_to_consumable_array(Array.from(e)):ce(e)?Array.from(e):[e];if((!Array.isArray(t)||0!==t.length)&&(!Array.isArray(t)||1!==t.length||t[0])){var r=t[0],s=!a(r)&&c(r)&&r.startsWith("walker ");if(a(r)){if("object"===(void 0===r?"undefined":_type_of(r))&&0===Object.keys(r).length)return}else{var u=Array.from(t);if(!c(u[0])||""===u[0].trim())return;i&&"walker run"===u[0]&&(i=!1)}(n&&s||!n&&!s)&&o.push(t)}}),o.forEach(function(r){ie(e,t,r)})},ie=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",r=arguments.length>2?arguments[2]:void 0;l(function(){if(Array.isArray(r)){var n=_to_array(r),o=n[0],i=n.slice(1);if(!o||c(o)&&""===o.trim())return;if(c(o)&&o.startsWith("walker "))return void e(o,i[0]);T.apply(void 0,[{elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o].concat(_to_consumable_array(i)))}else if(r&&"object"===(void 0===r?"undefined":_type_of(r))){if(0===Object.keys(r).length)return;e(r)}},function(){})()},ae=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"[object Arguments]"===Object.prototype.toString.call(e)},ce=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length},se=function(e){var t={push:e,group:void 0};return g(_object_spread_props(_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{collector:t}))},ue=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).prefix||"data-elb";return function(t){var r=void 0,n=t,i={},a={},s={},u={},l={},f={};function d(e){return Object.entries(e).map(function(e){var t=_sliced_to_array(e,2),r=t[0],n=t[1];return"".concat(r,":").concat(function(e){if(!o(e)||null===e)return"undefined";var t=String(e);return(t=(t=(t=t.replace(/\\/g,"\\\\")).replace(/;/g,"\\;")).replace(/:/g,"\\:")).replace(/'/g,"\\'")}(n))}).join(";")}var p={entity:function(e){return r=e,n=e,p},data:function(e,t){var r=null!=n?n:"";return i[r]||(i[r]={}),c(e)?i[r][e]=t:Object.assign(i[r],e),p},action:function(e,t){if(c(e))if(o(t))a[e]=t;else if(e.includes(":")){var r=_sliced_to_array(e.split(":",2),2),n=r[0],i=r[1];a[n]=i}else a[e]=e;else Object.assign(a,e);return p},actions:function(e,t){if(c(e))if(o(t))s[e]=t;else if(e.includes(":")){var r=_sliced_to_array(e.split(":",2),2),n=r[0],i=r[1];s[n]=i}else s[e]=e;else Object.assign(s,e);return p},context:function(e,t){return c(e)?u[e]=t:Object.assign(u,e),p},globals:function(e,t){return c(e)?l[e]=t:Object.assign(l,e),p},link:function(e,t){return c(e)?f[e]=t:Object.assign(f,e),p},get:function(){var t={};return r&&(t[e]=r),Object.entries(i).forEach(function(r){var n=_sliced_to_array(r,2),o=n[0],i=n[1];if(Object.keys(i).length>0){var a=o?"".concat(e,"-").concat(o):"".concat(e,"-");t[a]=d(i)}}),Object.keys(a).length>0&&(t["".concat(e,"action")]=d(a)),Object.keys(s).length>0&&(t["".concat(e,"actions")]=d(s)),Object.keys(u).length>0&&(t["".concat(e,"context")]=d(u)),Object.keys(l).length>0&&(t["".concat(e,"globals")]=d(l)),Object.keys(f).length>0&&(t["".concat(e,"link")]=d(f)),t}};return p}},le=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,de=Object.getOwnPropertyNames,pe=Object.prototype.hasOwnProperty,ge={};!function(e,t){for(var r in t)le(e,r,{get:t[r],enumerable:!0})}(ge,{SourceBrowser:function(){return We},createTagger:function(){return ue},default:function(){return Ne},getAllEvents:function(){return k},getElbAttributeName:function(){return h},getElbValues:function(){return w},getEvents:function(){return S},getGlobals:function(){return O},sourceBrowser:function(){return De}});var ve,ye,_e=Object.getOwnPropertyNames,be=(e={"package.json":function(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.2",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[_e(e)[0]])((t={exports:{}}).exports,t),t.exports}),me={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}},he={merge:!0,shallow:!0,extend:!0},we=(be().version,Object.getOwnPropertyNames),ke=(ve={"package.json":function(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.2",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.2"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},{Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}}),Se=function(){var e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)},Oe=function(e,t){var r=(null==t?void 0:t.push)||Se,n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),r("walker user",n),e.isStart&&r({name:"session start",data:e}),e};function je(e,t,n,o){var i=d(t,h(e));if(!i||o&&!o[i])return null;var a=[t],c="[".concat(h(e,i),"],[").concat(h(e,""),"]"),s=h(e,ke.Commands.Link,!1),u={},l=[],f=_sliced_to_array(E(n||t,c,e,i),2),p=f[0],g=f[1];P(t,"[".concat(s,"]"),function(t){var r=_sliced_to_array(U(d(t,s)),2),n=r[0];"parent"===r[1]&&P(document.body,"[".concat(s,'="').concat(n,':child"]'),function(t){a.push(t);var r=je(e,t);r&&l.push(r)})});var v=[];a.forEach(function(e){e.matches(c)&&v.push(e),P(e,c,function(e){return v.push(e)})});var y={};return v.forEach(function(t){y=r(y,w(e,t,"")),u=r(u,w(e,t,i))}),u=r(r(y,u),p),a.forEach(function(t){P(t,"[".concat(h(e),"]"),function(t){var r=je(e,t);r&&l.push(r)})}),{entity:i,data:u,context:g,nested:l}}var xe,Ae,Ce=new WeakMap,Ee=new WeakMap,Pe=new WeakMap,Ie=performance.now(),Le=[],Ue={Click:"click",Custom:"custom",Hover:"hover",Load:"load",Pulse:"pulse",Scroll:"scroll",Submit:"submit",Impression:"impression",Visible:"visible",Wait:"wait"},We={},De=function(e,t){return _async_to_generator(function(){var r,n,o,i,a,s,u,l,f,d,p;return _ts_generator(this,function(g){switch(g.label){case 0:if(g.trys.push([0,3,,4]),n=(r=t||{}).elb,o=r.window,i=r.document,!n)throw new Error("Browser source requires elb function in environment");return a=(null==e?void 0:e.settings)||{},s=function(){return _object_spread({prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:(arguments.length>1?arguments[1]:void 0)||void 0},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}(a,i),u={settings:s},l={elb:n,settings:s},i&&o?(!1!==s.elbLayer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.name||"elbLayer",n=t.window||("undefined"!=typeof window?window:void 0);if(n){var o=n;o[r]||(o[r]=[]);var i=o[r];i.push=function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];if(ae(n[0])){var i=_to_consumable_array(Array.from(n[0])),a=Array.prototype.push.apply(this,[i]);return ie(e,t.prefix,i),a}var c=Array.prototype.push.apply(this,n);return n.forEach(function(r){ie(e,t.prefix,r)}),c},Array.isArray(i)&&i.length>0&&ne(e,t.prefix,i)}}(n,{name:c(s.elbLayer)?s.elbLayer:"elbLayer",prefix:s.prefix,window:o}),s.session&&(f="boolean"==typeof s.session?{}:s.session,se(n,f)),[4,B(J,l,s)]):[3,2];case 1:g.sent(),function(){if(V(l,s),s.pageview){var e=_sliced_to_array(j(s.prefix||"data-elb",s.scope),2),t=e[0],r=e[1];T(l,"page view",t,"load",r)}}(),c(s.elb)&&s.elb&&(o[s.elb]=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=_sliced_to_array(t,6),o=n[0],i=n[1],a=n[2],c=n[3],s=n[4],u=n[5];return T(l,o,i,a,c,s,u)}),g.label=2;case 2:return d=function(e,t){return _async_to_generator(function(){var r,a,c,u;return _ts_generator(this,function(f){switch(e){case"consent":s.session&&t&&(r="boolean"==typeof s.session?{}:s.session,se(n,r));break;case"session":case"ready":default:break;case"run":i&&o&&(V(l,s),s.pageview&&(a=_sliced_to_array(j(s.prefix||"data-elb",s.scope),2),c=a[0],u=a[1],T(l,"page view",c,"load",u)))}return[2]})})()},p=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=_sliced_to_array(t,6),o=n[0],i=n[1],a=n[2],c=n[3],s=n[4],u=n[5];return T(l,o,i,a,c,s,u)},[2,{type:"browser",config:u,push:p,destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return i&&M(s.scope||i),[2]})})()},on:d}];case 3:throw g.sent();case 4:return[2]}})})()},Ne=De;return Ae=ge,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,i=!1,a=void 0;try{for(var c,s=function(){var o=c.value;pe.call(e,o)||o===r||le(e,o,{get:function(){return t[o]},enumerable:!(n=fe(t,o))||n.enumerable})},u=de(t)[Symbol.iterator]();!(o=(c=u.next()).done);o=!0)s()}catch(e){i=!0,a=e}finally{try{o||null==u.return||u.return()}finally{if(i)throw a}}}return e}(le({},"__esModule",{value:!0}),Ae)}();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t,n,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,c={};((e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})})(c,{SourceBrowser:()=>we,createTagger:()=>ve,default:()=>Oe,getAllEvents:()=>S,getEvents:()=>E,getGlobals:()=>$,sourceBrowser:()=>ke}),module.exports=(e=c,((e,t,n,c)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of s(t))i.call(e,a)||a===n||r(e,a,{get:()=>t[a],enumerable:!(c=o(t,a))||c.enumerable});return e})(r({},"__esModule",{value:!0}),e));var a=Object.getOwnPropertyNames,l=(t={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.0",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return n||(0,t[a(t)[0]])((n={exports:{}}).exports,n),n.exports}),u={merge:!0,shallow:!0,extend:!0};function f(e,t={},n={}){n={...u,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function d(e){return Array.isArray(e)}function g(e){return void 0!==e}function p(e){return e===document||e instanceof Element}function m(e){return"object"==typeof e&&null!==e&&!d(e)&&"[object Object]"===Object.prototype.toString.call(e)}function b(e){return"string"==typeof e}function h(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}var{version:y}=l();function w(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function v(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var k=require("@walkeros/collector"),O=require("@walkeros/web-core"),j=require("@walkeros/collector"),x=require("@walkeros/web-core");function C(e,t,n=!0){return e+(t=null!=t?(n?"-":"")+t:"")}function A(e,t,n,r=!0){return I((0,x.getAttribute)(t,C(e,n,r))||"").reduce((e,n)=>{let[r,o]=T(n);if(!r)return e;if(o||(r.endsWith(":")&&(r=r.slice(0,-1)),o=""),o.startsWith("#")){o=o.slice(1);try{let e=t[o];e||"selected"!==o||(e=t.options[t.selectedIndex].text),o=String(e)}catch(e){o=""}}return r.endsWith("[]")?(r=r.slice(0,-2),d(e[r])||(e[r]=[]),e[r].push(h(o))):e[r]=h(o),e},{})}function S(e=document.body,t=j.Const.Commands.Prefix){let n=[];const r=j.Const.Commands.Action,o=`[${C(t,r,!1)}]`,s=e=>{Object.keys(A(t,e,r,!1)).forEach(r=>{n=n.concat(E(e,r,t))})};return e!==document&&e.matches(o)&&s(e),M(e,o,s),n}function E(e,t,n=j.Const.Commands.Prefix){const r=[],{actions:o,nearestOnly:s}=function(e,t,n){let r=t;for(;r;){const t=(0,x.getAttribute)(r,C(e,j.Const.Commands.Actions,!1));if(t){const e=L(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=(0,x.getAttribute)(r,C(e,j.Const.Commands.Action,!1));if(o){const e=L(o);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}r=q(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t);return o.length?(o.forEach(o=>{const i=I(o.actionParams||"",",").reduce((e,t)=>(e[v(t)]=!0,e),{}),c=P(n,e,i,s);if(!c.length){const t="page",r=`[${C(n,t)}]`,[o,s]=W(e,r,n,t);c.push({entity:t,data:o,nested:[],context:s})}c.forEach(e=>{r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r}function $(e=j.Const.Commands.Prefix,t=document){const n=C(e,j.Const.Commands.Globals,!1);let r={};return M(t,`[${n}]`,t=>{r=f(r,A(e,t,j.Const.Commands.Globals,!1))}),r}function L(e){const t={};return I(e).forEach(e=>{const[n,r]=T(e),[o,s]=R(n);if(!o)return;let[i,c]=R(r||"");i=i||o,t[o]||(t[o]=[]),t[o].push({trigger:o,triggerParams:s,action:i,actionParams:c})}),t}function P(e,t,n,r=!1){const o=[];let s=t;for(n=0!==Object.keys(n||{}).length?n:void 0;s;){const i=_(e,s,t,n);if(i&&(o.push(i),r))break;s=q(e,s)}return o}function _(e,t,n,r){const o=(0,x.getAttribute)(t,C(e));if(!o||r&&!r[o])return null;const s=[t],i=`[${C(e,o)}],[${C(e,"")}]`,c=C(e,j.Const.Commands.Link,!1);let a={};const l=[],[u,d]=W(n||t,i,e,o);M(t,`[${c}]`,t=>{const[n,r]=T((0,x.getAttribute)(t,c));"parent"===r&&M(document.body,`[${c}="${n}:child"]`,t=>{s.push(t);const n=_(e,t);n&&l.push(n)})});const g=[];s.forEach(e=>{e.matches(i)&&g.push(e),M(e,i,e=>g.push(e))});let p={};return g.forEach(t=>{p=f(p,A(e,t,"")),a=f(a,A(e,t,o))}),a=f(f(p,a),u),s.forEach(t=>{M(t,`[${C(e)}]`,t=>{const n=_(e,t);n&&l.push(n)})}),{entity:o,data:a,context:d,nested:l}}function q(e,t){const n=C(e,j.Const.Commands.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=T((0,x.getAttribute)(t,n));if("child"===r)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function W(e,t,n,r){let o={};const s={};let i=e;const c=`[${C(n,j.Const.Commands.Context,!1)}]`;let a=0;for(;i;)i.matches(t)&&(o=f(A(n,i,""),o),o=f(A(n,i,r),o)),i.matches(c)&&(Object.entries(A(n,i,j.Const.Commands.Context,!1)).forEach(([e,t])=>{t&&!s[e]&&(s[e]=[t,a])}),++a),i=q(n,i);return[o,s]}function M(e,t,n){e.querySelectorAll(t).forEach(n)}function I(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function T(e){const[t,n]=e.split(/:(.+)/,2);return[v(t),v(n)]}function R(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var N=require("@walkeros/web-core"),D=new WeakMap,H=new WeakMap;function G(e){const t=Date.now();let n=H.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:(0,N.isVisible)(e),lastChecked:t},H.set(e,n)),n.isVisible}function V(e){if(window.IntersectionObserver)return w(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,r;const o=t.target,s=e._visibilityState;if(!s)return;const i=s.timers.get(o);if(t.intersectionRatio>0){const r=Date.now();let c=D.get(o);(!c||r-c.lastChecked>1e3)&&(c={isLarge:o.offsetHeight>window.innerHeight,lastChecked:r},D.set(o,c));if(t.intersectionRatio>=.5||c.isLarge&&G(o)){const t=null==(n=s.elementConfigs)?void 0:n.get(o);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!i){const t=window.setTimeout(async()=>{var t,n;if(G(o)){const r=null==(t=s.elementConfigs)?void 0:t.get(o);(null==r?void 0:r.context)&&await ae(r.context,o,r.trigger);const i=null==(n=s.elementConfigs)?void 0:n.get(o);(null==i?void 0:i.multiple)?i.blocked=!0:function(e,t){const n=e._visibilityState;if(!n)return;n.observer&&n.observer.unobserve(t);const r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),D.delete(t),H.delete(t)}(e,o)}},s.duration);s.timers.set(o,t)}return}}i&&(clearTimeout(i),s.timers.delete(o));const c=null==(r=s.elementConfigs)?void 0:r.get(o);(null==c?void 0:c.multiple)&&(c.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function B(e,t,n={multiple:!1}){var r;const o=e.collector._visibilityState;(null==o?void 0:o.observer)&&t&&(o.elementConfigs||(o.elementConfigs=new WeakMap),o.elementConfigs.set(t,{multiple:null!=(r=n.multiple)&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),o.observer.observe(t))}function Y(e){const t=e._visibilityState;t&&(t.observer&&t.observer.disconnect(),delete e._visibilityState)}var z=performance.now();function F(e,t,n,r,o,s,i){const{collector:c,settings:a}=e;if(b(t)&&t.startsWith("walker ")){return c.push(t,n)}if(m(t)){const e=t;return e.source||(e.source=J()),c.push(e)}const[l]=String(m(t)?t.name:t).split(" ");let u,f=m(n)?n:{},d={},g=!1;if(p(n)&&(u=n,g=!0),p(o)?u=o:m(o)&&Object.keys(o).length&&(d=o),u){const e=P(a.prefix||"data-elb",u).find(e=>e.entity===l);e&&(g&&(f=e.data),d=e.context)}"page"===l&&(f.id=f.id||window.location.pathname);const h={name:String(t||""),data:f,context:d,nested:s,custom:i,trigger:b(r)?r:"",timing:Math.round((performance.now()-z)/10)/100,source:J()};return c.push(h)}function J(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var K,Q=[],U="click",X="hover",Z="load",ee="pulse",te="scroll",ne="submit",re="impression",oe="visible",se="wait";function ie(e,t){!function(e,t){const n=t.scope,r={collector:e,settings:t};n.addEventListener("click",w(function(e){ue.call(this,r,e)})),n.addEventListener("submit",w(function(e){fe.call(this,r,e)}))}(e,t)}function ce(e,t){!function(e,t){const n=t.scope;Q=[],Y(e),function(e,t=1e3){e._visibilityState||(e._visibilityState={observer:V(e),timers:new WeakMap,duration:t})}(e,1e3);const r=C(t.prefix,k.Const.Commands.Action,!1),o=n||document;o!==document&&le(e,o,r,t);o.querySelectorAll(`[${r}]`).forEach(n=>{le(e,n,r,t)}),Q.length&&function(e,t,n){const r={collector:e,settings:n},o=(e,t)=>e.filter(([e,n])=>{const r=window.scrollY+window.innerHeight,o=e.offsetTop;if(r<o)return!0;const s=e.clientHeight;return!(100*(1-(o+s-r)/(s||1))>=n)||(ae(t,e,te),!1)});K||(K=function(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}(function(){Q=o.call(t,Q,r)}),t.addEventListener("scroll",K))}(e,o,t)}(e,t)}async function ae(e,t,n){const r=E(t,n,e.settings.prefix);return Promise.all(r.map(t=>F(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function le(e,t,n,r){const o=(0,O.getAttribute)(t,n);if(!o)return;const s={collector:e,settings:r};Object.values(L(o)).forEach(e=>e.forEach(e=>{switch(e.trigger){case X:!function(e,t){t.addEventListener("mouseenter",w(function(t){t.target instanceof Element&&ae(e,t.target,X)}))}(s,t);break;case Z:!function(e,t){ae(e,t,Z)}(s,t);break;case ee:!function(e,t,n=""){setInterval(()=>{document.hidden||ae(e,t,ee)},parseInt(n||"")||15e3)}(s,t,e.triggerParams);break;case te:!function(e,t=""){const n=parseInt(t||"")||50;if(n<0||n>100)return;Q.push([e,n])}(t,e.triggerParams);break;case re:B(s,t);break;case oe:B(s,t,{multiple:!0});break;case se:!function(e,t,n=""){setTimeout(()=>ae(e,t,se),parseInt(n||"")||15e3)}(s,t,e.triggerParams)}}))}function ue(e,t){ae(e,t.target,U)}function fe(e,t){t.target&&ae(e,t.target,ne)}function de(e,t={}){const n=t.name||"elbLayer";window[n]||(window[n]=[]);const r=window[n];r.push=function(...n){if(me(n[0])){const r=[...Array.from(n[0])],o=Array.prototype.push.apply(this,[r]);return pe(e,t.prefix,r),o}const r=Array.prototype.push.apply(this,n);return n.forEach(n=>{pe(e,t.prefix,n)}),r},Array.isArray(r)&&r.length>0&&function(e,t="data-elb",n){ge(e,t,n,!0),ge(e,t,n,!1),n.length=0}(e,t.prefix,r)}function ge(e,t,n,r){const o=[];let s=!0;n.forEach(e=>{const t=me(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const i=t[0],c=!m(i)&&b(i)&&i.startsWith("walker ");if(m(i)){if("object"==typeof i&&0===Object.keys(i).length)return}else{const e=Array.from(t);if(!b(e[0])||""===e[0].trim())return;const n="walker run";s&&e[0]===n&&(s=!1)}(r&&c||!r&&!c)&&o.push(t)}),o.forEach(n=>{pe(e,t,n)})}function pe(e,t="data-elb",n){w(()=>{if(Array.isArray(n)){const[r,...o]=n;if(!r||b(r)&&""===r.trim())return;if(b(r)&&r.startsWith("walker "))return void e.push(r,o[0]);F({collector:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},r,...o)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e.push(n)}},()=>{})()}function me(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}var be=require("@walkeros/collector"),he=require("@walkeros/web-core");function ye(e={}){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:document,...e}}var we={};function ve(e={}){const t=e.prefix||"data-elb";return function(e){let n,r=e;const o={},s={},i={},c={},a={},l={};function u(e){return Object.entries(e).map(([e,t])=>`${e}:${function(e){if(!g(e)||null===e)return"undefined";let t=String(e);return t=t.replace(/\\/g,"\\\\"),t=t.replace(/;/g,"\\;"),t=t.replace(/:/g,"\\:"),t=t.replace(/'/g,"\\'"),t}(t)}`).join(";")}const f={entity:e=>(n=e,r=e,f),data(e,t){const n=null!=r?r:"";return o[n]||(o[n]={}),b(e)?o[n][e]=t:Object.assign(o[n],e),f},action(e,t){if(b(e))if(g(t))s[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);s[t]=n}else s[e]=e;else Object.assign(s,e);return f},actions(e,t){if(b(e))if(g(t))i[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);i[t]=n}else i[e]=e;else Object.assign(i,e);return f},context:(e,t)=>(b(e)?c[e]=t:Object.assign(c,e),f),globals:(e,t)=>(b(e)?a[e]=t:Object.assign(a,e),f),link:(e,t)=>(b(e)?l[e]=t:Object.assign(l,e),f),get(){const e={};return n&&(e[t]=n),Object.entries(o).forEach(([n,r])=>{if(Object.keys(r).length>0){e[n?`${t}-${n}`:`${t}-`]=u(r)}}),Object.keys(s).length>0&&(e[`${t}action`]=u(s)),Object.keys(i).length>0&&(e[`${t}actions`]=u(i)),Object.keys(c).length>0&&(e[`${t}context`]=u(c)),Object.keys(a).length>0&&(e[`${t}globals`]=u(a)),Object.keys(l).length>0&&(e[`${t}link`]=u(l)),e}};return f}}var ke=async(e,t)=>{try{const n={...t,settings:ye(t.settings)},r={type:"browser",config:n,collector:e,destroy(){Y(e)}};if(!1!==n.settings.elbLayer&&de(e,{name:b(n.settings.elbLayer)?n.settings.elbLayer:"elbLayer",prefix:n.settings.prefix}),n.settings.session){const t="boolean"==typeof n.settings.session?{}:n.settings.session;!function(e,t={}){const n=t.config||{},r=f(e.config.sessionStatic||{},t.data||{});var o,s,i;(o=he.sessionStart,s="SessionStart",i=e.hooks,function(...e){let t;const n="post"+s,r=i["pre"+s],c=i[n];return t=r?r({fn:o},...e):o(...e),c&&(t=c({fn:o,result:t},...e)),t})({...n,cb:(e,t,r)=>{let o;const s=n;return!1!==s.cb&&s.cb?o=s.cb(e,t,r):!1!==s.cb&&(o=r(e,t,r)),t&&(t.session=e,(0,be.onApply)(t,"session")),o},data:r,collector:e})}(e,{config:t})}await async function(e,t,n){const r=()=>{if(e(t,n),null==t?void 0:t.on)try{(0,k.onApply)(t,"ready")}catch(e){}};"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}(ie,e,n.settings);const o=e=>{if(ce(e,n.settings),n.settings.pageview){const[t,r]=function(e,t){const n=window.location,r="page",o=t===document?document.body:t,[s,i]=W(o,`[${C(e,r)}]`,e,r);return s.domain=n.hostname,s.title=document.title,s.referrer=document.referrer,n.search&&(s.search=n.search),n.hash&&(s.hash=n.hash),[s,i]}(n.settings.prefix||"data-elb",n.settings.scope);F({collector:e,settings:n.settings},"page view",t,Z,r)}};await e.push("walker on","run",o);const s=e._destroy;e._destroy=()=>{var e;null==(e=r.destroy)||e.call(r),s&&s()};const i=(...t)=>{const[r,o,s,i,c,a]=t;return F({collector:e,settings:n.settings},r,o,s,i,c,a)};return b(n.settings.elb)&&(window[n.settings.elb]=i),{source:r,elb:i}}catch(e){throw e}},Oe=ke;//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t,n,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,c={};((e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})})(c,{SourceBrowser:()=>ve,createTagger:()=>ke,default:()=>xe,getAllEvents:()=>E,getElbAttributeName:()=>C,getElbValues:()=>A,getEvents:()=>$,getGlobals:()=>S,sourceBrowser:()=>Oe}),module.exports=(e=c,((e,t,n,c)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of s(t))i.call(e,a)||a===n||r(e,a,{get:()=>t[a],enumerable:!(c=o(t,a))||c.enumerable});return e})(r({},"__esModule",{value:!0}),e));var a=Object.getOwnPropertyNames,l=(t={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.2",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return n||(0,t[a(t)[0]])((n={exports:{}}).exports,n),n.exports}),u={merge:!0,shallow:!0,extend:!0};function f(e,t={},n={}){n={...u,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const s=e[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function d(e){return Array.isArray(e)}function p(e){return void 0!==e}function g(e){return e===document||e instanceof Element}function m(e){return"object"==typeof e&&null!==e&&!d(e)&&"[object Object]"===Object.prototype.toString.call(e)}function b(e){return"string"==typeof e}function h(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}var{version:y}=l();function w(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function v(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}var k=require("@walkeros/collector"),O=require("@walkeros/web-core"),x=require("@walkeros/collector"),j=require("@walkeros/web-core");function C(e,t,n=!0){return e+(t=null!=t?(n?"-":"")+t:"")}function A(e,t,n,r=!0){return N((0,j.getAttribute)(t,C(e,n,r))||"").reduce((e,n)=>{let[r,o]=R(n);if(!r)return e;if(o||(r.endsWith(":")&&(r=r.slice(0,-1)),o=""),o.startsWith("#")){o=o.slice(1);try{let e=t[o];e||"selected"!==o||(e=t.options[t.selectedIndex].text),o=String(e)}catch(e){o=""}}return r.endsWith("[]")?(r=r.slice(0,-2),d(e[r])||(e[r]=[]),e[r].push(h(o))):e[r]=h(o),e},{})}function E(e,t=x.Const.Commands.Prefix){var n;const r=e||("undefined"!=typeof document?document.body:void 0);if(!r)return[];let o=[];const s=x.Const.Commands.Action,i=`[${C(t,s,!1)}]`,c=e=>{Object.keys(A(t,e,s,!1)).forEach(n=>{o=o.concat($(e,n,t))})};return r!==("undefined"!=typeof document?document:null)&&(null==(n=r.matches)?void 0:n.call(r,i))&&c(r),T(r,i,c),o}function $(e,t,n=x.Const.Commands.Prefix){const r=[],{actions:o,nearestOnly:s}=function(e,t,n){let r=t;for(;r;){const t=(0,j.getAttribute)(r,C(e,x.Const.Commands.Actions,!1));if(t){const e=P(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=(0,j.getAttribute)(r,C(e,x.Const.Commands.Action,!1));if(o){const e=P(o);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}r=M(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t);return o.length?(o.forEach(o=>{const i=N(o.actionParams||"",",").reduce((e,t)=>(e[v(t)]=!0,e),{}),c=W(n,e,i,s);if(!c.length){const t="page",r=`[${C(n,t)}]`,[o,s]=I(e,r,n,t);c.push({entity:t,data:o,nested:[],context:s})}c.forEach(e=>{r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r}function S(e=x.Const.Commands.Prefix,t=document){const n=C(e,x.Const.Commands.Globals,!1);let r={};return T(t,`[${n}]`,t=>{r=f(r,A(e,t,x.Const.Commands.Globals,!1))}),r}function L(e,t){const n=window.location,r="page",o=t===document?document.body:t,[s,i]=I(o,`[${C(e,r)}]`,e,r);return s.domain=n.hostname,s.title=document.title,s.referrer=document.referrer,n.search&&(s.search=n.search),n.hash&&(s.hash=n.hash),[s,i]}function P(e){const t={};return N(e).forEach(e=>{const[n,r]=R(e),[o,s]=D(n);if(!o)return;let[i,c]=D(r||"");i=i||o,t[o]||(t[o]=[]),t[o].push({trigger:o,triggerParams:s,action:i,actionParams:c})}),t}function W(e,t,n,r=!1){const o=[];let s=t;for(n=0!==Object.keys(n||{}).length?n:void 0;s;){const i=q(e,s,t,n);if(i&&(o.push(i),r))break;s=M(e,s)}return o}function q(e,t,n,r){const o=(0,j.getAttribute)(t,C(e));if(!o||r&&!r[o])return null;const s=[t],i=`[${C(e,o)}],[${C(e,"")}]`,c=C(e,x.Const.Commands.Link,!1);let a={};const l=[],[u,d]=I(n||t,i,e,o);T(t,`[${c}]`,t=>{const[n,r]=R((0,j.getAttribute)(t,c));"parent"===r&&T(document.body,`[${c}="${n}:child"]`,t=>{s.push(t);const n=q(e,t);n&&l.push(n)})});const p=[];s.forEach(e=>{e.matches(i)&&p.push(e),T(e,i,e=>p.push(e))});let g={};return p.forEach(t=>{g=f(g,A(e,t,"")),a=f(a,A(e,t,o))}),a=f(f(g,a),u),s.forEach(t=>{T(t,`[${C(e)}]`,t=>{const n=q(e,t);n&&l.push(n)})}),{entity:o,data:a,context:d,nested:l}}function M(e,t){const n=C(e,x.Const.Commands.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=R((0,j.getAttribute)(t,n));if("child"===r)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function I(e,t,n,r){let o={};const s={};let i=e;const c=`[${C(n,x.Const.Commands.Context,!1)}]`;let a=0;for(;i;)i.matches(t)&&(o=f(A(n,i,""),o),o=f(A(n,i,r),o)),i.matches(c)&&(Object.entries(A(n,i,x.Const.Commands.Context,!1)).forEach(([e,t])=>{t&&!s[e]&&(s[e]=[t,a])}),++a),i=M(n,i);return[o,s]}function T(e,t,n){e.querySelectorAll(t).forEach(n)}function N(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function R(e){const[t,n]=e.split(/:(.+)/,2);return[v(t),v(n)]}function D(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var H=require("@walkeros/web-core"),G=new WeakMap,V=new WeakMap,_=new WeakMap;function B(e){const t=Date.now();let n=V.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:(0,H.isVisible)(e),lastChecked:t},V.set(e,n)),n.isVisible}function Y(e){if(window.IntersectionObserver)return w(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,r;const o=t.target,s=_.get(e);if(!s)return;const i=s.timers.get(o);if(t.intersectionRatio>0){const r=Date.now();let c=G.get(o);(!c||r-c.lastChecked>1e3)&&(c={isLarge:o.offsetHeight>window.innerHeight,lastChecked:r},G.set(o,c));if(t.intersectionRatio>=.5||c.isLarge&&B(o)){const t=null==(n=s.elementConfigs)?void 0:n.get(o);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!i){const t=window.setTimeout(async()=>{var t,n;if(B(o)){const r=null==(t=s.elementConfigs)?void 0:t.get(o);(null==r?void 0:r.context)&&await ue(r.context,o,r.trigger);const i=null==(n=s.elementConfigs)?void 0:n.get(o);(null==i?void 0:i.multiple)?i.blocked=!0:function(e,t){const n=_.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),G.delete(t),V.delete(t)}(e,o)}},s.duration);s.timers.set(o,t)}return}}i&&(clearTimeout(i),s.timers.delete(o));const c=null==(r=s.elementConfigs)?void 0:r.get(o);(null==c?void 0:c.multiple)&&(c.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function z(e,t,n={multiple:!1}){var r;const o=e.settings.scope||document,s=_.get(o);(null==s?void 0:s.observer)&&t&&(s.elementConfigs||(s.elementConfigs=new WeakMap),s.elementConfigs.set(t,{multiple:null!=(r=n.multiple)&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),s.observer.observe(t))}function F(e){if(!e)return;const t=_.get(e);t&&(t.observer&&t.observer.disconnect(),_.delete(e))}var J=performance.now();function K(e,t,n,r,o,s,i){const{elb:c,settings:a}=e;if(b(t)&&t.startsWith("walker ")){return c(t,n)}if(m(t)){const e=t;return e.source||(e.source=Q()),e.globals||(e.globals=S(a.prefix,a.scope||document)),c(e)}const[l]=String(m(t)?t.name:t).split(" ");let u,f=m(n)?n:{},d={},p=!1;if(g(n)&&(u=n,p=!0),g(o)?u=o:m(o)&&Object.keys(o).length&&(d=o),u){const e=W(a.prefix||"data-elb",u).find(e=>e.entity===l);e&&(p&&(f=e.data),d=e.context)}"page"===l&&(f.id=f.id||window.location.pathname);const h=S(a.prefix,a.scope);return c({name:String(t||""),data:f,context:d,globals:h,nested:s,custom:i,trigger:b(r)?r:"",timing:Math.round((performance.now()-J)/10)/100,source:Q()})}function Q(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var U,X=[],Z="click",ee="hover",te="load",ne="pulse",re="scroll",oe="submit",se="impression",ie="visible",ce="wait";function ae(e,t){if(!t.scope)return;!function(e,t){const n=t.scope;if(!n)return;n.addEventListener("click",w(function(t){de.call(this,e,t)})),n.addEventListener("submit",w(function(t){pe.call(this,e,t)}))}(e,t)}function le(e,t){if(!t.scope)return;!function(e,t){const n=t.scope;X=[];const r=n||document;F(r),function(e,t=1e3){_.has(e)||_.set(e,{observer:Y(e),timers:new WeakMap,duration:t})}(r,1e3);const o=C(t.prefix,k.Const.Commands.Action,!1);r!==document&&fe(e,r,o,t);r.querySelectorAll(`[${o}]`).forEach(n=>{fe(e,n,o,t)}),X.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const r=window.scrollY+window.innerHeight,o=e.offsetTop;if(r<o)return!0;const s=e.clientHeight;return!(100*(1-(o+s-r)/(s||1))>=n)||(ue(t,e,re),!1)});U||(U=function(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}(function(){X=n.call(t,X,e)}),t.addEventListener("scroll",U))}(e,r)}(e,t)}async function ue(e,t,n){const r=$(t,n,e.settings.prefix);return Promise.all(r.map(t=>K(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function fe(e,t,n,r){const o=(0,O.getAttribute)(t,n);o&&Object.values(P(o)).forEach(n=>n.forEach(n=>{switch(n.trigger){case ee:!function(e,t){t.addEventListener("mouseenter",w(function(t){t.target instanceof Element&&ue(e,t.target,ee)}))}(e,t);break;case te:!function(e,t){ue(e,t,te)}(e,t);break;case ne:!function(e,t,n=""){setInterval(()=>{document.hidden||ue(e,t,ne)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case re:!function(e,t=""){const n=parseInt(t||"")||50;if(n<0||n>100)return;X.push([e,n])}(t,n.triggerParams);break;case se:z(e,t);break;case ie:z(e,t,{multiple:!0});break;case ce:!function(e,t,n=""){setTimeout(()=>ue(e,t,ce),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}}))}function de(e,t){ue(e,t.target,Z)}function pe(e,t){t.target&&ue(e,t.target,oe)}function ge(e,t={}){const n=t.name||"elbLayer",r=t.window||("undefined"!=typeof window?window:void 0);if(!r)return;const o=r;o[n]||(o[n]=[]);const s=o[n];s.push=function(...n){if(he(n[0])){const r=[...Array.from(n[0])],o=Array.prototype.push.apply(this,[r]);return be(e,t.prefix,r),o}const r=Array.prototype.push.apply(this,n);return n.forEach(n=>{be(e,t.prefix,n)}),r},Array.isArray(s)&&s.length>0&&function(e,t="data-elb",n){me(e,t,n,!0),me(e,t,n,!1),n.length=0}(e,t.prefix,s)}function me(e,t,n,r){const o=[];let s=!0;n.forEach(e=>{const t=he(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const i=t[0],c=!m(i)&&b(i)&&i.startsWith("walker ");if(m(i)){if("object"==typeof i&&0===Object.keys(i).length)return}else{const e=Array.from(t);if(!b(e[0])||""===e[0].trim())return;const n="walker run";s&&e[0]===n&&(s=!1)}(r&&c||!r&&!c)&&o.push(t)}),o.forEach(n=>{be(e,t,n)})}function be(e,t="data-elb",n){w(()=>{if(Array.isArray(n)){const[r,...o]=n;if(!r||b(r)&&""===r.trim())return;if(b(r)&&r.startsWith("walker "))return void e(r,o[0]);K({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},r,...o)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function he(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}var ye=require("@walkeros/web-core");function we(e,t={}){const n={push:e,group:void 0};return(0,ye.sessionStart)({...t,collector:n})}var ve={};function ke(e={}){const t=e.prefix||"data-elb";return function(e){let n,r=e;const o={},s={},i={},c={},a={},l={};function u(e){return Object.entries(e).map(([e,t])=>`${e}:${function(e){if(!p(e)||null===e)return"undefined";let t=String(e);return t=t.replace(/\\/g,"\\\\"),t=t.replace(/;/g,"\\;"),t=t.replace(/:/g,"\\:"),t=t.replace(/'/g,"\\'"),t}(t)}`).join(";")}const f={entity:e=>(n=e,r=e,f),data(e,t){const n=null!=r?r:"";return o[n]||(o[n]={}),b(e)?o[n][e]=t:Object.assign(o[n],e),f},action(e,t){if(b(e))if(p(t))s[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);s[t]=n}else s[e]=e;else Object.assign(s,e);return f},actions(e,t){if(b(e))if(p(t))i[e]=t;else if(e.includes(":")){const[t,n]=e.split(":",2);i[t]=n}else i[e]=e;else Object.assign(i,e);return f},context:(e,t)=>(b(e)?c[e]=t:Object.assign(c,e),f),globals:(e,t)=>(b(e)?a[e]=t:Object.assign(a,e),f),link:(e,t)=>(b(e)?l[e]=t:Object.assign(l,e),f),get(){const e={};return n&&(e[t]=n),Object.entries(o).forEach(([n,r])=>{if(Object.keys(r).length>0){e[n?`${t}-${n}`:`${t}-`]=u(r)}}),Object.keys(s).length>0&&(e[`${t}action`]=u(s)),Object.keys(i).length>0&&(e[`${t}actions`]=u(i)),Object.keys(c).length>0&&(e[`${t}context`]=u(c)),Object.keys(a).length>0&&(e[`${t}globals`]=u(a)),Object.keys(l).length>0&&(e[`${t}link`]=u(l)),e}};return f}}var Oe=async(e,t)=>{try{const n=t||{},{elb:r,window:o,document:s}=n;if(!r)throw new Error("Browser source requires elb function in environment");const i=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}((null==e?void 0:e.settings)||{},s),c={settings:i},a={elb:r,settings:i};if(s&&o){if(!1!==i.elbLayer&&ge(r,{name:b(i.elbLayer)?i.elbLayer:"elbLayer",prefix:i.prefix,window:o}),i.session){const e="boolean"==typeof i.session?{}:i.session;we(r,e)}await async function(e,t,n){const r=()=>{e(t,n)};"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}(ae,a,i);(()=>{if(le(a,i),i.pageview){const[e,t]=L(i.prefix||"data-elb",i.scope);K(a,"page view",e,"load",t)}})(),b(i.elb)&&i.elb&&(o[i.elb]=(...e)=>{const[t,n,r,o,s,i]=e;return K(a,t,n,r,o,s,i)})}return{type:"browser",config:c,push:(...e)=>{const[t,n,r,o,s,i]=e;return K(a,t,n,r,o,s,i)},destroy:async()=>{s&&F(i.scope||s)},on:async(e,t)=>{switch(e){case"consent":if(i.session&&t){const e="boolean"==typeof i.session?{}:i.session;we(r,e)}break;case"session":case"ready":default:break;case"run":if(s&&o&&(le(a,i),i.pageview)){const[e,t]=L(i.prefix||"data-elb",i.scope);K(a,"page view",e,"load",t)}}}}}catch(e){throw e}},xe=Oe;//# sourceMappingURL=index.js.map