/*! connection-aem-tracking 2.8.0 */
import{SeamlessConnection as t,initializeStore as e}from"@seamless/store";import{initializeLogger as r}from"@seamless/logger";const n="OWC_TRACKING_MANAGER",s="PUSH_TRACKING_EVENT",i={trackingEvents:[]};const o=new class extends t{constructor(){super(n)}get initialState(){return i}getReducer(){return(t=i,e)=>e.type===this.getActionType(s)?{...t,trackingEvents:[...t.trackingEvents,e.payload]}:t}getPublicDispatchers(){return{pushTrackingEvent:t=>(window.top?.dataLayer_ow.push(t),this.getAction(s,t))}}},a=`OWC FE LIBS ${n}`,c=async()=>{const t=e();return await(()=>{if(window.top?.dataLayer_ow)return;return r(a).warn("window.dataLayer_ow is not defined, adding empty Object"),new Promise((t=>{let e;Object.defineProperty(window.top,"dataLayer_ow",{get:()=>e,set(r){e=r,t()}})}))})(),t.addConnection(o)},w=()=>e().getConnectionDispatchers(n).then((t=>t)),d=w,u="2.8.0";export{c as addTrackingReducerConnection,w as getTrackingDispatchers,d as getTrackingReducerConnection,u as version};
//# sourceMappingURL=index.mjs.map
