1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30641,e=>{"use strict";var t=e.i(58138),r=e.i(61064),n=e.i(3521),i=e=>{var i;let a,l,{present:s,children:d}=e,u=function(e){var r,i;let[a,l]=t.useState(),s=t.useRef({}),d=t.useRef(e),u=t.useRef("none"),[c,f]=(r=e?"mounted":"unmounted",i={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>i[e][t]??e,r));return t.useEffect(()=>{let e=o(s.current);u.current="mounted"===c?e:"none"},[c]),(0,n.useLayoutEffect)(()=>{let t=s.current,r=d.current;if(r!==e){let n=u.current,i=o(t);e?f("MOUNT"):"none"===i||t?.display==="none"?f("UNMOUNT"):r&&n!==i?f("ANIMATION_OUT"):f("UNMOUNT"),d.current=e}},[e,f]),(0,n.useLayoutEffect)(()=>{if(a){let e,t=a.ownerDocument.defaultView??window,r=r=>{let n=o(s.current).includes(r.animationName);if(r.target===a&&n&&(f("ANIMATION_END"),!d.current)){let r=a.style.animationFillMode;a.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=r)})}},n=e=>{e.target===a&&(u.current=o(s.current))};return a.addEventListener("animationstart",n),a.addEventListener("animationcancel",r),a.addEventListener("animationend",r),()=>{t.clearTimeout(e),a.removeEventListener("animationstart",n),a.removeEventListener("animationcancel",r),a.removeEventListener("animationend",r)}}f("ANIMATION_END")},[a,f]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:t.useCallback(e=>{e&&(s.current=getComputedStyle(e)),l(e)},[])}}(s),c="function"==typeof d?d({present:u.isPresent}):t.Children.only(d),f=(0,r.useComposedRefs)(u.ref,(i=c,(l=(a=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?i.ref:(l=(a=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?i.props.ref:i.props.ref||i.ref));return"function"==typeof d||u.isPresent?t.cloneElement(c,{ref:f}):null};function o(e){return e?.animationName||"none"}i.displayName="Presence",e.s(["Presence",()=>i])},79078,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:o}){let a=r?40*r:e,l=n?40*n:t,s=a&&l?`viewBox='0 0 ${a} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${s}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${s?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},60966,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},43248,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return s}}),e.r(6919);let n=e.r(79078),i=e.r(60966),o=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s({src:e,sizes:t,unoptimized:r=!1,priority:s=!1,preload:d=!1,loading:u,className:c,quality:f,width:p,height:m,fill:g=!1,style:h,overrideSrc:b,onLoad:y,onLoadingComplete:v,placeholder:x="empty",blurDataURL:w,fetchPriority:j,decoding:C="async",layout:_,objectFit:R,objectPosition:O,lazyBoundary:P,lazyRoot:E,...N},S){var A;let I,M,T,{imgConf:k,showAltText:D,blurComplete:z,defaultLoader:$}=S,U=k||i.imageConfigDefault;if("allSizes"in U)I=U;else{let e=[...U.deviceSizes,...U.imageSizes].sort((e,t)=>
1e-t),t=U.deviceSizes.sort((e,t)=>e-t),r=U.qualities?.sort((e,t)=>e-t);I={...U,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let L=N.loader||$;delete N.loader,delete N.srcSet;let q="__next_img_default"in L;if(q){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=L;L=t=>{let{config:r,...n}=t;return e(n)}}if(_){"fill"===_&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(h={...h,...e});let r={responsive:"100vw",fill:"100vw"}[_];r&&!t&&(t=r)}let F="",W=l(p),B=l(m);if((A=e)&&"object"==typeof A&&(a(A)||void 0!==A.src)){let t=a(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(M=t.blurWidth,T=t.blurHeight,w=w||t.blurDataURL,F=t.src,!g)if(W||B){if(W&&!B){let e=W/t.width;B=Math.round(t.height*e)}else if(!W&&B){let e=B/t.height;W=Math.round(t.width*e)}}else W=t.width,B=t.height}let G=!s&&!d&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:F)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,G=!1),I.unoptimized&&(r=!0),q&&!I.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let H=l(f),V=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:R,objectPosition:O}:{},D?{}:{color:"transparent"},h),X=z||"empty"===x?null:"blur"===x?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:W,heightInt:B,blurWidth:M,blurHeight:T,blurDataURL:w||"",objectFit:V.objectFit})}")`:`url("${x}")`,K=o.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,J=X?{backgroundSize:K,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},Q=function({config:e,src:t,unoptimized:r,width:n,quality:i,sizes:o,loader:a}){if(r)return{src:t,srcSet:void 0,sizes:void 0};let{widths:l,kind:s}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,o),d=l.length-1;return{sizes:o||"w"!==s?o:"100vw",srcSet:l.map((r,n)=>`${a({config:e,src:t,quality:i,width:r})} ${"w"===s?r:n+1}${s}`).join(", "),src:a({config:e,src:t,quality:i,width:l[d]})}}({config:I,src:e,unoptimized:r,width:W,quality:H,sizes:t,loader:L}),Y=G?"lazy":u;return{props:{...N,loading:Y,fetchPriority:j,width:W,height:B,decoding:C,className:c,style:{...V,...J},sizes:Q.sizes,srcSet:Q.srcSet,src:b||Q.src},meta:{unoptimized:r,preload:d||s,placeholder:x,fill:g}}}},29739,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(58138),i="undefined"==typeof window,o=i?()=>{}:n.useLayoutEffect,a=i?()=>{}:n.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),l()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},87762,(e,t,r)=>{"use strict";
2Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},defaultHead:function(){return c}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(81258),a=e.r(44066),l=e.r(29511),s=a._(e.r(58138)),d=o._(e.r(29739)),u=e.r(37398);function c(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(6919);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,i;return e.reduce(f,[]).reverse().concat(c().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let o=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?o=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;
2("name"!==r||!a)&&n.has(t)?o=!1:(n.add(t),i[r]=n)}}}return o})).reverse().map((e,t)=>{let r=e.key||t;return s.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,s.useContext)(u.HeadManagerContext);return(0,l.jsx)(d.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=e.r(81258)._(e.r(58138)),i=e.r(60966),o=n.default.createContext(i.imageConfigDefault)},56781,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(58138)).default.createContext(null)},9845,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},85493,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(9845);function i({config:e,src:t,width:r,quality:i}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let o=(0,n.findClosestQuality)(i,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${o}${t.startsWith("/_next/static/media/"),""}`}i.__next_img_default=!0;let o=i},12642,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let n=e.r(81258),i=e.r(44066),o=e.r(29511),a=i._(e.r(58138)),l=n._(e.r(49463)),s=n._(e.r(87762)),d=e.r(43248),u=e.r(60966),c=e.r(33201);e.r(6919);let f=e.r(56781),p=n._(e.r(85493)),m=e.r(8191),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function h(e,t,r,n,i,o,a){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function b(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:l,className:s,style:d,fetchPriority:u,placeholder:c,loading:f,unoptimized:p,fill:g,onLoadRef:y,onLoadingCompleteRef:v,setBlurComplete:x,setShowAltText:w,sizesInput:j,onLoad:C,onError:_,...R},O)=>{let P=(0,a.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&h(e,c,y,v,x,p,j))},[e,c,y,v,x,_,p,j]),E=(0,m.useMergedRef)(O,P);return(0,o.jsx)("img",{...R,...b(u),loading:f,width:i,height:n,decoding:l,"data-nimg":g?"fill":"1",className:s,style:d,sizes:r,srcSet:t,src:e,ref:E,onLoad:e=>{h(e.currentTarget,c,y,v,x,p,j)},onError:e=>{w(!0),"empty"!==c&&x(!0),_&&_(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...b(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,o.jsx)(s.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let x=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(f.RouterContext),n=(0,a.useContext)(c.ImageConfigContext),i=(0,a.useMemo)(()=>{let e=g||n||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"undefined"==typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:l,onLoadingComplete:s}=e,m=(0,a.useRef)(l);(0,a.useEffect)(()=>{m.current=l},[l]);let h=(0,a.useRef)(s);(0,a.useEffect)(()=>{h.current=s},[s]);let[b,x]=(0,a.useState)(!1),[w,j]=(0,a.useState)(!1),{props:C,meta:_}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:b,showAltText:w});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(y,{...C,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:x,setShowAltText:j,sizesInput:e.sizes,ref:t}),_.preload?(0,o.jsx)(v,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},16839,e=>{"use strict";var t=e.i(29511),r=e.i(64091);function n(){return(0,t.jsx)("button",{type:"button",onClick:()=>window.dispatchEvent(new Event(r.CONSENT_SETTINGS_EVENT)),className:"text-sm text-muted-foreground transition-colors hover:text-foreground",children:"Cookie Settings"})}e.s(["CookieSettingsLink",()=>n])},95751,e=>{"use strict";let t=(0,e.i(10965).default)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],95751)},86037,e=>{"use strict";var t=e.i(58138),r=e.i(70133),n=e.i(61064),i=e.i(66911),o=e.i(29511);function a(e){let a=e+"CollectionProvider",[l,s]=(0,r.createContextScope)(a),[d,u]=l(a,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:r,children:n}=e,i=t.default.useRef(null),a=t.default.useRef(new Map).current;return(0,o.jsx)(d,{scope:r,itemMap:a,collectionRef:i,children:n})};c.displayName=a;let f=e+"CollectionSlot",p=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,l=u(f,r),s=(0,n.useComposedRefs)(t,l.collectionRef);return(0,o.jsx)(i.Slot,{ref:s,children:a})});p.displayName=f;let m=e+"CollectionItemSlot",g="data-radix-collection-item",h=t.default.forwardRef((e,r)=>{let{scope:a,children:l,...s}=e,d=t.default.useRef(null),c=(0,n.useComposedRefs)(r,d),f=u(m,a);return t.default.useEffect(()=>(f.itemMap.set(d,{ref:d,...s}),()=>void f.itemMap.delete(d))),(0,o.jsx)(i.Slot,{...{[g]:""},ref:c,children:l})});return h.displayName=m,[{Provider:c,Slot:p,ItemSlot:h},function(r){let n=u(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${g}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},s]}e.s(["createCollection",()=>a])},25943,e=>{"use strict";var t=e.i(58138);e.i(29511);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},25086,e=>{"use strict";var t=e.i(29511),r=e.i(10641),n=e.i(58138),i=e.i(95751);function o({price:e,installationPrice:o}
3){let[a,l]=(0,n.useState)(!1),s=a?e+o:e;return(0,t.jsxs)("div",{className:"mt-8 space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-4",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>l(!1),className:`rounded-xl border bg-background p-4 text-left transition ${!a?"border-primary ring-2 ring-primary":"border-border"}`,children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Charger Only"}),(0,t.jsxs)("p",{className:"text-3xl font-bold",children:["£",e]})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>l(!0),className:`rounded-xl border bg-background p-4 text-left transition ${a?"border-primary ring-2 ring-primary bg-primary/5":"border-border"}`,children:[(0,t.jsx)("p",{className:`text-sm ${a?"font-medium text-primary":"text-muted-foreground"}`,children:"With Installation"}),(0,t.jsxs)("p",{className:"text-3xl font-bold",children:["£",e+o]})]})]}),(0,t.jsxs)(r.default,{href:a?"/shop/request-quote":"/shop/charger-only",className:"inline-flex items-center justify-center gap-2 rounded-xl bg-primary px-6 py-3 text-sm font-semibold text-primary-foreground transition hover:opacity-95",children:[a?"Request Charger + Installation":"Request Charger Only"," â £",s,(0,t.jsx)(i.ArrowRight,{className:"h-4 w-4"})]})]})}e.s(["ProductPricing",()=>o])},90538,e=>{"use strict";var t=e.i(29511),r=e.i(58138),n=e.i(70133),i=e.i(86037),o=e.i(61064),a=e.i(78896),l=e.i(90885),s=e.i(75913),d=e.i(3521),u=e.i(30641),c=e.i(82398),f="Collapsible",[p,m]=(0,n.createContextScope)(f),[g,h]=p(f),b=r.forwardRef((e,n)=>{let{__scopeCollapsible:i,open:o,defaultOpen:a,disabled:d,onOpenChange:u,...f}=e,[p=!1,m]=(0,l.useControllableState)({prop:o,defaultProp:a,onChange:u});return(0,t.jsx)(g,{scope:i,disabled:d,contentId:(0,c.useId)(),open:p,onOpenToggle:r.useCallback(()=>m(e=>!e),[m]),children:(0,t.jsx)(s.Primitive.div,{"data-state":C(p),"data-disabled":d?"":void 0,...f,ref:n})})});b.displayName=f;var y="CollapsibleTrigger",v=r.forwardRef((e,r)=>{let{__scopeCollapsible:n,...i}=e,o=h(y,n);return(0,t.jsx)(s.Primitive.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":C(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...i,ref:r,onClick:(0,a.composeEventHandlers)(e.onClick,o.onOpenToggle)})});v.displayName=y;var x="CollapsibleContent",w=r.forwardRef((e,r)=>{let{forceMount:n,...i}=e,o=h(x,e.__scopeCollapsible);return(0,t.jsx)(u.Presence,{present:n||o.open,children:({present:e})=>(0,t.jsx)(j,{...i,ref:r,present:e})})});w.displayName=x;var j=r.forwardRef((e,n)=>{let{__scopeCollapsible:i,present:a,children:l,...u}=e,c=h(x,i),[f,p]=r.useState(a),m=r.useRef(null),g=(0,o.useComposedRefs)(n,m),b=r.useRef(0),y=b.current,v=r.useRef(0),w=v.current,j=c.open||f,_=r.useRef(j),R=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>_.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.useLayoutEffect)(()=>{let e=m.current;if(e){R.current=R.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();b.current=t.height,v.current=t.width,_.current||(e.style.transitionDuration=R.current.transitionDuration,e.style.animationName=R.current.animationName),p(a)}},[c.open,a]),(0,t.jsx)(s.Primitive.div,{"data-state":C(c.open),"data-disabled":c.disabled?"":void 0,id:c.contentId,hidden:!j,...u,ref:g,style:{"--radix-collapsible-content-height":y?`${y}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:j&&l})});function C(e){return e?"open":"closed"}var _=e.i(25943),R="Accordion",O=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[P,E,N]=(0,i.createCollection)(R),[S,A]=(0,n.createContextScope)(R,[N,m]),I=m(),M=r.default.forwardRef((e,r)=>{let{type:n,...i}=e;return(0,t.jsx)(P.Provider,{scope:e.__scopeAccordion,children:"multiple"===n?(0,t.jsx)(U,{...i,ref:r}):(0,t.jsx)($,{...i,ref:r})})});M.displayName=R;var[T,k]=S(R),[D,z]=S(R,{collapsible:!1}),$=r.default.forwardRef((e,n)=>{let{value:i,defaultValue:o,onValueChange:a=()=>{},collapsible:s=!1,...d}=e,[u,c]=(0,l.useControllableState)({prop:i,defaultProp:o,onChange:a});return(0,t.jsx)(T,{scope:e.__scopeAccordion,value:u?[u]:[],onItemOpen:c,onItemClose:r.default.useCallback(()=>s&&c(""),[s,c]),children:(0,t.jsx)(D,{scope:e.__scopeAccordion,collapsible:s,children:(0,t.jsx)(F,{...d,ref:n})})})}
3),U=r.default.forwardRef((e,n)=>{let{value:i,defaultValue:o,onValueChange:a=()=>{},...s}=e,[d=[],u]=(0,l.useControllableState)({prop:i,defaultProp:o,onChange:a}),c=r.default.useCallback(e=>u((t=[])=>[...t,e]),[u]),f=r.default.useCallback(e=>u((t=[])=>t.filter(t=>t!==e)),[u]);return(0,t.jsx)(T,{scope:e.__scopeAccordion,value:d,onItemOpen:c,onItemClose:f,children:(0,t.jsx)(D,{scope:e.__scopeAccordion,collapsible:!0,children:(0,t.jsx)(F,{...s,ref:n})})})}),[L,q]=S(R),F=r.default.forwardRef((e,n)=>{let{__scopeAccordion:i,disabled:l,dir:d,orientation:u="vertical",...c}=e,f=r.default.useRef(null),p=(0,o.useComposedRefs)(f,n),m=E(i),g="ltr"===(0,_.useDirection)(d),h=(0,a.composeEventHandlers)(e.onKeyDown,e=>{if(!O.includes(e.key))return;let t=e.target,r=m().filter(e=>!e.ref.current?.disabled),n=r.findIndex(e=>e.ref.current===t),i=r.length;if(-1===n)return;e.preventDefault();let o=n,a=i-1,l=()=>{(o=n+1)>a&&(o=0)},s=()=>{(o=n-1)<0&&(o=a)};switch(e.key){case"Home":o=0;break;case"End":o=a;break;case"ArrowRight":"horizontal"===u&&(g?l():s());break;case"ArrowDown":"vertical"===u&&l();break;case"ArrowLeft":"horizontal"===u&&(g?s():l());break;case"ArrowUp":"vertical"===u&&s()}let d=o%i;r[d].ref.current?.focus()});return(0,t.jsx)(L,{scope:i,disabled:l,direction:d,orientation:u,children:(0,t.jsx)(P.Slot,{scope:i,children:(0,t.jsx)(s.Primitive.div,{...c,"data-orientation":u,ref:p,onKeyDown:l?void 0:h})})})}),W="AccordionItem",[B,G]=S(W),H=r.default.forwardRef((e,r)=>{let{__scopeAccordion:n,value:i,...o}=e,a=q(W,n),l=k(W,n),s=I(n),d=(0,c.useId)(),u=i&&l.value.includes(i)||!1,f=a.disabled||e.disabled;return(0,t.jsx)(B,{scope:n,open:u,disabled:f,triggerId:d,children:(0,t.jsx)(b,{"data-orientation":a.orientation,"data-state":Z(u),...s,...o,ref:r,disabled:f,open:u,onOpenChange:e=>{e?l.onItemOpen(i):l.onItemClose(i)}})})});H.displayName=W;var V="AccordionHeader",X=r.default.forwardRef((e,r)=>{let{__scopeAccordion:n,...i}=e,o=q(R,n),a=G(V,n);return(0,t.jsx)(s.Primitive.h3,{"data-orientation":o.orientation,"data-state":Z(a.open),"data-disabled":a.disabled?"":void 0,...i,ref:r})});X.displayName=V;var K="AccordionTrigger",J=r.default.forwardRef((e,r)=>{let{__scopeAccordion:n,...i}=e,o=q(R,n),a=G(K,n),l=z(K,n),s=I(n);return(0,t.jsx)(P.ItemSlot,{scope:n,children:(0,t.jsx)(v,{"aria-disabled":a.open&&!l.collapsible||void 0,"data-orientation":o.orientation,id:a.triggerId,...s,...i,ref:r})})});J.displayName=K;var Q="AccordionContent",Y=r.default.forwardRef((e,r)=>{let{__scopeAccordion:n,...i}=e,o=q(R,n),a=G(Q,n),l=I(n);return(0,t.jsx)(w,{role:"region","aria-labelledby":a.triggerId,"data-orientation":o.orientation,...l,...i,ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});function Z(e){return e?"open":"closed"}Y.displayName=Q;var ee=e.i(64347),ee=ee,et=e.i(47163);function er({...e}){return(0,t.jsx)(M,{"data-slot":"accordion",...e})}function en({className:e,...r}){return(0,t.jsx)(H,{"data-slot":"accordion-item",className:(0,et.cn)("border-b last:border-b-0",e),...r})}function ei({className:e,children:r,...n}){return(0,t.jsx)(X,{className:"flex",children:(0,t.jsxs)(J,{"data-slot":"accordion-trigger",className:(0,et.cn)("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",e),...n,children:[r,(0,t.jsx)(ee.default,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]})})}function eo({className:e,children:r,...n}){return(0,t.jsx)(Y,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...n,children:(0,t.jsx)("div",{className:(0,et.cn)("pt-0 pb-4",e),children:r})})}e.s(["Accordion",()=>er,"AccordionContent",()=>eo,"AccordionItem",()=>en,"AccordionTrigger",()=>ei],90538)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.