/**
 * @preserve
 * Licenses of bundled dependencies can be found in dependencies-licenses.txt
 */
/*! connection-vehicle-data 2.0.0 */
import{SeamlessConnection as t,initializeStore as e}from"@seamless/store";import{initializeLogger as n}from"@seamless/logger";var r,s,i;!function(t){t.Primary="primary",t.Secondary="secondary",t.Shop="shop",t.Configurator="configurator",t.About="about",t.Enquiry="enquiry"}(r||(r={})),function(t){t.UpdateCta="UPDATE_CTA",t.UpdatePrice="UPDATE_PRICE",t.UpdateConfiguration="UPDATE_CONFIGURATION"}(s||(s={})),function(t){t.Default="default",t.Alternative="alternative"}(i||(i={}));const o="OWC_VEHICLE_DATA",a={modelSeries:"",engineConcept:"",subBrands:[]};const c=new class extends t{constructor(){super(o)}get initialState(){const t=window.aemNamespace?.vehicleData||window.top?.aemNamespace?.vehicleData||{};return{...a,...t}}getReducer(){return(t=a,e)=>{switch(e.type){case this.getActionType(s.UpdateCta):return{...t,cta:{...t.cta,secondary:void 0,...e.payload}};case this.getActionType(s.UpdatePrice):return{...t,price:{...t.price,...e.payload}};case this.getActionType(s.UpdateConfiguration):return{...t,configurationId:e.payload};default:return t}}}getPublicDispatchers(){return{setCta:t=>this.getAction(s.UpdateCta,t),setPrice:t=>this.getAction(s.UpdatePrice,t),setConfigurationId:t=>this.getAction(s.UpdateConfiguration,t)}}},u=async()=>{const t=e();return await t.addConnection(c)},d=async()=>{const t=e();return await t.getConnectionDispatchers(o)},l=()=>new Promise((t=>{e().once(o,(e=>t(Boolean(e.modelSeries))))})),f=n("vehicle-data-store-connection");(async()=>{await u(),f.log("Initialised store connection")})();export{r as CTAKeys,u as addConnectionVehicleData,c as connection,o as connectionName,d as getConnectionVehicleDataDispatchers,l as isWithinVehicleContext};
//# sourceMappingURL=index.mjs.map
