1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1945],{91945:function(e,a,t){t.r(a),t.d(a,{default:function(){return Filters_SearchKBar}});var n=t(52322),r=t(2784),s=t(59701),l=t(29538),i=t.n(l),c=t(24697),d=t(80547),m=t(22922),p=t(54590),o=t(76321),u=t(73528),h=t(12524),x=t.n(h),y=t(56432);let f=r.forwardRef(function(e,a){let{item:t,active:r=!1}=e;return(0,n.jsx)("div",{ref:a,className:x()("flex cursor-pointer items-center justify-between px-2 py-3",r&&"bg-green-light text-brand"),children:t.data?(0,n.jsxs)("div",{className:"flex flex-row items-center",children:[t.data.type===m.B.PROPERTY&&(0,n.jsx)(y.Z,{}),t.data.type===m.B.NEIGHBORHOOD&&(0,n.jsx)("div",{className:"w-4"}),(0,n.jsxs)("div",{className:"ml-2 max-w-[460px] truncate",children:[(0,n.jsxs)("span",{className:"text-16px",children:[t.name,t.data.type===m.B.PROPERTY&&(0,n.jsxs)("span",{className:"ml-1 text-15px",children:[t.data.city,", ",t.data.state]})]}),t.data.type===m.B.PROPERTY&&(0,n.jsx)("div",{className:"text-14px",children:t.data.priceRange}),t.data.type===m.B.NEIGHBORHOOD&&(0,n.jsxs)("div",{className:"text-13px",children:["(Neighborhood, ",t.data.city,", ",t.data.state,")"]})]})]}):t.name})}),KBar=e=>{let{onCityChange:a}=e,[t,l]=(0,r.useState)([]),[h,x]=(0,r.useState)([]),y=(0,r.useCallback)(e=>{let{data:t}=e;t&&t.type!==m.B.PROPERTY&&((0,p.hn)("Command K search selected",{optionType:t.type,city:t.fullName}),a&&a({name:t.name,type:t.type,city:t.city,state:t.state,fullName:t.fullName,center:t.center,gpid:t.gpid,bounds:t.bounds}))},[a]),B=(0,r.useCallback)(e=>{let{data:a}=e;if(!a||a.type!==m.B.PROPERTY)return;(0,p.hn)("Command K search selected",{optionType:m.B.PROPERTY,propertyId:a.nanoId,propertyName:a.name});let t=(0,o.rB)(a);window.open(t)},[]);i()(async()=>{let{popularCities:e}=await (0,u.K)(),a=e.sort((e,a)=>e.name>a.name?1:-1),t=a.map(e=>({id:e.name,name:e.name,data:{type:m.B.CITY,name:e.name,city:e.name.split(", ")[0],state:e.name.split(", ")[1],fullName:e.name,center:{lng:e.lng,lat:e.lat},gpid:e.gpid,bounds:e.bounds,value:e.name,label:e.name},perform:y}));l(t),x(t)},[]);let{actions:R,isOpened:N}=(0,s.useKBar)(e=>{let a=Object.keys(e.actions).reduce((a,t)=>{let n=e.actions[t];return a.push(n),a},[]);return{actions:a,isOpened:e.visualState!==s.VisualState.hidden}});(0,s.useRegisterActions)(h,[h]),(0,r.useEffect)(()=>{N&&x(t)},[N,t]);let search=async e=>{let a=e.trim();if(!a)return t;let n=await d.ZP.searchLocation(a),r=n.map(e=>e.type===m.B.PROPERTY?{id:e.nanoId,name:e.name,data:{...e,priceRange:(0,o.b6)(e.minRent,e.maxRent)},perform:B}:{id:e.fullName,name:e.type===m.B.CITY?e.fullName:e.name,data:e,perform:y});return r},g=(0,c.y1)(e=>{search(e.target.value).then(e=>{x(e)})},500);return(0,n.jsx)(s.KBarPortal,{children:(0,n.jsx)(s.KBarPositioner,{className:"z-[250]",children:(0,n.jsxs)(s.KBarAnimator,{className:"w-[500px] overflow-hidden rounded-lg bg-white shadow-[0_20px_30px_rgba(0,0,0,0.2)]",children:[(0,n.jsx)(s.KBarSearch,{className:"w-full px-4 py-3 outline-none",defaultPlaceholder:"Search a city or building",onChange:g}),(0,n.jsx)(s.KBarResults,{items:R,onRender:e=>{let{item:a,active:t}=e;return(0,n.jsx)(f,{item:a,active:t})}})]})})})};var Filters_SearchKBar=e=>{let{onCityChange:a}=e;return(0,n.jsx)(s.KBarProvider,{children:(0,n.jsx)(KBar,{onCityChange:a})})}}}]);
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.