1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,l)=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let r=e.r(32061);function a({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,l)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"encodeURIPath",{enumerable:!0,get:function(){return r}})},52157,(e,t,l)=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"PreloadChunks",{enumerable:!0,get:function(){return o}});let r=e.r(43476),a=e.r(74080),s=e.r(63599),n=e.r(9885),i=e.r(43369);function o({moduleIds:e}){if("u">typeof window)return null;let t=s.workAsyncStorage.getStore();if(void 0===t)return null;let l=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;l.push(...e)}}if(0===l.length)return null;let c=(0,i.getAssetTokenQuery)();return(0,r.jsx)(r.Fragment,{children:l.map(e=>{let l=`${t.assetPrefix}/_next/${(0,n.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:l,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,a.preload)(l,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,l)=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return c}});let r=e.r(43476),a=e.r(71645),s=e.r(67585),n=e.r(52157);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},l=(0,a.lazy)(()=>t.loader().then(i)),c=t.loading;function d(e){let i=c?(0,r.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?a.Suspense:a.Fragment,u=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(n.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(l,{...e})]}):(0,r.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(l,{...e})});return(0,r.jsx)(d,{...o?{fallback:i}:{},children:u})}return d.displayName="LoadableComponent",d}},70703,(e,t,l)=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return a}});let r=e.r(55682)._(e.r(69093));function a(e,t){let l={};"function"==typeof e&&(l.loader=e);let a={...l,...t};return(0,r.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof l.default||"object"==typeof l.default&&null!==l.default)&&void 0===l.default.__esModule&&(Object.defineProperty(l.default,"__esModule",{value:!0}),Object.assign(l.default,l),t.exports=l.default)},4686,e=>{"use strict";var t=e.i(43476),l=e.i(71645),r=e.i(18566),a=e.i(37727),s=e.i(62870),n=e.i(67881),i=e.i(47433);let o=(0,l.createContext)({fetchPage:()=>{},fetchSort:()=>{},currentSort:"createdAt:desc"}),c=()=>(0,l.useContext)(o);var d=e.i(67668),u=e.i(63209),m=e.i(73375),x=e.i(63059),h=e.i(75254);let g=(0,h.default)("list",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]),p=(0,h.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);var f=e.i(12463),v=e.i(57688),b=e.i(22016),j=e.i(27612),y=e.i(52571),w=e.i(1048),C=e.i(90597),N=e.i(10682),S=e.i(72520),k=e.i(70065),M=e.i(47163);let E={src:e.i(27307).default,width:24,height:24,blurWidth:8,blurHeight:8,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAj0lEQVR42m2O2woCIRRFveAN8YIWTUXPk58wMNDloZchgvr/f2kLIRJzYMNyu5RDyG+EEHvv/RW5gQ+kHxS7EMKitR6RAn6iG5qAV3O9TCl9asBnSHMTcJiMMaUTirV2agKKE6Q759wyxgz4opQ6NoFSymKMi5
1RyqAE/ave/6Bbfv3LOb/CGrI1zriBj330B74UMRGNza1kAAAAASUVORK5CYII="};var A=e.i(58249),R=e.i(56066),T=e.i(55487),L=e.i(75544),P=e.i(71829),I=e.i(46696),$=e.i(40617);let B=(0,l.memo)(({index:e=0,id:r,vin:a,name:s,title:n,condition:o,price:c,year:u,make:h,mileage:g,transmission:p,dealer:f,combinedMPG:B,combinedMPGe:F,media:D,fuel:_,videos:V,model:z,trim:O,estimatedRange:U,comments:Y,showDelete:G=!1,clickLocation:W="SavedVehicles",priceLadder:H,services:q})=>{let K=(0,l.useRef)(null),[X,Q]=(0,l.useState)(0),[Z,J]=(0,l.useState)(!1),[ee,et]=(0,l.useState)(!1),[el,er]=(0,l.useState)(!1),[ea,es]=(0,l.useState)(!1),[en,ei]=(0,l.useState)(!0),{user:eo,isLoggedIn:ec}=(0,i.useAuth)(),ed=(0,T.useDispatch)(),eu=(0,T.useSelector)(e=>e.wishlist.ids),em=(0,d.useUserLocation)(!1),ex=(0,l.useMemo)(()=>(0,M.hyphenateString)(f.name),[f.name]),eh=q?.find(e=>e.serviceName?.toLowerCase()==="carfax")?.details,eg=eh?.carfaxInformation,ep=eh?.carfaxWindowSticker,ef=eg?.iconUrl||ep?.iconUrl||null,ev=eh?.carfaxReport||eg?.carfaxUrl||null,eb=(0,l.useMemo)(()=>`/${ex}/cars/${(0,M.hyphenateString)(h)}/${(0,M.hyphenateString)(z)}/${(0,M.hyphenateString)(O)}/${u}/${a}`,[ex,h,z,O,u,a]),ej=(0,l.useMemo)(()=>(D||[]).filter(e=>e?.type==="image"&&!!e?.src),[D]),ey=(0,l.useMemo)(()=>(V||[]).map(e=>e?.originalUrl).filter(Boolean).join(","),[V]),ew=(0,l.useMemo)(()=>ej.map(e=>e.src).join(","),[ej]),eC=(0,l.useMemo)(()=>[...(V||[]).filter(e=>e?.originalUrl).map(e=>({type:"video",src:e.originalUrl})),...ej.map(e=>({type:"image",src:e.src}))],[ey,ew]);(0,l.useEffect)(()=>{Q(0)},[eC.length,a]);let eN=eC.length>0?eC[X]:null,eS=eN?.type==="video",ek=ej.length>0?ej[0].src:null;(0,l.useEffect)(()=>{if(ec&&eo&&r){let e=r.toString();er(eu.some(t=>t.toString()===e))}else er(!1)},[r,eo,ec,eu]),(0,l.useEffect)(()=>{eS||ei(!0)},[X,eS]);let eM=(0,l.useCallback)(e=>em.latitude&&em.longitude&&e?.latitude&&e?.longitude?(0,M.calculateDistanceMiles)(em.latitude,em.longitude,e.latitude,e.longitude):null,[em.latitude,em.longitude]),eE=(0,l.useCallback)(()=>{let e=eC.length;0!==e&&Q(t=>(t+1)%e)},[eC.length]),eA=(0,l.useCallback)(()=>{let e=eC.length;0!==e&&Q(t=>0===t?e-1:t-1)},[eC.length]);(0,l.useEffect)(()=>{let e=K.current;if(!e)return;let t=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!ee&&((0,A.trackEvent)("vehicle_impression",{dealerId:f?.dealerId||null,dealerName:f?.name||null,vin:a||null,year:u||null,make:h||null,model:z||null,trim:O||null,price:c?parseInt(c):null,condition:o||"used",fuelType:_,clickLocation:W,vehicleLocation:f?.city||null,isVideo:(V?.length??0)>0}),et(!0))})},{threshold:.5});return t.observe(e),()=>t.disconnect()},[ee,f,a,u,h,z,O,c,o,W,_]);let eR=(0,l.useCallback)(()=>{(0,A.trackEvent)("vehicle_card_click",{dealerId:f?.dealerId||null,dealerName:f?.name||null,vin:a||null,year:u||null,make:h||null,model:z||null,trim:O||null,price:c?parseInt(c):null,condition:o||"used",fuelType:_,clickLocation:W,vehicleLocation:f?.city||null,isVideo:(V?.length??0)>0})},[f,a,u,h,z,O,c,o,_,W]),eT=(0,l.useCallback)(async e=>{if(e.preventDefault(),e.stopPropagation(),ec&&eo&&r){er(!el),es(!0);try{(el?await (0,R.deleteWishlist)({id:eo.id,vehicleId:r.toString()}):await (0,R.addToWishlist)({id:eo.id,vehicleId:r.toString()})).success?(ed(el?(0,L.removeFromWishlistRedux)(r):(0,L.addToWishlistRedux)(r)),(0,A.trackEvent)("vehicle_wishlist",{dealerId:f?.dealerId||null,dealerName:f?.name||null,vin:a||null,year:u||null,make:h||null,model:z||null,trim:O||null,price:c||null,condition:o||"used",fuelType:_,clickLocation:W,isVideo:(V?.length??0)>0,vehicleLocation:f?.city||null,action:el?"removed":"added"})):er(el)}catch{er(el)}finally{es(!1)}}},[ec,eo,r,el,f,a,u,h,z,O,c,o,_,W,ed]),eL=eM(f?.coordinates);return(0,t.jsx)(b.default,{href:eb,children:(0,t.jsxs)(k.Card,{ref:K,className:"rounded-xl border p-4 relative cursor-pointer",onClick:eR,children:[G&&(0,t.jsx)("button",{onClick:e=>{e.preventDefault(),e.stopPropagation(),I.toast.success("Removed from saved vehicles")},className:"absolute top-4 right-4 border hidden lg:block border-red-500 p-1.5 rounded-full hover:bg-red-100 transition-colors cursor-pointer",children:(0,t.jsx)(j.Trash2,{className:"w-5 h-5 text-red-500"})}),(0,t.jsxs)("div",{className:"flex gap-4 flex-col",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 cursor-pointer",children:[(0,t.jsxs)("div",{className:"relative w-full aspect-video overflow-hidden rounded-xl bg-black",children:[(0,t.jsx)("button",{className:`absolute top-3 left-3 z-10 h-8 w-8 rounded-lg transition-colors duration-200 flex items-center justify-center bg-[#8FC947] hover:bg-[#7AB83A] ${ea?"opacity-50 cursor-not-allowed":""}`,onClick:e=>{(e.preventDefault(),e.stopPropagation(),eo)?eT(e):I.toast.error("Please login to add wishlist")},disabled:ea,children:el?(0,t.jsx)(N.HeartOff,{className:"w-4 h-4 text-white stroke-white stroke-2"}):(0,t.jsx)(C.Heart,{className:"w-4 h-4 text-white fill-transparent stroke-white stroke-2"})}),eN?eS?(0,t.jsx)($.default,{src:eN.src,posterSrc:ek,alt:`${o} ${h} ${z} ${O} ${u} video`,sizes:"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 452px"},eN.src):(0,t.jsxs)(t.Fragment,{children:[en&&(0,t.jsx)("div",{className:"absolute inset-0 bg-gray-200 animate-pulse flex items-center justify-center z-[5]",children:(0,t.jsx)("div",{className:"w-12 h-12 border-4 border-[#8FC947] border-t-transparent roun
1ded-full animate-spin"})}),(0,t.jsx)(v.default,{src:eN.src||P.placeHolderImage,alt:`${o} ${h} ${z} ${O} ${u} | ${a} - For Sale`,fill:!0,sizes:"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 452px",className:`object-contain transition-opacity duration-500 ease-in-out ${en?"opacity-0":"opacity-100"}`,onLoadStart:()=>ei(!0),onLoad:()=>ei(!1)})]}):(0,t.jsx)(v.default,{src:P.placeHolderImage,alt:`${u} ${h} ${z} ${O} - ${a}`,fill:!0,sizes:"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 452px",className:"object-cover"}),eC.length>0&&(0,t.jsxs)("div",{className:"absolute bottom-3 left-3 z-10 bg-black/70 text-white text-xs px-2 py-1 rounded-md flex items-center gap-1",children:[eS&&(0,t.jsx)("svg",{className:"w-3 h-3",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 5v14l11-7z"})}),X+1," / ",eC.length]}),(0,t.jsx)("button",{className:`absolute top-1/2 left-3 -translate-y-1/2 z-10 bg-[#07507B] hover:bg-[#07507B]/90 p-2 rounded-lg transition-all ${eC.length<=1?"opacity-40 cursor-not-allowed":""}`,disabled:eC.length<=1,onClick:e=>{e.preventDefault(),e.stopPropagation(),eA()},children:(0,t.jsx)(m.ChevronLeft,{className:"text-[#90C846] size-5"})}),(0,t.jsx)("button",{className:`absolute top-1/2 right-3 -translate-y-1/2 z-10 bg-[#07507B] hover:bg-[#07507B]/90 p-2 rounded-lg transition-all ${eC.length<=1?"opacity-40 cursor-not-allowed":""}`,disabled:eC.length<=1,onClick:e=>{e.preventDefault(),e.stopPropagation(),eE()},children:(0,t.jsx)(x.ChevronRight,{className:"text-[#90C846] size-5"})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"flex items-start justify-between",children:(0,t.jsx)("p",{className:"text-sm text-[#777777] font-semibold",children:o})}),(0,t.jsxs)("div",{className:"flex items-start justify-between",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,M.isMakeExists)(h||"")&&(0,t.jsx)(v.default,{src:(0,M.findMake)(h||"")?.logoUrl||"",width:50,height:50,alt:s,className:"w-[50px] h-[50px] object-contain"}),(0,t.jsx)("h3",{className:"self-center text-lg lg:text-xl font-bold text-[#1E1E1E] px-[5px]",children:s})]}),(0,t.jsx)("span",{className:"self-center text-green-600 font-bold text-lg mt-1",children:(0,M.NumberFormatter)(parseFloat(c))})]}),(0,t.jsxs)("div",{className:"text-sm text-[#777777] flex justify-between gap-2 border-y py-2 mt-2",children:[(0,t.jsx)("span",{children:u})," | ",(0,t.jsxs)("span",{children:[g," mi"]}),(()=>{let e=e=>{if(null==e||""===e)return!1;let t="number"==typeof e?e:Number(e);return Number.isFinite(t)&&0!==t&&-1!==t};if(e(B)){let e="Electric"===_?" MPGe":" MPG";return(0,t.jsxs)(t.Fragment,{children:[" ","| ",(0,t.jsx)("span",{children:`${B}${e}`})]})}return e(F)?(0,t.jsxs)(t.Fragment,{children:[" ","| ",(0,t.jsx)("span",{children:`${F} MPGe`})]}):null})()," ","|"," ","Electric"===_&&U?(0,t.jsxs)("span",{children:[U," mi range"]}):(0,t.jsx)("span",{children:p})]}),ef&&(0,t.jsx)("div",{className:"flex justify-center",children:ev?(0,t.jsx)("a",{href:ev,target:"_blank",rel:"noopener noreferrer","aria-label":"View CARFAX report",onClick:e=>{e.preventDefault(),e.stopPropagation(),window.open(ev,"_blank","noopener,noreferrer")},className:"inline-flex",children:(0,t.jsx)("img",{src:ef,alt:"CARFAX",className:"h-18 w-auto object-contain"})}):(0,t.jsx)("img",{src:ef,alt:"CARFAX",className:"h-18 w-auto object-contain"})}),(0,t.jsxs)("div",{className:"space-y-1 my-5 flex items-start justify-between",children:[(0,t.jsxs)("span",{children:[(0,t.jsx)("p",{className:"font-semibold text-lg text-[#1E1E1E]",children:f.name}),(0,t.jsxs)("p",{className:"text-gray-600 flex items-center gap-3 mt-2",children:[(0,t.jsx)(v.default,{src:E,alt:"Location",className:"w-4 h-4"}),(0,t.jsx)("span",{children:f.city}),em.loading?(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Getting location..."}):null!==eL?(0,t.jsxs)("span",{className:"text-[#8FC947] font-semibold",children:["⢠",eL.toFixed(1)," mi away"]}):em.error?(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Distance unavailable"}):null]})]}),""!=Y&&(0,t.jsxs)("span",{className:"relative cursor-pointer text-green-500 transition-colors",onMouseEnter:e=>{e.stopPropagation(),J(!0)},onMouseLeave:e=>{e.stopPropagation(),J(!1)},onClick:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,t.jsx)(y.Info,{className:"size-5 cursor-pointer hover:text-green-500 transition-colors"}),Z&&(0,t.jsxs)("div",{className:"absolute top-5 right-0 z-50 bg-white shadow-lg border rounded-md p-3 min-w-64 text-sm text-gray-700 flex items-center gap-2",children:[(0,t.jsx)(w.CircleCheck,{className:"size-8 text-green-500"}),(0,t.jsx)("span",{className:"text-xs text-gray-700",dangerouslySetInnerHTML:(0,M.createSafeHTML)(Y)})]})]})]})]})]}),(0,t.jsx)("hr",{className:"border-gray-200"}),(0,t.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 cursor-pointer"})]}),(0,t.jsx)(b.default,{href:eb,children:(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsx)("button",{className:"flex-1 bg-red-600 cursor-pointer hover:bg-red-700 text-white font-semibold py-3 px-6 rounded-lg transition-colors text-xs sm:text-sm md:text-base animate-pulseCustom",onClick:()=>{(0,A.trackEvent)("vehicle_card_click",{dealerId:f?.dealerId||null,dealerName:f?.name||null,vin:a||null,year:u||null,make:h||null,model:z||null,trim:O||null,price:c?parseInt(c):null,condition:o||"used",fuelType:_,clickLocation:W,vehicleLocation:f?.city||null,isVideo:(V?.length??0)>0})},children:(0,t.jsxs)("span",{className:"flex items-center gap-1 text-center justify-center",children:["See Every Detail Now - Shop Locally & Transparently"," ",(0,t.jsx)(S.ArrowRight,{className:"size-4"})]})})})})]})})});B.displayName="SavedCarCard";var F=e.i(71651);let D=({h1Text:e})=>{let{vehicles:r,totalCount:a,currentPage:o,totalPages:h,filters:v,isLoading:b,error:j,hasInitiallyLoaded:y}=(0,i.useVehicleSearchContext)(),{fetchPage:w,fetchSort:C}=c(),{currentSort:N}=c(),S=(0,d.useUserLocation)(!1),k=!!(S.latitude&&S.longitude&&!S.loading),[M,E]=(0,l.useState)("grid"),[R,T]=(0,l.useState)(!1);l.default.useEffect(()=>{let e=window.matchMedia("(min-width: 1024px)"),t=e=>T(e.matches);return T(e.matches),e.addEventListener?e.addEventListener("change",t):e.addListener(t),()=>{e.removeEventListener?e.removeEventListener("change",t):e.removeListener(t)}},[]),(0,l.useEffect)(()=>{!b&&y&&((0,A.trackEvent)("page_view_srp",{resultCount:a,pageNumber:o,sortFilter:N},{type:"page"}),0===r.length&&0===a&&(0,A.trackEvent)("search_no_results",{}))},[r.length,a,o,N,b,y]);
1let L=R?M:"grid",P="__relevance__",I=e=>{w(e),window.scrollTo({top:0,behavior:"smooth"})},$=v.size||50,D=(o-1)*$+1,_=Math.min(o*$,a),V=b||!y&&0===r.length&&!j;return j&&!b&&y?(0,t.jsx)("div",{className:"flex flex-col gap-4",children:(0,t.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-red-600",children:[(0,t.jsx)(u.AlertCircle,{className:"h-5 w-5"}),(0,t.jsx)("span",{children:j})]})})}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col max-sm:self-center md:flex-row gap-2 justify-between mt-2",children:[(0,t.jsx)("div",{className:"text-lg font-bold text-primary",children:(0,t.jsxs)("h1",{className:"inline",children:[e||"Find new & used cars for sale",a>0&&(0,t.jsxs)("span",{className:"text-sm font-normal text-gray-600 ml-2",children:["(",a," results)"]})]})}),(0,t.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,t.jsxs)("div",{className:"flex gap-4 items-center",children:[(0,t.jsx)("h4",{className:"whitespace-nowrap",children:"Sort By:"}),(0,t.jsxs)(s.Select,{value:N||P,onValueChange:e=>{C(e===P?"":e)},children:[(0,t.jsx)(s.SelectTrigger,{className:"w-[200px] py-3",children:(0,t.jsx)(s.SelectValue,{placeholder:"Relevance"})}),(0,t.jsxs)(s.SelectContent,{children:[(0,t.jsx)(s.SelectItem,{value:P,children:"Relevance"}),(0,t.jsx)("div",{className:"border-t border-gray-200 my-1"}),k&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.SelectItem,{value:"distanceToDealer:asc",children:"Distance: Nearest First"}),(0,t.jsx)("div",{className:"border-t border-gray-200 my-1"})]}),(0,t.jsx)(s.SelectItem,{value:"price:asc",children:"Price: Low to High"}),(0,t.jsx)(s.SelectItem,{value:"price:desc",children:"Price: High to Low"}),(0,t.jsx)(s.SelectItem,{value:"year:desc",children:"Year: Newest First"}),(0,t.jsx)(s.SelectItem,{value:"year:asc",children:"Year: Oldest First"}),(0,t.jsx)(s.SelectItem,{value:"mileage:asc",children:"Mileage: Low to High"}),(0,t.jsx)(s.SelectItem,{value:"mileage:desc",children:"Mileage: High to Low"}),(0,t.jsx)(s.SelectItem,{value:"createdAt:desc",children:"Recently Added"}),(0,t.jsx)(s.SelectItem,{value:"videoCount:desc",children:"Vehicle with Videos"}),(0,t.jsx)(s.SelectItem,{value:"imageCount:desc",children:"Vehicle with Images"})]})]})]}),(0,t.jsxs)("div",{className:"hidden lg:flex gap-2",children:[(0,t.jsx)(n.Button,{className:`border bg-white text-black py-1 border-[#07507B] hover:bg-[#07507B] hover:text-white ${"list"===M?"bg-[#07507B] text-white":""}`,onClick:()=>E("list"),children:(0,t.jsx)(g,{className:"size-6"})}),(0,t.jsx)(n.Button,{className:`bg-white text-black border py-1 border-[#07507B] hover:bg-[#07507B] hover:text-white ${"grid"===M?"bg-[#07507B] text-white":""}`,onClick:()=>E("grid"),children:(0,t.jsx)(p,{className:"size-6"})})]})]})]}),V?(0,t.jsx)("div",{className:"grid"===L?"max-sm:self-center grid grid-cols-1 lg:grid-cols-2 gap-6":"w-full flex flex-col gap-4",children:Array.from({length:$}).map((e,l)=>(0,t.jsx)(F.UnifiedCarCardSkeleton,{},`skeleton-${l}`))}):0===r.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center p-8 text-gray-500",children:[(0,t.jsx)(u.AlertCircle,{className:"h-12 w-12 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No vehicles found"}),(0,t.jsx)("p",{className:"text-center",children:"Try adjusting your search criteria or filters to find more vehicles."})]}):(0,t.jsxs)(t.Fragment,{children:["grid"===L?(0,t.jsx)("div",{className:"max-sm:self-center grid grid-cols-1 lg:grid-cols-2 gap-6",children:r.map((e,l)=>(0,t.jsx)(f.default,{index:l,...e,media:e.media.map(e=>({...e,type:"image"===e.type?"image":"video"}))},`grid-${e.vin}-${l}`))}):(0,t.jsx)("div",{className:"w-full flex flex-col gap-4",children:r.map((e,l)=>(0,t.jsx)(B,{index:l,...e,media:e.media.map(e=>({...e,type:"image"===e.type?"image":"video"}))},`list-${e.vin}-${l}`))}),a>0&&(0,t.jsxs)("div",{className:"flex items-center justify-between mt-8 p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm text-gray-600",children:"Rows per page:"}),(0,t.jsxs)(s.Select,{value:$.toString(),onValueChange:e=>{w(1)},children:[(0,t.jsx)(s.SelectTrigger,{className:"w-20 h-8",children:(0,t.jsx)(s.SelectValue,{})}),(0,t.jsxs)(s.SelectContent,{children:[(0,t.jsx)(s.SelectItem,{value:"10",children:"10"}),(0,t.jsx)(s.SelectItem,{value:"20",children:"20"}),(0,t.jsx)(s.SelectItem,{value:"50",children:"50"}),(0,t.jsx)(s.SelectItem,{value:"100",children:"100"})]})]})]}),(0,t.jsxs)("div",{className:"text-sm text-gray-600",children:[D,"-",_," of ",a]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Button,{size:"sm",onClick:()=>I(o-1),disabled:o<=1,className:`w-8 h-8 p-0 rounded-md ${o<=1?"bg-white border border-[#CCCCCC] text-[#CCCCCC]":"bg-[#07507B] hover:bg-[#07507B] text-white"}`,children:(0,t.jsx)(m.ChevronLeft,{className:"h-4 w-4"})}),(0,t.jsx)(n.Button,{size:"sm",onClick:()=>I(o+1),disabled:o>=h,className:`w-8 h-8 p-0 rounded-md ${o>=h?"bg-white border border-[#CCCCCC] text-[#CCCCCC]":"bg-[#07507B] hover:bg-[#07507B] text-white"}`,children:(0,t.jsx)(x.ChevronRight,{className:"h-4 w-4"})})]})]})]})]})};var _=e.i(59377),V=e.i(53751),z=e.i(23750),O=e.i(43531),U=e.i(64659),Y=e.i(55436),G=e.i(31278);let W=e=>{if(!e?.length)return[];let t=new Map;
1return e.forEach(e=>{let l=e.toLowerCase().trim();t.has(l)||t.set(l,e.trim())}),Array.from(t.values())},H=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase(),q=({label:e,onRemove:l})=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-full text-[11px] font-medium bg-[#E6F1FB] text-[#07507B]",children:[e,(0,t.jsx)("button",{onClick:l,className:"hover:opacity-70 flex-shrink-0 flex items-center","aria-label":`Remove ${e}`,children:(0,t.jsx)(a.X,{className:"w-2.5 h-2.5"})})]}),K=({label:e,count:l,open:r,disabled:a})=>(0,t.jsxs)("button",{className:(0,M.cn)("w-full flex items-center justify-between px-2.5 py-1.5 rounded-lg border text-left transition-all","text-xs font-normal",r||l>0?"border-[#07507B] bg-[#E6F1FB] text-[#07507B]":"border-gray-200 bg-gray-50 text-gray-700 hover:border-gray-300",a&&"opacity-40 pointer-events-none"),disabled:a,children:[(0,t.jsx)("span",{className:"truncate",children:e}),(0,t.jsxs)("span",{className:"flex items-center gap-1 flex-shrink-0 ml-1",children:[l>0&&(0,t.jsx)("span",{className:"inline-flex items-center justify-center min-w-[16px] h-[16px] px-1 rounded-full bg-[#07507B] text-white text-[9px] font-bold",children:l}),(0,t.jsx)(U.ChevronDown,{className:(0,M.cn)("w-3 h-3 transition-transform text-gray-400",r&&"rotate-180")})]})]}),X=({label:e,options:r,selectedValues:a,onToggle:s,onClearAll:n,allLabel:i,searchable:o=!1,isLoading:c=!1,disabled:d=!1,freezeWhileOpen:u=!1,emptyMessage:m,singleSelect:x=!1,formatLabel:h})=>{let[g,p]=(0,l.useState)(!1),f=(0,l.useRef)(null),v=u&&null!==f.current?f.current:r;return(0,t.jsxs)(_.Popover,{open:g,onOpenChange:e=>{u&&(e?f.current=r:f.current=null),p(e)},children:[(0,t.jsx)(_.PopoverTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(K,{label:e,count:a.length,open:g,disabled:d})})}),(0,t.jsx)(_.PopoverContent,{className:"p-0 w-52",align:"start",side:"bottom",sideOffset:4,children:(0,t.jsxs)(V.Command,{children:[o&&(0,t.jsx)(V.CommandInput,{placeholder:`Search ${i?.replace("All ","")??e.toLowerCase()}...`,className:"text-xs h-8"}),(0,t.jsx)(V.CommandList,{children:c&&0===r.length?(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-xs text-gray-400",children:[(0,t.jsx)(G.Loader2,{className:"w-3 h-3 animate-spin"}),"Loading..."]}):(0,t.jsxs)(V.CommandGroup,{children:[i&&(0,t.jsxs)(V.CommandItem,{onSelect:n,className:"text-xs cursor-pointer",children:[(0,t.jsx)(O.Check,{className:(0,M.cn)("mr-2 h-3 w-3",0===a.length?"text-[#07507B] opacity-100":"opacity-0")}),(0,t.jsx)("span",{className:0===a.length?"text-[#07507B] font-medium":"text-gray-500",children:i})]}),0===v.length&&!c&&(0,t.jsx)(V.CommandEmpty,{className:"text-xs text-gray-400 py-2 px-3",children:m??"No options available"}),v.filter(e=>e?.trim()).map(e=>{let l=a.includes(e);return(0,t.jsxs)(V.CommandItem,{value:e,onSelect:()=>{x&&n(),s(e)},className:"text-xs cursor-pointer",children:[(0,t.jsx)(O.Check,{className:(0,M.cn)("mr-2 h-3 w-3 text-[#07507B] flex-shrink-0",l?"opacity-100":"opacity-0")}),(0,t.jsx)("span",{className:(0,M.cn)(l&&"text-[#07507B] font-medium"),children:h?h(e):e})]},e)})]})})]})})]})},Q={Black:"#1a1a1a",Gray:"#8a8a8a",Grey:"#8a8a8a",Beige:"#d4b896",Tan:"#c8a882",Brown:"#7b5230",White:"#f5f5f5",Ivory:"#fffff0",Red:"#c0392b",Blue:"#2471a3",Ebony:"#2c2c2c",Camel:"#c19a6b"},Z=({items:e,selectedLabels:l,onToggle:r})=>0===e.length?(0,t.jsx)("p",{className:"text-[11px] text-gray-400",children:"No colors available"}):(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.filter(({label:e})=>e?.trim()).map(({label:e,colorCode:a})=>{let s=l.includes(e),n=a||Q[e]||"#cccccc";return(0,t.jsxs)("button",{title:e,onClick:()=>r(e),className:(0,M.cn)("flex flex-col items-center gap-1 p-1.5 rounded-xl border-2 transition-all min-w-[48px]",s?"border-[#07507B] bg-[#E6F1FB]":"border-transparent hover:border-gray-200"),children:[(0,t.jsx)("span",{className:"w-7 h-7 rounded-full border border-gray-200 block shadow-sm flex-shrink-0",style:{backgroundColor:n}}),(0,t.jsx)("span",{className:"text-[9px] text-gray-500 text-center leading-tight max-w-[48px] truncate",children:e}),s&&(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[#07507B] block"})]},e)})}),J=({minValue:e,maxValue:l,onMinChange:r,onMaxChange:a,minPlaceholder:s,maxPlaceholder:n,error:i,prefix:o})=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[o&&(0,t.jsx)("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-[11px] text-gray-400 pointer-events-none",children:o}
1),(0,t.jsx)(z.Input,{type:"number",placeholder:s,value:e,onChange:e=>r(e.target.value),className:(0,M.cn)("h-8 text-xs",o&&"pl-5")})]}),(0,t.jsxs)("div",{className:"relative flex-1",children:[o&&(0,t.jsx)("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-[11px] text-gray-400 pointer-events-none",children:o}),(0,t.jsx)(z.Input,{type:"number",placeholder:n,value:l,onChange:e=>a(e.target.value),className:(0,M.cn)("h-8 text-xs",o&&"pl-5")})]})]}),i&&(0,t.jsx)("p",{className:"text-[10px] text-red-500",children:i})]}),ee=({children:e})=>(0,t.jsx)("p",{className:"text-[10px] font-semibold text-gray-400 uppercase tracking-widest mb-2 mt-4 first:mt-0",children:e}),et=()=>(0,t.jsx)("div",{className:"border-t border-gray-100 my-3"});function el(){let e=(0,r.useRouter)(),s=(0,r.usePathname)(),{selections:o,activeFilterCount:d,toggleString:u,toggleExtColor:m,toggleIntColor:x,setRangePair:h,resetAll:g,clearOne:p,setQuery:f}=(0,i.useFilterSelections)(),{options:v,isLoading:b,isInitialLoad:j,dealerIdOptions:y,fetchOptions:w}=(0,i.useSearchFilterOptions)(),N=(0,l.useMemo)(()=>{var e,t;return(e=v??null)?{makes:(e=>{if(!e?.length)return[];let t=new Map;return e.forEach(e=>{let l=e.toLowerCase().trim();t.has(l)||t.set(l,e.trim())}),Array.from(t.values()).sort((e,t)=>e.localeCompare(t))})(e.make??[]),models:(e=>{if(!e?.length)return[];let t=new Map;return e.forEach(e=>{let l=e.replace(/_/g," ").trim(),r=l.toLowerCase();t.has(r)||t.set(r,l)}),Array.from(t.values()).sort((e,t)=>e.localeCompare(t))})(e.model??[]),trims:(e=>{if(!e?.length)return[];let t=new Map;return e.forEach(e=>{let l=e.replace(/_/g," ").trim(),r=l.toLowerCase();t.has(r)||t.set(r,l)}),Array.from(t.values()).sort((e,t)=>e.localeCompare(t))})(e.trim??[]),bodyStyles:W(e.bodyStyle??[]),conditions:W(e.condition??[]),fuelTypes:W(e.fuelType??[]),transmissions:(e=>{if(!e?.length)return[];let t=new Map;return e.forEach(e=>{let l=e.toLowerCase().trim(),r=t.get(l);if(r){let a=(r.match(/[A-Z]/g)||[]).length;(e.match(/[A-Z]/g)||[]).length>a&&t.set(l,e)}else t.set(l,e)}),Array.from(t.values())})(e.transmission??[]),driveTypes:W(e.driveType??[]),driveTrains:W(e.drivetrain??[]),powertrainCategories:W(e.powertrainCategory??[]),cabTypes:W(e.cabType??[]),doorCounts:[...new Set(e.doorCount??[])].sort((e,t)=>e-t),dealerWarranties:W(e.dealerWarranties??[]),exteriorColorGroups:(e=>{if(!e?.length)return[];let t=new Map;return e.forEach(e=>{let l=e.genericDescription?.trim()||"Other";t.has(l)||t.set(l,{genericDescription:l,representativeColorCode:null,shades:[]});let r=t.get(l);!r.representativeColorCode&&e.colorCode&&(r.representativeColorCode=e.colorCode);let a=e.color?.toLowerCase().trim();r.shades.some(e=>e.color?.toLowerCase().trim()===a)||r.shades.push(e)}),Array.from(t.values()).sort((e,t)=>"Other"===e.genericDescription?1:"Other"===t.genericDescription?-1:e.genericDescription.localeCompare(t.genericDescription))})(e.colors?.exterior??[]),interiorColorGroups:(e=>{if(!e?.length)return[];let t=new Map;return e.forEach(e=>{let l=e.genericDescription?.trim()||"Other";t.has(l)||t.set(l,{genericDescription:l,shades:[]});let r=t.get(l),a=e.color?.toLowerCase().trim();r.shades.some(e=>e.color?.toLowerCase().trim()===a)||r.shades.push(e)}),Array.from(t.values()).sort((e,t)=>"Other"===e.genericDescription?1:"Other"===t.genericDescription?-1:e.genericDescription.localeCompare(t.genericDescription))})(e.colors?.interior??[]),featureCategories:(t=e.features??[],t?.length?t.map(e=>{let t=new Map;return e.features.forEach(e=>{let l=e.description?.toLowerCase().trim()||e.name?.toLowerCase().trim();if(!l)return;let r=t.get(l);(!r||e.rankingValue>r.rankingValue)&&t.set(l,e)}),{category:e.category,features:Array.from(t.values()).sort((e,t)=>t.rankingValue-e.rankingValue)}}).filter(e=>e.features.length>0):[]),priceRange:{min:e.minPrice??0,max:e.maxPrice??0},mileageRange:{min:e.minMileage??0,max:e.maxMileage??0},yearRange:{min:e.minYear??0,max:e.maxYear??0},evRange:{min:e.evRangeMin??0,max:e.evRangeMax??0}}:{makes:[],models:[],trims:[],bodyStyles:[],conditions:[],fuelTypes:[],transmissions:[],driveTypes:[],driveTrains:[],powertrainCategories:[],cabTypes:[],doorCounts:[],dealerWarranties:[],exterior
1ColorGroups:[],interiorColorGroups:[],featureCategories:[],priceRange:{min:0,max:0},mileageRange:{min:0,max:0},yearRange:{min:0,max:0},evRange:{min:0,max:0}}},[v]),{user:S,isLoggedIn:k}=(0,i.useAuth)(),{saveSearch:M}=(0,i.useVehicleSearchContext)(),[E,A]=(0,l.useState)(""),[R,T]=(0,l.useState)(""),[L,P]=(0,l.useState)(""),[$,B]=(0,l.useState)(""),[F,D]=(0,l.useState)(""),[_,V]=(0,l.useState)(""),[O,U]=(0,l.useState)(null),[K,Q]=(0,l.useState)(null),[el,er]=(0,l.useState)(null),ea=(0,l.useRef)(null),es=(0,l.useRef)(null),en=(0,l.useRef)(null),[ei,eo]=(0,l.useState)(o.query??""),[ec,ed]=(0,l.useState)(""),{fetchPage:eu}=c(),em=(0,l.useRef)(!1);(0,l.useEffect)(()=>{!em.current&&(em.current=!0,null!==o.minPrice&&A(String(o.minPrice)),null!==o.maxPrice&&T(String(o.maxPrice)),null!==o.minMileage&&P(String(o.minMileage)),null!==o.maxMileage&&B(String(o.maxMileage)),null!==o.minYear&&D(String(o.minYear)),null!==o.maxYear&&V(String(o.maxYear)),o.query&&eo(o.query))},[o]),(0,l.useEffect)(()=>()=>{[ea,es,en].forEach(e=>{e.current&&clearTimeout(e.current)})},[]);let ex=(0,l.useCallback)((e,t)=>{A(e),T(t),Q(null),ea.current&&clearTimeout(ea.current),ea.current=setTimeout(()=>{let l=e.trim()?parseInt(e):null,r=t.trim()?parseInt(t):null;null!==l&&null!==r&&l>r?Q("Min cannot exceed max"):h("minPrice","maxPrice",l,r)},600)},[h]),eh=(0,l.useCallback)((e,t)=>{P(e),B(t),er(null),es.current&&clearTimeout(es.current),es.current=setTimeout(()=>{let l=e.trim()?parseInt(e):null,r=t.trim()?parseInt(t):null;null!==l&&null!==r&&l>r?er("Min cannot exceed max"):h("minMileage","maxMileage",l,r)},600)},[h]),eg=(0,l.useCallback)((e,t)=>{D(e),V(t),U(null),en.current&&clearTimeout(en.current),en.current=setTimeout(()=>{let l=e.trim()?parseInt(e):null,r=t.trim()?parseInt(t):null;null!==l&&null!==r&&l>r?U("Min cannot exceed max"):h("minYear","maxYear",l,r)},600)},[h]),ep=(0,l.useCallback)(e=>{eo(e)},[]),ef=(0,l.useCallback)(()=>{f(ei.trim()||null)},[ei,f]),ev=(0,l.useCallback)(()=>{eo(""),f(null)},[f]),eb=(0,l.useCallback)(()=>{g(),A(""),T(""),P(""),B(""),D(""),V(""),eo(""),U(null),Q(null),er(null),e.replace(s,{scroll:!1}),w(),eu(1)},[g,e,s]),ej=async()=>{if(!k||!S)return void I.toast.error("Please log in to save searches");if(!ec.trim())return void I.toast.error("Search title cannot be empty");try{let e=await M(ec.trim());e.success?(I.toast.success("Search saved!"),ed("")):I.toast.error(e.message||"Failed to save search")}catch{I.toast.error("Error saving search")}},ey=N.priceRange.min>0?`$${N.priceRange.min.toLocaleString()}`:"Min",ew=N.priceRange.max>0?`$${N.priceRange.max.toLocaleString()}`:"Max",eC=N.mileageRange.min>0?N.mileageRange.min.toLocaleString():"Min",eN=N.mileageRange.max>0?N.mileageRange.max.toLocaleString():"Max",eS=N.yearRange.min>0?String(N.yearRange.min):"Min",ek=N.yearRange.max>0?String(N.yearRange.max):"Max",eM=(0,l.useMemo)(()=>{let e=[];
1if([{key:"make",vals:o.make},{key:"model",vals:o.model},{key:"trim",vals:o.trim},{key:"bodyStyle",vals:o.bodyStyle},{key:"fuelType",vals:o.fuelType},{key:"driveType",vals:o.driveType},{key:"transmission",vals:o.transmission},{key:"powertrainCategory",vals:o.powertrainCategory},{key:"features",vals:o.features}].forEach(({key:t,vals:l})=>{l.forEach(l=>e.push({label:l,onRemove:()=>u(t,l)}))}),o.condition.forEach(t=>e.push({label:t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),onRemove:()=>u("condition",t)})),o.dealerIds.forEach(t=>{let l=y.find(e=>e.externalReference===t);e.push({label:l?.name||t,onRemove:()=>u("dealerIds",t)})}),o.exteriorColors.forEach(t=>{e.push({label:t.genericDescription||t.color,onRemove:()=>m(t)})}),o.interiorColors.forEach(t=>{e.push({label:t.genericDescription||t.color,onRemove:()=>x(t)})}),o.query&&e.push({label:`"${o.query}"`,onRemove:ev}),null!==o.minPrice||null!==o.maxPrice){let t=null!==o.minPrice&&null!==o.maxPrice?`$${o.minPrice.toLocaleString()} â $${o.maxPrice.toLocaleString()}`:null!==o.minPrice?`From $${o.minPrice.toLocaleString()}`:`Up to $${o.maxPrice.toLocaleString()}`;e.push({label:t,onRemove:()=>{h("minPrice","maxPrice",null,null),A(""),T("")}})}if(null!==o.minYear||null!==o.maxYear){let t=null!==o.minYear&&null!==o.maxYear?`${o.minYear} â ${o.maxYear}`:null!==o.minYear?`From ${o.minYear}`:`Up to ${o.maxYear}`;e.push({label:t,onRemove:()=>{h("minYear","maxYear",null,null),D(""),V("")}})}if(null!==o.minMileage||null!==o.maxMileage){let t=null!==o.minMileage&&null!==o.maxMileage?`${o.minMileage.toLocaleString()} â ${o.maxMileage.toLocaleString()} mi`:null!==o.minMileage?`From ${o.minMileage.toLocaleString()} mi`:`Up to ${o.maxMileage.toLocaleString()} mi`;e.push({label:t,onRemove:()=>{h("minMileage","maxMileage",null,null),P(""),B("")}})}return e},[o,y,u,m,x,f,h]);return(0,t.jsxs)("div",{className:"w-full bg-white border border-gray-200 rounded-xl overflow-hidden shadow-sm",children:[(0,t.jsxs)("div",{className:"bg-[#07507B] px-4 py-2.5 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-semibold text-white text-sm tracking-wide",children:"Filters"}),d>0&&(0,t.jsx)("span",{className:"inline-flex items-center justify-center w-5 h-5 rounded-full bg-[#8FC947] text-white text-[10px] font-bold",children:d})]}),(0,t.jsxs)(n.Button,{size:"sm",variant:"ghost",onClick:eb,className:"text-[11px] text-white hover:text-white hover:bg-white/15 h-7 px-2.5 gap-1",children:[(0,t.jsx)(a.X,{className:"w-3 h-3"})," Clear all"]})]}),(0,t.jsxs)("div",{className:"relative p-3",children:[b&&!j&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 bg-white/60 backdrop-blur-[1px] flex items-start justify-center pt-12 rounded-b-xl pointer-events-all",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 bg-white border border-gray-100 shadow-md rounded-xl px-5 py-4",children:[(0,t.jsx)(G.Loader2,{className:"h-4 w-4 text-[#07507B] animate-spin"}),(0,t.jsx)("span",{className:"text-[11px] font-medium text-gray-600",children:"Updating filters..."})]})}),(0,t.jsx)(ee,{children:"Vehicle"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,t.jsx)(X,{label:"Condition",options:N.conditions.length>0?N.conditions:["NEW","USED","CERTIFIED"],selectedValues:o.condition,onToggle:e=>u("condition",e),onClearAll:()=>p("condition"),allLabel:"All conditions",isLoading:j,singleSelect:!0,formatLabel:H}),(0,t.jsx)(X,{label:"Make",options:N.makes,selectedValues:o.make,onToggle:e=>u("make",e),onClearAll:()=>p("make"),allLabel:"All makes",searchable:!0,isLoading:j,freezeWhileOpen:!0}),(0,t.jsx)(X,{label:"Model",options:N.models,selectedValues:o.model,onToggle:e=>u("model",e),onClearAll:()=>p("model"),allLabel:"All models",searchable:!0,isLoading:b,disabled:0===o.make.length&&0===N.models.length,emptyMessage:"Select a make first"}),(0,t.jsx)(X,{label:"Trim",options:N.trims,selectedValues:o.trim,onToggle:e=>u("trim",e),onClearAll:()=>p("trim"),allLabel:"All trims",searchable:!0,isLoading:b,disabled:0===o.model.length&&0===N.trims.length,emptyMessage:"Select a model first"}),(0,t.jsx)(X,{label:"Body style",options:N.bodyStyles,selectedValues:o.bodyStyle,onToggle:e=>u("bodyStyle",e),onClearAll:()=>p("bodyStyle"),allLabel:"All body styles",isLoading:j}),(0,t.jsx)(X,{label:"Fuel type",options:N.fuelTypes,selectedValues:o.fuelType,onToggle:e=>u("fuelType",e),onClearAll:()=>p("fuelType"),allLabel:"All fuel types"}),(0,t.jsx)(X,{label:"Drive type",options:N.driveTypes,selectedValues:o.driveType,onToggle:e=>u("driveType",e),onClearAll:()=>p("driveType"),allLabel:"All drive types"}),(0,t.jsx)(X,{label:"Transmission",options:N.transmissions,selectedValues:o.transmission,onToggle:e=>u("transmission",e),onClearAll:()=>p("transmission"),allLabel:"All transmissions"}),N.powertrainCategories.length>0&&(0,t.jsx)(X,{label:"Powertrain",options:N.powertrainCategories,selectedValues:o.powertrainCategory,onToggle:e=>u("powertrainCategory",e),onClearAll:()=>p("powertrainCategory"),allLabel:"All powertrains"}),y.length>0&&(0,t.jsx)(X,{label:"Dealer",options:y.map(e=>e.name),selectedValues:y.filter(e=>o.dealerIds.includes(e.externalReference)).map(e=>e.name),onToggle:e=>{let t=y.find(t=>t.name===e);t&&u("dealerIds",t.externalReference)},onClearAll:()=>p("dealerIds"),allLabel:"All dealers",searchable:!0})]}),eM.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-3",children:eM.map((e,l)=>(0,t.jsx)(q,{label:e.label,onRemove:e.onRemove},l))}),(0,t.jsx)(et,{}),(0,t.jsx)(ee,{children:"Range"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] text-gray-500 mb-1.5",children:"Price"}),(0,t.jsx)(J,{minValue:E,maxValue:R,onMinChange:e=>ex(e,R),onMaxChange:e=>ex(E,e),minPlaceholder:ey,maxPlaceholder:ew,error:K,prefix:"$"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] text-gray-500 mb-1.5",children:"Year"}),(0,t.jsx)(J,{minValue:F,maxValue:_,onMinChange:e=>eg(e,_),onMaxChange:e=>eg(F,e),minPlaceholder:eS,maxPlaceholder:ek,error:O})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] text-gray-500 mb-1.5",children:"Mileage"}),(0,t.jsx)(J,{minValue:L,maxValue:$,onMinChange:e=>eh(e,$),onMaxChange:e=>eh(L,e),minPlaceholder:eC,maxPlaceholder:eN,error:el})]})]}),(0,t.jsx)(et,{}
1),(N.exteriorColorGroups.length>0||N.interiorColorGroups.length>0)&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(et,{}),N.exteriorColorGroups.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ee,{children:"Exterior color"}),(0,t.jsx)(Z,{items:N.exteriorColorGroups.map(e=>({label:e.genericDescription,colorCode:e.representativeColorCode||void 0})),selectedLabels:o.exteriorColors.map(e=>e.genericDescription||e.color),onToggle:e=>{let t=N.exteriorColorGroups.find(t=>t.genericDescription===e);t&&m({color:t.genericDescription,genericDescription:t.genericDescription,colorCode:t.representativeColorCode||""})}})]}),N.interiorColorGroups.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ee,{children:"Interior color"}),(0,t.jsx)(Z,{items:N.interiorColorGroups.map(e=>({label:e.genericDescription})),selectedLabels:o.interiorColors.map(e=>e.genericDescription||e.color),onToggle:e=>{let t=N.interiorColorGroups.find(t=>t.genericDescription===e);t&&x({color:t.genericDescription,genericDescription:t.genericDescription})}})]})]}),N.featureCategories.filter(e=>"Original Warranty"!==e.category).length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(et,{}),(0,t.jsx)(ee,{children:"Features"}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-1.5",children:N.featureCategories.filter(e=>"Original Warranty"!==e.category).map(e=>(0,t.jsx)(X,{label:e.category,options:e.features.map(e=>e.description||e.name),selectedValues:o.features.filter(t=>e.features.some(e=>(e.description||e.name)===t)),onToggle:e=>u("features",e),onClearAll:()=>{e.features.forEach(e=>{let t=e.description||e.name;o.features.includes(t)&&u("features",t)})},allLabel:`All ${e.category.toLowerCase()}`,searchable:e.features.length>8},e.category))})]}),(0,t.jsx)(et,{}),(0,t.jsx)(ee,{children:"Search"}),(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(Y.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-3 h-3 text-gray-400 pointer-events-none"}),(0,t.jsx)(z.Input,{placeholder:"Keyword, VIN, or stock number...",value:ei,onChange:e=>ep(e.target.value),onKeyDown:e=>{"Enter"===e.key&&ef()},className:"pl-7 pr-7 h-8 text-xs"}),ei&&(0,t.jsx)("button",{onClick:ev,className:"absolute right-2.5 top-1/2 -translate-y-1/2",children:(0,t.jsx)(a.X,{className:"w-3 h-3 text-gray-400 hover:text-gray-600"})})]}),(0,t.jsx)(n.Button,{size:"sm",onClick:ef,className:"h-8 px-3 text-xs bg-[#07507B] hover:bg-[#064063] text-white flex-shrink-0",children:"Search"})]}),k&&S&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(et,{}),(0,t.jsx)(ee,{children:"Save search"}),(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsx)(z.Input,{placeholder:"Name this search...",value:ec,onChange:e=>ed(e.target.value),maxLength:100,className:"h-8 text-xs flex-1"}),(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",onClick:ej,className:"h-8 text-xs px-2.5 border-[#07507B] text-[#07507B] hover:bg-[#07507B] hover:text-white flex-shrink-0 gap-1",children:[(0,t.jsx)(C.Heart,{className:"w-3 h-3"}),"Save"]})]})]})]})]})}var er=e.i(70703),ea=e.i(55900);let es=(0,h.default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);function en({vehiclesContainerId:e="vehicles-list",filtersContainerId:r="shop-filters",className:a,onFilterClick:s}){let[n,i]=(0,l.useState)(!1),[o,c]=(0,l.useState)("down");return((0,l.useEffect)(()=>{let e=()=>{i(window.innerWidth<1024)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),(0,l.useEffect)(()=>{let t=()=>{let t=document.getElementById(e),l=document.getElementById(r);if(!t||!l)return;let a=t.getBoundingClientRect(),s=window.scrollY,n=window.innerHeight,i=t.offsetTop;a.top<=.5*n&&a.bottom>0?s>i+200?c("filters"):c("down"):a.top>.5*n?c("down"):c("up")};return t(),window.addEventListener("scroll",t),window.addEventListener("resize",t),()=>{window.removeEventListener("scroll",t),window.removeEventListener("resize",t)}},[e,r]),n)?(0,t.jsx)("button",{onClick:()=>
1{if("down"===o){let t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth",block:"start"})}else if("filters"===o){let e=document.getElementById(r);e&&e.scrollIntoView({behavior:"smooth",block:"start"}),s&&s()}else window.scrollTo({top:0,behavior:"smooth"})},className:(0,M.cn)("fixed bottom-20 right-4 z-50","w-14 h-14 rounded-full","bg-[#07507B] hover:bg-[#064668]","text-white shadow-lg","flex items-center justify-center","transition-all duration-300","active:scale-95","lg:hidden",a),"aria-label":"down"===o?"Scroll to vehicles":"filters"===o?"Back to filters":"Scroll to top",children:"down"===o?(0,t.jsx)(U.ChevronDown,{className:"w-6 h-6"}):"filters"===o?(0,t.jsx)(es,{className:"w-6 h-6"}):(0,t.jsx)(ea.ChevronUp,{className:"w-6 h-6"})}):null}var ei=e.i(95544);let eo=(0,er.default)(()=>e.A(87228),{loadableGenerated:{modules:[38157]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"h-[400px] bg-gray-100 animate-pulse"})}),ec=({h1Text:e})=>{let s=(0,r.useSearchParams)(),[n,i]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=setTimeout(()=>{i(!0)},100);return()=>clearTimeout(e)},[]);let o=[{key:"trim",label:"Trim",value:s.get("trim")},{key:"exteriorColor",label:"Exterior",value:s.get("exteriorColor")},{key:"interiorColor",label:"Interior",value:s.get("interiorColor")},{key:"packages",label:"Packages",value:s.get("packages")?.split(",").filter(Boolean).join(", ")}].filter(e=>e.value),c=e=>{let t=new URLSearchParams(s);e?t.delete(e):o.forEach(e=>t.delete(e.key)),window.location.search=t.toString()};return(0,l.useEffect)(()=>{if(!(window.innerWidth<1024)){let e=setTimeout(()=>{let e=document.getElementById("auto-scroll");if(e){let t=e.getBoundingClientRect().top+window.pageYOffset-350;window.scrollTo({top:t,behavior:"smooth"})}},500);return()=>clearTimeout(e)}},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"min-h-[400px]",children:n?(0,t.jsx)(eo,{}):(0,t.jsx)("div",{className:"h-[400px] bg-gray-100 rounded-lg flex items-center justify-center",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("div",{className:"w-12 h-12 border-4 border-gray-300 border-t-blue-500 rounded-full animate-spin mx-auto mb-2"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm",children:"Loading map..."})]})})}),(0,t.jsxs)("div",{className:"flex flex-col lg:flex-row gap-8 container mx-auto px-4 py-24 w-full",children:[(0,t.jsx)("div",{id:"shop-filters",className:"w-full lg:w-[300px] shrink-0",children:(0,t.jsx)(el,{})}),(0,t.jsxs)("div",{className:"flex-1",children:[o.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-3 flex-wrap mb-4",children:[o.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-blue-50 text-blue-800 text-sm font-medium",children:[e.label,": ",e.value,(0,t.jsx)("button",{type:"button",onClick:()=>c(e.key),"aria-label":`Remove ${e.label}`,children:(0,t.jsx)(a.X,{className:"w-4 h-4"})})]},e.key)),(0,t.jsx)("button",{type:"button",onClick:()=>c(),className:"text-sm text-gray-500 underline hover:no-underline",children:"Clear all"})]}),(0,t.jsx)("div",{id:"vehicles-list",children:(0,t.jsx)(D,{h1Text:e})})]})]}),(0,t.jsx)(ei.default,{}),(0,t.jsx)(en,{vehiclesContainerId:"vehicles-list",filtersContainerId:"shop-filters"})]})};var ed=e.i(32627),eu=e.i(81657),em=e.i(83154),ex=e.i(60217),eh=e.i(23379);e.s(["default",0,({initialFilters:e,serverVehicles:a,serverTotalCount:s,serverTotalPages:n,serverCurrentPage:c,h1Text:u})=>{let m=(0,r.useRouter)(),x=(0,r.usePathname)(),h=(0,r.useSearchParams)(),g=(0,ed.useAppDispatch)(),{hasInitiallyLoaded:p,currentPage:f}=(0,i.useVehicleSearchContext)(),v=(0,ed.useAppSelector)(ex.selectFilterSelections),[b,j]=(0,l.useState)(h.get("sort")||e.sort||""),[y,w]=(0,l.useState)(!1),C=(0,d.useUserLocation)(!1);(0,l.useEffect)(()=>{g((0,eu.initializeWithServerData)({vehicles:a??[],totalCount:s||0,totalPages:n||0,currentPage:c||1,filters:{page:1,size:50,...e}}))},[]),(0,l.useEffect)(()=>{g((0,ex.resetAllSelections)());let t={},{selections:l,sort:r}=(0,eh.urlParamsToSelections)(h);Object.assign(t,l),r&&j(r),!t.condition?.length&&e.condition&&"__all__"!==e.condition&&(t.condition=[e.condition.toUpperCase()]),!t.make?.length&&e.make&&"__all__"!==e.make&&(t.make=[e.make]),!t.model?.length&&e.model&&"__all__"!==e.model&&(t.model=[e.model]),!t.trim?.length&&e.trim&&"__all__"!==e.trim&&(t.trim=[e.trim]),Object.keys(t).length>0&&g((0,ex.mergeSelections)(t)),w(!0)},[x]);let{fetchPage:N,fetchSort:S}=((e={},t={},r=!0,a=!1)=>{let s=(0,ed.useAppDispatch)(),n=(0,ed.useAppSelector)(ex.selectFilterSelections),i=(0,ed.useAppSelector)(ex.selectFilterChangeCount),o=(0,ed.useAppSelector)(ex.selectLastChangedField),c=(0,l.useRef)(!1),d=(0,l.useRef)(null),u=(0,l.useRef)(-1),m=(0,l.useRef)(e);(0,l.useEffect)(()=>{m.current=e});let x=(0,l.useRef)(t);(0,l.useEffect)(()=>{x.current=t});let h=(0,l.useCallback)(async(e,t=!1,l={})=>{let r=(0,eh.isEmptySelections)(e)?{}:(0,eh.selectionsToSearchFilterParams)(e),a=(0,eh.selectionsToVehicleParam
1s)(e,{...x.current,...m.current});t&&x.current.page&&(a.page=x.current.page),Object.keys(l).length>0&&Object.assign(a,l),await Promise.all([s((0,em.fetchSearchFilterOptions)(r)),s((0,eu.fetchVehicles)(a))])},[s]);return(0,l.useEffect)(()=>{if(r&&!c.current)if(c.current=!0,u.current=i,a){let e=(0,eh.isEmptySelections)(n)?{}:(0,eh.selectionsToSearchFilterParams)(n);s((0,em.fetchSearchFilterOptions)(e))}else h(n,!0)},[s,r]),(0,l.useEffect)(()=>{r&&c.current&&i!==u.current&&0!==i&&(u.current=i,d.current&&(clearTimeout(d.current),d.current=null),o&&(0,ex.isRangeField)(o)?d.current=setTimeout(()=>{h(n),d.current=null},600):h(n))},[i,o,n,r,h]),(0,l.useEffect)(()=>()=>{d.current&&clearTimeout(d.current),s((0,em.clearSearchFilterOptions)())},[s]),{refetch:()=>h(n),fetchPage:e=>h(n,!1,{page:e}),fetchSort:e=>h(n,!1,{sort:e})}})((0,l.useMemo)(()=>{let e={size:50,marketplaceId:Number(R.MARKETPLACE_ID),...b?{sort:b}:{}};C.latitude&&C.longitude&&!C.loading&&(e["locatedWithin.latitude"]=C.latitude,e["locatedWithin.longitude"]=C.longitude);let t=h.get("zip"),l=h.get("distance");return t&&(e.zip=t),l&&(e.distance=Number(l)),e},[C.latitude,C.longitude,C.loading,b,h.get("zip"),h.get("distance")]),(0,l.useMemo)(()=>{let t={};e.slug&&(t.slug=e.slug),e.stockNumber&&(t.stockNumber=e.stockNumber),e.VIN&&(t.VIN=e.VIN);let l=h.get("page");return l&&Number(l)>1&&(t.page=Number(l)),t},[e.slug,e.stockNumber,e.VIN,h.get("page")]),p&&y,p),k=new Set(["make","model","trim","bodyStyle","cabType","condition","fuelType","powertrain","transmission","driveType","drivetrain","warranty","dealerIds","doors","features","minPrice","maxPrice","minMileage","maxMileage","minYear","maxYear","evMin","evMax","extColor","intColor","sort","page"]),M=(0,l.useRef)(x),E=(0,l.useRef)(null),A=(0,l.useRef)(!0);return(0,l.useEffect)(()=>{if(A.current){A.current=!1;return}if(M.current!==x){M.current=x;return}if(p)return E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{let e=(0,eh.selectionsToUrlParams)(v,b||void 0);f&&f>1&&e.set("page",String(f)),new URLSearchParams(window.location.search).forEach((t,l)=>{k.has(l)||e.set(l,t)});let t=e.toString();if(window.location.search.replace("?","")===t)return;let l=t?`${x}?${t}`:x;m.replace(l,{scroll:!1})},150),()=>{E.current&&clearTimeout(E.current)}},[v,f,b,p,m,x]),(0,t.jsx)(o.Provider,{value:{fetchPage:N,fetchSort:e=>{j(e),S(e)},currentSort:b},children:(0,t.jsx)("div",{suppressHydrationWarning:!0,children:(0,t.jsx)(ec,{h1Text:u})})})}],4686)},33951,e=>{"use strict";var t=e.i(43476),l=e.i(71645),r=e.i(7233),a=e.i(99023);e.s(["default",0,function({faqs:e,heading:s="Frequently Asked Questions"}){let[n,i]=(0,l.useState)(0);return e?.length?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h2",{className:"text-2xl md:text-3xl lg:text-4xl font-semibold text-[#07507B]",children:s}),(0,t.jsx)("div",{className:"space-y-3 py-4",children:e.map((e,l)=>{let s=n===l;return(0,t.jsxs)("div",{className:`border rounded-xl transition-all duration-300 ${s?"p-3 md:p-4 border-gray-300":"px-3 md:px-4 border-transparent"}`,children:[(0,t.jsxs)("button",{onClick:()=>i(e=>e===l?null:l),className:"flex items-center gap-4 text-[#1E1E1E] font-semibold text-base md:text-xl w-full text-left","aria-expanded":s,"aria-controls":`faq-answer-${l}`,children:[s?(0,t.jsx)("span",{className:"shrink-0 rounded-[10px] bg-[#8DCA44] p-2",children:(0,t.jsx)(a.Minus,{className:"text-white",size:14})}):(0,t.jsx)("span",{className:"shrink-0 rounded-[10px] border border-[#8DCA44] p-1",children:(0,t.jsx)(r.Plus,{className:"text-[#8FC947]",size:20})}),e.question]}),(0,t.jsx)("div",{id:`faq-answer-${l}`,role:"region",hidden:!s,className:"mt-3 pl-10 md:pl-12 text-sm md:text-base text-gray-600 leading-relaxed",children:e.answer})]},l)})})]}):null}])}]);
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.