@walkeros/walker.js 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/walker.js CHANGED
@@ -1 +1 @@
1
- "use strict";(()=>{var e=Object.defineProperty;((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{Level:()=>n});var t,n=((t=n||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},r={merge:!0,shallow:!0,extend:!0};function i(e,t={},n={}){n={...r,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function s(e){return Array.isArray(e)}function a(e){return void 0!==e}function c(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function l(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=l(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(l(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function d(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&s(r)){const t=o.slice(e+1).join("."),i=[];for(const e of r){const o=d(e,t,n);i.push(o)}return i}if(r=r instanceof Object?r[t]:void 0,!r)break}return a(r)?r:n}function f(e,t,n){if(!c(e))return e;const o=l(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}function g(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function p(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}function h(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function y(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=h(e)):n=e,void 0!==t&&(t instanceof Error?o.error=h(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=h(o.error))):o.value=t),{message:n,context:o}}var b=(e,t,o,r)=>{const i=`${n[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(o).length>0;0===e?s?console.error(i,t,o):console.error(i,t):s?console.log(i,t,o):console.log(i,t)};function v(e={}){return w({level:void 0!==e.level?(t=e.level,"string"==typeof t?n[t]:t):0,handler:e.handler,scope:[]});var t}function w(e){const{level:t,handler:n,scope:o}=e,r=(e,r,i)=>{if(e<=t){const t=y(r,i);n?n(e,t.message,t.context,o,b):b(e,t.message,t.context,o)}};return{error:(e,t)=>r(0,e,t),info:(e,t)=>r(1,e,t),debug:(e,t)=>r(2,e,t),throw:(e,t)=>{const r=y(e,t);throw n?n(0,r.message,r.context,o,b):b(0,r.message,r.context,o),new Error(r.message)},scope:e=>w({level:t,handler:n,scope:[...o,e]})}}function k(e){return function(e){return"boolean"==typeof e}(e)||u(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!a(e)||s(e)&&e.every(k)||c(e)&&Object.values(e).every(k)}function E(e){return k(e)?e:void 0}function S(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function O(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function j(e,t={},n={}){var o;if(!a(e))return;const r=c(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(t)?t:[t];for(const t of i){const o=await O(_)(e,t,{...n,consent:r});if(a(o))return o}}async function _(e,t,n={}){const{collector:o,consent:r}=n;return(s(t)?t:[t]).reduce(async(t,i)=>{const c=await t;if(c)return c;const l=u(i)?{key:i}:i;if(!Object.keys(l).length)return;const{condition:f,consent:m,fn:p,key:h,loop:y,map:b,set:v,validate:w,value:k}=l;if(f&&!await O(f)(e,i,o))return;if(m&&!g(m,r))return k;let S=a(k)?k:e;if(p&&(S=await O(p)(e,i,n)),h&&(S=d(e,h,k)),y){const[t,o]=y,r="this"===t?[e]:await j(e,t,n);s(r)&&(S=(await Promise.all(r.map(e=>j(e,o,n)))).filter(a))}else b?S=await Object.entries(b).reduce(async(t,[o,r])=>{const i=await t,s=await j(e,r,n);return a(s)&&(i[o]=s),i},Promise.resolve({})):v&&(S=await Promise.all(v.map(t=>_(e,t,n))));w&&!await O(w)(S)&&(S=void 0);const x=E(S);return a(x)?x:E(k)},Promise.resolve(void 0))}async function x(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await j(e,o,{collector:n});e=f(e,t,r)}));const{eventMapping:o,mappingKey:r}=await async function(e,t){var n;const[o,r]=(e.name||"").split(" ");if(!t||!o||!r)return{};let i,a="",c=o,u=r;const l=t=>{if(t)return(t=s(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const d=t[c];return d&&(d[u]||(u="*"),i=l(d[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping);(null==o?void 0:o.policy)&&await Promise.all(Object.entries(o.policy).map(async([t,o])=>{const r=await j(e,o,{collector:n});e=f(e,t,r)}));let a=t.data&&await j(e,t.data,{collector:n});if(o){if(o.ignore)return{event:e,data:a,mapping:o,mappingKey:r,ignore:!0};if(o.name&&(e.name=o.name),o.data){const t=o.data&&await j(e,o.data,{collector:n});a=c(a)&&c(t)?i(a,t):t}}return{event:e,data:a,mapping:o,mappingKey:r,ignore:!1}}function L(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function A(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}function C(e,t){return(e.getAttribute(t)||"").trim()}function $(e){const t={};return function(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}(e).forEach(e=>{const[n,o]=function(e){const[t,n]=e.split(/:(.+)/,2);return[L(t||""),L(n||"")]}(e);n&&("true"===o?t[n]=!0:"false"===o?t[n]=!1:o&&/^\d+$/.test(o)?t[n]=parseInt(o,10):o&&/^\d+\.\d+$/.test(o)?t[n]=parseFloat(o):t[n]=o||!0)}),t}var q=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function R(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 o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function P(e,t,n){return!1===n?e:(n||(n=D),n(e,t,D))}var D=(e,t)=>{const n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t?t.command("user",n):q("walker user",n),e.isStart&&(t?t.push({name:"session start",data:e}):q({name:"session start",data:e})),e};function I(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:N(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function N(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let o=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(o+="; domain="+i),document.cookie=o;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return I(e,r)}function X(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=T(e);let l=!1;const d=S((e,t,n)=>{let o=I(e,n);return o||(o=m(8),N(e,o,1440*t,n)),String(o)})(o,i,r),f=S((e,o)=>{const r=JSON.parse(String(I(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),l=!0),l||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,l=!0):r.runs++),r},()=>{l=!0})(s,a)||{},g={id:m(12),start:t,isNew:!0,count:1,runs:1},p=Object.assign(g,u,f,{device:d},{isStart:l,storage:!0,updated:t},e.data);return N(s,JSON.stringify(p),2*n,a),p}function T(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 o=new URL(e.url||window.location.href),r=e.referrer||document.referrer,s=r&&new URL(r).hostname,a=function(e,t={}){const n="clickId",o={},r={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(i(r,t)).forEach(([t,r])=>{const i=e.searchParams.get(t);i&&(r===n&&(r=t,o[n]=t),o[r]=i)}),o}(o,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(o.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:s},a,e.data):n}var U={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"},W={type:"code",config:{},init(e){const{config:t,logger:n}=e,o=t.settings,r=null==o?void 0:o.scripts;if(r&&"undefined"!=typeof document)for(const e of r){const t=document.createElement("script");t.src=e,t.async=!0,document.head.appendChild(t)}const i=null==o?void 0:o.init;if(i)try{new Function("context",i)(e)}catch(e){n.error("Code destination init error:",e)}},push(e,t){var n,o;const{mapping:r,config:i,logger:s}=t,a=null!=(o=null==r?void 0:r.push)?o:null==(n=i.settings)?void 0:n.push;if(a)try{new Function("event","context",a)(e,t)}catch(e){s.error("Code destination push error:",e)}},pushBatch(e,t){var n,o;const{mapping:r,config:i,logger:s}=t,a=null!=(o=null==r?void 0:r.pushBatch)?o:null==(n=i.settings)?void 0:n.pushBatch;if(a)try{new Function("batch","context",a)(e,t)}catch(e){s.error("Code destination pushBatch error:",e)}},on(e,t){var n;const{config:o,logger:r}=t,i=null==(n=o.settings)?void 0:n.on;if(i)try{new Function("type","context",i)(e,t)}catch(e){r.error("Code destination on error:",e)}}};function B(e){return!0===e?W:e}async function M(e,t,n){const{allowed:o,consent:r,globals:s,user:a}=e;if(!o)return H({ok:!1});t&&e.queue.push(t),n||(n=e.destinations);const c=await Promise.all(Object.entries(n||{}).map(async([n,o])=>{let c=(o.queue||[]).map(e=>({...e,consent:r}));if(o.queue=[],t){const e=l(t);c.push(e)}if(!c.length)return{id:n,destination:o,skipped:!0};const u=[],d=c.filter(e=>{const t=g(o.config.consent,r,e.consent);return!t||(e.consent=t,u.push(e),!1)});if(o.queue.concat(d),!u.length)return{id:n,destination:o,queue:c};if(!await O(F)(e,o))return{id:n,destination:o,queue:c};let f=!1;return o.dlq||(o.dlq=[]),await Promise.all(u.map(async t=>(t.globals=i(s,t.globals),t.user=i(a,t.user),await O(G,n=>{const r=o.type||"unknown";return e.logger.scope(r).error("Push failed",{error:n,event:t.name}),f=!0,o.dlq.push([t,n]),!1})(e,o,t),t))),{id:n,destination:o,error:f}})),u=[],d=[],f=[];for(const e of c){if(e.skipped)continue;const t=e.destination,n={id:e.id,destination:t};e.error?f.push(n):e.queue&&e.queue.length?(t.queue=(t.queue||[]).concat(e.queue),d.push(n)):u.push(n)}return H({ok:!f.length,event:t,successful:u,queued:d,failed:f})}async function F(e,t){if(t.init&&!t.config.init){const n=t.type||"unknown",o=e.logger.scope(n),r={collector:e,config:t.config,env:K(t.env,t.config.env),logger:o};o.debug("init");const i=await A(t.init,"DestinationInit",e.hooks)(r);if(!1===i)return i;t.config={...i||t.config,init:!0},o.debug("init done")}return!0}async function G(e,t,n){const{config:o}=t,r=await x(n,o,e);if(r.ignore)return!1;const i=t.type||"unknown",s=e.logger.scope(i),c={collector:e,config:o,data:r.data,mapping:r.mapping,env:K(t.env,o.env),logger:s},u=r.mapping,l=r.mappingKey||"* *";if((null==u?void 0:u.batch)&&t.pushBatch){if(t.batches=t.batches||{},!t.batches[l]){const n={key:l,events:[],data:[]};t.batches[l]={batched:n,batchFn:p(()=>{const n=t.batches[l].batched,r={collector:e,config:o,data:void 0,mapping:u,env:K(t.env,o.env),logger:s};s.debug("push batch",{events:n.events.length}),A(t.pushBatch,"DestinationPushBatch",e.hooks)(n,r),s.debug("push batch done"),n.events=[],n.data=[]},u.batch)}}const n=t.batches[l];n.batched.events.push(r.event),a(r.data)&&n.batched.data.push(r.data),n.batchFn()}else s.debug("push",{event:r.event.name}),await A(t.push,"DestinationPush",e.hooks)(r.event,c),s.debug("push done");return!0}function H(e){var t;return i({ok:!(null==(t=null==e?void 0:e.failed)?void 0:t.length),successful:[],queued:[],failed:[]},e)}function K(e,t){return e||t?t?e&&c(e)&&c(t)?{...e,...t}:t:e:{}}function J(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case U.Consent:r=o||e.consent;break;case U.Session:r=e.session;break;case U.Ready:case U.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&S(e.on)(t,r)}),Object.values(e.destinations).forEach(n=>{if(n.on){const o=n.type||"unknown",i=e.logger.scope(o).scope("on").scope(t),s={collector:e,config:n.config,data:r,env:K(n.env,n.config.env),logger:i};S(n.on)(t,s)}}),i.length)switch(t){case U.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{S(t[n])(e,o)})})}(e,i,o);break;case U.Ready:case U.Run:a=i,(s=e).allowed&&a.forEach(e=>{S(e)(s)});break;case U.Session:!function(e,t){e.session&&t.forEach(t=>{S(t)(e,e.session)})}(e,i)}var s,a}async function z(e,t,n,o){let r;switch(t){case U.Config:c(n)&&i(e.config,n,{shallow:!1});break;case U.Consent:c(n)&&(r=await async function(e,t){const{consent:n}=e;let o=!1;const r={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;r[e]=n,o=o||n}),e.consent=i(n,r),J(e,"consent",void 0,r),o?M(e):H({ok:!0})}(e,n));break;case U.Custom:c(n)&&(e.custom=i(e.custom,n));break;case U.Destination:c(n)&&function(e){return"function"==typeof e}(n.push)&&(r=await async function(e,t,n){const{code:o,config:r={},env:i={}}=t,s=n||r||{init:!1},a=B(o),c={...a,config:s,env:K(a.env,i)};let u=c.config.id;if(!u)do{u=m(4)}while(e.destinations[u]);return e.destinations[u]=c,!1!==c.config.queue&&(c.queue=[...e.queue]),M(e,void 0,{[u]:c})}(e,{code:n},o));break;case U.Globals:c(n)&&(e.globals=i(e.globals,n));break;case U.On:u(n)&&function(e,t,n){const o=e.on,r=o[t]||[],i=s(n)?n:[n];i.forEach(e=>{r.push(e)}),o[t]=r,J(e,t,i)}(e,n,o);break;case U.Ready:J(e,"ready");break;case U.Run:r=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queue=[]}),e.queue=[],e.round++;const n=await M(e);return J(e,"run"),n}(e,n);break;case U.Session:J(e,"session");break;case U.User:c(n)&&i(e.user,n,{shallow:!1})}return r||{ok:!0,successful:[],queued:[],failed:[]}}function Y(e,t){return A(async(n,o={})=>await O(async()=>{let r=n;if(o.mapping){const t=await x(r,o.mapping,e);if(t.ignore)return H({ok:!0});if(o.mapping.consent&&!g(o.mapping.consent,e.consent,t.event.consent))return H({ok:!0});r=t.event}const i=t(r),s=function(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");++e.count;const{timestamp:r=Date.now(),group:i=e.group,count:s=e.count}=t,{name:a=`${n} ${o}`,data:c={},context:u={},globals:l=e.globals,custom:d={},user:f=e.user,nested:g=[],consent:m=e.consent,id:p=`${r}-${i}-${s}`,trigger:h="",entity:y=n,action:b=o,timing:v=0,version:w={source:e.version,tagging:e.config.tagging||0},source:k={type:"collector",id:"",previous_id:""}}=t;return{name:a,data:c,context:u,globals:l,custom:d,user:f,nested:g,consent:m,id:p,trigger:h,entity:y,action:b,timestamp:r,timing:v,group:i,count:s,version:w,source:k}}(e,i);return await M(e,s)},()=>H({ok:!1}))(),"Push",e.hooks)}async function V(e){var t,n;const o=i({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),r=v({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},globals:s,group:"",hooks:{},logger:r,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"0.6.0",sources:{},push:void 0,command:void 0};return a.push=Y(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),a.command=(u=z,A(async(e,t,n)=>await O(async()=>await u(c,e,t,n),()=>H({ok:!1}))(),"Command",(c=a).hooks)),a.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,s=B(t),a={...s.config,...r},c=K(s.env,i);n[e]={...s,config:a,env:c}}return n}(0,e.destinations||{}),a;var c,u}async function Q(e){e=e||{};const t=await V(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return{ok:!1,successful:[],queued:[],failed:[]};a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}return r&&"object"==typeof r&&(a.context=r),i&&Array.isArray(i)&&(a.nested=i),s&&"object"==typeof s&&(a.custom=s),o.push(a)}});var o;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a}=r,c=(t,n={})=>e.push(t,{...n,mapping:i}),u=e.logger.scope("source").scope(o),l={push:c,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:u,...s},d=await O(t)(i,l);if(!d)continue;const f=d.type||"unknown",g=e.logger.scope(f).scope(o);l.logger=g,a&&(d.config={...d.config,primary:a}),n[o]=d}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:i,user:s,globals:a,custom:c}=e;i&&await t.command("consent",i),s&&await t.command("user",s),a&&Object.assign(t.globals,a),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),d=l.find(e=>e.config.primary);return d?u=d.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}var Z,ee=Object.defineProperty,te=(e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})},ne=Object.defineProperty;((e,t)=>{for(var n in t)ne(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>oe});var oe=((Z=oe||{})[Z.ERROR=0]="ERROR",Z[Z.INFO=1]="INFO",Z[Z.DEBUG=2]="DEBUG",Z),re={merge:!0,shallow:!0,extend:!0};function ie(e,t={},n={}){n={...re,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function se(e){return Array.isArray(e)}function ae(e){return e===document||e instanceof Element}function ce(e){return"object"==typeof e&&null!==e&&!se(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ue(e){return"string"==typeof e}function le(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function de(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function fe(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function ge(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function me(e,t,n,o=!0){return Se(C(t,ge(e,n,o))||"").reduce((e,n)=>{let[o,r]=Oe(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),se(e[o])||(e[o]=[]),e[o].push(le(r))):e[o]=le(r),e},{})}function pe(e=U.Prefix,t=document){const n=ge(e,U.Globals,!1);let o={};return Ee(t,`[${n}]`,t=>{o=ie(o,me(e,t,U.Globals,!1))}),o}function he(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=ke(r,`[${ge(e,o)}]`,e,o);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 ye(e){const t={};return Se(e).forEach(e=>{const[n,o]=Oe(e),[r,i]=je(n);if(!r)return;let[s,a]=je(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function be(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=ve(e,i,t,n);if(s&&(r.push(s),o))break;i=we(e,i)}return r}function ve(e,t,n,o){const r=C(t,ge(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${ge(e,r)}],[${ge(e,"")}]`,a=ge(e,U.Link,!1);let c={};const u=[],[l,d]=ke(n||t,s,e,r);Ee(t,`[${a}]`,t=>{const[n,o]=Oe(C(t,a));"parent"===o&&Ee(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=ve(e,t);n&&u.push(n)})});const f=[];i.forEach(e=>{e.matches(s)&&f.push(e),Ee(e,s,e=>f.push(e))});let g={};return f.forEach(t=>{g=ie(g,me(e,t,"")),c=ie(c,me(e,t,r))}),c=ie(ie(g,c),l),i.forEach(t=>{Ee(t,`[${ge(e)}]`,t=>{const n=ve(e,t);n&&u.push(n)})}),{entity:r,data:c,context:d,nested:u}}function we(e,t){const n=ge(e,U.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=Oe(C(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function ke(e,t,n,o){let r={};const i={};let s=e;const a=`[${ge(n,U.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=ie(me(n,s,""),r),r=ie(me(n,s,o),r)),s.matches(a)&&(Object.entries(me(n,s,U.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=we(n,s);return[r,i]}function Ee(e,t,n){e.querySelectorAll(t).forEach(n)}function Se(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function Oe(e){const[t,n]=e.split(/:(.+)/,2);return[fe(t),fe(n)]}function je(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var _e,xe=new WeakMap,Le=new WeakMap,Ae=new WeakMap;function Ce(e){const t=Date.now();let n=Le.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:R(e),lastChecked:t},Le.set(e,n)),n.isVisible}function $e(e){if(window.IntersectionObserver)return de(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=Ae.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=xe.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},xe.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&Ce(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(Ce(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Fe(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Ae.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),xe.delete(t),Le.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function qe(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=Ae.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Re(e){if(!e)return;const t=Ae.get(e);t&&(t.observer&&t.observer.disconnect(),Ae.delete(e))}function Pe(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(ue(t)&&t.startsWith("walker "))return a(t,n);if(ce(t)){const e=t;return e.source||(e.source=De()),e.globals||(e.globals=pe(c.prefix,c.scope||document)),a(e)}const[u]=String(ce(t)?t.name:t).split(" ");let l,d=ce(n)?n:{},f={},g=!1;if(ae(n)&&(l=n,g=!0),ae(r)?l=r:ce(r)&&Object.keys(r).length&&(f=r),l){const e=be(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(d=e.data),f=e.context)}"page"===u&&(d.id=d.id||window.location.pathname);const m=pe(c.prefix,c.scope);return a({name:String(t||""),data:d,context:f,globals:m,nested:i,custom:s,trigger:ue(o)?o:"",source:De()})}function De(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Ie=[],Ne="hover",Xe="load",Te="pulse",Ue="scroll",We="wait";function Be(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",de(function(t){He.call(this,e,t)})),n.addEventListener("submit",de(function(t){Ke.call(this,e,t)})))}(e,t)}function Me(e,t){t.scope&&function(e,t){const n=t.scope;Ie=[];const o=n||document;Re(o),function(e,t=1e3){Ae.has(e)||Ae.set(e,{observer:$e(e),timers:new WeakMap,duration:t})}(o,1e3);const r=ge(t.prefix,U.Action,!1);o!==document&&Ge(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{Ge(e,n,r,t)}),Ie.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Fe(t,e,Ue),1))});_e||(_e=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){Ie=n.call(t,Ie,e)}),t.addEventListener("scroll",_e))}(e,o)}(e,t)}async function Fe(e,t,n){const o=function(e,t,n=U.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=C(o,ge(e,U.Actions,!1));if(t){const e=ye(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=C(o,ge(e,U.Action,!1));if(r){const e=ye(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=we(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=Se(r.actionParams||"",",").reduce((e,t)=>(e[fe(t)]=!0,e),{}),a=be(n,e,s,i);if(!a.length){const t="page",o=`[${ge(n,t)}]`,[r,i]=ke(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}(t,n,e.settings.prefix);return Promise.all(o.map(t=>Pe(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ge(e,t,n,o){const r=C(t,n);r&&Object.values(ye(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case Ne:o=e,t.addEventListener("mouseenter",de(function(e){e.target instanceof Element&&Fe(o,e.target,Ne)}));break;case Xe:!function(e,t){Fe(e,t,Xe)}(e,t);break;case Te:!function(e,t,n=""){setInterval(()=>{document.hidden||Fe(e,t,Te)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Ue:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Ie.push([e,n])}(t,n.triggerParams);break;case"impression":qe(e,t);break;case"visible":qe(e,t,{multiple:!0});break;case We:!function(e,t,n=""){setTimeout(()=>Fe(e,t,We),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function He(e,t){Fe(e,t.target,"click")}function Ke(e,t){t.target&&Fe(e,t.target,"submit")}function Je(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=Ye(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],a=!ce(s)&&ue(s)&&s.startsWith("walker ");if(ce(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!ue(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{ze(e,t,n)})}function ze(e,t="data-elb",n){de(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||ue(o)&&""===o.trim())return;if(ue(o)&&o.startsWith("walker "))return void e(o,r[0]);Pe({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Ye(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function Ve(e,t={},n){return function(e={}){const{cb:t,consent:n,collector:o,storage:r}=e;if(!n)return P((r?X:T)(e),o,t);{const r=function(e,t){let n;return(o,r)=>{if(a(n)&&n===(null==o?void 0:o.group))return;n=null==o?void 0:o.group;let i=()=>T(e);return e.consent&&g((s(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),r)&&(i=()=>X(e)),P(i(),o,t)}}(e,t),i=(s(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{});o?o.command("on","consent",i):q("walker on","consent",i)}}({...t,collector:{push:e,group:void 0,command:n}})}te({},{env:()=>Qe});var Qe={};te(Qe,{push:()=>nt});var Ze=()=>{},et=()=>()=>Promise.resolve({ok:!0,successful:[],queued:[],failed:[]}),tt={error:Ze,info:Ze,debug:Ze,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>tt},nt={get push(){return et()},get command(){return et()},get elb(){return et()},get window(){return{addEventListener:Ze,removeEventListener:Ze,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Ze,removeEventListener:Ze,querySelector:Ze,querySelectorAll:()=>[],getElementById:Ze,getElementsByClassName:()=>[],getElementsByTagName:()=>[],createElement:()=>({setAttribute:Ze,getAttribute:Ze,addEventListener:Ze,removeEventListener:Ze}),body:{appendChild:Ze,removeChild:Ze},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:tt},ot=async(e,t)=>{const{elb:n,command:o,window:r,document:i}=t,s=(null==e?void 0:e.settings)||{},a=r||(void 0!==globalThis.window?globalThis.window:void 0),c=i||(void 0!==globalThis.document?globalThis.document:void 0),u=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(s,c),l={settings:u},d={elb:n,settings:u};if(a&&c){if(!1!==u.elbLayer&&n&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||window;if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(Ye(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return ze(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{ze(e,t.prefix,n)}),o},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)}(n,{name:ue(u.elbLayer)?u.elbLayer:"elbLayer",prefix:u.prefix,window:a}),u.session&&n){const e="boolean"==typeof u.session?{}:u.session;Ve(n,e,o)}await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(Be,d,u),(()=>{if(Me(d,u),u.pageview){const[e,t]=he(u.prefix||"data-elb",u.scope);Pe(d,"page view",e,"load",t)}})(),ue(u.elb)&&u.elb&&(a[u.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return Pe(d,t,n,o,r,i,s)})}return{type:"browser",config:l,push:(...e)=>{const[t,n,o,r,i,s]=e;return Pe(d,t,n,o,r,i,s)},destroy:async()=>{c&&Re(u.scope||c)},on:async(e,t)=>{switch(e){case"consent":if(u.session&&t&&n){const e="boolean"==typeof u.session?{}:u.session;Ve(n,e,o)}break;case"session":case"ready":default:break;case"run":if(c&&a&&(Me(d,u),u.pageview)){const[e,t]=he(u.prefix||"data-elb",u.scope);Pe(d,"page view",e,"load",t)}}}}},rt=Object.defineProperty,it=(e,t)=>{for(var n in t)rt(e,n,{get:t[n],enumerable:!0})},st=!1;function at(e,t={},n){if(t.filter&&!0===S(()=>t.filter(n),()=>!1)())return;const o=function(e){if(c(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}return s(e)&&e.length>=2?ct(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?ct(Array.from(e)):null;var t}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:i,...a}=o,l={name:r,data:a};S(()=>e(l),()=>{})()}function ct(e){const[t,n,o]=e;if(!u(t))return null;let r,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!c(o)||null===o)return null;r=`${t} ${n}`,i={...o};break;case"event":if(!u(n))return null;r=n,c(o)&&(i={...o});break;case"config":if(!u(n))return null;r=`${t} ${n}`,c(o)&&(i={...o});break;case"set":if(u(n))r=`${t} ${n}`,c(o)&&(i={...o});else{if(!c(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}it({},{push:()=>ft});var ut=()=>{},lt=()=>()=>Promise.resolve({ok:!0,successful:[],queued:[],failed:[]}),dt={error:ut,info:ut,debug:ut,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>dt},ft={get push(){return lt()},get command(){return lt()},get elb(){return lt()},get window(){return{dataLayer:[],addEventListener:ut,removeEventListener:ut}},logger:dt};function gt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function mt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function pt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function ht(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function yt(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function bt(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function vt(){return["set",{currency:"EUR",country:"DE"}]}function wt(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}it({},{add_to_cart:()=>ht,config:()=>bt,consentDefault:()=>mt,consentUpdate:()=>gt,directDataLayerEvent:()=>wt,purchase:()=>pt,setCustom:()=>vt,view_item:()=>yt});it({},{add_to_cart:()=>St,config:()=>xt,configGA4:()=>jt,consentOnlyMapping:()=>Lt,consentUpdate:()=>kt,customEvent:()=>_t,purchase:()=>Et,view_item:()=>Ot});var kt={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},Et={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},St={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Ot={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},jt={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},_t={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},xt={consent:{update:kt},purchase:Et,add_to_cart:St,view_item:Ot,"config G-XXXXXXXXXX":jt,custom_event:_t,"*":{data:{}}},Lt={consent:{update:kt}},At=async(e,t)=>{const{elb:n,window:o}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};return o&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!st){st=!0;try{for(const t of r)at(e,n,t)}finally{st=!1}}}(n,i),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(st)return i(...t);st=!0;try{for(const o of t)at(e,n,o)}finally{st=!1}return i(...t)}}(n,i)),{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=r.name||"dataLayer";o&&o[e]&&Array.isArray(o[e])}}};function Ct(){window.dataLayer=window.dataLayer||[];const e=e=>{c(e)&&c(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}if(window&&document){const e=async()=>{let e;const t=document.querySelector("script[data-elbconfig]");if(t){const n=t.getAttribute("data-elbconfig")||"";n.includes(":")?e=$(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(e={}){const t=i({collector:{destinations:{dataLayer:{code:Ct()}}},browser:{session:!0},dataLayer:!1,elb:"elb",run:!0},e),n={...t.collector,sources:{browser:{code:ot,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=c(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:At,config:{settings:e}})}const o=await Q(n);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o.elb),t.name&&(window[t.name]=o.collector)),o}(e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}})();
1
+ "use strict";(()=>{var e=Object.defineProperty;((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{Level:()=>n});var t,n=((t=n||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},r={merge:!0,shallow:!0,extend:!0};function i(e,t={},n={}){n={...r,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function s(e){return Array.isArray(e)}function c(e){return void 0!==e}function a(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function l(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=l(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(l(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function f(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&s(r)){const t=o.slice(e+1).join("."),i=[];for(const e of r){const o=f(e,t,n);i.push(o)}return i}if(r=r instanceof Object?r[t]:void 0,!r)break}return c(r)?r:n}function d(e,t,n){if(!a(e))return e;const o=l(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}function g(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function p(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(c=>{const a=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),c(o))},t),a&&(i=!0,o=e(...s),c(o))})}function h(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function y(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=h(e)):n=e,void 0!==t&&(t instanceof Error?o.error=h(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=h(o.error))):o.value=t),{message:n,context:o}}var b=(e,t,o,r)=>{const i=`${n[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(o).length>0;0===e?s?console.error(i,t,o):console.error(i,t):s?console.log(i,t,o):console.log(i,t)};function v(e={}){return w({level:void 0!==e.level?(t=e.level,"string"==typeof t?n[t]:t):0,handler:e.handler,scope:[]});var t}function w(e){const{level:t,handler:n,scope:o}=e,r=(e,r,i)=>{if(e<=t){const t=y(r,i);n?n(e,t.message,t.context,o,b):b(e,t.message,t.context,o)}};return{error:(e,t)=>r(0,e,t),info:(e,t)=>r(1,e,t),debug:(e,t)=>r(2,e,t),throw:(e,t)=>{const r=y(e,t);throw n?n(0,r.message,r.context,o,b):b(0,r.message,r.context,o),new Error(r.message)},scope:e=>w({level:t,handler:n,scope:[...o,e]})}}function k(e){return function(e){return"boolean"==typeof e}(e)||u(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||s(e)&&e.every(k)||a(e)&&Object.values(e).every(k)}function E(e){return k(e)?e:void 0}function O(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function j(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function S(e,t={},n={}){var o;if(!c(e))return;const r=a(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(t)?t:[t];for(const t of i){const o=await j(x)(e,t,{...n,consent:r});if(c(o))return o}}async function x(e,t,n={}){const{collector:o,consent:r}=n;return(s(t)?t:[t]).reduce(async(t,i)=>{const a=await t;if(a)return a;const l=u(i)?{key:i}:i;if(!Object.keys(l).length)return;const{condition:d,consent:m,fn:p,key:h,loop:y,map:b,set:v,validate:w,value:k}=l;if(d&&!await j(d)(e,i,o))return;if(m&&!g(m,r))return k;let O=c(k)?k:e;if(p&&(O=await j(p)(e,i,n)),h&&(O=f(e,h,k)),y){const[t,o]=y,r="this"===t?[e]:await S(e,t,n);s(r)&&(O=(await Promise.all(r.map(e=>S(e,o,n)))).filter(c))}else b?O=await Object.entries(b).reduce(async(t,[o,r])=>{const i=await t,s=await S(e,r,n);return c(s)&&(i[o]=s),i},Promise.resolve({})):v&&(O=await Promise.all(v.map(t=>x(e,t,n))));w&&!await j(w)(O)&&(O=void 0);const _=E(O);return c(_)?_:E(k)},Promise.resolve(void 0))}async function _(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));const{eventMapping:o,mappingKey:r}=await async function(e,t){var n;const[o,r]=(e.name||"").split(" ");if(!t||!o||!r)return{};let i,c="",a=o,u=r;const l=t=>{if(t)return(t=s(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[a]||(a="*");const f=t[a];return f&&(f[u]||(u="*"),i=l(f[u])),i||(a="*",u="*",i=l(null==(n=t[a])?void 0:n[u])),i&&(c=`${a} ${u}`),{eventMapping:i,mappingKey:c}}(e,t.mapping);(null==o?void 0:o.policy)&&await Promise.all(Object.entries(o.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));let c=t.data&&await S(e,t.data,{collector:n});if(o){if(o.ignore)return{event:e,data:c,mapping:o,mappingKey:r,ignore:!0};if(o.name&&(e.name=o.name),o.data){const t=o.data&&await S(e,o.data,{collector:n});c=a(c)&&a(t)?i(c,t):t}}return{event:e,data:c,mapping:o,mappingKey:r,ignore:!1}}function L(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function A(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],c=n[i];return r=s?s({fn:e},...o):e(...o),c&&(r=c({fn:e,result:r},...o)),r}}function C(e,t){return(e.getAttribute(t)||"").trim()}function $(e){const t={};return function(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}(e).forEach(e=>{const[n,o]=function(e){const[t,n]=e.split(/:(.+)/,2);return[L(t||""),L(n||"")]}(e);n&&("true"===o?t[n]=!0:"false"===o?t[n]=!1:o&&/^\d+$/.test(o)?t[n]=parseInt(o,10):o&&/^\d+\.\d+$/.test(o)?t[n]=parseFloat(o):t[n]=o||!0)}),t}var P=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function R(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 o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,c=s+i,a={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.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=o/2;if(s<0&&c<e)return!1;if(c>o&&s>e)return!1;n=document.elementFromPoint(a.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function q(e,t,n){return!1===n?e:(n||(n=I),n(e,t,I))}var I=(e,t)=>{const n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t?t.command("user",n):P("walker user",n),e.isStart&&(t?t.push({name:"session start",data:e}):P({name:"session start",data:e})),e};function D(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:N(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function N(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},c=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let o=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(o+="; domain="+i),document.cookie=o;break}case o.Storage.Local:window.localStorage.setItem(e,c);break;case o.Storage.Session:window.sessionStorage.setItem(e,c)}return D(e,r)}function T(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:c="local",pulse:a=!1}=e,u=X(e);let l=!1;const f=O((e,t,n)=>{let o=D(e,n);return o||(o=m(8),N(e,o,1440*t,n)),String(o)})(o,i,r),d=O((e,o)=>{const r=JSON.parse(String(D(e,o)));return a||(r.isNew=!1,u.marketing&&(Object.assign(r,u),l=!0),l||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,l=!0):r.runs++),r},()=>{l=!0})(s,c)||{},g={id:m(12),start:t,isNew:!0,count:1,runs:1},p=Object.assign(g,u,d,{device:f},{isStart:l,storage:!0,updated:t},e.data);return N(s,JSON.stringify(p),2*n,c),p}function X(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 o=new URL(e.url||window.location.href),r=e.referrer||document.referrer,s=r&&new URL(r).hostname,c=function(e,t={}){const n="clickId",o={},r={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(i(r,t)).forEach(([t,r])=>{const i=e.searchParams.get(t);i&&(r===n&&(r=t,o[n]=t),o[r]=i)}),o}(o,e.parameters);if(Object.keys(c).length&&(c.marketing||(c.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(o.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:s},c,e.data):n}var U={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"},W={type:"code",config:{},init(e){const{config:t,logger:n}=e,o=t.settings,r=null==o?void 0:o.scripts;if(r&&"undefined"!=typeof document)for(const e of r){const t=document.createElement("script");t.src=e,t.async=!0,document.head.appendChild(t)}const i=null==o?void 0:o.init;if(i)try{new Function("context",i)(e)}catch(e){n.error("Code destination init error:",e)}},push(e,t){var n,o;const{rule:r,config:i,logger:s}=t,c=null!=(o=null==r?void 0:r.push)?o:null==(n=i.settings)?void 0:n.push;if(c)try{new Function("event","context",c)(e,t)}catch(e){s.error("Code destination push error:",e)}},pushBatch(e,t){var n,o;const{rule:r,config:i,logger:s}=t,c=null!=(o=null==r?void 0:r.pushBatch)?o:null==(n=i.settings)?void 0:n.pushBatch;if(c)try{new Function("batch","context",c)(e,t)}catch(e){s.error("Code destination pushBatch error:",e)}},on(e,t){var n;const{config:o,logger:r}=t,i=null==(n=o.settings)?void 0:n.on;if(i)try{new Function("type","context",i)(e,t)}catch(e){r.error("Code destination on error:",e)}}};function B(e,t={}){if(!e)return[];const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);)o.add(r),n.push(r),r=t[r].next;return n}async function M(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),i={collector:e,logger:r,id:n,config:t.config,env:H(t.config.env)};r.debug("init");const s=await A(t.init,"TransformerInit",e.hooks)(i);if(!1===s)return!1;t.config={...s||t.config,init:!0},r.debug("init done")}return!0}async function F(e,t,n,o,r){const i=t.type||"unknown",s=e.logger.scope(`transformer:${i}`),c={collector:e,logger:s,id:n,ingest:r,config:t.config,env:H(t.config.env)};s.debug("push",{event:o.name});const a=await A(t.push,"TransformerPush",e.hooks)(o,c);return s.debug("push done"),a}async function G(e,t,n,o,r){let i=o;for(const o of n){const n=t[o];if(!n){e.logger.info(`Transformer not found: ${o}`);continue}if(!await j(M)(e,n,o))return e.logger.info(`Transformer init failed: ${o}`),null;const s=await j(F,t=>(e.logger.scope(`transformer:${n.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,n,o,i,r);if(!1===s)return null;void 0!==s&&(i=s)}return i}function H(e){return e&&a(e)?e:{}}function K(e){return!0===e?W:e}async function J(e,t,n={},o){const{allowed:r,consent:s,globals:c,user:a}=e;if(!r)return V({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const u=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var u,f;let d=(r.queue||[]).map(e=>({...e,consent:s}));if(r.queue=[],t){const e=l(t);d.push(e)}if(!d.length)return{id:o,destination:r,skipped:!0};const m=[],p=d.filter(e=>{const t=g(r.config.consent,s,e.consent);return!t||(e.consent=t,m.push(e),!1)});if(r.queue.concat(p),!m.length)return{id:o,destination:r,queue:d};if(!await j(z)(e,r,o))return{id:o,destination:r,queue:d};let h,y;r.dlq||(r.dlq=[]);const b=(null==(f=null==(u=e.transformerChain)?void 0:u.post)?void 0:f[o])||[];return await Promise.all(m.map(async t=>{t.globals=i(c,t.globals),t.user=i(a,t.user);let s=t;if(b.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await G(e,e.transformers,b,t,n.ingest);if(null===o)return t;s=o}const u=await j(Y,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:s.name}),h=t,r.dlq.push([s,t])})(e,r,o,s,n.ingest);return void 0!==u&&(y=u),t})),{id:o,destination:r,error:h,response:y}})),f={},d={},m={};for(const e of u){if(e.skipped)continue;const t=e.destination,n={type:t.type||"unknown",data:e.response};e.error?(n.error=e.error,m[e.id]=n):e.queue&&e.queue.length?(t.queue=(t.queue||[]).concat(e.queue),d[e.id]=n):f[e.id]=n}return V({event:t,...Object.keys(f).length&&{done:f},...Object.keys(d).length&&{queued:d},...Object.keys(m).length&&{failed:m}})}async function z(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(o),i={collector:e,logger:r,id:n,config:t.config,env:Q(t.env,t.config.env)};r.debug("init");const s=await A(t.init,"DestinationInit",e.hooks)(i);if(!1===s)return s;t.config={...s||t.config,init:!0},r.debug("init done")}return!0}async function Y(e,t,n,o,r){const{config:i}=t,s=await _(o,i,e);if(s.ignore)return!1;const a=t.type||"unknown",u=e.logger.scope(a),l={collector:e,logger:u,id:n,config:i,data:s.data,rule:s.mapping,ingest:r,env:Q(t.env,i.env)},f=s.mapping,d=s.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch){u.debug("push",{event:s.event.name});const n=await A(t.push,"DestinationPush",e.hooks)(s.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:p(()=>{const o=t.batches[d].batched,s={collector:e,logger:u,id:n,config:i,data:void 0,rule:f,ingest:r,env:Q(t.env,i.env)};u.debug("push batch",{events:o.events.length}),A(t.pushBatch,"DestinationPushBatch",e.hooks)(o,s),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(s.event),c(s.data)&&o.batched.data.push(s.data),o.batchFn()}return!0}function V(e){return{ok:!(null==e?void 0:e.failed),...e}}function Q(e,t){return e||t?t?e&&a(e)&&a(t)?{...e,...t}:t:e:{}}function Z(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case U.Consent:r=o||e.consent;break;case U.Session:r=e.session;break;case U.Ready:case U.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&O(e.on)(t,r)}),Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){const i=o.type||"unknown",s=e.logger.scope(i).scope("on").scope(t),c={collector:e,logger:s,id:n,config:o.config,data:r,env:Q(o.env,o.config.env)};O(o.on)(t,c)}}),i.length)switch(t){case U.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{O(t[n])(e,o)})})}(e,i,o);break;case U.Ready:case U.Run:c=i,(s=e).allowed&&c.forEach(e=>{O(e)(s)});break;case U.Session:!function(e,t){e.session&&t.forEach(t=>{O(t)(e,e.session)})}(e,i)}var s,c}async function ee(e,t,n,o){let r;switch(t){case U.Config:a(n)&&i(e.config,n,{shallow:!1});break;case U.Consent:a(n)&&(r=await async function(e,t){const{consent:n}=e;let o=!1;const r={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;r[e]=n,o=o||n}),e.consent=i(n,r),Z(e,"consent",void 0,r),o?J(e):V({ok:!0})}(e,n));break;case U.Custom:a(n)&&(e.custom=i(e.custom,n));break;case U.Destination:a(n)&&function(e){return"function"==typeof e}(n.push)&&(r=await async function(e,t,n){const{code:o,config:r={},env:i={}}=t,s=n||r||{init:!1},c=K(o),a={...c,config:s,env:Q(c.env,i)};let u=a.config.id;if(!u)do{u=m(4)}while(e.destinations[u]);return e.destinations[u]=a,!1!==a.config.queue&&(a.queue=[...e.queue]),J(e,void 0,{},{[u]:a})}(e,{code:n},o));break;case U.Globals:a(n)&&(e.globals=i(e.globals,n));break;case U.On:u(n)&&function(e,t,n){const o=e.on,r=o[t]||[],i=s(n)?n:[n];i.forEach(e=>{r.push(e)}),o[t]=r,Z(e,t,i)}(e,n,o);break;case U.Ready:Z(e,"ready");break;case U.Run:r=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queue=[]}),e.queue=[],e.round++;const n=await J(e);return Z(e,"run"),n}(e,n);break;case U.Session:Z(e,"session");break;case U.User:a(n)&&i(e.user,n,{shallow:!1})}return r||V({ok:!0})}function te(e,t){return A(async(n,o={})=>await j(async()=>{const{id:r,ingest:i,mapping:s,preChain:c}=o;let a=n;const u=i?Object.freeze(i):void 0;if(s){const t=await _(a,s,e);if(t.ignore)return V({ok:!0});if(s.consent&&!g(s.consent,e.consent,t.event.consent))return V({ok:!0});a=t.event}if((null==c?void 0:c.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await G(e,e.transformers,c,a,u);if(null===t)return V({ok:!0});a=t}const l=t(a),f=function(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");++e.count;const{timestamp:r=Date.now(),group:i=e.group,count:s=e.count}=t,{name:c=`${n} ${o}`,data:a={},context:u={},globals:l=e.globals,custom:f={},user:d=e.user,nested:g=[],consent:m=e.consent,id:p=`${r}-${i}-${s}`,trigger:h="",entity:y=n,action:b=o,timing:v=0,version:w={source:e.version,tagging:e.config.tagging||0},source:k={type:"collector",id:"",previous_id:""}}=t;return{name:c,data:a,context:u,globals:l,custom:f,user:d,nested:g,consent:m,id:p,trigger:h,entity:y,action:b,timestamp:r,timing:v,group:i,count:s,version:w,source:k}}(e,l);return await J(e,f,{id:r,ingest:u})},()=>V({ok:!1}))(),"Push",e.hooks)}async function ne(e){var t,n;const o=i({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),r=v({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},c={allowed:!1,config:o,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},transformers:{},transformerChain:{pre:[],post:{}},globals:s,group:"",hooks:{},logger:r,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"0.9.0",sources:{},push:void 0,command:void 0};return c.push=te(c,e=>({timing:Math.round((Date.now()-c.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),c.command=(u=ee,A(async(e,t,n)=>await j(async()=>await u(a,e,t,n),()=>V({ok:!1}))(),"Command",(a=c).hooks)),c.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,s=K(t),c={...s.config,...r},a=Q(s.env,i);n[e]={...s,config:c,env:a}}return n}(0,e.destinations||{}),c.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={}}=r,c=e.logger.scope("transformer").scope(o),a={collector:e,logger:c,id:o,config:i,env:s},u=await t(a);n[o]=u}return n}(c,e.transformers||{}),c;var a,u}function oe(e){const t={};for(const[n,o]of Object.entries(e))t[n]={next:o.config.next};return t}async function re(e){e=e||{};const t=await ne(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let c;if("string"==typeof e)c={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(c.data=t);else{if(!e||"object"!=typeof e)return V({ok:!1});c=e,t&&"object"==typeof t&&!Array.isArray(t)&&(c.data={...c.data||{},...t})}return r&&"object"==typeof r&&(c.context=r),i&&Array.isArray(i)&&(c.nested=i),s&&"object"==typeof s&&(c.custom=s),o.push(c)}});var o;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:c,next:a}=r;let u;const l=B(a,oe(e.transformers)),f=(t,n={})=>e.push(t,{...n,id:o,ingest:u,mapping:i,preChain:l}),d=e.logger.scope("source").scope(o),g={push:f,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:d,...s},m={collector:e,logger:d,id:o,config:i,env:g,setIngest:async t=>{u=i.ingest?await S(t,i.ingest,{collector:e}):void 0}},p=await j(t)(m);if(!p)continue;const h=p.type||"unknown",y=e.logger.scope(h).scope(o);g.logger=y,c&&(p.config={...p.config,primary:c}),n[o]=p}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:i,user:s,globals:c,custom:a}=e;i&&await t.command("consent",i),s&&await t.command("user",s),c&&Object.assign(t.globals,c),a&&Object.assign(t.custom,a),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}var ie,se=Object.defineProperty,ce=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},ae=Object.defineProperty;((e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>ue});var ue=((ie=ue||{})[ie.ERROR=0]="ERROR",ie[ie.INFO=1]="INFO",ie[ie.DEBUG=2]="DEBUG",ie),le={merge:!0,shallow:!0,extend:!0};function fe(e,t={},n={}){n={...le,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function de(e){return Array.isArray(e)}function ge(e){return e===document||e instanceof Element}function me(e){return"object"==typeof e&&null!==e&&!de(e)&&"[object Object]"===Object.prototype.toString.call(e)}function pe(e){return"string"==typeof e}function he(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function ye(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function be(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function ve(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function we(e,t,n,o=!0){return Ae(C(t,ve(e,n,o))||"").reduce((e,n)=>{let[o,r]=Ce(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),de(e[o])||(e[o]=[]),e[o].push(he(r))):e[o]=he(r),e},{})}function ke(e=U.Prefix,t=document){const n=ve(e,U.Globals,!1);let o={};return Le(t,`[${n}]`,t=>{o=fe(o,we(e,t,U.Globals,!1))}),o}function Ee(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=_e(r,`[${ve(e,o)}]`,e,o);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 Oe(e){const t={};return Ae(e).forEach(e=>{const[n,o]=Ce(e),[r,i]=$e(n);if(!r)return;let[s,c]=$e(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:c})}),t}function je(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=Se(e,i,t,n);if(s&&(r.push(s),o))break;i=xe(e,i)}return r}function Se(e,t,n,o){const r=C(t,ve(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${ve(e,r)}],[${ve(e,"")}]`,c=ve(e,U.Link,!1);let a={};const u=[],[l,f]=_e(n||t,s,e,r);Le(t,`[${c}]`,t=>{const[n,o]=Ce(C(t,c));"parent"===o&&Le(document.body,`[${c}="${n}:child"]`,t=>{i.push(t);const n=Se(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),Le(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=fe(g,we(e,t,"")),a=fe(a,we(e,t,r))}),a=fe(fe(g,a),l),i.forEach(t=>{Le(t,`[${ve(e)}]`,t=>{const n=Se(e,t);n&&u.push(n)})}),{entity:r,data:a,context:f,nested:u}}function xe(e,t){const n=ve(e,U.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=Ce(C(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function _e(e,t,n,o){let r={};const i={};let s=e;const c=`[${ve(n,U.Context,!1)}]`;let a=0;for(;s;)s.matches(t)&&(r=fe(we(n,s,""),r),r=fe(we(n,s,o),r)),s.matches(c)&&(Object.entries(we(n,s,U.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,a])}),++a),s=xe(n,s);return[r,i]}function Le(e,t,n){e.querySelectorAll(t).forEach(n)}function Ae(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function Ce(e){const[t,n]=e.split(/:(.+)/,2);return[be(t),be(n)]}function $e(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Pe,Re=new WeakMap,qe=new WeakMap,Ie=new WeakMap;function De(e){const t=Date.now();let n=qe.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:R(e),lastChecked:t},qe.set(e,n)),n.isVisible}function Ne(e){if(window.IntersectionObserver)return ye(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=Ie.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let c=Re.get(r);if((!c||o-c.lastChecked>1e3)&&(c={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},Re.set(r,c)),t.intersectionRatio>=.5||c.isLarge&&De(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(De(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Ye(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Ie.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),Re.delete(t),qe.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const c=null==(o=i.elementConfigs)?void 0:o.get(r);(null==c?void 0:c.multiple)&&(c.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function Te(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=Ie.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Xe(e){if(!e)return;const t=Ie.get(e);t&&(t.observer&&t.observer.disconnect(),Ie.delete(e))}function Ue(e,t,n,o,r,i,s){const{elb:c,settings:a}=e;if(pe(t)&&t.startsWith("walker "))return c(t,n);if(me(t)){const e=t;return e.source||(e.source=We()),e.globals||(e.globals=ke(a.prefix,a.scope||document)),c(e)}const[u]=String(me(t)?t.name:t).split(" ");let l,f=me(n)?n:{},d={},g=!1;if(ge(n)&&(l=n,g=!0),ge(r)?l=r:me(r)&&Object.keys(r).length&&(d=r),l){const e=je(a.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=ke(a.prefix,a.scope);return c({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:pe(o)?o:"",source:We()})}function We(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Be=[],Me="hover",Fe="load",Ge="pulse",He="scroll",Ke="wait";function Je(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",ye(function(t){Qe.call(this,e,t)})),n.addEventListener("submit",ye(function(t){Ze.call(this,e,t)})))}(e,t)}function ze(e,t){t.scope&&function(e,t){const n=t.scope;Be=[];const o=n||document;Xe(o),function(e,t=1e3){Ie.has(e)||Ie.set(e,{observer:Ne(e),timers:new WeakMap,duration:t})}(o,1e3);const r=ve(t.prefix,U.Action,!1);o!==document&&Ve(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{Ve(e,n,r,t)}),Be.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Ye(t,e,He),1))});Pe||(Pe=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){Be=n.call(t,Be,e)}),t.addEventListener("scroll",Pe))}(e,o)}(e,t)}async function Ye(e,t,n){const o=function(e,t,n=U.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=C(o,ve(e,U.Actions,!1));if(t){const e=Oe(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=C(o,ve(e,U.Action,!1));if(r){const e=Oe(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=xe(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=Ae(r.actionParams||"",",").reduce((e,t)=>(e[be(t)]=!0,e),{}),c=je(n,e,s,i);if(!c.length){const t="page",o=`[${ve(n,t)}]`,[r,i]=_e(e,o,n,t);c.push({entity:t,data:r,nested:[],context:i})}c.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}(t,n,e.settings.prefix);return Promise.all(o.map(t=>Ue(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ve(e,t,n,o){const r=C(t,n);r&&Object.values(Oe(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case Me:o=e,t.addEventListener("mouseenter",ye(function(e){e.target instanceof Element&&Ye(o,e.target,Me)}));break;case Fe:!function(e,t){Ye(e,t,Fe)}(e,t);break;case Ge:!function(e,t,n=""){setInterval(()=>{document.hidden||Ye(e,t,Ge)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case He:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Be.push([e,n])}(t,n.triggerParams);break;case"impression":Te(e,t);break;case"visible":Te(e,t,{multiple:!0});break;case Ke:!function(e,t,n=""){setTimeout(()=>Ye(e,t,Ke),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function Qe(e,t){Ye(e,t.target,"click")}function Ze(e,t){t.target&&Ye(e,t.target,"submit")}function et(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=nt(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=!me(s)&&pe(s)&&s.startsWith("walker ");if(me(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!pe(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&c||!o&&!c)&&r.push(t)}),r.forEach(n=>{tt(e,t,n)})}function tt(e,t="data-elb",n){ye(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||pe(o)&&""===o.trim())return;if(pe(o)&&o.startsWith("walker "))return void e(o,r[0]);Ue({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function nt(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function ot(e,t={},n){return function(e={}){const{cb:t,consent:n,collector:o,storage:r}=e;if(!n)return q((r?T:X)(e),o,t);{const r=function(e,t){let n;return(o,r)=>{if(c(n)&&n===(null==o?void 0:o.group))return;n=null==o?void 0:o.group;let i=()=>X(e);return e.consent&&g((s(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),r)&&(i=()=>T(e)),q(i(),o,t)}}(e,t),i=(s(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{});o?o.command("on","consent",i):P("walker on","consent",i)}}({...t,collector:{push:e,group:void 0,command:n}})}ce({},{env:()=>rt});var rt={};ce(rt,{push:()=>at});var it=()=>{},st=()=>()=>Promise.resolve({ok:!0}),ct={error:it,info:it,debug:it,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>ct},at={get push(){return st()},get command(){return st()},get elb(){return st()},get window(){return{addEventListener:it,removeEventListener:it,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:it,removeEventListener:it,querySelector:it,querySelectorAll:()=>[],getElementById:it,getElementsByClassName:()=>[],getElementsByTagName:()=>[],createElement:()=>({setAttribute:it,getAttribute:it,addEventListener:it,removeEventListener:it}),body:{appendChild:it,removeChild:it},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:ct},ut=async e=>{const{config:t,env:n}=e,{elb:o,command:r,window:i,document:s}=n,c=(null==t?void 0:t.settings)||{},a=i||(void 0!==globalThis.window?globalThis.window:void 0),u=s||(void 0!==globalThis.document?globalThis.document:void 0),l=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(c,u),f={settings:l},d={elb:o,settings:l};if(a&&u){if(!1!==l.elbLayer&&o&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||window;if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(nt(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return tt(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{tt(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){et(e,t,n,!0),et(e,t,n,!1),n.length=0}(e,t.prefix,i)}(o,{name:pe(l.elbLayer)?l.elbLayer:"elbLayer",prefix:l.prefix,window:a}),l.session&&o){const e="boolean"==typeof l.session?{}:l.session;ot(o,e,r)}await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(Je,d,l),(()=>{if(ze(d,l),l.pageview){const[e,t]=Ee(l.prefix||"data-elb",l.scope);Ue(d,"page view",e,"load",t)}})(),pe(l.elb)&&l.elb&&(a[l.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return Ue(d,t,n,o,r,i,s)})}return{type:"browser",config:f,push:(...e)=>{const[t,n,o,r,i,s]=e;return Ue(d,t,n,o,r,i,s)},destroy:async()=>{u&&Xe(l.scope||u)},on:async(e,t)=>{switch(e){case"consent":if(l.session&&t&&o){const e="boolean"==typeof l.session?{}:l.session;ot(o,e,r)}break;case"session":case"ready":default:break;case"run":if(u&&a&&(ze(d,l),l.pageview)){const[e,t]=Ee(l.prefix||"data-elb",l.scope);Ue(d,"page view",e,"load",t)}}}}},lt=Object.defineProperty,ft=(e,t)=>{for(var n in t)lt(e,n,{get:t[n],enumerable:!0})},dt=!1;function gt(e,t={},n){if(t.filter&&!0===O(()=>t.filter(n),()=>!1)())return;const o=function(e){if(a(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}return s(e)&&e.length>=2?mt(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?mt(Array.from(e)):null;var t}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:i,...c}=o,l={name:r,data:c};O(()=>e(l),()=>{})()}function mt(e){const[t,n,o]=e;if(!u(t))return null;let r,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!a(o)||null===o)return null;r=`${t} ${n}`,i={...o};break;case"event":if(!u(n))return null;r=n,a(o)&&(i={...o});break;case"config":if(!u(n))return null;r=`${t} ${n}`,a(o)&&(i={...o});break;case"set":if(u(n))r=`${t} ${n}`,a(o)&&(i={...o});else{if(!a(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}ft({},{push:()=>bt});var pt=()=>{},ht=()=>()=>Promise.resolve({ok:!0}),yt={error:pt,info:pt,debug:pt,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>yt},bt={get push(){return ht()},get command(){return ht()},get elb(){return ht()},get window(){return{dataLayer:[],addEventListener:pt,removeEventListener:pt}},logger:yt};function vt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function wt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function kt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function Et(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function Ot(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function jt(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function St(){return["set",{currency:"EUR",country:"DE"}]}function xt(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}ft({},{add_to_cart:()=>Et,config:()=>jt,consentDefault:()=>wt,consentUpdate:()=>vt,directDataLayerEvent:()=>xt,purchase:()=>kt,setCustom:()=>St,view_item:()=>Ot});ft({},{add_to_cart:()=>At,config:()=>Rt,configGA4:()=>$t,consentOnlyMapping:()=>qt,consentUpdate:()=>_t,customEvent:()=>Pt,purchase:()=>Lt,view_item:()=>Ct});var _t={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},Lt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},At={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Ct={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},$t={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Pt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},Rt={consent:{update:_t},purchase:Lt,add_to_cart:At,view_item:Ct,"config G-XXXXXXXXXX":$t,custom_event:Pt,"*":{data:{}}},qt={consent:{update:_t}},It=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,i={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},s={settings:i};return r&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!dt){dt=!0;try{for(const t of r)gt(e,n,t)}finally{dt=!1}}}(o,s),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(dt)return i(...t);dt=!0;try{for(const o of t)gt(e,n,o)}finally{dt=!1}return i(...t)}}(o,s)),{type:"dataLayer",config:s,push:o,destroy:async()=>{const e=i.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}};function Dt(){window.dataLayer=window.dataLayer||[];const e=e=>{a(e)&&a(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}if(window&&document){const e=async()=>{let e;const t=document.querySelector("script[data-elbconfig]");if(t){const n=t.getAttribute("data-elbconfig")||"";n.includes(":")?e=$(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(e={}){const t=i({collector:{destinations:{dataLayer:{code:Dt()}}},browser:{session:!0},dataLayer:!1,elb:"elb",run:!0},e),n={...t.collector,sources:{browser:{code:ut,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=a(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:It,config:{settings:e}})}const o=await re(n);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o.elb),t.name&&(window[t.name]=o.collector)),o}(e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@walkeros/walker.js",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Ready-to-use walkerOS bundle with browser source, collector, and dataLayer support",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -33,16 +33,16 @@
33
33
  "build": "tsup",
34
34
  "test": "jest --colors --coverage",
35
35
  "dev": "jest --watchAll --colors",
36
- "lint": "tsc && eslint \"**/*.ts*\"",
36
+ "lint": "tsc --noEmit && eslint \"**/*.ts*\"",
37
37
  "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf coverage",
38
38
  "preview": "npm run build && npx serve -l 3333 examples"
39
39
  },
40
40
  "dependencies": {
41
- "@walkeros/core": "0.6.0",
42
- "@walkeros/collector": "0.6.0",
43
- "@walkeros/web-core": "0.6.0",
44
- "@walkeros/web-source-browser": "0.6.0",
45
- "@walkeros/web-source-datalayer": "0.6.0"
41
+ "@walkeros/core": "0.8.0",
42
+ "@walkeros/collector": "0.9.0",
43
+ "@walkeros/web-core": "0.8.0",
44
+ "@walkeros/web-source-browser": "0.8.0",
45
+ "@walkeros/web-source-datalayer": "0.8.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@swc/jest": "^0.2.39",
package/CHANGELOG.md DELETED
@@ -1,202 +0,0 @@
1
- # @walkeros/walker.js
2
-
3
- ## 0.0.0-next-20251219153324
4
-
5
- ### Patch Changes
6
-
7
- - Updated dependencies [5163b01]
8
- - @walkeros/core@0.0.0-next-20251219153324
9
- - @walkeros/collector@0.0.0-next-20251219153324
10
- - @walkeros/web-core@0.0.0-next-20251219153324
11
- - @walkeros/web-source-datalayer@0.0.0-next-20251219153324
12
- - @walkeros/web-source-browser@0.0.0-next-20251219153324
13
-
14
- ## 0.5.1-next.0
15
-
16
- ### Patch Changes
17
-
18
- - Updated dependencies [5163b01]
19
- - @walkeros/core@0.5.1-next.0
20
- - @walkeros/collector@0.5.1-next.0
21
- - @walkeros/web-core@0.5.1-next.0
22
- - @walkeros/web-source-datalayer@0.5.1-next.0
23
- - @walkeros/web-source-browser@0.5.1-next.0
24
-
25
- ## 0.5.0
26
-
27
- ### Minor Changes
28
-
29
- - just flow
30
-
31
- ### Patch Changes
32
-
33
- - Updated dependencies
34
- - Updated dependencies [22cd09c]
35
- - @walkeros/web-source-browser@0.5.0
36
- - @walkeros/collector@0.5.0
37
- - @walkeros/core@0.5.0
38
- - @walkeros/web-core@0.5.0
39
- - @walkeros/web-source-datalayer@0.5.0
40
-
41
- ## 0.4.2
42
-
43
- ### Patch Changes
44
-
45
- - Updated dependencies
46
- - Updated dependencies
47
- - @walkeros/core@0.4.2
48
- - @walkeros/collector@0.4.2
49
- - @walkeros/web-core@0.4.2
50
- - @walkeros/web-source-datalayer@0.4.2
51
- - @walkeros/web-source-browser@0.4.2
52
-
53
- ## 0.4.1
54
-
55
- ### Patch Changes
56
-
57
- - dev entry
58
- - Updated dependencies
59
- - @walkeros/web-source-datalayer@0.4.1
60
- - @walkeros/web-source-browser@0.4.1
61
- - @walkeros/collector@0.4.1
62
- - @walkeros/web-core@0.4.1
63
- - @walkeros/core@0.4.1
64
-
65
- ## 0.4.0
66
-
67
- ### Minor Changes
68
-
69
- - Consolidate schemas and examples under `/dev` export
70
-
71
- ### Patch Changes
72
-
73
- - Updated dependencies
74
- - @walkeros/web-source-datalayer@0.4.0
75
- - @walkeros/web-source-browser@0.4.0
76
- - @walkeros/collector@0.4.0
77
- - @walkeros/web-core@0.4.0
78
- - @walkeros/core@0.4.0
79
-
80
- ## 0.3.3
81
-
82
- ### Patch Changes
83
-
84
- - cli usage
85
-
86
- ## 0.3.2
87
-
88
- ### Patch Changes
89
-
90
- - Updated dependencies
91
- - @walkeros/web-source-browser@0.3.2
92
-
93
- ## 0.3.1
94
-
95
- ### Patch Changes
96
-
97
- - Updated dependencies
98
- - @walkeros/core@0.3.1
99
- - @walkeros/collector@0.3.1
100
- - @walkeros/web-core@0.3.1
101
- - @walkeros/web-source-datalayer@0.3.1
102
- - @walkeros/web-source-browser@0.3.1
103
-
104
- ## 0.3.0
105
-
106
- ### Minor Changes
107
-
108
- - [schema #555](https://github.com/elbwalker/walkerOS/issues/555)
109
-
110
- ### Patch Changes
111
-
112
- - Updated dependencies
113
- - @walkeros/web-source-datalayer@0.3.0
114
- - @walkeros/web-source-browser@0.3.0
115
- - @walkeros/collector@0.3.0
116
- - @walkeros/web-core@0.3.0
117
- - @walkeros/core@0.3.0
118
-
119
- ## 0.2.1
120
-
121
- ### Patch Changes
122
-
123
- - Schema builder, event-level mapping policies, config package, fixed jest mocks
124
- - Updated dependencies
125
- - @walkeros/web-source-datalayer@0.2.1
126
- - @walkeros/web-source-browser@0.2.1
127
- - @walkeros/collector@0.2.1
128
- - @walkeros/web-core@0.2.1
129
- - @walkeros/core@0.2.1
130
-
131
- ## 0.2.0
132
-
133
- ### Minor Changes
134
-
135
- - env
136
-
137
- ### Patch Changes
138
-
139
- - Updated dependencies
140
- - @walkeros/web-source-datalayer@0.2.0
141
- - @walkeros/web-source-browser@0.2.0
142
- - @walkeros/collector@0.2.0
143
- - @walkeros/web-core@0.2.0
144
- - @walkeros/core@0.2.0
145
-
146
- ## 0.1.2
147
-
148
- ### Patch Changes
149
-
150
- - a0ced16: env
151
- - Updated dependencies [a0ced16]
152
- - @walkeros/web-source-datalayer@0.1.2
153
- - @walkeros/web-source-browser@0.1.2
154
- - @walkeros/collector@0.1.2
155
- - @walkeros/web-core@0.1.2
156
- - @walkeros/core@0.1.2
157
-
158
- ## 0.1.1
159
-
160
- ### Patch Changes
161
-
162
- - flow
163
- - Updated dependencies
164
- - @walkeros/web-source-datalayer@0.1.1
165
- - @walkeros/web-source-browser@0.1.1
166
- - @walkeros/collector@0.1.1
167
- - @walkeros/web-core@0.1.1
168
- - @walkeros/core@0.1.1
169
-
170
- ## 0.1.0
171
-
172
- ### Minor Changes
173
-
174
- - fixes
175
-
176
- ### Patch Changes
177
-
178
- - Updated dependencies
179
- - @walkeros/web-source-datalayer@0.1.0
180
- - @walkeros/web-source-browser@0.1.0
181
- - @walkeros/collector@0.1.0
182
- - @walkeros/web-core@0.1.0
183
- - @walkeros/core@0.1.0
184
-
185
- ## 0.0.10
186
-
187
- ### Patch Changes
188
-
189
- - Updated dependencies
190
- - @walkeros/web-source-browser@0.0.9
191
-
192
- ## 0.0.9
193
-
194
- ### Patch Changes
195
-
196
- - af0ea64: init fixes
197
- - Updated dependencies [af0ea64]
198
- - @walkeros/web-source-datalayer@0.0.8
199
- - @walkeros/web-source-browser@0.0.8
200
- - @walkeros/collector@0.0.8
201
- - @walkeros/web-core@0.0.8
202
- - @walkeros/core@0.0.8
@@ -1,3 +0,0 @@
1
- declare const mockDataLayer: jest.Mock<any, any, any>;
2
- export { mockDataLayer };
3
- //# sourceMappingURL=setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,aAAa,0BAAY,CAAC;AAyKhC,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,148 +0,0 @@
1
- // Browser environment setup for walker.js tests
2
- // Based on @walkeros/jest/web.setup.ts
3
- const mockDataLayer = jest.fn();
4
- global.beforeEach(() => {
5
- jest.useFakeTimers();
6
- // Mocks
7
- jest.clearAllMocks();
8
- jest.resetModules();
9
- // Reset DOM with event listeners etc.
10
- document.getElementsByTagName('html')[0].innerHTML = '';
11
- document.body = document.body.cloneNode();
12
- // elbLayer and dataLayer
13
- const w = window;
14
- w.elbLayer = undefined;
15
- w.dataLayer = [];
16
- w.dataLayer.push = mockDataLayer;
17
- // Performance API - mock the method that was causing test failures
18
- global.performance.getEntriesByType = jest
19
- .fn()
20
- .mockReturnValue([{ type: 'navigate' }]);
21
- // Mock IntersectionObserver - required for sourceBrowser visibility tracking
22
- global.IntersectionObserver = jest.fn().mockImplementation((callback) => ({
23
- observe: jest.fn(),
24
- unobserve: jest.fn(),
25
- disconnect: jest.fn(),
26
- }));
27
- // Mock ResizeObserver - might be needed for responsive tracking
28
- global.ResizeObserver = jest.fn().mockImplementation((callback) => ({
29
- observe: jest.fn(),
30
- unobserve: jest.fn(),
31
- disconnect: jest.fn(),
32
- }));
33
- // Mock MutationObserver - needed for DOM change detection
34
- global.MutationObserver = jest.fn().mockImplementation((callback) => ({
35
- observe: jest.fn(),
36
- disconnect: jest.fn(),
37
- takeRecords: jest.fn(),
38
- }));
39
- // Mock document.currentScript for auto-init tests
40
- Object.defineProperty(document, 'currentScript', {
41
- value: null,
42
- writable: true,
43
- });
44
- // Mock document properties
45
- Object.defineProperty(document, 'title', {
46
- value: 'Test Page',
47
- writable: true,
48
- });
49
- Object.defineProperty(document, 'referrer', {
50
- value: '',
51
- writable: true,
52
- });
53
- Object.defineProperty(document, 'readyState', {
54
- value: 'complete',
55
- writable: true,
56
- });
57
- // Mock navigator
58
- Object.defineProperty(window, 'navigator', {
59
- value: {
60
- userAgent: 'Mozilla/5.0 (Node.js jsdom test environment)',
61
- language: 'en-US',
62
- platform: 'linux',
63
- },
64
- writable: true,
65
- });
66
- // Mock screen
67
- Object.defineProperty(window, 'screen', {
68
- value: {
69
- width: 1920,
70
- height: 1080,
71
- },
72
- writable: true,
73
- });
74
- // Mock element positioning methods - required for visibility detection
75
- Element.prototype.getBoundingClientRect = jest.fn(() => ({
76
- x: 0,
77
- y: 0,
78
- width: 100,
79
- height: 100,
80
- top: 0,
81
- left: 0,
82
- bottom: 100,
83
- right: 100,
84
- toJSON: jest.fn(),
85
- }));
86
- // Mock element offset properties
87
- Object.defineProperties(Element.prototype, {
88
- offsetTop: { get: () => 0, configurable: true },
89
- offsetLeft: { get: () => 0, configurable: true },
90
- offsetWidth: { get: () => 100, configurable: true },
91
- offsetHeight: { get: () => 100, configurable: true },
92
- clientWidth: { get: () => 100, configurable: true },
93
- clientHeight: { get: () => 100, configurable: true },
94
- });
95
- // Mock getComputedStyle - required for element styling calculations
96
- global.getComputedStyle = jest.fn().mockImplementation(() => ({
97
- getPropertyValue: jest.fn().mockReturnValue(''),
98
- width: '100px',
99
- height: '100px',
100
- display: 'block',
101
- visibility: 'visible',
102
- }));
103
- // Mock matchMedia - might be needed for responsive features
104
- Object.defineProperty(window, 'matchMedia', {
105
- writable: true,
106
- value: jest.fn().mockImplementation((query) => ({
107
- matches: false,
108
- media: query,
109
- onchange: null,
110
- addListener: jest.fn(),
111
- removeListener: jest.fn(),
112
- addEventListener: jest.fn(),
113
- removeEventListener: jest.fn(),
114
- dispatchEvent: jest.fn(),
115
- })),
116
- });
117
- // Mock localStorage and sessionStorage - required for browser source
118
- const mockStorage = {
119
- getItem: jest.fn(),
120
- setItem: jest.fn(),
121
- removeItem: jest.fn(),
122
- clear: jest.fn(),
123
- key: jest.fn(),
124
- length: 0,
125
- };
126
- Object.defineProperty(window, 'localStorage', {
127
- value: mockStorage,
128
- writable: true,
129
- });
130
- Object.defineProperty(window, 'sessionStorage', {
131
- value: mockStorage,
132
- writable: true,
133
- });
134
- // Mock requestAnimationFrame and cancelAnimationFrame
135
- global.requestAnimationFrame = jest.fn((cb) => setTimeout(cb, 0));
136
- global.cancelAnimationFrame = jest.fn((id) => clearTimeout(id));
137
- // Mock requestIdleCallback if it exists
138
- if (typeof global.requestIdleCallback === 'undefined') {
139
- global.requestIdleCallback = jest.fn((cb) => setTimeout(cb, 0));
140
- global.cancelIdleCallback = jest.fn((id) => clearTimeout(id));
141
- }
142
- });
143
- global.afterEach(() => {
144
- jest.runOnlyPendingTimers();
145
- jest.useRealTimers();
146
- });
147
- export { mockDataLayer };
148
- //# sourceMappingURL=setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,uCAAuC;AAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEhC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;IACrB,IAAI,CAAC,aAAa,EAAE,CAAC;IAErB,QAAQ;IACR,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IAEpB,sCAAsC;IACtC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;IACxD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAiB,CAAC;IAEzD,yBAAyB;IACzB,MAAM,CAAC,GAAG,MAAwD,CAAC;IACnE,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,SAAuB,CAAC,IAAI,GAAG,aAAa,CAAC;IAEhD,mEAAmE;IACnE,MAAM,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI;SACvC,EAAE,EAAE;SACJ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAE3C,6EAA6E;IAC7E,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;KACtB,CAAC,CAAC,CAAC;IAEJ,gEAAgE;IAChE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;KACtB,CAAC,CAAC,CAAC;IAEJ,0DAA0D;IAC1D,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;KACvB,CAAC,CAAC,CAAC;IAEJ,kDAAkD;IAClD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE;QAC/C,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;QACvC,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC1C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE;QAC5C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QACzC,KAAK,EAAE;YACL,SAAS,EAAE,8CAA8C;YACzD,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;SAClB;QACD,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,cAAc;IACd,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;QACtC,KAAK,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb;QACD,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,uEAAuE;IACvE,OAAO,CAAC,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KAClB,CAAC,CAAC,CAAC;IAEJ,iCAAiC;IACjC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE;QACzC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;QAC/C,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;QAChD,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;QACnD,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;QACpD,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;QACnD,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;KACrD,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC,CAAC;IAEJ,4DAA4D;IAC5D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;YACzB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3B,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC9B,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;SACzB,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,CAAC;KACV,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE;QAC5C,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE;QAC9C,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhE,wCAAwC;IACxC,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;IACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Destination } from '@walkeros/core';
2
- export declare function dataLayerDestination(): Destination.Instance;
3
- //# sourceMappingURL=destination.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"destination.d.ts","sourceRoot":"","sources":["../src/destination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,wBAAgB,oBAAoB,IAAI,WAAW,CAAC,QAAQ,CA6B3D"}
@@ -1,28 +0,0 @@
1
- import { isObject } from '@walkeros/core';
2
- export function dataLayerDestination() {
3
- window.dataLayer = window.dataLayer || [];
4
- const dataLayerPush = (event) => {
5
- // Do not process events from dataLayer source
6
- if (isObject(event) &&
7
- isObject(event.source) &&
8
- String(event.source.type).includes('dataLayer'))
9
- return;
10
- window.dataLayer.push(event);
11
- };
12
- const destination = {
13
- type: 'dataLayer',
14
- config: {},
15
- push: (event, context) => {
16
- dataLayerPush(context.data || event);
17
- },
18
- pushBatch: (batch) => {
19
- dataLayerPush({
20
- name: 'batch',
21
- batched_event: batch.key,
22
- events: batch.data.length ? batch.data : batch.events,
23
- });
24
- },
25
- };
26
- return destination;
27
- }
28
- //# sourceMappingURL=destination.js.map