PageSourceSearch

https://www.bhgre.com/assets/SRC-LAYOUT-B9XELTI0.js

js bhgre.com collected 2026-10-02 15:12:49 UTC 103,486 bytes, 2 lines download raw bytes

1import{r as j,j as e,R as qe,H as Vt,M as te,C as V,u as Ks,f as Ws,I as qt,A as Ts,i as zt,b as Zt,O as Kt}from"./NODE_MODULES-OB-HwBg-.js";import{A as G,e as Ne,B as O,g as $,n as Pe,L as Z,o as Ns,h as R,c as ee,T as Wt,F as re,p as be,b as J,q as Xs,j as Js,f as q,C as Cs,R as Xt,r as Fs,P as Jt,s as Qt}from"./COMMON-Cxto__Yo.js";import"./FORT_AWESOME-_WM4axil.js";import{a as Qs,t as Q,g as ze,b as et,G as Ze,H as st,c as Ge,S as tt,C as As,I as ea,T as sa,d as ta,P as at,e as aa,f as Es,h as Ls,i as ks,j as na,k as oa,l as nt,m as ot,n as ia,o as Ke,p as ra,q as la,L as ca,r as da,s as ha,u as ua,v as ma,w as pa,x as ga,y as it,z as rt,A as Hs,B as fa}from"./SRC-GLOBAL-Zw5ZXw7F.js";import{c as L,u as C}from"./REDUX-BdKUGhO0.js";import{u as me,a as _,b as We,c as Xe,d as lt}from"./REACT_ROUTER-B_PeMloH.js";import{aU as ge,aV as ya,aW as ct,aX as ba,aY as xe,aZ as oe,a_ as de,a$ as dt,b0 as ht,b1 as ut,b2 as mt,b3 as xa,b4 as $e,b5 as pt,az as Ie,ay as he,b6 as va,b7 as gt,b8 as ue,b9 as ft,b as ie,c as He,am as Oe,al as ye,a as Gs,aK as D,ba as ja,bb as Na,bc as Sa,bd as Ta,be as Ca,bf as Aa,bg as Ea,bh as La,aA as Ye,bi as ka,ah as A,ag as ve,bj as $a,bk as Je,bl as Se,aj as $s,ai as Is,d as Qe,J as es,K as ss,H as ts,av as Ia,au as Oa,ax as wa,aT as Pa,a4 as yt,a5 as bt,as as xt,ar as _a,ao as Ra,aq as Ma,ap as Ua,k as vt,f as jt,aS as Le,B as as,x as ns,D as os,z as is,aB as rs,y as ls,S as Ba,p as Da,af as Fa,A as Ha,ak as Ga,O as Ya,u as Va,r as qa,j as za,E as Za,L as Ka,bm as Wa,bn as Xa,bo as Ja,bp as Qa,bq as en,br as sn,bs as tn,bt as an,bu as nn,bv as on,bw as rn}from"./ANALYTICS-CDh4QWRw.js";import"./GTM-B02n6sU6.js";import{c as P,l as we,e as ae,k as Ys,j as _e,h as cs,m as ln,f as je,d as cn}from"./UTILS-CAxlCS9H.js";import{c as F,a as E,C as xs,b as Nt,d as vs,P as Ss}from"./TYPES-Cl94NmRS.js";import{L as Re}from"./SRC-HOME-D7ITSYaW.js";const dn=async(s,a,t)=>{a(!0),await s.revokeAccessToken(),await s.revokeRefreshToken(),setTimeout(()=>{s.tokenManager.clear(),a(!1),t()},0)},ds=(s,a)=>{const t=o=>s(ct(o)),n=()=>s(ya());s(ge(!1)),dn(a,t,n)},hn=({disableUserLoader:s,disableUserError:a})=>{const{oktaAuth:t}=K(),n=C(),[o,i]=j.useState(!1),l=()=>{i(!1),n(ba()).then(()=>{ds(n,t)})};let c="";return a&&(c=`${a.status} - ${a.message}`),e.jsxs("div",{className:"any-disable-user",children:[e.jsx("span",{className:"setting-title",children:"Disable account"}),e.jsxs("div",{className:"setting-details",children:[e.jsx("p",{className:"info",children:"This will remove your login info, saved homes, saved searches, preferred agent, and notifications"}),c!==""&&e.jsx(G,{type:"error",children:c}),e.jsx(Ne,{justify:"left",children:e.jsxs(O,{size:"small",className:"disable-account-button",onClick:()=>i(!0),children:[e.jsx($,{icon:"faTrash"}),e.jsx("span",{children:"Disable my account"})]})}),e.jsx(Pe,{isOpen:o,title:"Disable account",message:"Are you sure you want to disable your account? This may take several minutes to complete.",type:"warning",onClose:()=>i(!1),onConfirm:l,confirmLabel:"Disable"})]}),e.jsx(Z,{isLoading:s,children:"disabling user account..."})]})},un=s=>{const{User:{AccountSettings:{disableUserLoader:a,disableUserError:t}}}=s;return{disableUserLoader:a,disableUserError:t}},mn=L(un),pn=mn(hn),Os=({icon:s,title:a,subtitle:t,children:n,size:o="large"})=>{const i=P("any-no-saved-items",o);return e.jsxs("div",{className:i,children:[e.jsx($,{icon:s,className:"empty-icon"}),e.jsxs("div",{className:"content-header",children:[e.jsx("h2",{className:"title",children:a}),e.jsx("p",{className:"subtitle",children:t})]}),n]})};var gn=(s=>(s.AGENT="agent",s.TEAM="team",s))(gn||{});const fn=({itemType:s,name:a,id:t,supportsUserFeatures:n,associatedEntityId:o,associatedEntityType:i,setPreferredAgentLoader:l,setPreferredTeamLoader:c,deletePreferredAgentLoader:r,deletePreferredTeamLoader:d,getUserLoader:h})=>{const m=C(),{oktaAuth:g,authState:y}=K(),{pathname:f}=me(),u=i===s.toUpperCase()&&t===o,[p,x]=j.useState(!1),b=()=>{y!=null&&y.isAuthenticated?x(!0):(m(xe(!0)),m(oe({type:F.SAVE_PREFERRED_ENTITY,entityType:s.toUpperCase(),entityId:t})),g.setOriginalUri(f),g.signInWithRedirect())},v=()=>{x(!1)},N=()=>{x(!1),u?m((s==="agent"?dt:ht)()).then(()=>{m(de())}):m((s==="agent"?ut:mt)({id:t,type:s.toUpperCase()})).then(()=>{m(de())})},S=u?"faXmark":"faUserCheck",T=u?`Your preferred ${s}`:`Set as preferred ${s}`,w=u?`Remove your preferred ${s}`:`Set as preferred ${s}`,k=u?`Remove preferred ${s}`:`Set preferred ${s}`,H=u?`Remove ${a} as your preferred ${s}?`:`Set ${a} as your preferred ${s}?`,Y=l||c||h||r||d;return e.jsx(e.Fragment,{children:n&&e.jsxs(e.Fragment,{children:[e.jsxs(O,{className:"any-preferred-item-button",onClick:b,display:"secondary",size:"small","aria-label":w,children:[Y&&e.jsx(Ns,{className:"loading-spinner"}),!Y&&e.jsx($,{icon:S}),e.jsx("span",{children:T})]}),e.jsx(Pe,{isOpen:p,title:k,message:H,onClose:v,onConfirm:N,confirmLabel:"Ok",type:"warning"})]})})},yn=s=>{const{Env:{supportsUserFeatures:a},User:{Auth:{user:{associatedEntityType:t,associatedEntityId:n,getUserLoader:o}}
1,AccountSettings:{setPreferredAgentLoader:i,setPreferredTeamLoader:l,deletePreferredAgentLoader:c,deletePreferredTeamLoader:r}}}=s;return{supportsUserFeatures:a,associatedEntityType:t,associatedEntityId:n,setPreferredAgentLoader:i,setPreferredTeamLoader:l,getUserLoader:o,deletePreferredAgentLoader:c,deletePreferredTeamLoader:r}},bn=L(yn),al=bn(fn),xn=({onCard:s=!0,listingId:a,supportsUserFeatures:t,savedListings:n,savedListingIds:o,getSavedListingsLoader:i})=>{const l=o.includes(a),c=_(),r=C(),{oktaAuth:d,authState:h}=K(),{pathname:m,search:g}=me(),[y,f]=j.useState(l),[u,p]=j.useState(!1);j.useEffect(()=>{if(!i){const S=o.includes(a);f(S)}},[o,a,i]);const x=S=>{var T;if(S.stopPropagation(),S.preventDefault(),!(h!=null&&h.isAuthenticated))r(xe(!0)),r(oe({type:F.SAVE_LISTING,propertyMasterId:a})),d.setOriginalUri(m+g),d.signInWithRedirect();else{if(o.length>=50&&!y){r(Qs({type:"warning",message:e.jsxs(e.Fragment,{children:[e.jsx("div",{children:"You've reached the maximum limit for saved homes."}),e.jsxs("div",{children:[e.jsx("span",{children:"To manage them, visit your "}),e.jsx(ee,{onClick:()=>c(Ie),href:Ie,underline:!0,children:"saved homes."})]})]}),id:"max-listings-warning"}));return}if(p(!0),y){const w=(T=n.find(({listingMasterId:k})=>k===a))==null?void 0:T.id;w&&r(xa(w)).then(()=>{f(!1),p(!1),r($e())})}else r(pt(a)).then(()=>{f(!0),p(!1),r($e())})}},b=P({saved:y,"page-header-button":!s}),v=y?"Saved":"Save",N=y?"faHeart":"faHeartLight";return e.jsx(e.Fragment,{children:t&&e.jsxs("div",{className:"any-save-listing-button",children:[s&&e.jsx("div",{className:"card-button-container",children:e.jsxs(R,{onClick:x,className:b,"aria-label":y?"Remove saved listing":"Save listing",disabled:u,children:[u&&e.jsx("div",{className:"spinner-container",children:e.jsx(Ns,{className:"loading-spinner"})}),!u&&e.jsx($,{icon:"faHeart"})]})}),!s&&e.jsxs(O,{onClick:x,className:b,"aria-label":y?"Remove saved listing":"Save listing",size:"small",display:"secondary",disabled:u,children:[e.jsx("span",{children:v}),u&&e.jsx(Ns,{className:"loading-spinner"}),!u&&e.jsx($,{icon:N})]})]})})},vn=s=>{const{Env:{supportsUserFeatures:a},User:{SavedHomes:{savedListings:t,savedListingIds:n,getSavedListingsLoader:o}}}=s;return{supportsUserFeatures:a,savedListings:t,savedListingIds:n,getSavedListingsLoader:o}},jn=L(vn),Nn=jn(xn),hs="SFR,MFR,MFD,CONDO,TOWNHOUSE,COOP,LAND,FARM",us='[{"key":"isComingSoon"},{"key":"isInternalSource"},{"key":"newListingTimeStamp","order":"DESC"}]',ws="ACTIVE,PENDING,COMING_SOON",nl=(s,a,t)=>s.map(n=>{const i=a.split(",").indexOf(n.id)>-1;return{label:n.name,value:n.id,checked:t?!1:i,...t?{disabled:!0}:{}}}),St=()=>{let s=new Date().getFullYear();const a=[];for(;s>=1960;)a.push(s),s>2020?s-=1:s>1980?s-=5:s-=10;return a},ol=s=>Object.entries(s).reduce((a,[t,n])=>{let o=a;return t==="sortBy"&&![us,""].includes(n)&&o++,t!=="sortBy"&&![null,"",!1].includes(n)&&o++,o},0),il=[{name:"Single family",id:"SFR"}
1,{name:"Multi-family",id:"MFR"},{name:"Co-op",id:"COOP"},{name:"Mobile / Manufactured",id:"MFD"},{name:"Lots / Land",id:"LAND"},{name:"Condominium",id:"CONDO"},{name:"Townhouse",id:"TOWNHOUSE"},{name:"Farm",id:"FARM"}],Sn=[{label:"Any",value:""},{label:"1 day",value:"1"},{label:"1 week",value:"7"},{label:"2 weeks",value:"14"},{label:"1 month",value:"30"},{label:"2 month",value:"60"},{label:"3+ months",value:"90"}],rl=[{name:"Active",id:"ACTIVE"},{name:"Pending / Under contract",id:"PENDING"},{name:"Coming soon",id:"COMING_SOON"}],Tt=[{label:"200",value:"200"},{label:"500",value:"500"},{label:"750",value:"750"},{label:"1,000",value:"1000"},{label:"1,250",value:"1250"},{label:"1,500",value:"1500"},{label:"1,750",value:"1750"},{label:"3,000",value:"3000"},{label:"3,250",value:"3250"},{label:"3,500",value:"3500"},{label:"4,000",value:"4000"},{label:"5,000",value:"5000"},{label:"6,000",value:"6000"},{label:"7,000",value:"7000"},{label:"8,000",value:"8000"},{label:"9,000",value:"9000"},{label:"10,000",value:"10000"}],ll=[{label:"No min",value:""},...Tt],cl=[...Tt,{label:"No max",value:""}],Ct=[{label:"1,000 sqft",value:.0229568},{label:"2,000 sqft",value:.04591368},{label:"3,000 sqft",value:.06887052},{label:"4,000 sqft",value:.09182736},{label:"5,000 sqft",value:.1147842},{label:"6,500 sqft",value:.1492195},{label:"8,000 sqft",value:.1836547},{label:"9,500 sqft",value:.21809},{label:"0.25 acres",value:.25},{label:"0.5 acres",value:.5},{label:"1 acre",value:1},{label:"2 acres",value:2},{label:"3 acres",value:3},{label:"4 acres",value:4},{label:"5 acres",value:5},{label:"10 acres",value:10},{label:"20 acres",value:20},{label:"50 acres",value:50},{label:"100 acres",value:100}],Vs=[{label:"No min",value:""},...Ct],qs=[...Ct,{label:"No max",value:""}],dl=[{label:"No min",value:""},...St().map(s=>({label:s,value:s}))],hl=[{label:"No max",value:""},...St().map(s=>({label:s,value:s}))],ul=[{label:"Newest",value:us},{label:"Price high to low",value:'[{"key": "listPrice", "order":"DESC"}]'},{label:"Price low to high",value:'[{"key": "listPrice", "order":"ASC"}]'}],Ps=["minPrice","maxPrice","minBedrooms","maxBedrooms","minBathrooms","daysOnMarket","minSqft","maxSqft"],_s=["minYearBuilt","maxYearBuilt"],Rs=["minAcreage","maxAcreage"],At=["propertyType","status","sortBy"],ms=["isNewConstruction","isVirtualTourAvailable","hasOpenHouses","isRental","luxury"],Et=[...Ps,..._s,...Rs,...At,...ms],Lt=(s,a)=>{var i,l,c,r;const t=d=>{try{return JSON.parse(d)}catch{return[{}]}},n=t(s),o=t(a);return((i=n[0])==null?void 0:i.key)===((l=o[0])==null?void 0:l.key)&&((c=n[0])==null?void 0:c.order)===((r=o[0])==null?void 0:r.order)},kt=s=>{const a=new URLSearchParams(s),t={};return Et.forEach(n=>{const o=a.get(n);if(o){if(n==="status"&&we(o.split(","),ws.split(","))||n==="propertyType"&&we(o.split(/[,-]+/),hs.split(","))||n==="sortBy"&&Lt(o,us))return;if(ms.includes(n)){if(n==="luxury"&&o==="null")return;t[n]=o!=="false"}else n==="propertyType"?t[n]=o.replace("-",","):t[n]=o}}),t},ml=(s,a,t)=>{const n=new URLSearchParams;n.set("ctx",JSON.stringify({brandCode:t,language:"en-US"})),n.set("placeMasterIds",a);let o=hs;s.propertyType&&(o=s.propertyType),n.set("propertyType",o),s.status&&n.set("status",s.status),Ps.forEach(l=>{s[l]&&n.set(l,parseInt(s[l].replace(/,/g,""),10).toString())}),Rs.forEach(l=>{s[l]&&n.set(l,s[l].toString())}),ms.forEach(l=>{s[l]&&n.set(l,"true")}
1),_s.forEach(l=>{s[l]&&n.set(l,s[l].toString())});let i=us;return s.sortBy&&(i=s.sortBy),n.set("sortBy",i),n.toString()},$t=(s,a,t)=>{const n=(s==null?void 0:s.filter(({url:i})=>i.includes(a)))||[];let o=null;return n.length>0?n.filter(({query:l})=>{const c=new URLSearchParams(l);return Et.every(r=>{const d=c.get(r);if(t[r]&&!d)return!1;if(r==="status"&&!t[r]&&d)return we(d.split(","),ws.split(","));if(r==="propertyType"&&!t[r]&&d)return we(d.split(/[,-]+/),hs.split(","));if(r==="sortBy"&&d)return Lt(d,t[r]);if(ms.includes(r)&&d&&t[r]||_s.includes(r)&&d&&t[r])return t[r];if(Ps.includes(r)&&d&&t[r])return ae(d)===t[r];if(Rs.includes(r)&&d&&t[r])return t[r]===d;if(At.includes(r)&&d&&t[r]){const h=r==="propertyType"?d.replace("-",","):d;return t[r]===h}return d?t[r]===d:!0})})[0]||null:o},Tn=(s,a,t)=>$t(s,a,t)!==null,Cn=({supportsUserFeatures:s,callback:a,getSavedSearchesLoader:t,saveLoader:n,savedSearches:o=[],filters:i,deleteLoader:l})=>{const c=C(),r=_(),{oktaAuth:d,authState:h}=K(),{pathname:m,search:g}=me(),{type:y,state:f,area:u,hood:p=""}=We(),x=()=>{if(!h.isAuthenticated)c(xe(!0)),c(oe({type:F.SAVE_SEARCH})),d.setOriginalUri(m+g),d.signInWithRedirect();else{if(o.length>=10&&!N){c(Qs({type:"warning",message:e.jsxs(e.Fragment,{children:[e.jsx("div",{children:"You've reached the maximum limit for saved searches."}),e.jsxs("div",{children:[e.jsx("span",{children:"To manage them, visit your "}),e.jsx(ee,{onClick:()=>r(he),href:he,underline:!0,children:"saved searches."})]})]}),id:"max-searches-warning"}));return}c(Q()),a()}};let b="";n&&(b="saving search..."),t&&(b="loading saved searches..."),l&&(b="deleting saved search...");let v=`/${y}/${f}/${u}`;p!==""&&(v+=`/${p}`);const N=Tn(o,v,i),S=N?"faHeart":"faHeartLight";return e.jsx(e.Fragment,{children:s&&y!=="state"&&e.jsxs(e.Fragment,{children:[e.jsx(O,{onClick:x,size:"small",display:"secondary",className:"any-save-search-button","aria-label":"Save search",children:e.jsx(Wt,{text:"Save",icon:S,onClick:x})}),e.jsx(Z,{isLoading:b!=="",children:b})]})})},An=s=>{const{Env:{supportsUserFeatures:a},User:{SavedSearches:{getSavedSearchesLoader:t,saveLoader:n,savedSearches:o,deleteLoader:i}},Property:{PropertyFilters:{data:l}}}=s;return{supportsUserFeatures:a,getSavedSearchesLoader:t,saveLoader:n,savedSearches:o,filters:l,deleteLoader:i}},En=L(An),pl=En(Cn),Ln=({filters:s,savedSearches:a,dataPlace:t,saveError:n,deleteError:o})=>{const i=_(),l=C(),{type:c,state:r,area:d,hood:h=""}=We(),m=ze(t),[g,y]=j.useState(!1);j.useEffect(()=>{l(va())},[]);const f=()=>{let k=m;return s.minPrice&&!s.maxPrice&&(k=`${k}, $${s.minPrice}+`),!s.minPrice&&s.maxPrice&&(k=`${k}, up to $${s.maxPrice}`),s.minPrice&&s.maxPrice&&(k=`${k}, $${s.minPrice} - $${s.maxPrice}`),k};let u=`/${c}/${r}/${d}`;h!==""&&(u+=`/${h}`);const{name:p=f(),id:x}=$t(a,u,s)||{},b={name:{name:"name",label:"Search name",placeholder:"Name your search",required:!0}},v=()=>{l(Q())},N=k=>{k.stopPropagation(),k.preventDefault(),y(!1)},S=k=>{k.stopPropagation(),k.preventDefault(),y(!1),l(ft(x)).then(()=>{l(Q()),l(ue())})},T=(k,H)=>{const{name:Y}=H;l(gt({name:Y,url:u,location:m,id:x})).then(()=>{l(Q()),l(ue())})};let w="";return n&&(w=`${n.status} - ${n.message}`),o&&(w=`${o.status} - ${o.message}`),e.jsxs(re,{name:"any-save-search-form",handleSubmit:T,children:[w!==""&&e.jsx(G,{type:"error",children:w}),e.jsxs(be,{children:[e.jsx(J,{o:b,k:"name",v:p}),x&&e.jsxs("div",{className:"actions",children:[e.jsx(ee,{onClick:()=>i(he),href:he,children:"View saved searches"}),e.jsx(O,{display:"secondary",size:"small",type:"button",className:"delete-button",onClick:()=>y(!0),children:"Delete"})]})]}),e.jsxs(Ne,{children:[e.jsx(O,{display:"secondary",type:"button",onClick:v,children:"Cancel"}),e.jsx(O,{type:"submit",display:"primary",children:"Save search"})]}),e.jsx(Pe,{isOpen:g,title:"Delete saved search",message:"Are you sure you want to delete this saved search?",onClose:N,onConfirm:S})]})},kn=s=>{const{Property:{PropertyFilters:{data:a}},User:{SavedSearches:{savedSearches:t,saveError:n,deleteError:o}},Location:{PlaceLookup:{placeByUrlData:i}}}=s;return{filters:a,savedSearches:t,dataPlace:i,saveError:n,deleteError:o}},$n=L(kn),gl=$n(Ln),In=({PlaceLookup:{placeByUrlData:s}})=>{const a=We(),{pathname:t}=location,n=t.includes(ie)||t.includes(He)||t.includes(Oe)||t.includes(ye),o=t.includes(ie)?ze(s)||et(a):"";return e.jsxs("section",{className:"agent-search-form-wrapper wrapper",children:[e.jsx(Re,{searchType:"agent",placeholder:"City or zip",initialValue:o}),!n&&e.jsx(Ze,{})]})},On=s=>{const{Location:{PlaceLookup:a},Env:{brand:t}}=s;return{PlaceLookup:a,brand:t}},wn=L(On),Pn=wn(In),_n=()=>{const{pathname:s}=location,a=_(),[t,n]=Xe(),o=(c,r)=>{s===He?n({...t,name:r.agentName,page:"1"}):a({pathname:He,search:lt({name:r.agentName,page:"1"}).toString()})},i=s.includes(He)||s.includes(ie)||s.includes(Oe)||s.includes(ye),l=t.get("name")||"";return e.jsxs("section",{className:"any-name-tab wrapper",children:[e.jsxs(re,{name:"agent-name-form",handleSubmit:o,children:[e.jsx(Xs,{name:"agentName",id:"agent-name",placeholder:"Agent name",className:"search-field",value:l}),e.jsx(O,{className:"submit-button",type:"submit",size:"small",children:"Search"})]}),!i&&e.jsx(Ze,{})]})},Rn=({selectedTab:s="By location"})=>e.jsx("div",{className:"any-agent-tabs",children:e.jsxs(st,{selectedTab:s,children:[e.jsx(Ge,{name:"By location",label:"By location",children:e.jsx(Pn,{})}),e.jsx(Ge,{name:"By name",label:"By name",children:e.jsx(_n,{})})]})}),fl=({title:s="",action:a,success:t,data:n=[]})=>e.jsx(e.Fragment,{children:t&&e.jsxs("section",{className:"agent-carou
1sel",children:[e.jsxs("div",{className:"heading",children:[e.jsx("h2",{className:"title",children:s}),a&&e.jsx("span",{className:"action",children:a})]}),e.jsx(Js,{children:e.jsx("ul",{className:"agent-list",children:n.map(o=>e.jsx("li",{children:e.jsx(It,{agent:o})},o.id))})})]})}),It=({agent:s})=>{const{profilePhoto:a="",fullName:t="",businessPhone:n="",cellPhone:o="",officeName:i="",canonicalUrl:l="",agentLicenseTypeCard:c="",formattedLicense:r="",starRating:d=null}=s,h=_(),m=C(),g=()=>{m(D({eventId:"agentCard_cardClicked"})),h(Gs+l)},y=v=>{v.stopPropagation(),v.preventDefault(),window.location.href=`tel:${n}`,m(D({eventId:"agentCard_callLink"}))},f=v=>{v.stopPropagation(),v.preventDefault(),window.location.href=`sms:${n}`,m(D({eventId:"agentCard_textLink"}))},u=v=>{v.currentTarget.src="/images/agent/agent-avatar.svg"},p=Ys(n||""),x=Ys(o||""),b=a||"/images/agent/agent-avatar.svg";return e.jsxs(q,{href:Gs+l,className:"any-agent-card",onClick:g,children:[e.jsx("div",{className:"top-container",children:e.jsxs("center",{children:[e.jsx("div",{className:"image-frame",children:e.jsx("img",{width:"100",src:`${b}?format=webp&quality=70&width=200`,alt:t,className:"profile-pic",onError:u,fetchPriority:"high"})}),e.jsxs("div",{className:"upper-text",children:[e.jsx("div",{className:"agent-name",children:t}),e.jsx("div",{className:"license",children:r||" "}),e.jsx("div",{className:"office-name",children:i}),e.jsx(tt,{rating:d,isCardView:!0}),c&&e.jsx("div",{className:"license",children:c})]})]})}),e.jsx("div",{className:"bottom-container",children:e.jsxs("div",{className:"contact-info-column",children:[n&&e.jsxs(R,{className:"contact-info-item",onClick:y,title:"Call "+p,children:[e.jsx($,{icon:"faPhone",className:"fa fa-phone icon",onClick:y}),e.jsx("span",{children:p})]}),o&&e.jsxs(R,{className:"contact-info-item",onClick:f,title:"Message "+x,children:[e.jsx($,{icon:"faMessage",className:"fa fa-comment icon",onClick:f}),e.jsx("span",{children:x})]})]})})]})},le="LOCATION_",yl=`${le}LOOKUP_PLACE_BY_ID`,Mn=`${le}LOOKUP_PLACE_BY_URL`,Un=`${le}SEARCH_FOR_PLACE`,Bn=`${le}LOOKUP_NEIGHBORS_BY_CITY`,Dn=`${le}LOOKUP_NEIGHBORS_BY_COUNTY`,Fn=`${le}LOOKUP_NEIGHBORS_BY_ZIP`,Hn=`${le}LOOKUP_NEIGHBORS_BY_NEIGHBORHOOD`,bl=`${le}LOOKUP_NEIGHBORS_BY_STATE`,xl=s=>({type:Mn,payload:s}),vl=s=>({type:Un,payload:s}),fe=s=>({type:Bn,payload:s}),js=s=>({type:Dn,payload:s}),ke=s=>({type:Fn,payload:s}),Fe=s=>({type:Hn,payload:s}),Gn=s=>({[E.CITY]:[{placeType:E.CITY,neighborType:"NeighborByCity",action:fe,title:`Find a ${s} agent in one of these nearby popular cities`},{placeType:E.POSTAL_CODE,neighborType:"NeighborByZip",action:ke,title:`Find a ${s} agent in one of these nearby popular zip codes`}],[E.POSTAL_CODE]:[{placeType:E.CITY,neighborType:"NeighborByCity",action:fe,title:`Find a ${s} agent in one of these nearby popular cities`},{placeType:E.POSTAL_CODE,neighborType:"NeighborByZip",action:ke,title:`Find a ${s} agent in one of these nearby popular zip codes`}]}),Yn=({brandName:s,PlaceLookup:a,placeMasterId:t,placeType:n})=>{const o=C(),i=_(),c=Gn(s)[n];if(j.useEffect(()=>{t&&n&&c&&c.forEach(({action:d,placeType:h})=>{o(d({placeMasterId:t,page:1,numPerPage:20,entityType:"office",placeType:h,applyListingsFilter:!1,applyAgentsFilter:!0}))})},[t,n,o]),!c)return null;const r=c.filter(({neighborType:d})=>{const h=a[d];return(h==null?void 0:h.data)&&h.data.length>0});return r.length===0?null:e.jsx("div",{className:"any-agent-list-ankle-links",children:r.map(({title:d,neighborType:h})=>{var y,f,u;const m=(y=a[h])!=null&&y.loader?"loading agents...":"";let g=`${d}`;return e.jsx(As,{title:g,loadingMessage:m,children:e.jsx("ul",{className:"ankle-links",children:(u=(f=a[h])==null?void 0:f.data)==null?void 0:u.map(({canonicalUrl:p,displayName:x,_id:b})=>{const v=ie+p,N=`${x} real estate agents`;return e.jsx("li",{children:e.jsx(ee,{href:v,onClick:()=>i(v),children:N})},b)})})},h)})})},Vn=s=>{const{Env:{brand:a,brandName:t},Location:{PlaceLookup:n}}=s;return{brand:a,brandName:t,PlaceLookup:n}},qn=L(Vn),jl=qn(Yn),zn=()=>{const{pathname:s}=location,a=_(),[t,n]=Xe(),o=(c,r)=>{s===ye?n({...t,name:r.teamName,page:"1"}):a({pathname:ye,search:lt({name:r.teamName,page:"1"}).toString()})},i=s.includes(ye)||s.includes(Oe),l=t.get("name")||"";return e.jsxs("section",{className:"any-team-name-tab wrapper",children:[e.jsxs(re,{name:"team-name-form",handleSubmit:o,children:[e.jsx(Xs,{name:"teamName",id:"team-name",placeholder:"Team name",className:"search-field",value:l}),e.jsx(O,{className:"submit-button",type:"submit",size:"small",children:"Search"})]}),!i&&e.jsx(Ze,{})]})},Zn=({PlaceLookup:{placeByUrlData:s}})=>{const a=We(),{pathname:t}=location,n=t.includes(Oe)||t.includes(ye),o=t.includes(Oe)?ze(s)||et(a):"";return e.jsxs("section",{className:"team-search-form-wrapper wrapper",children:[e.jsx(Re,{searchType:"team",placeholder:"City or zip",initialValue:o}),!n&&e.jsx(Ze,{})]})},Kn=s=>{const{Location:{PlaceLookup:a},Env:{brand:t}}=s;return{PlaceLookup:a,brand:t}},Wn=L(Kn),Xn=Wn(Zn),Jn=({selectedTab:s="By location"})=>e.jsx("div",{className:"any-team-tabs",children:e.jsxs(st,{selectedTab:s,children:[e.jsx(Ge,{name:"By location",label:"By location",children:e.jsx(Xn,{})}),e.jsx(Ge,{name:"By name",label:"By name",children:e.jsx(zn,{})})]})}),Nl=({searchType:s="agent",selectedTab:a="By location",sortBy:t=!1,supportsTeamFeatures:n=!1,sortValue:o,onSortChange:i})=>{const{pathname:l}=me(),[c]=Xe(),r=s==="team"?l.replace("/team/","/agent/")+`?${c.toString()}`:l,d=s==="agent"?l.replace("/agent/","/team/")+`?${c.toString()}`:l,h=s==="team"?"Teams":"Agents";return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"any-agent-team-search-bar",children:[s==="agent"&&e.jsx(Rn,{selectedTab:a}),s==="team"&&e.jsx(Jn,{selectedTab:a}),t&&e.jsx("div",{className:"any-form",children:e.jsx(ea,{name:"sortOptions1","aria-label":"Sort by",label:"Sort by",value:o||"default",options:[{label:"Default",value:"default"},{label:"Star Rating",value:"star-rating"}],onChange:m=>i==null?void 0:i(m.target.value),display:"inline",icon:"faBarsFilter"})})]}),n&&e.jsx(sa,{type:ta.PARENT,tabsData:{Agents:{label:"Agents",url:r},Teams:{label:"Teams",url:d}},defaultTabKey:h,selectedTabOverride:h,tabsProps:{useAnchor:!0,tabStyle:"underline"},usePageHeading:!1,onParentSelect:void 0})]})},Qn=s=>{if(!s)return"Client Review";const a=s.replace(/_/g," ").toLowerCase();return`${a.charAt(0).toUpperCase()+a.slice(1)} Review`},Ee=(s,a)=>`${a} ${s}${a===1?"":"s"} ago`,eo=s=>
1{if(!s)return"";const a=new Date(s);if(Number.isNaN(a.getTime()))return"";const n=new Date().getTime()-a.getTime();if(n<=0)return"Just now";const o=Math.floor(n/(1e3*60)),i=Math.floor(o/60),l=Math.floor(i/24),c=Math.floor(l/30),r=Math.floor(l/365);return r>=1?Ee("year",r):c>=1?Ee("month",c):l>=1?Ee("day",l):i>=1?Ee("hour",i):o>=1?Ee("minute",o):"Just now"},Sl=({testimonials:s=[],testimonialsLoader:a=!1,testimonialsPagination:{page:t,pageSize:n,totalCount:o}={},testimonialsError:i,entityType:l,entityId:c,rating:r=null})=>{const d=C(),h=u=>{const p=l==="agent"?ja({entityType:"agent",entityId:c,page:u}):Na({entityType:"team",entityId:c,page:u});d(p)};if(!a&&!i&&s.length===0)return null;const g=typeof r=="number"&&!Number.isNaN(r)?r:null,y=g===null?"No ratings yet":`${g.toFixed(1)} out of 5`,f=!!i&&s.length===0;return e.jsxs("section",{className:"testimonials","aria-label":"Client reviews",id:"testimonials-wrapper",children:[e.jsxs("header",{className:"testimonials-header",children:[e.jsx("span",{className:"section-label",children:`Client Reviews (${o})`}),e.jsxs("div",{className:"rating-row",children:[e.jsx("h2",{className:"rating-score",children:y}),e.jsx(tt,{rating:g,ratingCount:o,isRedirect:!0,scrollContainerId:"testimonials-wrapper"})]})]}),e.jsxs("div",{className:"testimonials-grid",children:[e.jsx(Cs,{loading:a,children:"loading testimonials..."}),f&&e.jsx("div",{className:"testimonials-empty",children:"Unable to load testimonials right now."}),!a&&s.map(u=>{const p=u.recommendationCustomer||"Client",x=Qn(u.reviewerSide),b=eo(u.recommendationDate);return e.jsxs("article",{className:"testimonial-card",children:[e.jsx("span",{className:"testimonial-chip",children:x}),e.jsx("h3",{className:"testimonial-reviewer",children:p}),e.jsx(Xt,{text:u.content,maxLength:250}),b&&e.jsx("div",{className:"testimonial-meta",children:b&&e.jsx("span",{children:b})})]},u.id)})]}),o>0&&e.jsx("footer",{className:"testimonials-footer",children:e.jsx(at,{page:t,totalRecords:o,perPage:n,numOnCurrentPage:s.length,callback:h,entityLabel:"reviews",useButtons:!0,autoScroll:!1})})]})},so=({Auth:{user:{associatedEntityType:s,associatedEntityId:a}={}},AccountSettings:{getPreferredAgentLoader:t,getPreferredAgentSuccess:n,getPreferredAgentError:o,preferredAgent:i,getPreferredTeamLoader:l,getPreferredTeamSuccess:c,getPreferredTeamError:r,preferredTeam:d,deletePreferredAgentLoader:h,deletePreferredTeamLoader:m}})=>{const g=C(),[y,f]=j.useState(!1);j.useEffect(()=>{setTimeout(()=>{s==="AGENT"?g(Sa(a)):s==="TEAM"&&g(Ta(a))},0)},[]);const u=()=>{f(!1),g((s==="AGENT"?dt:ht)()).then(()=>{g(de())})};let p=!1,x=null,b="Remove agent",v="Remove preferred agent",N="";s==="AGENT"&&(p=n,x=i,N=`Are you sure you want to remove ${i==null?void 0:i.fullName} as your preferred agent?`),s==="TEAM"&&(p=c,x=d,b="Remove team",v="Remove preferred team",N=`Are you sure you want to remove ${d==null?void 0:d.name} as your preferred team?`);let S="";o&&(S=`${o.status} - ${o.message}`),r&&(S=`${r.status} - ${r.message}`);const T=l||t?"loading preferred agent or team...":"",w=h||m?"deleting preferred agent or team...":"";return e.jsxs("div",{className:"any-preferred-section",children:[e.jsxs("div",{className:"header",children:[e.jsx("span",{className:"setting-title",children:"Preferred agent or team"}),x!==null&&e.jsxs(O,{onClick:()=>{f(!0)},size:"small",className:"remove-preferred-btn",children:[e.jsx($,{icon:"faTrash",onClick:()=>{f(!0)}}),e.jsx("span",{children:b})]})]}),e.jsxs("div",{className:"setting-details",children:[S!==""&&e.jsx(G,{type:"error",children:S}),p&&e.jsx(e.Fragment,{children:x!==null&&e.jsxs("div",{className:"preferred-entity",children:[s==="AGENT"&&e.jsx(It,{agent:x}),s==="TEAM"&&e.jsx(aa,{team:x})]})}),x===null&&T===""&&e.jsx(Os,{icon:"faUserCheck",title:"No preferred agent or team set",subtitle:"You have not set a preferred agent or team.  Let's find one!",size:"small",children:e.jsx(Re,{placeholder:"Enter a city or zip",searchType:"agent"})}),e.jsx(Cs,{loading:T!=="",children:T}),e.jsx(Pe,{isOpen:y,title:v,message:N,onClose:()=>f(!1),onConfirm:u})]}),e.jsx(Z,{isLoading:w!=="",children:w})]})},to=s=>{const{User:{Auth:a,AccountSettings:t}}=s;return{Auth:a,AccountSettings:t}},ao=L(to),no=ao(so),oo=({component:s,toggleCallback:a})=>{const[t]=j.useState(`view-form-${crypto.randomUUID()}`);j.useEffect(()=>{const o=document.querySelector(`#${t} form`);if(o)for(let i=0;i<(o==null?void 0:o.elements.length);i++)o==null||o.elements[i].setAttribute("disabled",!0)},[]);const n=qe.cloneElement(s,{toggleCallback:a});
1return e.jsx("div",{className:"any-view-block",id:t,children:n})},io=({component:s,toggleCallback:a})=>{const t=qe.cloneElement(s,{toggleCallback:a});return e.jsx("div",{className:"any-edit-form-block",children:t})},Ot=({initialMode:s="VIEW",formComponent:a,title:t})=>{const[n,o]=j.useState(s),i=()=>{o(n==="VIEW"?"EDIT":"VIEW")};let l="Edit",c="primary",r="faPencil";return n==="EDIT"&&(l="Cancel",c="secondary",r="faXmark"),e.jsxs("div",{className:"any-toggle-form-block",children:[e.jsxs("section",{className:"header",children:[e.jsx("span",{className:"title",children:t}),e.jsxs(O,{onClick:i,size:"small",display:c,className:"toggle-button",children:[e.jsx($,{icon:r,onClick:i}),e.jsx("span",{children:l})]})]}),e.jsxs("section",{className:"body",children:[n==="VIEW"&&e.jsx(oo,{component:a,toggleCallback:i}),n==="EDIT"&&e.jsx(io,{component:a,toggleCallback:i})]})]})},ro=({toggleCallback:s,initialValues:{firstName:a="",lastName:t="",email:n="",phone:o=""}={},saveError:i})=>{const l=C(),c={firstName:{name:"firstName",label:"First name",dataType:"string",required:!0,maxLength:50},lastName:{name:"lastName",label:"Last name",dataType:"string",required:!0,maxLength:50},email:{name:"email",label:"Email",displayType:"email"},phone:{name:"phone",label:"Mobile number (optional)",displayType:"tel"}},r=(h,m)=>{l(Ca({...m})).then(()=>{s&&s(),l(de())})};let d="";return i&&(d=`${i.status} - ${i.message}`),e.jsxs("div",{children:[d!==""&&e.jsx(G,{type:"error",children:d}),e.jsx(re,{name:"account-settings-form",handleSubmit:r,children:e.jsxs(be,{children:[e.jsxs(Fs,{children:[e.jsx(J,{o:c,k:"firstName",v:a,mask:"humanName"}),e.jsx(J,{o:c,k:"lastName",v:t,mask:"humanName"})]}),e.jsxs(Fs,{children:[e.jsx(J,{o:c,k:"email",v:n,disabled:!0}),e.jsx(J,{o:c,k:"phone",v:o})]}),e.jsxs(Ne,{justify:"right",children:[e.jsx(O,{display:"secondary",type:"button",onClick:s,children:"Cancel"}),e.jsx(O,{type:"submit",children:"Save"})]})]})})]})},lo=s=>{const{User:{Auth:{saveError:a}}}=s;return{saveError:a}},co=L(lo),ho=co(ro),uo=({user:s,saveLoader:a})=>e.jsxs("div",{className:"any-account-settings-details",children:[e.jsx(Ot,{title:"Account details",formComponent:e.jsx(ho,{initialValues:s})}),e.jsx(Z,{isLoading:a,children:"saving user details..."})]}),mo=s=>{const{User:{Auth:{user:a,saveLoader:t}}}=s;return{user:a,saveLoader:t}},po=L(mo),go=po(uo),Ve={savedSearches:{name:"savedSearches",label:"Enable email for saved searches",dataType:"boolean",fieldType:"checkbox"},savedSearchesFrequency:{name:"savedSearchesFrequency",dataType:"string",fieldType:"radio",label:"",options:[{label:"Never",value:"NEVER"},{label:"Daily",value:"DAILY"},{label:"Weekly",value:"WEEKLY"}]},savedListings:{name:"savedListings",label:"Enable email for saved listings",dataType:"boolean",fieldType:"checkbox"},savedListingsFrequency:{name:"savedListingsFrequency",dataType:"string",fieldType:"radio",label:"",options:[{label:"Never",value:"NEVER"},{label:"Daily",value:"DAILY"},{label:"Weekly",value:"WEEKLY"}]}},fo=({savedSearchesFrequency:s,savedListingsFrequency:a,saveNotificationPreferencesError:t,toggleCallback:n})=>{const o=C(),i=(c,r)=>{o(Aa(r)).then(()=>{n&&n(),o(de())})};let l="";return t&&(l=`${t.status} - ${t.message}`),e.jsxs(re,{name:"notifications-settings-form",handleSubmit:i,children:[l&&e.jsx(G,{type:"error",children:l}),e.jsx(be,{legend:"Saved searches",children:e.jsx(J,{o:Ve,k:"savedSearchesFrequency",v:s})}),e.jsx(be,{legend:"Saved listings",children:e.jsx(J,{o:Ve,k:"savedListingsFrequency",v:a})}),e.jsxs(Ne,{justify:"right",children:[e.jsx(O,{display:"secondary",type:"button",onClick:n,children:"Cancel"}),e.jsx(O,{type:"submit",children:"Save"})]})]})},yo=s=>{const{User:{Auth:{user:{savedListings:{frequency:a=""}={},savedSearches:{frequency:t=""}={}}={}},AccountSettings:{saveNotificationPreferencesError:n}}}=s;return{savedListingsFrequency:a,savedSearchesFrequency:t,saveNotificationPreferencesError:n}},bo=L(yo),xo=bo(fo),vo=({saveNotificationPreferencesLoader:s,getUserSuccess:a,unsubscribeListingNotificationsSuccess:t,unsubscribeSearchesNotificationsSuccess:n})=>{const{hash:o}=me();j.useEffect(()=>{if(!o)return;const c=o.slice(1),r=setTimeout(()=>{const d=document.getElementById(c);d&&d.scrollIntoView({behavior:"smooth",block:"start"})},500);return()=>clearTimeout(r)},[o]);const i=n||t,l=n?"searches":"homes";return e.jsxs("div",{className:"any-account-settings-notifications",children:[i&&e.jsx("div",{id:"unsubscribe-message",children:e.jsx(G,{type:"warning",children:e.jsxs("div",{className:"unsubscribe-message-content",children:[e.jsx("div",{className:"title",children:"Unsubscription successful"}),e.jsx("p",{className:"message",children:`You will no longer receive emails about your saved ${l}. Please allow up to
2                                24 hours for the update to complete.`})]})})}),a&&e.jsx(Ot,{title:"Notifications",formComponent:e.jsx(xo,{})}),e.jsx(Z,{isLoading:s,children:"saving notification preferences..."})]})},jo=s=>{const{User:{AccountSettings:{saveNotificationPreferencesLoader:a,unsubscribeListingNotificationsSuccess:t,unsubscribeSearchesNotificationsSuccess:n},Auth:{getUserSuccess:o}}}=s;return{saveNotificationPreferencesLoader:a,getUserSuccess:o,unsubscribeListingNotificationsSuccess:t,unsubscribeSearchesNotificationsSuccess:n}},No=L(jo),So=No(vo),To=({brandShortName:s,getUserLoader:a})=>{const t=C();j.useEffect(()=>(t(Ea()),()=>{t(La())}),[]);const n=Es[Ye]({brandShortName:s});return e.jsxs("div",{className:"any-account-settings",children:[e.jsx(Ls,{}),e.jsx(ks,{title:"Account settings",bc:n}),e.jsx("section",{className:"setting-section",children:e.jsx(go,{})}),e.jsx("section",{className:"setting-section",children:e.jsx(no,{})}),e.jsx("section",{className:"setting-section",children:e.jsx(pn,{})}),e.jsx("section",{className:"setting-section",children:e.jsx(So,{})}),e.jsx(Z,{isLoading:a,children:"loading user profile..."})]})},Co=s=>{const{Env:{brandShortName:a},User:{Auth:{getUserLoader:t}}}=s;return{brandShortName:a,getUserLoader:t}},Ao=L(Co),Eo=Ao(To),Tl=({children:s})=>e.jsxs("div",{className:"any-layout",children:[e.jsx(Io,{}),e.jsx(ka,{}),e.jsx(na,{}),e.jsx(ui,{}),e.jsxs(mi,{children:[s,e.jsx(Yi,{})]})]}),Lo=({Env:{brandTheme:s}})=>{const a=C(),{pathname:t}=me();return j.useEffect(()=>{var n;return(n=document.querySelector(".any-content"))==null||n.scrollTo(0,0),!t.includes(A)&&!t.includes(ve)&&(ANY.preferredCompanyMasterId=void 0),a(oa()),()=>{var o;(o=document.body.querySelector(".any-property-detail"))==null||o.classList.remove("property-details-loaded"),a($a())}},[t]),e.jsxs(Vt,{children:[e.jsx("meta",{charSet:"utf-8"}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{name:"format-detection",content:"telephone=no"}),e.jsx("meta",{name:"theme-color",content:s}),e.jsx("meta",{name:"viewport",content:"width=device-width"})]})},ko=s=>{const{Env:a}=s;return{Env:a}},$o=L(ko),Io=$o(Lo),Oo=s=>{const{shortDisplayName:a,canonicalUrl:t,entityType:n,hasAreasServedOffice:o}=s,i=[];return o&&a!==""&&(n==="city"||n==="postalCode")&&i.push({name:`Real estate office
2s in ${a}`,path:es+t+"?page=1"}),i.push({name:"Search for an office",path:ss}),i.push({name:"Global offices",path:ts}),i},wo=s=>{const{shortDisplayName:a,canonicalUrl:t,entityType:n,hasAgents:o}=s,i=[];return o&&a!==""&&(n==="city"||n==="postalCode")&&i.push({name:`Real estate agents in ${a}`,path:ie+t+"?page=1"}),i.push({name:"Search for an agent",path:Qe}),i},Po=(s,a)=>{const{shortDisplayName:t,canonicalUrl:n}=s,o=[];return t!==""&&(o.push({name:`${t} homes for sale`,path:A+n,callback:i=>{i(Se({propertyType:"",status:"",sortBy:""}))}}),o.push({name:`${t} condos for sale`,path:A+n+"/condos"}),o.push({name:`${t} townhomes for sale`,path:A+n+"/townhouses"}),o.push({name:`${t} single-family homes for sale`,path:A+n+"/single-family-homes"}),o.push({name:`${t} multi-family homes for sale`,path:A+n+"/multi-family-homes"}),o.push({name:`${t} land for sale`,path:A+n+"/land"}),o.push({name:`${t} new construction`,path:A+n+"/new-construction"}),o.push({name:`${t} open houses`,path:A+n+"/openhouses"})),o.push({name:`Buy with ${a}`,path:$s}),o.push({name:`Sell with ${a}`,path:Is}),o},wt=(s,a)=>{const t=["dev","local"].includes(_e()),n=[];return n.push({name:"Homes",subMenuItems:Po(s,a)}),n.push({name:"Agents",subMenuItems:wo(s)}),n.push({name:"Offices",subMenuItems:Oo(s)}),t&&n.push({name:"Design",path:Je,subMenuItems:[]}),n},_o=s=>{const{shortDisplayName:a,canonicalUrl:t,entityType:n,hasAreasServedOffice:o}=s,i=[];return o&&a!==""&&(n==="city"||n==="postalCode")&&i.push({name:`Real estate offices in ${a}`,path:es+t+"?page=1"}),i.push({name:"Search for an office",path:ss}),i.push({name:"Global offices",path:ts}),i},Ro=s=>{const{shortDisplayName:a,canonicalUrl:t,entityType:n,hasAgents:o}=s,i=[];return o&&a!==""&&(n==="city"||n==="postalCode")&&i.push({name:`Real estate agents in ${a}`,path:ie+t+"?page=1"}),i.push({name:"Search for an agent",path:Qe}),i},Mo=(s,a)=>{const{shortDisplayName:t,canonicalUrl:n}=s,o=[];return t!==""&&(o.push({name:`${t} homes for sale`,path:A+n,callback:i=>{i(Se({propertyType:"",status:"",sortBy:""}))}}),o.push({name:`${t} condos for sale`,path:A+n+"/condos"}),o.push({name:`${t} townhomes for sale`,path:A+n+"/townhouses"}),o.push({name:`${t} single-family homes for sale`,path:A+n+"/single-family-homes"}),o.push({name:`${t} multi-family homes for sale`,path:A+n+"/multi-family-homes"}),o.push({name:`${t} land for sale`,path:A+n+"/land"}),o.push({name:`${t} new construction`,path:A+n+"/new-construction"}),o.push({name:`${t} open houses`,path:A+n+"/openhouses"})),o.push({name:`Buy with ${a}`,path:$s}),o.push({name:`Sell with ${a}`,path:Is}),o},Pt=(s,a)=>{const t=["dev","local"].includes(_e()),n=[];return n.push({name:"Homes",subMenuItems:Mo(s,a)}),n.push({name:"Agents",subMenuItems:Ro(s)}),n.push({name:"Offices",subMenuItems:_o(s)}),t&&n.push({name:"Design",path:Je,subMenuItems:[]}),n},Uo=s=>{const{shortDisplayName:a,canonicalUrl:t,entityType:n,hasAreasServedOffice:o}=s,i=[];return o&&a!==""&&(n==="city"||n==="postalCode")&&i.push({name:`Real estate offices in ${a}`,path:es+t+"?page=1"}),i.push({name:"Search for an office",path:ss}),i.push({name:"International offices",path:Pa}),i},Bo=s=>{const{shortDisplayName:a,canonicalUrl:t,entityType:n,hasAgents:o}=s,i=[];return o&&a!==""&&(n==="city"||n==="postalCode")&&i.push({name:`Real estate agents in ${a}`,path:ie+t+"?page=1"}),i.push({name:"Search for an agent",path:Qe}),i},Do=s=>{const{shortDisplayName:a,canonicalUrl:t}=s,n=[];return a!==""&&(n.push({name:`${a} homes for sale`,path:A+t,callback:o=>{o(Se({propertyType:"",status:"",sortBy:""}))}}),n.push({name:`${a} condos for sale`,path:A+t+"/condos"}),n.push({name:`${a} townhouses for sale`,path:A+t+"/townhouses"}),n.push({name:`${a} single-family homes for sale`,path:A+t+"/single-family-homes"}),n.push({name:`${a} multi-family homes for sale`,path:A+t+"/multi-family-homes"}),n.push({name:`${a} land for sale`,path:A+t+"/land"}),n.push({name:`${a} open houses`,path:A+t+"/openhouses"}),n.push({name:`${a} new construction`,path:A+t+"/new-construction"})),n.push({name:"How to buy a home",path:$s}),n.push({name:"How to sell a home",path:Is}),n},Fo=()=>{const s=[];return s.push({name:"Seller's assurance program",path:Ia}),s.push({name:"What's your home worth",path:Oa}),s.push({name:"Compare locations with Move Meter®",path:wa}),s},_t=s=>{const a=["dev","local"].includes(_e()),t=[];return t.push({name:"Homes",subMenuItems:Do(s)}),t.push({name:"Tools",subMenuItems:Fo()}),t.push({name:"Agents",subMenuItems:Bo(s)}),t.push({name:"Offices",subMenuItems:Uo(s)}),a&&t.push({name:"Design",path:Je,subMenuItems:[]}),t},Ho=(s,a)=>{const{shortDisplayName:t,canonicalUrl:n,entityType:o,hasAreasServedOffice:i}=s,l=[];return i&&t!==""&&(o==="city"||o==="postalCode")&&l.push({name:`${a}
2 real estate offices in ${t}`,path:es+n+"?page=1"}),l.push({name:`Search for a ${a} real estate office`,path:ss}),l.push({name:"Global offices",path:ts}),l},Go=(s,a)=>{const{shortDisplayName:t,canonicalUrl:n,entityType:o,hasAgents:i}=s,l=[];return i&&t!==""&&(o==="city"||o==="postalCode")&&l.push({name:`${a} real estate agents in ${t}`,path:ie+n+"?page=1"}),l.push({name:`Search for a ${a} real estate agent`,path:Qe}),l},Yo=s=>{const{shortDisplayName:a,canonicalUrl:t}=s,n=[];return a!==""&&(n.push({name:`${a} homes for sale`,path:A+t,callback:o=>{o(Se({propertyType:"",status:"",sortBy:""}))}}),n.push({name:`${a} condos for sale`,path:A+t+"/condos"}),n.push({name:`${a} townhouses for sale`,path:A+t+"/townhouses"}),n.push({name:`${a} homes for rent`,path:A+t+"/rental"}),n.push({name:`${a} single-family homes for sale`,path:A+t+"/single-family-homes"}),n.push({name:`${a} multi-family homes for sale`,path:A+t+"/multi-family-homes"}),n.push({name:`${a} land for sale`,path:A+t+"/land"}),n.push({name:`${a} new construction`,path:A+t+"/new-construction"}),n.push({name:`${a} open houses`,path:A+t+"/openhouses"})),n.push({name:"Home buying guide",path:yt}),n.push({name:"Selling guide",path:bt}),n},Vo=()=>{const s=[];return s.push({name:"Mortgage calculator",path:xt}),s.push({name:"Affordability calculator",path:_a}),s.push({name:"Rent vs. buy calculator",path:Ra}),s.push({name:"Amortization calculator",path:Ma}),s.push({name:"Refinance calculator",path:Ua}),s},qo=s=>{const a=[];return a.push({name:`Franchise with ${s}`,path:vt}),a.push({name:"Careers in real estate",path:jt}),a},Rt=(s,a)=>{const t=["dev","local"].includes(_e()),n=[];return n.push({name:"Homes",subMenuItems:Yo(s)}),n.push({name:"Agents",subMenuItems:Go(s,a)}),n.push({name:"Offices",subMenuItems:Ho(s,a)}),n.push({name:"Resources",subMenuItems:Vo()}),n.push({name:"Join C21",subMenuItems:qo(a)}),t&&n.push({name:"Design",path:Je,subMenuItems:[]}),n},zo=({data:{name:s,path:a,subMenuItems:t=[],disabled:n=!1},subMenuOpen:o=!1,toggleSubMenuCallback:i})=>{const l=C(),c=_(),r=j.useRef(null),[d]=j.useState(crypto.randomUUID());j.useEffect(()=>(window.document.addEventListener("click",h),()=>{window.document.removeEventListener("click",h)}),[]);const h=p=>{const{current:x}=r;x&&p.target.closest(`[id="${d}"]`)===null&&i()},m=(p,x,b)=>{if(p.key==="Enter"){if(x)return;p.preventDefault(),p.stopPropagation(),i(s)}},g=(p,x,b)=>v=>{v.stopPropagation(),!x&&p&&(b&&b(l),setTimeout(()=>{c(p),i()},0))},y=p=>{p.stopPropagation(),p.preventDefault(),i(s),l(ge(!1))},f=t.length>0,u=o?"faCaretUp":"faCaretDown";return e.jsxs("div",{className:"any-desktop-menu-item",ref:r,id:d,children:[!f&&e.jsx("div",{className:"main-menu-item",children:e.jsx(q,{href:a,onClick:g(a,n),onKeyDown:p=>m(p,a),"aria-label":`Desktop Menu Item - ${s}`,children:e.jsx("span",{className:"nav-link-text",children:s})})}),f&&e.jsxs(e.Fragment,{children:[e.jsxs(R,{className:"main-menu-item",onClick:y,onKeyDown:p=>m(p),tabIndex:0,"aria-label":`Desktop - ${s} Menu`,children:[e.jsx("span",{className:"nav-link-text",children:s}),e.jsx($,{icon:u,className:"menu-item-caret"})]}),o&&e.jsx("div",{className:"sub-menu-items",role:"menu",children:t.map(({name:p,path:x,disabled:b,callback:v})=>e.jsx(q,{href:x,"aria-label":`Desktop Menu Item - ${p}`,onClick:g(x,b,v),tabIndex:o?0:-1,onKeyDown:N=>m(N,x),role:"menuitem",children:e.jsx("span",{className:"sub-nav-link-text",children:p})},p))})]})]})},Zo=({RecentLocation:{lastLocation:s},brandShortName:a,brand:t})=>{const n=u=>u.reduce((p,x)=>(x.subMenuItems.length>0&&(p[x.name]=!1),p),{}),{shortDisplayName:o="",canonicalUrl:i="",entityType:l="",hasAgents:c,hasOffices:r,hasAreasServedOffice:d}=s||{};let h=Pt;t==="BHG"&&(h=wt),t==="CBR"&&(h=_t),t==="C21"&&(h=Rt);const m=h({shortDisplayName:o,canonicalUrl:i,entityType:l,hasAgents:c,hasOffices:r,hasAreasServedOffice:d},a),[g,y]=j.useState(n(m)),f=u=>{const p=n(m);u&&(p[u]=!g[u]),y(p)};return e.jsx("nav",{className:"any-desktop-menu","aria-label":"Desktop main menu",children:m.map(u=>{const{name:p}=u,x=g[p];return e.jsx(zo,{data:u,subMenuOpen:x,toggleSubMenuCallback:f},p)})})},Ko=s=>{const{User:{RecentLocation:a},Env:{brandShortName:t,brand:n}}=s;return{RecentLocation:a,brandShortName:t,brand:n}},Wo=L(Ko),Xo=Wo(Zo),Mt=s=>
2[{label:"Saved searches",type:"anchor",url:he},{label:"Saved homes",type:"anchor",url:Ie},{label:"Account settings",type:"anchor",url:Ye},{label:"Sign out",type:"button",onClick:()=>{s()}}],Jo=({userMenuOpen:s,user:{firstName:a}={}})=>{const t=C(),n=_(),{oktaAuth:o}=K(),{origin:i}=location,l=()=>{t(nt())},c=()=>{ds(t,o),t(D({eventId:"signOut"}))},r=y=>{l(),n(y)},d=y=>{l(),y()},h=Mt(c),m=P("any-user-menu",{"menu-open":s}),g=`Welcome, ${a}`;return e.jsxs("div",{className:m,children:[e.jsx(R,{className:"black-screen",onClick:l,"aria-label":"click screen"}),e.jsxs("nav",{className:"nav-items",children:[e.jsxs("div",{className:"user-menu-header",children:[e.jsx("h2",{className:"title",children:g}),e.jsx(R,{"aria-label":"close user menu",onClick:l,tabIndex:s?0:-1,className:"close-icon",children:e.jsx($,{icon:"faXmark",onClick:l})})]}),e.jsx("div",{className:"user-menu-body",children:e.jsx("ul",{className:"user-menu-list",children:h.map(({label:y,type:f,url:u,onClick:p})=>e.jsxs("li",{className:"nav-item",children:[f==="anchor"&&e.jsx(q,{href:i+u,onClick:()=>r(u),"aria-label":`navigate to ${y}`,children:y}),f==="button"&&e.jsx(R,{onClick:()=>d(p),children:y})]},y))})}),e.jsx("footer",{children:e.jsx("div",{className:"brand-block"})})]})]})},Qo=s=>{const{Global:{userMenuOpen:a},User:{Auth:{user:t}}}=s;return{userMenuOpen:a,user:t}},ei=L(Qo,null)(Jo),si=({desktopUserMenuOpen:s})=>{const{origin:a}=location,{oktaAuth:t}=K(),n=_(),o=C(),i=j.useRef(null),[l]=j.useState(crypto.randomUUID());j.useEffect(()=>(o(ge(!1)),window.document.addEventListener("click",c),()=>{window.document.removeEventListener("click",c)}),[]);const c=u=>{const{current:p}=i;p&&u.target.closest(`[id="${l}"]`)===null&&o(ge(!1))},r=(u,p)=>{u.key==="Enter"&&p&&h(p)},d=(u,p)=>{u.key==="Enter"&&p&&p()},h=u=>{n(u),o(ge(!1))},m=()=>{o(ge(!s))},g=()=>{ds(o,t),o(D({eventId:"signOut"}))},y=s?"faCaretUp":"faCaretDown",f=Mt(g);return e.jsxs("div",{className:"any-desktop-user-menu",ref:i,id:l,children:[e.jsxs(R,{"aria-label":"open my account menu",onClick:m,className:"any-user-menu-desktop-button",children:[e.jsx("span",{children:"My account"}),e.jsx($,{icon:y,onClick:m})]}),s&&e.jsx("div",{className:"menu-items",children:f.map(({label:u,type:p,url:x,onClick:b})=>e.jsxs("div",{className:"menu-item",children:[p==="anchor"&&e.jsx(q,{href:a+x,"aria-label":`Desktop User Menu Item - ${u}`,onClick:()=>h(x),onKeyDown:v=>r(v,x),children:e.jsx("span",{className:"item-text",children:u})}),p==="button"&&e.jsx(R,{onKeyDown:v=>d(v,b),onClick:b,"aria-label":`Desktop User Menu Item - ${u}`,children:e.jsx("span",{className:"item-text",children:u})})]},u))})]})},ti=s=>{const{User:{Auth:{desktopUserMenuOpen:a}}}=s;return{desktopUserMenuOpen:a}},ai=L(ti),ni=ai(si),oi=({logoutLoader:s,loginLoader:a})=>{const t=C(),{authState:n,oktaAuth:o}=K(),{issuer:i}=Ds(),{pathname:l,search:c}=me();j.useEffect(()=>{t(ct(!1)),t(xe(!1))},[]);const r=()=>{t(xe(!0)),o.setOriginalUri(l+c),o.signInWithRedirect()},d=m=>{m.stopPropagation(),t(nt())};let h=null;return a&&(h="redirecting to login..."),s&&(h="signing out..."),e.jsxs("div",{className:"any-user-menu-button",children:[!(n!=null&&n.isAuthenticated)&&e.jsx(q,{onClick:r,href:i,rel:"nofollow",children:"Login"}),(n==null?void 0:n.isAuthenticated)&&e.jsxs(e.Fragment,{children:[e.jsx(R,{"aria-label":"open user menu",onClick:d,className:"any-user-menu-mobile-button",children:e.jsx($,{icon:"faEllipsisVertical",onClick:d})}),e.jsx(ni,{})]}),e.jsx(Z,{isLoading:h!==null,children:h})]})},ii=s=>{const{User:{Auth:{logoutLoader:a,loginLoader:t}}}=s;return{logoutLoader:a,loginLoader:t}},ri=L(ii),li=ri(oi),zs={era:{width:40,height:48},bhg:{width:92,height:48},c21:{width:150,height:18},cbr:{width:190,height:31}},ci=({brand:s,supportsUserFeatures:a})=>{var h,m;const t=C(),n=_(),o=()=>{n(Le)};let i=s.toLowerCase(),l=s+" Logo",c="/images/logo/"+i+"-logo-white.svg",r=(h=zs[i])==null?void 0:h.height,d=(m=zs[i])==null?void 0:m.width;return e.jsx("header",{className:"any-header",children:e.jsxs("div",{className:"any-menu-control any-constrain-full",children:[e.jsxs("div",{className:"menu-trigger-and-logo",children:[e.jsx(R,{href:Le,"aria-label":"Menu toggle",title:"Menu toggle",onClick:()=>t(ot()),children:e.jsx($,{icon:"faBars",className:"main-menu-trigger"})}),e.jsx(q,{href:Le,className:"place-holder",onClick:o,children:e.jsx("img",{src:c,alt:l,width:d,height:r,fetchPriority:"high"})}),e.jsx(Xo,{})]}),a&&e.jsx(li,{})]})})},di=s=>{const{Env:{brand:a,supportsUserFeatures:t}}=s;return{brand:a,supportsUserFeatures:t}},hi=L(di),ui=hi(ci),mi=({children:s})=>{const{authState:a}=K();return e.jsxs("div",{className:"any-body",children:[e.jsx(bi,{}),(a==null?void 0:a.isAuthenticated)&&e.jsx(ei,{}),e.jsx("main",{id:"any-content",className:"any-content",children:s})]})},pi=({data:{name:s,path:a,subMenuItems:t=[],disabled:n=!1},menuOpen:o=!1,toggleMainMenuCallback:i,subMenuOpen:l=!1,toggleSubMenuCallback:c})=>{const{pathname:r}=location,d=_(),h=C(),m=b=>{b.stopPropagation(),b.preventDefault(),!n&&c(s)},g=(b,v,N)=>{if(b.key==="Enter"){if(v)return;b.preventDefault(),b.stopPropagation(),c(s)}},y=(b,v,N)=>S=>{S.stopPropagation(),!v&&b&&(N&&N(h),setTimeout(()=>{d(b),i(),c(s,!0)},0))}
2,f=P("sub-menu-items",{open:l}),u=P("main-menu-item-container",{selected:a===r,disabled:!!n}),p=t.length>0,x=l?"faCaretUp":"faCaretDown";return e.jsxs("div",{className:"any-main-menu-item",children:[!p&&e.jsx(q,{href:a,onClick:y(a,n),onKeyDown:b=>g(b,a),"aria-label":`Mobile Menu Item - ${s}`,children:e.jsx("div",{className:u,children:e.jsx("span",{className:"nav-link-text",children:s})})}),p&&e.jsxs(e.Fragment,{children:[e.jsxs(R,{className:u,onClick:m,onKeyDown:b=>g(b),tabIndex:o?0:-1,"aria-label":`Mobile - ${s} Menu`,children:[e.jsx("span",{className:"nav-link-text",children:s}),e.jsx($,{icon:x,className:"menu-item-caret"})]}),e.jsx("div",{className:f,children:t.map(({name:b,path:v,disabled:N,callback:S})=>{const T=P("sub-nav-link-text",{selected:v===r,disabled:N});return e.jsx(q,{href:v,"aria-label":`Mobile Menu Item - ${b}`,onClick:y(v,N,S),tabIndex:o&&l?0:-1,onKeyDown:w=>g(w,v),children:e.jsx("span",{className:T,children:b})},b)})})]})]})},gi=({menuOpen:s,RecentLocation:{lastLocation:a},brandShortName:t,brand:n})=>{const o=N=>N.reduce((S,T)=>(T.subMenuItems.length>0&&(S[T.name]=!1),S),{}),{pathname:i}=location,{shortDisplayName:l="",canonicalUrl:c="",entityType:r="",hasAgents:d,hasOffices:h,hasAreasServedOffice:m}=a||{};let g=Pt;n==="BHG"&&(g=wt),n==="CBR"&&(g=_t),n==="C21"&&(g=Rt);const y=g({shortDisplayName:l,canonicalUrl:c,entityType:r,hasAgents:d,hasOffices:h,hasAreasServedOffice:m},t),f=C(),[u,p]=j.useState(o(y));j.useEffect(()=>{let N=null;y.forEach(({name:S,subMenuItems:T})=>{T.length&&T.forEach(({path:w})=>{w===i&&(N=S)})}),N!==null&&x(N,!0)},[i,s]);const x=(N,S)=>{const T=o(y);N&&(T[N]=S??!u[N]),p(T)},b=()=>{f(ot())},v=P("any-main-menu",{"menu-open":s});return e.jsxs("div",{className:v,children:[e.jsx(R,{className:"black-screen",onClick:b,"aria-label":"click screen"}),e.jsx("nav",{className:"nav-items","aria-label":"Mobile main menu",children:y.map(N=>{const{name:S}=N,T=u[S];return e.jsx(pi,{data:N,menuOpen:s,subMenuOpen:T,toggleMainMenuCallback:b,toggleSubMenuCallback:x},S)})})]})},fi=s=>{const{Global:{menuOpen:a},User:{RecentLocation:t},Env:{brandShortName:n,brand:o}}=s;return{menuOpen:a,RecentLocation:t,brandShortName:n,brand:o}},yi=L(fi),bi=yi(gi),xi=({isOpen:s=!1,title:a="Sidebar",size:t="medium",children:n})=>{const[o]=j.useState(`side-bar-${crypto.randomUUID()}`),i=()=>{c(ia())},l=h=>{h.key==="Escape"&&i()};j.useEffect(()=>(document.body.addEventListener("keyup",l),()=>{document.body.removeEventListener("keyup",l)}),[]);const c=C(),r=P("any-side-bar",{"bar-open":s}),d=P("side-content",t);return e.jsxs("div",{className:r,children:[e.jsx(R,{className:"black-screen",onClick:i,"aria-label":"click screen"}),e.jsxs("dialog",{className:d,"aria-modal":"true","aria-labelledby":`${o}-title`,children:[e.jsxs("div",{className:"side-head",children:[e.jsx("h2",{className:"sb-title",id:`${o}-title`,children:a}),e.jsx(R,{"aria-label":"close",onClick:i,tabIndex:s?0:-1,className:"sb-close",children:e.jsx($,{icon:"faXmark"})})]}),e.jsx("div",{className:"side-body",children:n}),e.jsx("footer",{children:e.jsx("div",{className:"brand-block"})})]})]})},vi=s=>{const{Global:{sideBarOpen:a}}=s;return{sideBarOpen:a}},Ut=L(vi,null)(xi),ps=()=>{const s=C(),a="https://www.assurant.com/home-warranty",t=()=>{var n;(n=window.open(a,"_blank","noopener noreferrer"))==null||n.focus(),s(D({eventId:"footer_homeShieldLink",data:a}))};return e.jsxs("div",{className:"any-warranty-content",children:[e.jsx("div",{className:"warranty-logo",children:e.jsx("img",{src:"/images/footer/assurant-logo.svg",alt:"Assurant Home Warranty",fetchPriority:"high",width:"178",height:"40"})}),e.jsxs("p",{children:["Protect your home and budget from life's surprises with an Assurant Home Warranty, backed by a partner that supports you through every step of homeownership."," ",e.jsx(ee,{href:a,onClick:()=>{t()},underline:!0,children:"Explore Plans."})]})]})},ji=()=>e.jsx("div",{className:"any-era-copy-right",children:e.jsxs("div",{className:"copy-right-content any-constrain",children:[e.jsx("div",{className:"border-divider"}),e.jsx(ps,{}),e.jsxs("div",{className:"era-copy-right",children:["© 2023 - ",cs()," ERA Franchise Systems LLC. All rights reserved. ERA Franchise Systems LLC fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. ERA, ERA Real Estate powered, and their respective logos are registered service marks of ERA Franchise Systems LLC. Each office is independently owned and operated."]})]})}),Ni=[{label:"Cookie preferences",path:"",element:e.jsx(Ke,{})},{label:"Terms of use",path:as},{label:"Accessibility statement",path:ns},{label:"DMCA notice",path:os},{label:"Fraud alert",path:is},{label:"Privacy notice",path:rs},{label:"Fair housing",path:ls},{label:"Do not sell or share my personal information",path:"https://submit-irm.trustarc.com/services/validation/6e1ce642-2d5f-4909-
2afb0-43e2eae2db7e",analyticsEventId:"footer_personalInformationLink"},{label:"Submit agent or broker complaint",path:"https://anywherecustomercare.com/era.aspx",analyticsEventId:"footer_submitComplaintLink"}],Si=()=>e.jsx("div",{className:"any-bhg-copy-right",children:e.jsxs("div",{className:"copy-right-content any-constrain",children:[e.jsx("div",{className:"border-divider"}),e.jsx(ps,{}),e.jsxs("div",{className:"bhg-copy-right",children:[e.jsxs("div",{children:["© ",cs()," Better Homes and Gardens Real Estate LLC. An Anywhere Real Estate company. All rights reserved. Better Homes and Gardens® Real Estate is a registered trademark owned by Meredith Operations Corporation, licensed to Better Homes and Gardens Real Estate LLC and used with permission. Better Homes and Gardens Real Estate LLC fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. Listing information is deemed reliable but is not guaranteed accurate."]}),e.jsx("br",{}),e.jsx("div",{children:"Each office is independently owned and operated."}),e.jsx("br",{}),e.jsx("div",{children:"Any services or products provided by third parties are not provided by, affiliated with or related to Better Homes and Gardens Real Estate LLC, or its affiliated companies."})]})]})}),Ti=[{label:"Cookie preferences",path:"",element:e.jsx(Ke,{})},{label:"Terms of use",path:as},{label:"Accessibility statement",path:ns},{label:"DMCA notice",path:os},{label:"Fraud alert",path:is},{label:"Privacy notice",path:rs},{label:"Fair housing",path:ls},{label:"Do not sell or share my personal information",path:"https://submit-irm.trustarc.com/services/validation/2d8ba207-581e-42b8-bf6d-79bb49cde289",analyticsEventId:"footer_personalInformationLink"},{label:"Submit agent or broker complaint",path:"https://anywherecustomercare.com/bhg.aspx",analyticsEventId:"footer_submitComplaintLink"}],Ci=[{label:"Privacy notice",path:rs,analyticsEventId:""},{label:"Terms",path:as},{label:"ADA",path:ns},{label:"Fair housing",path:ls},{label:"DMCA notice",path:os},{label:"Fraud alert",path:is},{label:"Cookie preferences",path:"",element:e.jsx(Ke,{})},{label:"Reasonable accommodations notice",path:"https://mycbdesk.com/shared-files/docs/8756"},{label:"NY standard operating procedures",path:"https://mycbdesk.com/shared-files/docs/8435"},{label:"TREC consumer protection notice",path:"https://www.trec.texas.gov/sites/default/files/pdf-forms/CN 1-5_0.pdf"},{label:"TREC information about brokerage services",path:"https://bcom-coldwellbanker.directus.app/assets/2c21f076-7217-46ed-a419-5a06146f09a2"},{label:"Do not sell or share my personal information",path:"https://submit-irm.trustarc.com/services/validation/f3d41a4b-fa1e-4d71-aabe-e22739dec5ac",analyticsEventId:"footer_personalInformationLink"},{label:"Submit agent or broker complaint",path:"https://anywherecustomercare.com/cb.aspx",analyticsEventId:"footer_submitComplaintLink"}],Ai=()=>e.jsx("div",{className:"any-cbr-copy-right",children:e.jsxs("div",{className:"copy-right-content any-constrain",children:[e.jsx("div",{className:"border-divider"}),e.jsx(ps,{}),e.jsxs("div",{className:"cbr-copy-right",children:["© 2023 - ",cs()," Coldwell Banker Real Estate LLC. All Rights Reserved. Coldwell Banker and the Coldwell Banker logo, are trademarks of Coldwell Banker Real Estate LLC. The Coldwell Banker® System is comprised of company owned offices which are owned by a subsidiary of Anywhere Advisors LLC and franchised offices which are independently owned and operated. The Coldwell Banker System fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. Listing information is deemed reliable but is not guaranteed."]})]})}),Zs=_e(),Ei=[{title:"General",links:[{label:"Contact us",path:Ba,analyticsEventId:""},{label:"FAQ",path:Da},{label:"All homes for sale",path:Fa},{label:"All real estate agents",path:Ha},...Zs!=="prod"&&Zs!=="uat"?[{label:"All real estate teams",path:Ga}]:[],{label:"All real estate offices",path:Ya}]},{title:"Resources",links:[{label:"Home buyer resources",path:yt},{label:"Home seller resources",path:bt},{label:"Mortgage calculators",path:xt}]},{title:"About C21",links:[{label:"Company profile",path:Va},{label:"Philanthropy",path:qa},{label:"Blog",path:"https://www.century21.com/real-estate-blog/"}]},{title:"Join C21",links:[{label:"Why C21",path:za},{label:"Real estate careers",path:jt},{label:"Franchise",path:vt}]},{title:"Explore",links:[{label:"C21 commercial",path:"https://commercial.century21.com/"},{label:"C21 español",path:Za},{label:"C21 luxury",path:Ka},{label:"C21 global",path:ts}]}],Li=[{url:"https://www.facebook.com/century21/",icon:"faFacebook",title:"Facebook",analyticsId:"footer_facebookLink"},{url:"https://www.instagram.com/century21/",icon:"faInstagram",title:"Instagram",anal
2yticsId:"footer_instagramLink"},{url:"https://www.linkedin.com/company/century-21/",icon:"faLinkedin",title:"LinkedIn",analyticsId:"footer_linkedInLink"},{url:"https://www.youtube.com/century21",icon:"faYoutube",title:"Youtube",analyticsId:"footer_youtubeLink"}],ki={src:"/images/logo/c21-logo-black.svg",alt:"Century21 logo"},$i=[{label:"Cookie preferences",path:"",element:e.jsx(Ke,{})},{label:"Terms of use",path:as},{label:"Accessibility",path:ns},{label:"DMCA notice",path:os},{label:"Fraud alert",path:is},{label:"Privacy policy",path:rs,analyticsEventId:""},{label:"Fair housing",path:ls},{label:"Do not sell info",path:"https://submit-irm.trustarc.com/services/validation/c0ae98d2-b513-4450-bebd-a98a944721f0",analyticsEventId:"footer_personalInformationLink"},{label:"NY reasonable accommodation",path:`${window.location.origin}${Wa}`,target:"_blank",content:"noindex, nofollow"},{label:"Submit agent or broker complaint",path:"https://anywherecustomercare.com/c21.aspx",analyticsEventId:"footer_submitComplaintLink"}],Ii=()=>e.jsx("div",{className:"any-c21-copy-right",children:e.jsxs("div",{className:"copy-right-content any-constrain",children:[e.jsx("div",{className:"border-divider"}),e.jsx(ps,{}),e.jsxs("div",{className:"cbr-copy-right",children:["©",cs()," Century 21 Real Estate LLC. All rights reserved. CENTURY 21®, the CENTURY 21 Logo and C21® are service marks owned by Century 21 Real Estate LLC. Century 21 Real Estate LLC fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. Each office is independently owned and operated. Listing information is deemed reliable but not guaranteed accurate."]})]})}),Oi=({brand:s})=>e.jsxs("div",{className:"any-copy-right",children:[s==="ERA"&&e.jsx(ji,{}),s==="BHG"&&e.jsx(Si,{}),s==="CBR"&&e.jsx(Ai,{}),s==="C21"&&e.jsx(Ii,{})]}),wi=s=>{const{Env:{brand:a}}=s;return{brand:a}},Pi=L(wi),_i=Pi(Oi),Ri=({brand:s})=>{const a=_(),t=C(),n=(l,c)=>{var r;l.includes("http")?(r=window.open(l,"_blank","noopener noreferrer"))==null||r.focus():a(l),c&&t(D({eventId:c,data:l}))},i=(()=>{switch(s){case"ERA":return Ni;case"BHG":return Ti;case"CBR":return Ci;case"C21":return $i;default:return[]}})();return e.jsx("div",{className:"any-disclaimer-links",children:e.jsx("div",{className:"disclaimer-content any-constrain",children:i.map(({label:l,path:c,analyticsEventId:r,element:d,...h})=>e.jsx(j.Fragment,{children:d??e.jsx(ee,{href:c,onClick:()=>n(c,r),...h,children:l})},l))})})},Mi=s=>{const{Env:{brand:a}}=s;return{brand:a}},Ui=L(Mi),Bi=Ui(Ri),Di=({Env:{brandName:s,brand:a}})=>{const t=C(),n=_(),o=(h,m)=>{var g;h.includes("http")?(g=window.open(h,"_blank","noopener noreferrer"))==null||g.focus():n(h),m&&t(D({eventId:m,data:h}))},i=()=>{switch(a){case"ERA":return{logo:ga,socials:pa,links:ma};case"BHG":return{logo:ua,socials:ha,links:da};case"C21":return{logo:ki,socials:Li,links:Ei};case"CBR":return{logo:ca,socials:la,links:ra};default:return{logo:{src:"",alt:""},socials:[],links:[]}}},{logo:l,socials:c,links:r}=i(),d=P("logo",a);return e.jsx("div",{className:"any-site-links",children:e.jsxs("div",{className:"site-links-content any-constrain",children:[e.jsxs("div",{className:"logo-container",children:[e.jsx("img",{src:l.src,alt:l.alt,className:d,fetchPriority:"high"}),e.jsx("div",{className:"social-links",children:c.map(({url:h,icon:m,title:g,analyticsId:y})=>e.jsx(q,{href:h,onClick:()=>{o(h,y)},"aria-label":`${s} ${g}`,children:e.jsx($,{icon:m,className:"social-icon",title:`${s} ${g}`})},g))})]}),e.jsx("div",{className:"site-links-container",children:r.map(({title:h,links:m})=>e.jsxs("div",{className:"site-links",children:[e.jsx("div",{className:"section-title",children:h}),e.jsx("div",{className:"links",children:m.map(({label:g,path:y,analyticsEventId:f=""})=>e.jsx(ee,{href:y,onClick:()=>o(y,f),children:g},g))})]},h))})]})})},Fi=s=>{const{Env:a}=s;return{Env:a}},Hi=L(Fi),Gi=Hi(Di),Yi=()=>e.jsxs("div",{className:"any-footer",id:"any-footer",children:[e.jsx(Gi,{}),e.jsx(Bi,{}),e.jsx(_i,{})]}),Cl=({loadingMessage:s,errorMessage:a,loadSuccess:t,data:n,page:o,totalResults:i,callback:l,perPage:c=100,headerAction:r,title:d,noPlaceData:h=!1})=>{const m=_();return e.jsxs(As,{loadingMessage:s,className:"any-property-links",headerAction:r,title:d,children:[a!==null&&e.jsx(G,{type:"error",children:a}),t&&e.jsxs(e.Fragment,{children:[n.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("ul",{className:"property-list",children:n.map(g=>{const{canonicalURL:y,location:{unparsedAddress:f,city:u,stateCode:p,postalCode:x}}=g,b=ve+y,v=`${f}, ${u}, ${p} ${x}`;return e.jsx("li",{children:e.jsx(ee,{href:b,onClick:()=>m(b),children:v})},g.id)})}),e.jsx(at,{page:o,totalRecords:i,callback:l,perPage:c,numOnCurrentPage:n.length})]}),n.length===0&&e.jsx(G,{type:"info",children:"No results found."})]}),h&&!s&&e.jsx(G,{type:"info",children:"No results found."})]})};var Ms=(s=>(s.OK="OK",s.UNKNOWN_ERROR="UNKNOWN_ERROR",s.ZERO_RESULTS="ZERO_RESULTS",s))(Ms||{}),Vi=(s=>(s.MULTI_PROPERTY="MULTI_PROPERTY",s.SINGLE_PROPERTY="SINGLE_PROPERTY",s))(Vi||{});const Al=s=>{const{mapType:a}=s;return e.jsxs("div",{className:"property-map",children:[a==="SINGLE_PROPERTY"&&e.jsx(Qi,{...s}),a==="MULTI_PROPERTY"&&e.jsx(er,{...s})]})},qi=({hasBoundary:s,removeBoundaryCallback:a,mapContainerBounds:t})=>{const o=[{label:"Show list",icon:"faListUl",onClick:()=>{}},...s?[{label:"Remove boundary",icon:"faXmark",onClick:()=>{a()}}]:[]].length===0&&(t==null?void 0:t.width)<=500&&!1;return e.jsx("div",{className:"any-map-action-menu",children:o})},zi=({enableDrawModeCallback:s,removeBoundaryCallback:a,hasBoundary:t,isLoading:n,mapContainerBounds:o})=>{const i=C(),l=()=>{i(D({eventId:"propertyMap_boundaryRemoved"})),a&&a()},c=P("any-map-boundary-controls",{mobile:(o==null?void 0:o.width)<=500}),r=(o==null?void 0:o.width)<=500?"small":"normal";return e.jsxs("div",{className:c,children:[!1,t&&e.jsxs(O,{display:"secondary",size:r,onClick:l,disabled:n,className:"control-container",children:[e.jsx($,{icon:"faXmark"}),e.jsx("span",{children:"Remove boundary"})]})]})},Bt=({viewTypeUpdateCallback:s,mapContainerBounds:a})=>{const t=C(),[n,o]=j.useState("roadmap"),i=()=>{const m=n==="roadmap"?"satellite":"roadmap",g=n==="roadmap"?"propertyMap_satelliteToggle":"propertyMap_streetToggle";o(m),s(m),t(D({eventId:g}))};let l="/images/global/image-satellite.webp",c="Satellite display toggle",r="Satellite";n==="satellite"&&(l="/images/global/image-map.webp",c="Map display toggle",r="Map");const d=P("map-type-label",{satellite:n==="roadmap"}),h=P("any-map-type-toggle",{mobile:(a==null?void 0:a.width)<=500});return e.jsxs(R,{className:h,onClick:i,children:[e.jsx("img",{src:l,alt:c,className:"map-type-img",fetchPriority:"high"}),e.jsx("span",{className:d,children:r})]})},Us=({zoomInCallback:s,zoomOutCallback:a,mapContainerBounds:t})=>{const n=C(),o=()=>{n(D({eventId:"propertyMap_mapZoom"})),s()},i=()=>{n(D({eventId:"propertyMap_mapZoom"})),a()},l=(t==null?void 0:t.width)>=500;return e.jsx(e.Fragment,{children:l&&e.jsxs("div",{className:"any-map-zoom-control",children:[e.jsx(O,{display:"secondary","aria-label":"zoom in",onClick:o,children:e.jsx($,{icon:"faPlus","aria-label":"zoom in",onClick:o})}),e.jsx(O,{display:"secondary","aria-label":"zoom out",onClick:i,children:e.jsx($,{icon:"faMinus","aria-label":"zoom out",onClick:i})})]})})},Zi=({numMapPins:s,numTotalPins:a,mapContainerBounds:t})=>{const n=s>0?`${ae(s)} of ${ae(a)} results`:"No matching results",o=(t==null?void 0:t.width)>=500;return e.jsx(e.Fragment,{children:o&&e.jsx("div",{className:"any-num-map-pins",children:e.jsx("span",{className:"num-pin-display",children:n})})})},Ki=({callback:s})=>{const a=C(),t=()=>{a(D({eventId:"propertyMap_fullScreen"})),s()};return e.jsx("div",{className:"any-full-screen-button",children:e.jsx(O,{display:"secondary",size:"small","aria-label":"display map in full screen view",onClick:t,children:e.jsx($,{icon:"faArrowUpRightAndArrowDownLeftFromCenter","aria-label":"display map in full screen view",onClick:t})})})},Wi=({callback:s,defaultCenter:a})=>{const t=C(),[n,o]=j.useState(!1);j.useEffect(()=>{new google.maps.StreetViewService().getPanorama({location:a},(l,c)=>{o(c===Ms.OK)})},[]);const i=()=>{t(D({eventId:"propertyMap_streetView"})),s()};
2return e.jsx("div",{className:"any-street-view-button",children:n&&e.jsx(R,{onClick:i,children:e.jsxs("div",{className:"control-container","aria-label":"display map in street view",children:[e.jsx("img",{src:"/images/global/image-street-view.webp",alt:"Street view control",fetchPriority:"high"}),e.jsx($,{icon:"faStreetView"}),e.jsx("span",{children:"Street"})]})})})},Dt=({callback:s,viewType:a="map",mapContainerBounds:t,defaultCenter:n})=>{const o=C(),[i,l]=j.useState(!0);j.useEffect(()=>{new google.maps.StreetViewService().getPanorama({location:n},(u,p)=>{l(p===Ms.OK)})},[]);const c=()=>{const u=a==="map"?"street":"map";o(D({eventId:"propertyMap_streetView"})),s(u)};let r="/images/global/image-street-view.webp",d="Street view control",h="Street",m="faStreetView";a==="street"&&(r="/images/global/image-map.webp",d="Map view control",h="Map");const g=P({"hide-button":!i}),y=P("control-container",{"map-display":a==="street",mobile:(t==null?void 0:t.width)<=500}),f=a==="street"?"display map in street view":"display map in map view";return e.jsx("div",{className:"any-view-type-toggle",children:e.jsx(R,{onClick:c,className:g,children:e.jsxs("div",{className:y,"aria-label":f,children:[e.jsx("img",{src:r,alt:d,fetchPriority:"high"}),a==="map"&&e.jsx($,{icon:m}),e.jsx("span",{children:h})]})})})},Xi=({fullScreenCallback:s,streetViewCallback:a,mapTypeUpdateCallback:t,viewTypeUpdateCallback:n,zoomInCallback:o,zoomOutCallback:i,mapContainerBounds:l,viewType:c="map",defaultCenter:r})=>e.jsxs("div",{className:"any-single-property-map-controls",children:[s&&e.jsx(te,{position:V.TOP_RIGHT,children:e.jsx(Ki,{callback:s})}),a&&e.jsx(te,{position:V.BOTTOM_RIGHT,children:e.jsx(Wi,{callback:a,defaultCenter:r})}),e.jsx(te,{position:V.BOTTOM_LEFT,children:e.jsxs("div",{className:"type-controls",children:[t&&e.jsx(Bt,{viewTypeUpdateCallback:t,mapContainerBounds:l}),n&&e.jsx(Dt,{callback:n,viewType:c,mapContainerBounds:l,defaultCenter:r})]})}),o&&i&&e.jsx(te,{position:V.BOTTOM_RIGHT,children:e.jsx(Us,{zoomInCallback:o,zoomOutCallback:i,mapContainerBounds:l})})]}),Ji=({viewTypeUpdateCallback:s,viewType:a,mapInstance:t,mapContainerBounds:n,defaultCenter:o,mapId:i,showStreetView:l=!1})=>{const[c,r]=j.useState(null);j.useEffect(()=>{d()},[l]);const d=()=>{if(l){let y=c;if(c===null){const f=document.body.querySelector("#"+i);y=new google.maps.StreetViewPanorama(f,{position:o,zoom:1,addressControl:!1,panControl:!1,fullscreenControl:!1,zoomControl:!1});const u=document.body.querySelector(".street-view-toggle-control");y.controls[V.BOTTOM_LEFT].push(u);const p=document.body.querySelector(".street-view-zoom-control");y.controls[V.BOTTOM_RIGHT].push(p)}r(y),y.setVisible(!0),t==null||t.setStreetView(y)}else c==null||c.setVisible(!1),r(null),t==null||t.setStreetView(null)},h=()=>{c==null||c.setZoom(((c==null?void 0:c.getZoom())||0)+1)},m=()=>{c==null||c.setZoom(((c==null?void 0:c.getZoom())||0)-1)},g=P("any-street-view",{"hide-controls":!l});return e.jsxs("div",{className:g,children:[e.jsx("div",{className:"street-view-container"}),e.jsx("div",{className:"street-view-toggle-control",children:e.jsx(Dt,{callback:s,viewType:a,mapContainerBounds:n,defaultCenter:o})}),e.jsx("div",{className:"street-view-zoom-control",children:e.jsx(Us,{zoomInCallback:h,zoomOutCallback:m,mapContainerBounds:n})})]})},Qi=({mapId:s,onClick:a,defaultCenter:t,fullScreenCallback:n,streetViewCallback:o,viewTypeUpdateCallback:i,useMapTypeToggle:l,useViewTypeToggle:c,useZoomControl:r,useStreetView:d=!1,disablePanning:h=!1,initialViewType:m="map",pinLabel:g,initialZoom:y=14})=>{const f=Ks(),[u,p]=j.useState(null),[x,b]=j.useState("roadmap"),[v,N]=j.useState(m),[S,T]=j.useState(y),[w,k]=j.useState(m==="street"),[H]=j.useState(`single-property-map-${crypto.randomUUID()}`);j.useEffect(()=>{m!==v&&(N(m),k(m==="street"))},[m]);const Y=()=>{p(f==null?void 0:f.getDiv().getBoundingClientRect())},W=()=>{f==null||f.setZoom(((f==null?void 0:f.getZoom())||0)+1)},X=()=>{f==null||f.setZoom(((f==null?void 0:f.getZoom())||0)-1)},z=()=>{T((f==null?void 0:f.getZoom())||0)},pe=se=>{N(se),k(se==="street"),i&&i(se)},Te=se=>{b(se)};return e.jsx("div",{className:"any-single-property-map",id:H,children:e.jsxs(Ws,{style:{width:"100%"},defaultCenter:t,defaultZoom:S,disableDefaultUI:!0,mapId:s,mapTypeId:x,onClick:a,onBoundsChanged:Y,onZoomChanged:z,reuseMaps:!0,clickableIcons:!1,gestureHandling:h?"none":"greedy",children:[g&&e.jsx(qt,{position:{lat:t.lat,lng:t.lng},pixelOffset:[0,-30],headerDisabled:!0,children:e.jsx("div",{className:"pin-label",children:g})}),e.jsx(Ts,{position:t}),e.jsx(Xi,{fullScreenCallback:n,streetViewCallback:o,mapTypeUpdateCallback:l?Te:void 0,viewTypeUpdateCallback:c?pe:void 0,zoomInCallback:r?W:void 0,zoomOutCallback:r?X:void 0,mapContainerBounds:u,viewType:v,defaultCenter:t}
2),d&&e.jsx(Ji,{viewTypeUpdateCallback:pe,viewType:v,mapInstance:f,mapContainerBounds:u,defaultCenter:t,mapId:H,showStreetView:w})]})})},er=({data:s={},totalRecords:a=0,loadData:t,defaultCenter:n,placeBoundary:o,isLoading:i=!1,removeBoundaryCallback:l,mapId:c})=>{var Be;const r=Ks(),[d,h]=j.useState(null),[m,g]=j.useState(s),[y,f]=j.useState("roadmap"),[u,p]=j.useState(null),[x,b]=j.useState(null),[v,N]=j.useState(7),[S,T]=j.useState(null),[w,k]=j.useState(!1),[H,Y]=j.useState(!1);j.useEffect(()=>{r&&(r.getDiv().style.containerType="inline-size",r.data.addListener("click",()=>{z()}),r.data.setStyle({fillColor:"#000",fillOpacity:.07,strokeColor:"#000",strokeWeight:2,zIndex:0,cursor:"grab"}),r.data.forEach(function(I){r.data.remove(I)}))},[r]),j.useEffect(()=>{g(s),k(!1)},[s]),j.useEffect(()=>{o&&p(o)},[o]),j.useEffect(()=>{if(!r)return;const{data:I}=r;I&&u!==null&&(u.drawBoundaryData&&Object.keys(u.drawBoundaryData).length>0&&I.addGeoJson({type:"Feature",properties:{name:"geopolitical-boundary"},geometry:u.drawBoundaryData}),u.topRightBoundingBox&&u.bottomLeftBoundingBox&&u.topRightBoundingBox.length&&u.bottomLeftBoundingBox.length&&r.fitBounds({north:u.topRightBoundingBox[1],east:u.topRightBoundingBox[0],south:u.bottomLeftBoundingBox[1],west:u.bottomLeftBoundingBox[0]})),I&&u===null&&(I.forEach(function(M){I.remove(M)}),X())},[u]);const W=ln(()=>{var ne,U;if(!r)return;if(!H){Y(!0),k(!1);return}const I=(ne=r.getBounds())==null?void 0:ne.getNorthEast(),M=(U=r.getBounds())==null?void 0:U.getSouthWest
2();t({topRightMapPoint:[I==null?void 0:I.lng(),I==null?void 0:I.lat()],bottomLeftMapPoint:[M==null?void 0:M.lng(),M==null?void 0:M.lat()],usePlaceBoundary:u!==null})},500),X=()=>{z(),k(!0),W()},z=()=>{b(null),h(null)},pe=(I,M)=>{b(I),h(M)},Te=I=>{const{gis:{latitude:M,longitude:ne}}=m.aggregationMarkers.find(ce=>ce.placeMasterId===I)||{gis:{}},U=((r==null?void 0:r.getZoom())||0)+1;r==null||r.setZoom(U),r==null||r.setCenter({lat:M,lng:ne})},se=()=>{N((r==null?void 0:r.getZoom())||0),w||X()},gs=()=>{z(),r==null||r.setZoom(((r==null?void 0:r.getZoom())||0)+1)},Ce=()=>{z(),r==null||r.setZoom(((r==null?void 0:r.getZoom())||0)-1)},fs=I=>{f(I)},Me=()=>{p(null),l()},Ae=()=>{T(r==null?void 0:r.getDiv().getBoundingClientRect())},ys=()=>{w||X()},bs=a>=300&&v<=11,Ue=((Be=m==null?void 0:m.propertyMarkers)==null?void 0:Be.length)??0;return e.jsxs("div",{className:"any-multi-property-map",children:[e.jsxs(Ws,{className:"property-map-component",defaultCenter:n,defaultZoom:v,minZoom:4,mapId:c,disableDefaultUI:!0,clickableIcons:!1,mapTypeId:y,gestureHandling:"greedy",isFractionalZoomEnabled:!0,onZoomChanged:se,onClick:z,onDragstart:z,onDragend:ys,onBoundsChanged:Ae,children:[m.mapMarkers&&e.jsx(e.Fragment,{children:m.mapMarkers.map(I=>{const{uuid:M}=I,ne=x&&M===x.uuid;return e.jsx(tr,{property:I,onClick:pe,isSelected:ne,displayAsDot:bs},M)})}),m.aggregationMarkers&&e.jsx(e.Fragment,{children:m.aggregationMarkers.map(I=>e.jsx(dr,{item:I,onClick:Te},I.id))}),x&&r&&d&&e.jsx(cr,{property:x,markerElement:d,mapElement:r.getDiv(),closeWindowCallback:z}),e.jsx(hr,{zoomInCallback:gs,zoomOutCallback:Ce,viewTypeUpdateCallback:fs,enableDrawModeCallback:()=>{},removeBoundaryCallback:Me,hasBoundary:u!==null,numMapPins:Ue,numTotalPins:a,isLoading:i,mapContainerBounds:S})]}),e.jsx(Cs,{loading:i,small:!1,className:"map-loader",children:"loading properties..."})]})},sr=s=>Intl.NumberFormat("en-US",{notation:"compact"}).format(s),tr=({property:s,onClick:a,isSelected:t,displayAsDot:n=!1})=>{const{price:o="",gis:{latitude:i,longitude:l},properties:c=[]}=s,r=C(),[d,h]=zt(),[m,g]=j.useState(0),y=x=>{let b=x||0;t&&(b=1e3),g(b)};j.useEffect(()=>{y()},[t]);const f=()=>{h&&(r(D({eventId:"propertyMap_markerClicked"})),a(s,h.element))},u=P("property-pin",{"is-selected":t,dot:n}),p=c.length>0?`${c.length} Units`:sr(o);return e.jsx("div",{className:"property-marker-container",children:e.jsx(Ts,{title:p,position:{lat:i,lng:l},zIndex:m,ref:d,className:"property-marker",onClick:f,onMouseEnter:()=>y(1e3),onMouseLeave:()=>y(0),children:e.jsx("div",{className:u,children:e.jsx("span",{className:"pin-content",children:p})})})})},ar=({brand:s,brandShortName:a,isInBrand:t,isLuxuryListing:n})=>{let o=a;s==="CBR"&&(o=e.jsx("img",{className:"logo",src:"/images/logo/cbr-compact-logo-white.svg",alt:"Coldwell Banker Realty Logo",fetchPriority:"high",height:"16",width:"14"})),s==="C21"&&(n&&t?o=e.jsx("img",{className:"logo",src:"/images/logo/c21-luxury-white.svg",alt:"CENTURY 21 Fine Homes & Estates Logo",fetchPriority:"high",height:"8",width:"70"}):o=e.jsx("img",{className:"logo",src:"/images/logo/c21-logo-white.svg",alt:"CENTURY 21 Realty Logo",fetchPriority:"high",height:"8",width:"70"}));const i=s!=="C21"?"Listed by ":"",l=P("any-brand-badge",s),c=t;return e.jsx("div",{className:l,children:c&&e.jsxs("span",{children:[i," ",o]})})},nr=s=>{const{Env:{brand:a,brandShortName:t}}=s;return{brand:a,brandShortName:t}},or=L(nr),ir=or(ar),Bs=({property:{price:s=0,canonicalURL:a="",id:t,property:{bedrooms:n=0,bathrooms:o=0,listingStatus:i=Nt.ACTIVE,propertyType:l=""},area:{listingArea:c=0,listingAreaUnits:r="sq. ft.",lotSize:d=0,lotSizeUnits:h=""},location:{unparsedAddress:m="",city:g="",stateCode:y="",postalCode:f=""},photos:{firstPhotoUrl:u=""},chips:{mediaChips:p=[],statusChips:x=[]},isInBrand:b=!1,isLuxuryListing:v=!1,mls:{mlsNumber:N="",globalDisclaimer:{logoUrl:S}},attribution:{listingOfficeName:T}={},rules:{displayLastListPrice:w,propCardDisplayLogo:k,propCardDisplayFullBrokerageName:H,propCardMapViewDisplayLogo:Y}},onClickCallback:W})=>{const X=_(),z=C(),pe=U=>{U.currentTarget.src="/images/property/property-avatar.svg",U.currentTarget.alt="Property image not available",U.currentTarget.classList.add("property-avatar")},Te=U=>{U.currentTarget.src="/images/agent/agent-avatar.svg"},se=()=>{ANY.href=location.pathname},gs=()=>{se(),z(D({eventId:"propertyCard_cardClicked"})),W&&W();
2const U=ve+a;X(U)},Ce=l==="LAND",fs=l==="RENTAL",Me=u||"",Ae=`${m}, ${g}, ${y} ${f}`,ys=`${n||"--"} beds`,bs=`${o||"--"} baths`,Ue=c!==null?`${ae(c)||"--"} ${r||"sq. ft."}`:"",Be=Ce?`${d??"--"} ${h}`:"",I=H?T:`Listed by: ${T}`,M=H?"":`MLS# ${N}`,ne=fs?`${je(s)} per month`:je(s);return e.jsxs(q,{href:ve+a,className:"single-property-info",onClick:gs,children:[e.jsxs("div",{className:"top-container",children:[e.jsxs("div",{className:"top-badges",children:[x.length>0&&e.jsx("div",{className:"status-badges",children:x.map(({label:U,ariaLabel:ce})=>e.jsx("span",{className:"info-badge",title:ce||U,children:U},crypto.randomUUID()))}),e.jsx(Nn,{listingId:t})]}),e.jsx("img",{src:Me?`${Me}?format=webp&quality=70&width=600`:"",alt:Ae,className:"property-img",fetchPriority:"high",onError:pe}),e.jsx("div",{className:"bottom-badges",children:p.map(({label:U,type:ce})=>{let De=e.jsx(e.Fragment,{});return ce===xs.THREE_D_TOUR&&(De=e.jsx($,{icon:"faCube",className:"icon"})),ce===xs.VIRTUAL_TOUR&&(De=e.jsx($,{icon:"faVideo",className:"icon"})),ce===xs.VIDEO_TOUR&&(De=e.jsx($,{icon:"faCirclePlay",className:"icon"})),e.jsx("span",{className:"icon-badge",title:U,children:De},crypto.randomUUID())})}),e.jsx(ir,{isInBrand:b,isLuxuryListing:v})]}),e.jsxs("div",{className:"bottom-container",children:[e.jsxs("div",{className:"price-line",children:[e.jsxs("span",{className:"price",children:[s>0&&ne,w&&e.jsx("small",{className:"last-list-price-label",children:"Last list price"})]}),e.jsx(it,{listingStatus:i,containerType:rt.SINGLE_CARD})]}),e.jsxs("div",{className:"property-details-line",children:[!Ce&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"bed-info",children:ys}),e.jsxs("span",{className:"bath-info",children:[" ",bs]}),Ue&&e.jsx("span",{className:"sq-ft-info",children:Ue})]}),Ce&&e.jsx("span",{children:Be})]}),e.jsx("div",{className:"address-line",children:e.jsx("h3",{className:"address",title:Ae,children:Ae})}),e.jsxs("div",{className:"additional-property-info",children:[e.jsxs("div",{className:"info-container",children:[N&&e.jsx("span",{className:"mls-number",children:M}),T&&e.jsx("span",{title:I,className:"listing-office",children:I})]}),S&&(k||Y)&&e.jsx("span",{className:"mls-logo-container",children:e.jsx("img",{src:S?`${S}?format=webp&quality=70&height=48`:"",alt:"MLS attribution",onError:Te,fetchPriority:"high"})})]})]})]})},rr=({property:{photos:{firstPhotoUrl:s},property:{bedrooms:a,bathrooms:t,listingStatus:n=Nt.ACTIVE,propertyType:o=""},area:{listingArea:i=0,listingAreaUnits:l="sq. ft.",lotSize:c=0,lotSizeUnits:r=""},location:{unparsedAddress:d=""},mls:{globalDisclaimer:{logoUrl:h}},rules:{displayLastListPrice:m,propCardDisplayLogo:g,propCardMapViewDisplayLogo:y},price:f,canonicalURL:u}})=>{const p=_(),x=X=>{X.currentTarget.src="/images/property/property-avatar.svg",X.currentTarget.classList.add("property-avatar")},b=()=>{p(ve+u)},v=o==="LAND",N=o==="RENTAL",S=s||"",T=`${a||"--"} Beds`,w=`${t||"--"} Baths`,k=i!==null?`${ae(i)||"--"} ${l||"sqft"}`:"",H=d.includes("#")?`#${d.split("#")[1]}`:"",Y=v?`${c??"--"} ${r}`:"",W=N?`${je(f)} per month`:je(f);return e.jsxs(q,{href:ve+u,className:"mini-property-listing",onClick:b,children:[e.jsx("div",{className:"img-container",children:e.jsx("img",{src:S?`${S}?format=webp&quality=70&width=192`:"",alt:"Property",className:"property-img",onError:x,fetchPriority:"high"})}),e.jsxs("div",{className:"property-info",children:[e.jsxs("div",{className:"unit-container",children:[e.jsx("h5",{className:"unit",children:H}),h&&(g||y)&&e.jsx("img",{src:h?`${h}?format=webp&quality=70&width=120`:"",alt:"MLS attribution",className:"mls-logo",fetchPriority:"high"})]}),e.jsxs("div",{className:"price-line",children:[e.jsxs("h3",{className:"price",children:[W,m&&e.jsx("small",{className:"last-list-price-label",children:"Last list price"})]}),e.jsx(it,{listingStatus:n,containerType:rt.MULTI_UNIT_CARD})]}),e.jsxs("div",{className:"building-info",children:[!v&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:T}),e.jsx("span",{children:w}),k&&e.jsx("span",{children:k})]}),v&&e.jsx("span",{children:Y})]})]})]})},lr=({multiProperty:{properties:s=[]},onClickCallback:a})=>{const t=()=>{a&&a()},{location:{unparsedAddress:n,city:o,stateCode:i,postalCode:l}}=s[0],c=`${ae(s.length)} Units for Sale`,r=`${n}, ${o}, ${i} ${l}`;return e.jsxs(R,{className:"multi-property-info",onClick:t,children:[e.jsxs("div",{className:"header",children:[e.jsx("h3",{className:"title",children:c}),e.jsx("p",{className:"subtitle",title:r,children:r})]}),e.jsx("div",{className:"property-container",children:s.map(d=>e.jsx(rr,{property:d},d.id))})]})},cr=({markerElement:s,mapElement:a,property:t,closeWindowCallback:n})=>{const{propertyMarkerType:o}=t,i=j.useRef(null),l=()=>{n()},r=(()=>{const g=o===vs.MULTI?324:300,{top:y,left:f,bottom:u}=s.getBoundingClientRect(),{top:p,left:x,right:b}=a.getBoundingClientRect();let v=y-p-308;v<0&&(v=u-p+12);let N=f-x-(g/2-16);return b-x-(N+g)<0&&(N=b-g-x),N<0&&(N=0),{top:v,left:N}})();return Zt.createPortal(e.jsxs("div",{className:"property-info-window",style:r,ref:i,children:[o===vs.SINGLE&&e.jsx(Bs,{property:t,onClickCallback:l}),o===vs.MULTI&&e.jsx(lr,{multiProperty:t,onClickCallback:l})]}),a)},dr=({item:{placeMasterId:s,gis:{latitude:a,longitude:t},count:n},onClick:o})=>{const[i,l]=j.useState(0),c=()=>{o(s)};return e.jsx("div",{className:"aggregate-marker-container",children:e.jsx(Ts,{position:{lat:a,lng:t},zIndex:i,className:"aggregate-marker",onClick:c,onMouseEnter:()=>l(1e3),onMouseLeave:()=>l(0),children:e.jsx("div",{className:"aggregate-pin",children:ae(n)})})})},hr=({zoomInCallback:s,zoomOutCallback:a,viewTypeUpdateCallback:t,enableDrawModeCallback:n,removeBoundaryCallback:o,hasBoundary:i,numMapPins:l,numTotalPins:c,isLoading:r,mapContainerBounds:d})=>{const h=(d==null?void 0:d.width)<=500?V.BOTTOM_RIGHT:V.TOP_RIGHT;return e.jsxs(e.Fragment,{children:[!r&&e.jsx(te,{position:V.TOP_LEFT,children:e.jsx(Zi,{numMapPins:l,numTotalPins:c,mapContainerBounds:d})}),e.jsx(te,{position:V.BOTTOM_LEFT,children:e.jsx(Bt,{viewTypeUpdateCallback:t,mapContainerBounds:d})}),e.jsx(te,{position:V.BOTTOM_RIGHT,children:e.jsx(Us,{zoomInCallback:s,zoomOutCallback:a,mapContainerBounds:d})}),e.jsx(te,{position:h,children:e.jsx(zi,{enableDrawModeCallback:n,removeBoundaryCallback:o,hasBoundary:i,isLoading:r,mapContainerBounds:d})}),e.jsx(te,{position:V.BOTTOM_RIGHT,children:e.jsx(qi,{hasBoundary:i,removeBoundaryCallback:o,mapContainerBounds:d})})]})},El=({title:s="",action:a,success:t,data:n=[]})=>e.jsx(e.Fragment,{children:t&&e.jsxs("section",{className:"property-carousel",children:[e.jsxs("div",{className:"heading",children:[e.jsx("h2",{className:"title",children:s}),a&&e.jsx("span",{className:"action",children:a})]}),e.jsx(Js,{children:e.jsx("ul",{className:"prop-list",children:n.map(o=>e.jsx("li",{children:e.jsx(Bs,{property:o})},o.id))})})]})}),ur={[E.CITY]:[{placeType:E.NEIGHBORHOOD,neighborType:"NeighborByNeighborhood",action:Fe,title:"Neighborhoods near"},{placeType:E.POSTAL_CODE,neighborType:"NeighborByZip",action:ke,title:"Zip codes near"},{placeType:E.CITY,neighborType:"NeighborByCity",action:fe,title:"Popular searches near"}],[E.POSTAL_CODE]:[{placeType:E.CITY,neighborType:"NeighborByCity",action:fe,title:"Popular searches near"},{placeType:E.NEIGHBORHOOD,neighborType:"NeighborByNeighborhood",action:Fe,title:"Popular neighborhoods near"},{placeType:E.COUNTY,neighborType:"NeighborByCounty",action:js,title:"Counties near"}],[E.NEIGHBORHOOD]:[{placeType:E.NEIGHBORHOOD,neighborType:"NeighborByNeighborhood",action:Fe,title:"Popular neighborhoods near"},{placeType:E.POSTAL_CODE,neighborType:"NeighborByZip",action:ke,title:"Zip codes near"},{placeType:E.COUNTY,neighborType:"NeighborByCounty",action:js,title:"Counties near"}],[E.COUNTY]:[{placeType:E.CITY,neighborType:"NeighborByCity",action:fe,title:"Popular searches near"},{placeType:E.NEIGHBORHOOD,neighborType:"NeighborByNeighborhood",action:Fe,title:"Popular neighborhoods near"},{placeType:E.POSTAL_CODE,neighborType:"NeighborByZip",action:ke,title:"Zip codes near"}],[E.STATE]:[{placeType:E.CITY,neighborType:"NeighborByCity",action:fe,title:"Popular searches in"},{placeType:E.COUNTY,neighborType:"NeighborByCounty",action:js,title:"Top counties in"}]},mr=({brand:s,PlaceLookup:a,placeMasterId:t,placeName:n,placeType:o})=>{const i=C(),l=_(),c=ze(a==null?void 0:a.placeByUrlData)||null,r=Hs(a==null?void 0:a.placeByUrlData)||"",d=ur[o];let h;switch(s){case"CBR":h="real estate";break;case"ERA":h="properties";break;case"BHG":h="homes";break;case"C21":h="homes";break;default:h="properties"}if(j.useEffect(()=>{t&&o&&d&&d.forEach(({action:f,placeType:u})=>{i(f({placeMasterId:t,page:1,numPerPage:20,entityType:"property",placeType:u}))})},[t,o,d,i]),!d)return null;const m=d.filter(f=>{const u=a[f.neighborType];return(u==null?void 0:u.data)&&u.data.length>0});if(m.length===0)return null;const g=f=>{var p;let u=((p=a[f])==null?void 0:p.data)||[];return o===E.STATE&&(u=u.slice(0,20)),u},y=({canonicalUrl:f,displayName:u,placeType:p,_id:x},b,v)=>{const N=Hs(v[b]),S=A+f;let T=`${u} ${h} for sale`;return o===E.STATE&&p===E.COUNTY&&(T=`${u} County ${h} for sale`),p===E.NEIGHBORHOOD&&(T=`${u}, ${N} ${h} for sale`),e.jsx("li",{children:e.jsx(ee,{href:S,onClick:()=>l(S),children:T})},x)};return e.jsx("div",{className:"any-property-ankle-links",children:m.map(({title:f,neighborType:u})=>{var v;const p=(v=a[u])!=null&&v.loader?"loading properties...":"";let x=f;o===E.STATE||o===E.POSTAL_CODE?(x=`${f} ${n}`,o===E.POSTAL_CODE&&u==="NeighborByCounty"&&(x=`${f} ${r}, ${n}`)):x=`${f} ${c}`;const b=g(u);return e.jsx(As,{title:x,loadingMessage:p,children:e.jsx("ul",{className:"ankle-links",children:b.map((N,S)=>y(N,S,b))})},u)})})},pr=s=>{const{Env:{brand:a},Location:{PlaceLookup:t}}=s;return{brand:a,PlaceLookup:t}},gr=L(pr),Ll=gr(mr),fr=({savedSearchesFrequency:s,savedListingsFrequency:a,saveNotificationPreferencesError:t})=>{const n=C(),o=()=>{n(Q())},i=(c,r)=>
2{n(Xa({...r,savedSearchesFrequency:s})).then(()=>{o(),n(de()),n($e())})};let l="";return t&&(l=`${t.status} - ${t.message}`),e.jsxs("div",{className:"any-saved-homes-notifications",children:[e.jsx("p",{className:"form-instructions",children:"You’ll receive updates about open houses and price changes."}),e.jsxs(re,{name:"saved-homes-notifications-form",handleSubmit:i,children:[l!==""&&e.jsx(G,{type:"error",children:l}),e.jsx(be,{children:e.jsx(J,{o:Ve,k:"savedListingsFrequency",v:a})}),e.jsxs(Ne,{justify:"right",children:[e.jsx(O,{display:"secondary",type:"button",onClick:o,children:"Cancel"}),e.jsx(O,{type:"submit",children:"Save"})]})]})]})},yr=s=>{const{User:{Auth:{user:{savedListings:{frequency:a=""}={},savedSearches:{frequency:t=""}={}}={}},SavedHomes:{saveNotificationPreferencesError:n}}}=s;return{savedSearchesFrequency:t,savedListingsFrequency:a,saveNotificationPreferencesError:n}},br=L(yr),xr=br(fr),vr=({SavedHomes:{getFullSavedListingsLoader:s,getFullSavedListingsError:a,getFullSavedListingsSuccess:t,fullSavedListings:n,getSavedListingsLoader:o,getSavedListingsError:i,reload:l,saveNotificationPreferencesLoader:c},brandShortName:r,sideBarOpen:d})=>{const h=C(),[m,g]=j.useState("");j.useEffect(()=>{h(Ja())},[]),j.useEffect(()=>{l&&h($e())},[l]);const f=[{id:"saved-homes-filter-saved-listings",options:[{label:"All listings",value:""},{label:"Active listings",value:"active"},{label:"Sold listings",value:"sold"}],callback:S=>{g(S.target.value)},value:m,ariaLabel:"Filter saved listings",type:Ss.SELECT},{id:"saved-homes-saved-listings-notifications",label:e.jsxs("div",{className:"button-content",children:[e.jsx($,{icon:"faBell",onClick:()=>h(Q())}),e.jsx("span",{children:"Notifications"})]}),onClick:()=>{h(Q())},type:Ss.BUTTON}],u=(n==null?void 0:n.filter(S=>{const{property:{listingStatus:T}}=S;return m==="active"?T==="ACTIVE":m==="sold"?T==="SOLD":!0}))||[],p=Es[Ie]({brandShortName:r}),x=(u==null?void 0:u.length)>0?`${u.length} saved homes`:"";let b="";(s||o)&&(b="loading saved homes..."),c&&(b="saving notification preferences...");const v=b!=="";let N="";return a&&(N=`${a.status} - ${a.message}`),i&&(N=`${i.status} - ${i.message}`),e.jsxs("div",{className:"any-saved-homes",children:[e.jsx(Ls,{}),e.jsx(ks,{title:"Saved homes",bc:p,actions:f,subtitle:x}),N!==""&&e.jsx(G,{type:"error",children:N}),t&&e.jsx("div",{className:"content",children:u.length>0&&e.jsx("ul",{className:"saved-list",children:u.map(S=>e.jsx("li",{children:e.jsx(Bs,{property:S})},S.id))})}),u.length===0&&!v&&e.jsx(Os,{icon:"faHouse",title:"No homes saved yet",subtitle:"Start browsing homes",children:e.jsx(Re,{})}),e.jsx(Z,{isLoading:v,children:b}),e.jsx(Ut,{title:"Saved listings notifications",isOpen:d,children:e.jsx(xr,{})})]})},jr=s=>{const{Env:{brandShortName:a},Global:{sideBarOpen:t}
2,User:{SavedHomes:n}}=s;return{brandShortName:a,sideBarOpen:t,SavedHomes:n}},Nr=L(jr),Sr=Nr(vr),Ft=({query:s=""})=>{const a=(c,r,d)=>{const h=r?je(parseInt(r)):"",m=d?je(parseInt(d)):"";return m&&!h?`${c}: Up to ${m}`:h&&!m?`${c}: ${h}+`:`${c}: ${h} - ${m}`},t=(c,r,d)=>{const h=r?ae(parseInt(r)):"",m=d?ae(parseInt(d)):"";return m&&!h?`${c}: Up to ${m}`:h&&!m?`${c}: ${h}+`:`${c}: ${h} - ${m}`},n=(c,r,d)=>d&&!r?`${c}: Up to ${d}`:r&&!d?`${c}: ${r}+`:`${c}: ${r} - ${d}`,o=new URLSearchParams(s),i=new Set;for(const[c,r]of o){if(c==="status"&&!we(r.split(","),ws.split(","))){const d=r.split(",").map(h=>cn(h).replace("_"," ")).join(", ");i.add(d)}if(c==="propertyType"){const d=r.split(/[,-]+/);let h="";d.sort((m,g)=>m.localeCompare(g)).toString()===hs.split(",").sort((m,g)=>m.localeCompare(g)).toString()?h="All home types":h=d.map(m=>fa[m]||"").join(", "),i.add(h)}if(c==="hasOpenHouses"&&i.add("Open house"),c==="isNewConstruction"&&i.add("New construction"),c==="isVirtualTourAvailable"&&i.add("3D / video / virtual tour"),c==="isRental"&&i.add("Rental"),c==="luxury"&&r==="true"&&i.add("Luxury"),c==="minBedrooms"&&i.add(`Bedrooms: ${r}+`),c==="minBathrooms"&&i.add(`Bathrooms: ${r}+`),c==="minPrice"&&i.add(a("Price",r,o.get("maxPrice"))),c==="maxPrice"&&i.add(a("Price",o.get("minPrice"),r)),c==="minYearBuilt"&&i.add(n("Year built",r,o.get("maxYearBuilt"))),c==="maxYearBuilt"&&i.add(n("Year built",o.get("minYearBuilt"),r)),c==="minSqft"&&i.add(t("Sqft",r,o.get("maxSqft"))),c==="maxSqft"&&i.add(t("Sqft",o.get("minSqft"),r)),c==="daysOnMarket"){const d=Sn.find(h=>h.value===r);d&&i.add(`Days on market: ${d.label}`)}if(c==="minAcreage"){const d=o.get("maxAcreage"),h=Vs.find(g=>g.value===parseFloat(r)),m=d?qs.find(g=>g.value===parseFloat(d)):"";h&&m?i.add(`Lot size: ${h.label} - ${m.label}`):h?i.add(`Lot size: ${h.label}+`):m&&i.add(`Lot size: Up to ${m.label}`)}if(c==="maxAcreage"){const d=o.get("minAcreage"),h=qs.find(g=>g.value===parseFloat(r)),m=d?Vs.find(g=>g.value===parseFloat(d)):"";m&&h?i.add(`Lot size: ${m.label} - ${h.label}`):m?i.add(`Lot size: ${m.label}+`):h&&i.add(`Lot size: Up to ${h.label}`)}}const l=[...i];return e.jsx("div",{className:"any-search-item-filters",children:e.jsx(Jt,{children:l.map(c=>e.jsx(Qt,{label:c},c))})})},Tr=({toggleCallback:s,deleteCallback:a,item:t={}})=>{const n=C(),{name:o="",location:i="",query:l=""}=t,c=(h,m)=>{n(gt({...t,name:m.name})).then(()=>{n(ue()),s()})},r={name:{type:"text",name:"name",label:"Search name",placeholder:"Enter search name",required:!0}},d=P("any-edit-search-item","search-item");return e.jsx("div",{className:d,children:e.jsxs(re,{name:"",handleSubmit:c,children:[e.jsxs("div",{className:"header",children:[e.jsx(J,{o:r,k:"name",v:o}),e.jsx("div",{className:"location",children:e.jsxs("span",{children:["Location: ",i]})})]}),e.jsxs("div",{className:"footer",children:[e.jsx(Ft,{query:l}),e.jsxs("div",{className:"actions",children:[e.jsx(O,{size:"small",display:"secondary",onClick:s,children:"Cancel"}),e.jsx(O,{size:"small",display:"secondary",type:"submit",children:"Save"}),e.jsxs(O,{size:"small",display:"secondary",onClick:a,children:[e.jsx($,{icon:"faTrash",onClick:a}),e.jsx("span",{children:"Remove"})]})]})]})]})})},Cr=({toggleCallback:s,deleteCallback:a,item:{name:t="",location:n="",url:o="",query:i=""}={}})=>{const l=C(),c=_();let r=A+o;r+=i.startsWith("?")?i:`?${i}`;const d=()=>{l(Se(kt(i))),setTimeout(()=>{c(r)},0)},h=P("any-view-search-item","search-item");return e.jsxs("div",{className:h,children:[e.jsxs("div",{className:"header",children:[e.jsx("div",{className:"name",children:e.jsx(ee,{onClick:d,href:r,children:t})}),e.jsx("div",{className:"location",children:e.jsxs("span",{children:["Location: ",n]})})]}),e.jsxs("div",{className:"footer",children:[e.jsx(Ft,{query:i}),e.jsxs("div",{className:"actions",children:[e.jsxs(O,{size:"small",display:"secondary",onClick:s,children:[e.jsx($,{icon:"faPencil",onClick:s}),e.jsx("span",{children:"Edit"})]}),e.jsxs(O,{size:"small",display:"secondary",onClick:a,children:[e.jsx($,{icon:"faTrash",onClick:a}),e.jsx("span",{children:"Remove"})]})]})]})]})},Ar=({item:s={}})=>{const a=C(),{id:t}=s,[n,o]=j.useState(!1),[i,l]=j.useState(!1),c=()=>{o(!1),setTimeout(()=>{a(ft(t)).then(()=>{a(ue())})},0)};return e.jsxs("div",{className:"any-search-item",children:[i&&e.jsx(Tr,{toggleCallback:()=>
2l(!i),deleteCallback:()=>o(!0),item:s}),!i&&e.jsx(Cr,{toggleCallback:()=>l(!i),deleteCallback:()=>o(!0),item:s}),e.jsx(Pe,{isOpen:n,title:"Remove saved search",message:"Are you sure you want to remove this saved search?",onClose:()=>o(!1),onConfirm:c})]})},Er=({savedSearchesFrequency:s,savedListingsFrequency:a,saveNotificationPreferencesError:t})=>{const n=C(),o=()=>{n(Q())},i=(c,r)=>{n(Qa({...r,savedListingsFrequency:a})).then(()=>{o(),n(de()),n(ue())})};let l="";return t&&(l=`${t.status} - ${t.message}`),e.jsxs("div",{className:"any-saved-searches-notifications",children:[e.jsx("p",{className:"form-instructions",children:"You’ll receive updates about new listings, open houses and price changes."}),e.jsxs(re,{name:"saved-homes-notifications-form",handleSubmit:i,children:[l!==""&&e.jsx(G,{type:"error",children:l}),e.jsx(be,{children:e.jsx(J,{o:Ve,k:"savedSearchesFrequency",v:s})}),e.jsxs(Ne,{justify:"right",children:[e.jsx(O,{display:"secondary",type:"button",onClick:o,children:"Cancel"}),e.jsx(O,{type:"submit",children:"Save"})]})]})]})},Lr=s=>{const{User:{Auth:{user:{savedListings:{frequency:a=""}={},savedSearches:{frequency:t=""}={}}={}},SavedSearches:{saveNotificationPreferencesError:n}}}=s;return{savedSearchesFrequency:t,savedListingsFrequency:a,saveNotificationPreferencesError:n}},kr=L(Lr),$r=kr(Er),Ir=({SavedSearches:{getSavedSearchesLoader:s,getSavedSearchesSuccess:a,getSavedSearchesError:t,savedSearches:n,deleteLoader:o,deleteError:i,saveLoader:l,saveError:c,saveNotificationPreferencesLoader:r},brandShortName:d,sideBarOpen:h})=>{const m=C();j.useEffect(()=>{m(en()),setTimeout(()=>{m(ue())},0)},[]);const g=[{id:"saved-searches-notifications",label:e.jsxs("div",{className:"button-content",children:[e.jsx($,{icon:"faBell",onClick:()=>m(Q())}),e.jsx("span",{children:"Notifications"})]}),onClick:()=>{m(Q())},type:Ss.BUTTON}],y=Es[he]({brandShortName:d}),f=(n==null?void 0:n.length)>0?`${n.length} saved searches`:"";let u="";t&&(u=`${t.status} - ${t.message}`),i&&(u=`${i.status} - ${i.message}`),c&&(u=`${c.status} - ${c.message}`);let p="";return s&&(p="loading saved searches..."),o&&(p="deleting saved search..."),l&&(p="updating saved search..."),r&&(p="saving notification preferences..."),e.jsxs("div",{className:"any-saved-searches",children:[e.jsx(Ls,{}),e.jsx(ks,{title:"Saved searches",bc:y,actions:g,subtitle:f}),u!==""&&e.jsx(G,{type:"error",children:u}),a&&e.jsxs("div",{className:"content",children:[(n==null?void 0:n.length)===0&&e.jsx(Os,{icon:"faMagnifyingGlass",title:"No searches saved yet",subtitle:"Start browsing homes",children:e.jsx(Re,{})}),(n==null?void 0:n.length)>0&&e.jsx("ul",{className:"saved-searches-list",children:n.map(x=>e.jsx("li",{children:e.jsx(Ar,{item:x})},x.id))})]}),e.jsx(Z,{isLoading:p!=="",children:p}),e.jsx(Ut,{title:"Saved searches notifications",isOpen:h,children:e.jsx($r,{})})]})},Or=s=>{const{Env:{brandShortName:a},User:{SavedSearches:t},Global:{sideBarOpen:n}}=s;return{brandShortName:a,SavedSearches:t,sideBarOpen:n}},wr=L(Or),Pr=wr(Ir),Ht=({children:s})=>e.jsx("div",{className:"any-user-layout",children:e.jsx("div",{className:"any-constrain",children:e.jsx("div",{className:"any-vertical",children:s})})}),kl=Object.freeze(Object.defineProperty({__proto__:null,default:Ht},Symbol.toStringTag,{value:"Module"})),Ds=()=>{switch("BHG"){case"CBR":return{clientId:"0oac6bjhylF3f7DBg697",issuer:"https://account.coldwellbanker.com/oauth2/aus44bzdrhmwooJiM1d7"};case"C21":return{clientId:"0oaxf3og71yL58fUT697",issuer:"https://myaccount.century21.com/oauth2/aus6tsch4avE2yQz8697"};default:return{clientId:"",issuer:""}}},_r={authStateManager:{getAuthState:()=>({isAuthenticated:!1}),subscribe:()=>{},unsubscribe:()=>{}},tokenManager:{get:()=>({accessToken:""}),on:()=>{},off:()=>{}},start:()=>{},stop:()=>{}},Gt=qe.createContext(null),K=()=>qe.useContext(Gt),{origin:Rr}=location,{clientId:Mr="",issuer:Ur=""}=Ds(),Br="BHG",B=["CBR","C21"].includes(Br)?new Kt({clientId:Mr,issuer:Ur,scopes:["openid","profile","email","https://api.realogy.com/coreservicesapi","offline_access"],redirectUri:Rr+sn,tokenManager:{storage:"localStorage",autoRenew:!0}}):_r,Dr=({children:s})=>{const a=C(),[t,n]=j.useState((B==null?void 0:B.authStateManager.getAuthState())||null),o=()=>{ds(a,B)},i=async()=>{await B.token.renewTokens().then(async l=>{await B.tokenManager.setTokens(l),console.log("successfully renewed token")}).catch(()=>{o()})};return j.useEffect(()=>{if(B)return B.tokenManager.on("expired",i),B.tokenManager.on("error",o),B.authStateManager.subscribe(n),B.start(),()=>{B.tokenManager.off("expired"),B.tokenManager.off("error"),B.authStateManager.unsubscribe(n),B.stop()}},[]),e.jsx(Gt.Provider,{value:{oktaAuth:B,authState:t},children:s})},Fr=({postLoginAction:{type:s="",propertyMasterId:a,entityType:t,entityId:n,searchId:o}={}
2,getUserLoader:i,getSavedListingsLoader:l,getSavedSearchesLoader:c,saveListingLoader:r,unsubscribeListingNotificationsLoader:d,unsubscribeSearchesNotificationsLoader:h})=>{const m=_(),g=C(),{oktaAuth:y}=K();g(xe(!1));let f="redirecting...";i&&(f="loading user profile..."),l&&(f="loading saved items..."),c&&(f="loading saved items..."),r&&(f="saving listing..."),(d||h)&&(f="unsubscribing from notifications...");const u=b=>{let v=y.getOriginalUri();if(s===F.EXECUTE_SAVED_SEARCH){const{value:N=[]}=b.find(({action:S})=>S.type===`${rn}_FULFILLED`)||{};if(N&&N.length>0){const S=N.find(T=>T.id===o);if(v=Le,S){const{query:T,url:w}=S;v=A+w,v+=T.startsWith("?")?T:`?${T}`,g(Se(kt(T)))}}}g(oe({})),m(v)},p=async({tokens:b})=>{const{accessToken:{accessToken:v}}=b;return y.tokenManager.setTokens(b),g(tn(Yt(v))),s===F.SAVE_LISTING&&await g(pt(a)).then(()=>{g(oe({}))}).catch(()=>{console.error("Error saving listing")}),s===F.SAVE_PREFERRED_ENTITY&&await g((t==="AGENT"?ut:mt)({id:n,type:t})).then(()=>{g(oe({}))}).catch(()=>{console.error("Error saving listing")}),s===F.UNSUBSCRIBE_LISTING_NOTIFICATIONS&&await g(an()).catch(()=>{console.error("Error unsubscribing from saved homes")}),s===F.UNSUBSCRIBE_SEARCHES_NOTIFICATIONS&&await g(nn()).catch(()=>{console.error("Error unsubscribing from saved searches")}),Promise.all([g(on()),g($e()),g(ue())]).then(u)},x=b=>{throw g(oe({})),m(y.getOriginalUri()),new Error("Error authenticating: "+b)};return j.useEffect(()=>{y==null||y.token.parseFromUrl().then(p).catch(x)},[]),e.jsx("div",{className:"any-login-redirect",children:e.jsx(Z,{isLoading:!0,children:f})})},Hr=s=>{const{User:{Auth:{postLoginAction:a,getUserLoader:t},SavedHomes:{getSavedListingsLoader:n,saveListingLoader:o},SavedSearches:{getSavedSearchesLoader:i},AccountSettings:{unsubscribeListingNotificationsLoader:l,unsubscribeSearchesNotificationsLoader:c}}}=s;return{postLoginAction:a,getUserLoader:t,getSavedListingsLoader:n,getSavedSearchesLoader:i,saveListingLoader:o,unsubscribeListingNotificationsLoader:l,unsubscribeSearchesNotificationsLoader:c}},Gr=L(Hr),Yr=Gr(Fr),Vr=()=>{const s=C(),[a]=Xe(),{oktaAuth:t}=K();return j.useEffect(()=>{const o=a.get("action"),i=a.get("searchId"),l={};let c=Le;switch(o&&(l.type=o),o){case F.NAVIGATE_SAVED_LISTINGS:c=Ie;break;case F.NAVIGATE_SAVED_SEARCHES:c=he;break;case F.EXECUTE_SAVED_SEARCH:i&&(l.searchId=i),c=A;break;case F.UNSUBSCRIBE_LISTING_NOTIFICATIONS:case F.UNSUBSCRIBE_SEARCHES_NOTIFICATIONS:c=Ye+"#unsubscribe-message";break;case F.NAVIGATE_ACCOUNT_SETTINGS:c=Ye;break}s(oe(l)),t.setOriginalUri(c),t.signInWithRedirect()},[]),e.jsx("div",{className:"any-login-landing",children:e.jsx(Z,{isLoading:!0,children:"redirecting..."})})},Yt=s=>{const a=s.split(".")[1];return JSON.parse(atob(a)).userid||""},$l=Object.freeze(Object.defineProperty({__proto__:null,AccountSettings:Eo,AuthProvider:Dr,LoginLanding:Vr,LoginRedirect:Yr,SavedHomes:Sr,SavedSearches:Pr,UserLayout:Ht,getAuthConfig:Ds,getUserIdFromToken:Yt,oktaAuth:B,useOktaAuth:K},Symbol.toStringTag,{value:"Module"}));export{fl as $,Bs as A,Sn as B,Yi as C,pl as D,Ut as E,Rs as F,gl as G,il as H,Ms as I,vl as J,Cl as K,bl as L,Vi as M,Ps as N,Tl as O,El as P,Dr as Q,K as R,Un as S,Rn as T,al as U,gn as V,jl as W,Sl as X,_s as Y,Nl as Z,It as _,Al as a,fe as a0,ke as a1,kl as a2,$l as a3,Hn as b,Fn as c,Dn as d,Bn as e,Mn as f,yl as g,us as h,ws as i,hs as j,ml as k,xl as l,Nn as m,ds as n,B as o,ul as p,hl as q,dl as r,qs as s,Vs as t,cl as u,ll as v,nl as w,rl as x,ol as y,Ll as z};

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.