1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,84026,e=>{"use strict";let t=(0,e.i(56420).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",()=>t],84026)},9642,82505,35892,e=>{"use strict";var t=e.i(56420);let s=(0,t.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>s],9642);let l=(0,t.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>l],82505);var i=e.i(43476),a=e.i(57688),r=e.i(20865),n=e.i(82954),o=e.i(48161),c=e.i(82022),d=e.i(53709),x=e.i(60839),h=e.i(89419),f=e.i(93244);function p({contractor:e}){let t=(0,x.useContractorPanel)(),s=t.isOpen&&t.contractor?.id===e.id,l=(0,h.displayName)(e),p=(0,h.initialsOf)(l),m=(0,h.profilePhoto)(e),g=(0,f.currentPhoto)(e.media)?.id,y=e.google_photos??[],u=e.media.filter(e=>e.id!==g).map(e=>(0,f.getMediaUrl)(e)).filter(e=>!!e),j=[...m?[m]:[],...y.length>0?y:u,...(e.portfolio??[]).map(e=>e.image)].filter((e,t,s)=>s.indexOf(e)===t).slice(0,3),b=j.length>0,v=e.title??e.service?.label??null,w=e.years_experience,N=e.projects_completed,k=[null!=w?`${w} yrs experience`:null,null!=N?`${N.toLocaleString()} projects`:null].filter(Boolean).join(" · "),S=e.service_types?.slice(0,3)??e.skills?.slice(0,3)??[];0===S.length&&e.service?.label&&(S=[e.service.label]);let z=e.yelp_rating??e.rating??null,C=e.yelp_review_count??null,F=e.google_rating??e.rating??null,I=e.google_review_count??null,_=null!=z&&null!=C,M=null!=F&&null!=I,L=[e.city,e.state].filter(Boolean).join(", ");return(0,i.jsxs)("a",{href:`/contractor/${e.id}`,onClick:l=>{l.metaKey||l.ctrlKey||l.shiftKey||l.altKey||0!==l.button||(l.preventDefault(),s?t.close():t.open(e))},className:`bg-white rounded-2xl border border-[#e8e8ed] transition-all flex flex-col overflow-hidden group cursor-pointer ${s?"-translate-y-1":"hover:shadow-lg hover:-translate-y-0.5"}`,style:{boxShadow:s?"0px 16px 40px -12px rgba(0, 0, 0, 0.18), 0px 4px 12px -2px rgba(0, 0, 0, 0.08)":"0px 2px 32px 0px rgba(0,0,0,0.06)"},children:[(0,i.jsxs)("div",{className:"p-[18px] flex flex-col gap-3 flex-1",children:[(0,i.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,i.jsxs)("div",{className:"flex flex-col gap-1.5 min-w-0",children:[(0,i.jsx)("span",{className:"text-[#262626] leading-tight",style:{fontFamily:"'Inter', 'DM Sans', sans-serif",fontWeight:700,fontSize:"1.1rem"},children:l}),(0,i.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[_&&(0,i.jsxs)("div",{className:"flex items-center gap-1",children:[(0,i.jsx)(d.YelpIcon,{className:"w-3.5 h-3.5 shrink-0"}),(0,i.jsxs)("span",{className:"text-[#0065f0] whitespace-nowrap",style:{fontFamily:"'Inter', sans-serif",fontWeight:600,fontSize:"0.78rem"},children:[z.toFixed(2)," (",C.toLocaleString(),")"]})]}),M&&(0,i.jsxs)("div",{className:"flex items-center gap-1",children:[(0,i.jsx)(d.GoogleIcon,{className:"w-3.5 h-3.5 shrink-0"}),(0,i.jsxs)("span",{className:"text-[#0065f0] whitespace-nowrap",style:{fontFamily:"'Inter', sans-serif",fontWeight:600,fontSize:"0.78rem"},children:[F.toFixed(2)," (",I.toLocaleString(),")"]})]}),!_&&!M&&(0,i.jsx)("span",{className:"text-[#9ca3af] text-xs",children:"No reviews yet"})]})]}),(0,i.jsxs)("button",{type:"button",onClick:t=>{t.preventDefault(),t.stopPropagation(),window.open(`/contractor/${e.id}`,"_blank","noopener,noreferrer")},"aria-label":"Open full profile in a new tab",className:"shrink-0 inline-flex items-center gap-1 px-2.5 py-1 text-xs text-gray-500 hover:text-[#0065f0] hover:bg-blue-50 border border-[#e8e8ed] hover:border-[#0065f0]/30 rounded-md transition-colors cursor-pointer",style:{fontFamily:"'Inter', sans-serif",fontWeight:500},children:["View profile",(0,i.jsx)(c.ExternalLink,{className:"w-3 h-3"})]})]}),b?(0,i.jsx)("div",{className:"flex gap-1.5 h-[90px]",children:[0,1,2].map(e=>(0,i.jsx)("div",{className:"flex-1 overflow-hidden rounded-md bg-gray-100",children:j[e]?(0,i.jsx)(a.default,{src:j[e],alt:"",width:200,height:90,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",unoptimized:!0}):(0,i.jsx)("div",{className:"w-full h-full bg-gray-100"})},e))}):(v||k)&&(0,i.jsxs)("div",{className:"bg-[#eef4ff] rounded-lg px-3 h-[90px] flex items-center gap-3",children:[(0,i.jsx)("div",{className:"w-11 h-11 rounded-full flex items-center justify-center text-[#0065f0] bg-[#dbe6fb] shrink-0",style:{fontSize:"0.82rem",fontWeight:700,letterSpacing:"0.02em"},children:p}),(0,i.jsxs)("div",{className:"flex-1 min-w-0",children:[v&&(0,i.jsx)("p",{className:"text-[#0065f0] truncate",style:{fontFamily:"'Inter', sans-serif",fontWeight:700,fontSize:"0.85rem"},children:v}),k&&(0,i.jsx)("p",{className:"text-[#5b7fb6] text-xs truncate",children:k})]})]}),S.length>0&&(0,i.jsx)("div",{className:"flex flex-wrap gap-1.5",children:S.map(e=>(0,i.jsx)("span",{className:"bg-[#fafafa] border border-[#e8e8ed] text-[#7f7f7f] px-2 py-1.5 rounded",style:{fontFamily:"'Inter', sans-serif",fontSize:"0.72rem"},children:e},e))})]}),(0,i.jsxs)("div",{className:"px-[18px] py-3 border-t border-[#f0f0f0] flex items-center justify-between gap-2 mt-auto",children:[L&&(0,i.jsxs)("div",{className:"flex items-center gap-1 min-w-0",children:[(0,i.jsx)(r.MapPin,{className:"w-3.5 h-3.5 text-[#343330] shrink-0"}),(0,i.jsx)("span",{className:"text-black truncate",style:{fontFamily:"'Inter', sans-serif",fontSize:"0.78rem"},children:L})]}),(0,i.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[e.licenses.length>0&&(0,i.jsxs)("div",{className:"flex items-center gap-1 px-1 py-1 rounded",children:[(0,i.jsx)(n.Shield,{className:"w-[14px] h-[14px] text-[#72b8e3]"}),(0,i.jsx)("span",{style:{fontFamily:"'Inter', sans-serif",fontSize:"0.72rem",color:"#72b8e3"},children:"Licensed"})]}),e.verified&&(0,i.jsxs)("div",{className:"flex items-center gap-1 px-1 py-1 rounded",children:[(0,i.jsx)(o.CheckCircle,{className:"w-[14px] h-[14px] text-[#34a853]"}),(0,i.jsx)("span",{style:{fontFamily:"'Inter', sans-serif",fontSize:"0.72rem",color:"#34a853"}
1,children:"Verified"})]})]})]})]})}e.s(["ContractorTile",()=>p],35892)}]);
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.