PageSourceSearch

https://www.exprealty.ca/_next/static/chunks/0~7zpd6w_mogc.js

js exprealty.ca collected 2026-09-29 06:08:25 UTC 50,347 bytes, 3 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,987457,e=>{e.v({active:"style-module-scss-module__NDE4qG__active","content-card":"style-module-scss-module__NDE4qG__content-card","data-disclaimer":"style-module-scss-module__NDE4qG__data-disclaimer","heading-chevron":"style-module-scss-module__NDE4qG__heading-chevron","heading-dropdown-layer":"style-module-scss-module__NDE4qG__heading-dropdown-layer","heading-location":"style-module-scss-module__NDE4qG__heading-location","heading-text":"style-module-scss-module__NDE4qG__heading-text","local-focus-page":"style-module-scss-module__NDE4qG__local-focus-page","no-location-content":"style-module-scss-module__NDE4qG__no-location-content","no-location-heading":"style-module-scss-module__NDE4qG__no-location-heading","no-location-subtext":"style-module-scss-module__NDE4qG__no-location-subtext","page-content":"style-module-scss-module__NDE4qG__page-content",pill:"style-module-scss-module__NDE4qG__pill","pill-row":"style-module-scss-module__NDE4qG__pill-row","pill-sm":"style-module-scss-module__NDE4qG__pill-sm","reveal-left":"style-module-scss-module__NDE4qG__reveal-left","reveal-right":"style-module-scss-module__NDE4qG__reveal-right","reveal-scale":"style-module-scss-module__NDE4qG__reveal-scale","reveal-up":"style-module-scss-module__NDE4qG__reveal-up",revealed:"style-module-scss-module__NDE4qG__revealed",section:"style-module-scss-module__NDE4qG__section","section-heading":"style-module-scss-module__NDE4qG__section-heading","stagger-container":"style-module-scss-module__NDE4qG__stagger-container","stagger-revealed":"style-module-scss-module__NDE4qG__stagger-revealed"})},745602,e=>{"use strict";var t=e.i(391398),s=e.i(191788),a=e.i(99969),l=e.i(987457);let i={up:"reveal-up",left:"reveal-left",right:"reveal-right",scale:"reveal-scale"};e.s(["AnimatedCounter",0,function({end:e,duration:a=1600,delay:l=0,prefix:i="",suffix:r="",decimals:n=0,className:o}){let d=(0,s.useRef)(null),[u,c]=(0,s.useState)(`${i}0${r}`),h=(0,s.useRef)(!1),m=(0,s.useCallback)(()=>{let t,s=performance.now()+l;return t=requestAnimationFrame(function l(o){let d=o-s;if(d<0){t=requestAnimationFrame(l);return}let u=Math.min(d/a,1),h=(1-Math.pow(1-u,3))*e,m=n>0?h.toFixed(n):Math.round(h).toLocaleString();c(`${i}${m}${r}`),u<1&&(t=requestAnimationFrame(l))}),()=>cancelAnimationFrame(t)},[e,a,l,i,r,n]),_=(0,s.useRef)(e);return(0,s.useEffect)(()=>{_.current!==e&&(_.current=e,h.current=!1)},[e]),(0,s.useEffect)(()=>{let e=d.current;if(!e||h.current)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&!h.current&&(h.current=!0,m(),t.disconnect())},{threshold:.3});return t.observe(e),()=>t.disconnect()},[m]),(0,t.jsx)("span",{ref:d,className:o,children:u})},"ProgressFill",0,function({percentage:e,className:l,activeClassName:i}){let r=(0,s.useRef)(null),[n,o]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=r.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(o(!0),t.disconnect())},{threshold:.1});return t.observe(e),()=>t.disconnect()},[]),(0,t.jsx)("div",{ref:r,className:(0,a.buildClassName)(l,i),style:{width:n?`${e}%`:"0%"}})},"StaggerReveal",0,function({children:e,staggerDelay:i=.06,className:r}){let n=(0,s.useRef)(null),[o,d]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=n.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(d(!0),t.disconnect())},{threshold:.05,rootMargin:"0px 0px -40px 0px"});return t.observe(e),()=>t.disconnect()},[]),(0,t.jsx)("div",{ref:n,className:(0,a.buildClassName)(l.default["stagger-container"],o&&l.default["stagger-revealed"],r),children:s.default.Children.map(e,(e,t)=>s.default.isValidElement(e)?s.default.cloneElement(e,{style:{...e.props.style||{},transitionDelay:`${t*i}s`}}):e)})},"default",0,function({children:e,variant:t="up",delay:r=0,className:n,as:o="div"}){let d=(0,s.useRef)(null),[u,c]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=d.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(c(!0),t.disconnect())},{threshold:.1,rootMargin:"0px 0px -60px 0px"});return t.observe(e),()=>t.disconnect()},[]),s.default.createElement(o,{ref:d,className:(0,a.buildClassName)(l.default[i[t]],u&&l.default.revealed,n),style:r?{transitionDelay:`${r}s`}:void 0},e)}])},623328,e=>{e.v({bone:"skeleton-module-scss-module__Pel-Ya__bone","bone-image":"skeleton-module-scss-module__Pel-Ya__bone-image skeleton-module-scss-module__Pel-Ya__bone","bone-rou
1nd":"skeleton-module-scss-module__Pel-Ya__bone-round skeleton-module-scss-module__Pel-Ya__bone","skeleton-shimmer":"skeleton-module-scss-module__Pel-Ya__skeleton-shimmer"})},826972,e=>{"use strict";e.s(["formatRatio",0,function(e){return`${(e>2?e:100*e).toFixed(1)}%`}])},161281,e=>{e.v({"bar-chart":"style-module-scss-module__PxlCxq__bar-chart","bar-fill":"style-module-scss-module__PxlCxq__bar-fill","bar-fill-active":"style-module-scss-module__PxlCxq__bar-fill-active","bar-header":"style-module-scss-module__PxlCxq__bar-header","bar-item":"style-module-scss-module__PxlCxq__bar-item","bar-label":"style-module-scss-module__PxlCxq__bar-label","bar-label-active":"style-module-scss-module__PxlCxq__bar-label-active","bar-percentage":"style-module-scss-module__PxlCxq__bar-percentage","bar-percentage-active":"style-module-scss-module__PxlCxq__bar-percentage-active","bar-track":"style-module-scss-module__PxlCxq__bar-track",card:"style-module-scss-module__PxlCxq__card","card-label":"style-module-scss-module__PxlCxq__card-label","cards-row":"style-module-scss-module__PxlCxq__cards-row","change-down":"style-module-scss-module__PxlCxq__change-down","change-up":"style-module-scss-module__PxlCxq__change-up","distribution-card":"style-module-scss-module__PxlCxq__distribution-card","heading-dropdown-layer":"style-module-scss-module__PxlCxq__heading-dropdown-layer","health-card":"style-module-scss-module__PxlCxq__health-card","health-content":"style-module-scss-module__PxlCxq__health-content","health-metric":"style-module-scss-module__PxlCxq__health-metric","health-metric-label":"style-module-scss-module__PxlCxq__health-metric-label","health-metric-unit":"style-module-scss-module__PxlCxq__health-metric-unit","health-metric-value":"style-module-scss-module__PxlCxq__health-metric-value","highlight-badge":"style-module-scss-module__PxlCxq__highlight-badge","highlight-label":"style-module-scss-module__PxlCxq__highlight-label",legend:"style-module-scss-module__PxlCxq__legend","legend-item":"style-module-scss-module__PxlCxq__legend-item","legend-label":"style-module-scss-module__PxlCxq__legend-label","legend-swatch":"style-module-scss-module__PxlCxq__legend-swatch","market-dynamics":"style-module-scss-module__PxlCxq__market-dynamics","pie-center-bg":"style-module-scss-module__PxlCxq__pie-center-bg","pie-center-label":"style-module-scss-module__PxlCxq__pie-center-label","pie-center-pct":"style-module-scss-module__PxlCxq__pie-center-pct","pie-section":"style-module-scss-module__PxlCxq__pie-section","pie-slice":"style-module-scss-module__PxlCxq__pie-slice","pie-svg":"style-module-scss-module__PxlCxq__pie-svg","section-description":"style-module-scss-module__PxlCxq__section-description","trend-card":"style-module-scss-module__PxlCxq__trend-card","trend-change":"style-module-scss-module__PxlCxq__trend-change","trend-content":"style-module-scss-module__PxlCxq__trend-content","trend-dates":"style-module-scss-module__PxlCxq__trend-dates","trend-header":"style-module-scss-module__PxlCxq__trend-header","trend-svg":"style-module-scss-module__PxlCxq__trend-svg","trend-value":"style-module-scss-module__PxlCxq__trend-value","volume-card":"style-module-scss-module__PxlCxq__volume-card","volume-disclaimer":"style-module-scss-module__PxlCxq__volume-disclaimer","volume-header":"style-module-scss-module__PxlCxq__volume-header","volume-highlight":"style-module-scss-module__PxlCxq__volume-highlight","volume-info":"style-module-scss-module__PxlCxq__volume-info","volume-suffix":"style-module-scss-module__PxlCxq__volume-suffix","volume-value":"style-module-scss-module__PxlCxq__volume-value","volume-value-row":"style-module-scss-module__PxlCxq__volume-value-row"})},239271,e=>{"use strict";var t=e.i(391398),s=e.i(191788);e.i(664157);var a=e.i(271179),l=e.i(585594),i=e.i(99969),r=e.i(826972),n=e.i(918345),o=e.i(745602),d=e.i(161281),u=e.i(987457),c=e.i(623328);function h(e){let[t,s]=e.split("-");return`${["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][parseInt(s)-1]} '${t.slice(-2)}`}let m={House:l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_PROPERTY_TYPE_HOUSE,"Condo Apt":l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_PROPERTY_TYPE_CONDO_APT,Townhouse:l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_PROPERTY_TYPE_TOWNHOUSE,"Semi-Detached":l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_PROPERTY_TYPE_SEMI_DETACHED,Other:l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_PROPERTY_TYPE_OTHER};function _({segments:e}){let{t:i}=(0,a.useTranslation)(l.Namespaces.HOME),r=(0,s.useMemo)(()=>e.reduce((e,t)=>
1e+t.count,0),[e]),[n,o]=(0,s.useState)(null),u=(0,s.useMemo)(()=>{if(0===r)return[];let t=[],s=0;return e.forEach(e=>{let a=e.count/r,l=2*s*Math.PI-Math.PI/2,i=2*(s+=a)*Math.PI-Math.PI/2,n=120+100*Math.cos(l),o=120+100*Math.sin(l),d=120+100*Math.cos(i),u=120+100*Math.sin(i),c=`M 120 120 L ${n.toFixed(2)} ${o.toFixed(2)} A 100 100 0 ${+(a>.5)} 1 ${d.toFixed(2)} ${u.toFixed(2)} Z`;t.push({d:c,color:e.color,label:e.label,percentage:Math.round(100*a)})}),t},[e,r]);if(0===r)return(0,t.jsxs)("svg",{viewBox:"0 0 240 240",className:d.default["pie-svg"],children:[(0,t.jsx)("circle",{cx:120,cy:120,r:100,fill:"#f1f5f9"}),(0,t.jsx)("text",{x:120,y:125,textAnchor:"middle",fill:"#94a3b8",fontSize:14,children:i(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_NO_DATA,{defaultValue:"No data"})})]});let c=null!==n?u[n]:null;return(0,t.jsxs)("svg",{viewBox:"0 0 240 240",className:d.default["pie-svg"],children:[u.map((e,s)=>(0,t.jsx)("path",{d:e.d,fill:e.color,stroke:"white",strokeWidth:2,className:d.default["pie-slice"],opacity:null!==n&&n!==s?.45:1,onMouseEnter:()=>o(s),onMouseLeave:()=>o(null)},e.label)),c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:120,cy:120,r:42,fill:"white",fillOpacity:.92,className:d.default["pie-center-bg"]}),(0,t.jsxs)("text",{x:120,y:114,textAnchor:"middle",className:d.default["pie-center-pct"],children:[c.percentage,"%"]}),(0,t.jsx)("text",{x:120,y:134,textAnchor:"middle",className:d.default["pie-center-label"],children:c.label})]})]})}function g({data:e}){let{points:a,areaPoints:l,lastPrice:r,change:n,isUp:o}=(0,s.useMemo)(()=>{let t=e.map(e=>e.price),s=Math.min(...t),a=Math.max(...t)-s||1,l=e.map((t,l)=>{let i=4+l/(e.length-1)*272,r=96-(t.price-s)/a*92;return`${i.toFixed(1)},${r.toFixed(1)}`}),i=e[0].price,r=e[e.length-1].price,n=(r-i)/i*100;return{points:l.join(" "),areaPoints:`4,96 ${l.join(" ")} 276,96`,lastPrice:r,change:n,isUp:n>=0}},[e]);return(0,t.jsxs)("div",{className:d.default["trend-content"],children:[(0,t.jsxs)("div",{className:d.default["trend-header"],children:[(0,t.jsxs)("span",{className:d.default["trend-value"],children:["$",r.toLocaleString()]}),(0,t.jsxs)("span",{className:(0,i.buildClassName)(d.default["trend-change"],o?d.default["change-up"]:d.default["change-down"]),children:[o?"↗":"↘"," ",Math.abs(n).toFixed(1),"%"]})]}),(0,t.jsxs)("svg",{viewBox:"0 0 280 100",className:d.default["trend-svg"],preserveAspectRatio:"none",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"trendFill",x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:o?"#10b981":"#ef4444",stopOpacity:"0.18"}),(0,t.jsx)("stop",{offset:"100%",stopColor:o?"#10b981":"#ef4444",stopOpacity:"0"})]})}),(0,t.jsx)("polygon",{points:l,fill:"url(#trendFill)"}),(0,t.jsx)("polyline",{points:a,fill:"none",stroke:o?"#10b981":"#ef4444",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),(0,t.jsxs)("div",{className:d.default["trend-dates"],children:[(0,t.jsx)("span",{children:h(e[0].date)}),(0,t.jsx)("span",{children:h(e[e.length-1].date)})]})]})}function p({data:e}){let{t:s}=(0,a.useTranslation)(l.Namespaces.HOME);return(0,t.jsxs)("div",{className:d.default["health-content"],children:[(0,t.jsxs)("div",{className:d.default["health-metric"],children:[(0,t.jsxs)("div",{className:d.default["health-metric-value"],children:[(0,t.jsx)(o.AnimatedCounter,{end:e.daysOnMarket,duration:1e3}),(0,t.jsx)("span",{className:d.default["health-metric-unit"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_DAYS_UNIT,{defaultValue:" days"})})]}),(0,t.jsx)("div",{className:d.default["health-metric-label"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_AVG_DAYS_ON_MARKET,{defaultValue:"Avg. Days on Market"})})]}),(0,t.jsxs)("div",{className:d.default["health-metric"],children:[(0,t.jsx)("div",{className:d.default["health-metric-value"],children:(0,r.formatRatio)(e.sellListRatio)}),(0,t.jsx)("div",{className:d.default["health-metric-label"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_SELL_TO_LIST_RATIO,{defaultValue:"Sell-to-List Ratio"})})]}),e.avgPricePerSqft>0&&(0,t.jsxs)("div",{className:d.default["health-metric"],children:[(0,t.jsxs)("div",{className:d.default["health-metric-value"],children:[(0,t.jsx)(o.AnimatedCounter,{end:e.avgPricePerSqft,duration:1e3,prefix:"$"}),(0,t.jsx)("span",{className:d.default["health-metric-unit"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_SQFT_UNIT,{defaultValue:"/sqft"})})]}),(0,t.jsx)("div",{className:d.default["health-metric-label"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_AVG_PRICE_PER_SQFT,{defaultValue:"Avg. Price per Sq.Ft"})})]}),e.medianRentPrice>0&&(0,t.jsxs)("div",{className:d.default["health-metric"],children:[(0,t.jsxs)("div",{className:d.default["health-metric-value"],children:[(0,t.jsx)(o.AnimatedCounter,{end:e.medianRentPrice,duration:1e3,prefix:"$"}),(0,t.jsx)("span",{className:d.default["health-metric-unit"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MONTH_UNIT,{defaultValue:"/mo"})})]}),(0,t.jsx)("div",{className:d.default["health-metric-label"],children:s(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MEDIAN_RENT,{defaultValue:"Median Rent"})})]})]})}e.s(["DEFAULT_PROPERTY_TYPES",0,[{label:"House",count:420,color:"#6ee7b7"},{label:"Condo Apt",count:580,color:"#67b8f0"},{label:"Townhouse",count:260,color:"#1b489b"},{label:"Semi-Detached",count:120,color:"#f97066"},{label:"Other",count:102,color:"#c4b5fd"}],"DEFAULT_VOLUME",0,{totalListings:1482,mostActiveRange:"$1M - $1.5M",priceRanges:[{label:"$500k - $1M",percentage:18,isActive:!1},{label:"$1M - $1.5M",percentage:42,isActive:!0},{label:"$1.5M - $2.5M",percentage:25,isActive:!1},{label:"$2.5M - $5M",percentage:10,isActive:!1},{label:"$5M+",percentage:5,isActive:!1}]},"default",0,function({locationName:e,propertyTypes:r,volume:h,isLoading:A,priceTrends:S,marketHealth:f,locationUrl:y,description:T}){let{t:b}=(0,a.useTranslation)(l.Namespaces.HOME),v=(0,s.useMemo)(()=>r.map(e=>{var t;let s;return{...e,label:(t=e.label,(s=m[t])?b(s,{defaultValue:t}):t)}}),[r,b]);return(0,t.jsxs)("div",{className:d.default["market-dynamics"],children:[(0,t.jsxs)(o.default,{className:d.default["heading-dropdown-layer"],children:[(0,t.jsxs)("div",{className:u.default["section-heading"],children:[(0,t.jsx)("span",{className:u.default["heading-text"],children:e?b(l.LO
1CALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_HEADING_IN,{defaultValue:"Market Dynamics in "}):b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_HEADING,{defaultValue:"Market Dynamics "})}),e&&y&&(0,t.jsx)(n.default,{href:y,className:u.default["heading-location"],children:e})]}),T&&(0,t.jsx)("p",{className:d.default["section-description"],children:T})]}),A?(0,t.jsx)("div",{className:d.default["cards-row"],children:Array.from({length:3}).map((e,s)=>(0,t.jsxs)("div",{className:d.default.card,children:[(0,t.jsx)("div",{className:c.default.bone,style:{width:"60%",height:14,marginBottom:16}}),(0,t.jsx)("div",{className:c.default.bone,style:{width:"100%",height:160,borderRadius:16}}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:16},children:[(0,t.jsx)("div",{className:c.default.bone,style:{width:"80%",height:12}}),(0,t.jsx)("div",{className:c.default.bone,style:{width:"55%",height:12}}),(0,t.jsx)("div",{className:c.default.bone,style:{width:"70%",height:12}})]})]},s))}):(0,t.jsxs)(o.StaggerReveal,{staggerDelay:.08,className:d.default["cards-row"],children:[v.length>0&&(0,t.jsxs)("div",{className:(0,i.buildClassName)(d.default.card,d.default["distribution-card"]),children:[(0,t.jsx)("div",{className:d.default["card-label"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_PROPERTY_TYPE_DISTRIBUTION,{defaultValue:"Property Type Distribution"})}),(0,t.jsx)("div",{className:d.default["pie-section"],children:(0,t.jsx)(_,{segments:v})}),(0,t.jsx)("div",{className:d.default.legend,children:v.map(e=>(0,t.jsxs)("div",{className:d.default["legend-item"],children:[(0,t.jsx)("span",{className:d.default["legend-swatch"],style:{background:e.color}}),(0,t.jsx)("span",{className:d.default["legend-label"],children:e.label})]},e.label))})]}),h&&(0,t.jsxs)("div",{className:(0,i.buildClassName)(d.default.card,d.default["volume-card"]),children:[(0,t.jsxs)("div",{className:d.default["volume-header"],children:[(0,t.jsxs)("div",{className:d.default["volume-info"],children:[(0,t.jsx)("div",{className:d.default["card-label"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MARKET_VOLUME,{defaultValue:"Market Volume"})}),(0,t.jsxs)("div",{className:d.default["volume-value-row"],children:[(0,t.jsx)(o.AnimatedCounter,{end:h.totalListings,duration:1600,className:d.default["volume-value"]}),(0,t.jsx)("span",{className:d.default["volume-suffix"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_TOTAL_LISTINGS,{defaultValue:"Total Listings*"})})]})]}),(0,t.jsxs)("div",{className:d.default["volume-highlight"],children:[(0,t.jsx)("span",{className:d.default["highlight-label"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MOST_ACTIVE,{defaultValue:"Most Active"})}),(0,t.jsx)("span",{className:d.default["highlight-badge"],children:h.mostActiveRange})]})]}),(0,t.jsx)("div",{className:d.default["bar-chart"],children:h.priceRanges.map(e=>(0,t.jsxs)("div",{className:d.default["bar-item"],children:[(0,t.jsxs)("div",{className:d.default["bar-header"],children:[(0,t.jsx)("span",{className:e.isActive?d.default["bar-label-active"]:d.default["bar-label"],children:e.label}),(0,t.jsxs)("span",{className:e.isActive?d.default["bar-percentage-active"]:d.default["bar-percentage"],children:[e.percentage,"%",e.isActive&&b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MOST_ACTIVE_INLINE,{defaultValue:" (Most Active)"})]})]}),(0,t.jsx)("div",{className:d.default["bar-track"],children:(0,t.jsx)(o.ProgressFill,{percentage:e.percentage,className:e.isActive?d.default["bar-fill-active"]:d.default["bar-fill"]})})]},e.label))}),(0,t.jsx)("p",{className:d.default["volume-disclaimer"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_VOLUME_DISCLAIMER,{defaultValue:"*Market volume data is taken from the total number of houses, townhouses, and condos on eXp Realty. This does not include other listings such as land, farm, or commercial."})})]}),S&&S.length>2&&(0,t.jsxs)("div",{className:(0,i.buildClassName)(d.default.card,d.default["trend-card"]),children:[(0,t.jsx)("div",{className:d.default["card-label"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MEDIAN_PRICE_TREND,{defaultValue:"Median Price Trend"})}),(0,t.jsx)(g,{data:S}
1)]}),f&&f.daysOnMarket>0&&(0,t.jsxs)("div",{className:(0,i.buildClassName)(d.default.card,d.default["health-card"]),children:[(0,t.jsx)("div",{className:d.default["card-label"],children:b(l.LOCALE_HOME_PATHS.LOCAL_FOCUS_MARKET_DYNAMICS_MARKET_HEALTH,{defaultValue:"Market Health"})}),(0,t.jsx)(p,{data:f})]})]})]})}])},690816,e=>{"use strict";e.s(["pipe",0,function(e,...t){return t.reduce((e,t)=>t(e),e)}])},85900,e=>{"use strict";var t=e.i(690816);e.i(860480);var s=e.i(28082),a=e.i(239271);function l(e){return e.replace(/(^|[\s-])\p{L}/gu,e=>e.toUpperCase())}let i=[{label:"Under $500k",min:0,max:5e5},{label:"$500k - $1M",min:5e5,max:1e6},{label:"$1M - $1.5M",min:1e6,max:15e5},{label:"$1.5M - $2.5M",min:15e5,max:25e5},{label:"$2.5M - $5M",min:25e5,max:5e6},{label:"$5M+",min:5e6,max:1/0}];e.s(["deriveAreaCards",0,function(e,s){let a=e.topNeighbourhoods||[];return 0===a.length?[]:a.slice(0,5).map((a,i)=>{let r,n=(r=a.name,(0,t.pipe)(r,e=>e.toLowerCase(),e=>e.replace(/[^a-z0-9]+/g,"-"),e=>e.replace(/(^-|-$)/g,""))),o=0===i,d=s?`${n}-${s}`:n;return{name:l(a.name),slug:d,listingCount:a.count,isFeatured:o,description:o?`${a.count.toLocaleString()} active listings — the most active neighbourhood in the area.`:`${a.count.toLocaleString()} active listings`,medianPrice:o&&e.MedianPurchasePrice?e.MedianPurchasePrice:void 0}})},"deriveDisplayUrls",0,function({currentSlug:e,hasAreaPage:t,insightsSlug:s,currentLatitude:a,currentLongitude:l,currentAreaName:i,homesForSaleUrl:r,displayLocationName:n,insightsLocationName:o}){return{currentHomesForSaleUrl:(()=>{if(e&&t)return`/${e}-real-estate`;if(s)return`/${s}-real-estate`;if(e&&a&&l){let e=encodeURIComponent(i);return`/search?latitude=${a}&longitude=${l}&zoom=12&area-name=${e}`}return r||""})(),listingsDisplayName:o||n,insightsHomesForSaleUrl:s?`/${s}-real-estate`:r||""}},"derivePropertyTypes",0,function(e){let t=[];return e.TotalHouses>0&&t.push({label:"House",count:e.TotalHouses,color:"#6ee7b7"}),e.TotalCondos>0&&t.push({label:"Condo Apt",count:e.TotalCondos,color:"#67b8f0"}),e.TotalTownhouses>0&&t.push({label:"Townhouse",count:e.TotalTownhouses,color:"#1b489b"}),t.sort((e,t)=>t.count-e.count),t},"deriveVolume",0,function(e){let t=e.TotalHouses||0,s=e.TotalTownhouses||0,l=e.TotalCondos||0,r=t+s+l;if(0===r)return a.DEFAULT_VOLUME;let n=Array(i.length).fill(0);for(let a of[{count:l,avgPrice:e.AvgCondoPrice||0},{count:s,avgPrice:e.AvgTownhousePrice||0},{count:t,avgPrice:e.AvgHousePrice||0}])if(a.count>0&&a.avgPrice>0){let e=function(e){return i.findIndex(t=>e>=t.min&&e<t.max)}(a.avgPrice);e>=0&&(n[e]+=a.count)}let o=i.map((e,t)=>({label:e.label,count:n[t]})).filter(e=>e.count>0);if(0===o.length)return a.DEFAULT_VOLUME;let d=o.reduce((e,t)=>e.count>t.count?e:t,o[0]);return{totalListings:r,mostActiveRange:d.label,priceRanges:o.map(e=>({label:e.label,percentage:Math.round(e.count/r*100),isActive:e===d}))}},"formatCityProvinceName",0,function(e,t){let s=l(e);return t?`${s}, ${t.toUpperCase()}`:s},"isCitySlug",0,function(e){if(!e||e.length<=3)return!1;let t=e.slice(-2).toLowerCase();return"-"===e.charAt(e.length-3)&&!!(0,s.provinceOrStateNameFromCode)(t)},"parseCityAndProvince",0,function(e,t){let s=e.split(", ");if(1===s.length)return{city:e,province:t.slice(-2).toLowerCase()};let a=s[s.length-2],l=s[s.length-1];return{city:a.trim(),province:l.trim().toLowerCase()}},"titleCase",0,l,"topCitiesToAreaCards",0,function(e,t){return e?.length?e.map((e,s)=>{let a=0===s;return{name:l(e.Name),slug:e.Slug,listingCount:e.TotalCount,isFeatured:a,description:a&&t?`${e.TotalCount.toLocaleString()} active listings — the most active area in ${t}.`:`${e.TotalCount.toLocaleString()} active listings`}}):[]}])},936836,742322,e=>{"use strict";var t=e.i(793304),s=e.i(887425),a=e.i(483361);e.i(823400);var l=e.i(25366),i=e.i(700680),r=e.i(609881);async function n(e,o,d,u,c,h,m,_=a.AREA_PAGE_CONSTANTS.DEFAULT_PAGE_SIZE,g=(0,r.getGoSearchHost)((0,r.isServerSide)()),p){let A,S=e?.length>0?`/${e}`:"/all",f=o?.length>0?`/${o}`:"",y=d?.length>0?`/${d}`:"",T=u?.length>0?`/${u}`:"",b=Math.max(_,0),v=b*(Math.max(m,1)-1),x=`${g}/api/search${S}${f}${y}${T}?limit=${b}&offset=${v}&tenant=${p}`;try{let e=t.AreaPageListingRequest.fromPartial({sortBy:c,filter:h}),a=t.AreaPageListingRequest.encode(e).finish(),r=await (0,i.fetchWithRetry)(x,{method:l.HttpRequestMethodTypes.POST,body:new Uint8Array(a),headers:{[s.ZOOCASA_TENANT_HEADER_NAME]:p}}),n=await r.blob(),o=await n.arrayBuffer();A=t.AreaPageListingResponse.decode(new Uint8Array(o))}catch(e){console.error("Failed to fetch area page listings: %s",e),A=t.AreaPageListingResponse.fromPartial({})}return"QC"===o&&h.statusId!==t.AreaPageListing_Status.Available&&A.data?.forEach(e
1=>{e.statusId===t.AreaPageListing_Status.NotAvailableSold&&(e.price=0,e.SoldPrice=0)}),A}e.i(362891);var o=e.i(440245);function d(e){let s,a,l,i,r;e.status===o.NOT_AVAILABLE_SOLD_STATUS?s=t.AreaPageListing_Status.NotAvailableSold:e.status===o.NOT_AVAILABLE_STATUS?s=t.AreaPageListing_Status.NotAvailable:e.status===o.NOT_AVAILABLE_OTHER_STATUS?s=t.AreaPageListing_Status.NotAvailableOther:e.status===o.PENDING_STATUS?a=t.StandardStatus.STANDARD_STATUS_PENDING:s=t.AreaPageListing_Status.Available,(e.priceMax||e.priceMin)&&(l=t.Range_Float.fromPartial({gte:e.priceMin||void 0,lte:e.priceMax||void 0})),(e.listedSince||e.listedTo)&&(i=t.Range_Date.fromPartial({gte:e.listedSince?new Date(e.listedSince):void 0,lte:e.listedTo?new Date(e.listedTo):void 0})),(e.sqftMin||e.sqftMax)&&(r=t.Range_Float.fromPartial({gte:e.sqftMin||void 0,lte:e.sqftMax||void 0}));let n=t.Filter.fromPartial({listingType:e.rental?t.AreaPageListing_ListingType.rent:t.AreaPageListing_ListingType.buy,statusId:s,price:l,standardStatus:a,squareFeet:r,hasGarage:e.garage||!1,hasPool:e.pool||!1,hasOpenHouse:e.openHouse||!1,hasWaterFront:e.waterfront||!1,hasFirePlace:e.fireplace||!1,hasLocker:e?.additional?.condoOrTownhouse?.locker==="yes",maintenance:e?.additional?.condoOrTownhouse?.maintenanceFee,listedDate:i,bedroomsExact:void 0,bedroomsRange:void 0,bathroomsExact:void 0,bathroomsRange:void 0,parkingExact:void 0,parkingRange:void 0,hasImage:e.hasImage,excludeComingSoon:!e.showComingSoon,boundaryTopLeft:e?.boundaryTopLeft,boundaryBottomRight:e?.boundaryBottomRight,smartTagNames:e.smartTagNames?.filter(e=>!!e)??[]});return e?.bedrooms?.endsWith("+")?n.bedroomsRange=t.Range_Integer.fromPartial({gte:Number(e.bedrooms.replace("+",""))}):e?.bedrooms?n.bedroomsExact=Number(e.bedrooms):n.bedroomsRange=t.Range_Integer.fromPartial({gte:0}),e?.bathrooms?.endsWith("+")?n.bathroomsRange=t.Range_Integer.fromPartial({gte:Number(e.bathrooms.replace("+",""))}):e?.bathrooms?n.bathroomsExact=Number(e.bathrooms):n.bathroomsRange=t.Range_Integer.fromPartial({gte:0}),e?.parkingSpaces?.endsWith("+")?n.parkingRange=t.Range_Integer.fromPartial({gte:Number(e.parkingSpaces.replace("+",""))}):e?.parkingSpaces?n.parkingExact=Number(e.parkingSpaces):n.parkingRange=t.Range_Integer.fromPartial({gte:0}),e?.providerId&&!isNaN(parseInt(e.providerId))&&(n.providerId=parseInt(e.providerId,10)),n.hasImage=e.hasImage??o.DEFAULT_HAS_IMAGE_VALUE,n}let u=e=>{let s=d(e),a=Object.entries(e?.homeType||{}).reduce((e,[t,s])=>{if(s){let s="house"===t?"House":"townhouse"===t?"Townhouse":"condo"===t?"Condo":"farm"===t?"Farm":"land"===t?"Land":"commercial"===t?"Commercial":"houseDetached"===t||"houseSemidetached"===t||"houseAttached"===t?"House":"Other";e.push(s)}return e},[]);(0===a.length||["House","Townhouse","Condo","Farm","Land","Commercial"].every(e=>a.includes(e)))&&a.push("Other");let l=a.reduce((s,a)=>{let l=e.rental?t.PropertyCategories[a].rent:t.PropertyCategories[a].sale;return s.push(...l.map(e=>({propertyTypes:e.types,propertySubTypes:e.subTypes}))),s},[]);return{...s,typeOfProperty:l}},c=e=>{let s=d(e),a=[];return e?.homeType?.condo&&a.push(t.Style.condo_highrise,t.Style.condo_lowrise,t.Style.condo_new_development,t.Style.condo_other),e?.homeType?.townhouse&&a.push(t.Style.townhouse),e?.homeType?.house&&a.push(t.Style.house_attached,t.Style.house_detached,t.Style.house_semidetached,t.Style.house_new_development,t.Style.house_other,t.Style.multifamily_other),e?.homeType?.condo||e?.homeType?.townhouse||e?.homeType?.house||a.push(t.Style.vacant_land,t.Style.other_unspecified),e?.homeType?.house&&e?.homeType?.farm&&e?.homeType?.land&&e?.homeType?.condo&&e?.homeType?.townhouse&&e?.homeType?.commercial&&a.push(t.Style.All),{...s,styles:a}};var h=e.i(343668);function m(e,s){let a,l,i,r;a=s.status===o.NOT_AVAILABLE_SOLD_STATUS?t.StandardStatus.STANDARD_STATUS_CLOSED:s.status===o.NOT_AVAILABLE_STATUS?t.StandardStatus.STANDARD_STATUS_EXPIRED:s.status===o.NOT_AVAILABLE_OTHER_STATUS?t.StandardStatus.STANDARD_STATUS_CANCELED:s.status===o.PENDING_STATUS?t.StandardStatus.STANDARD_STATUS_PENDING:t.StandardStatus.STANDARD_STATUS_ACTIVE,
1(s.priceMax||s.priceMin)&&(l=t.Range_Float.fromPartial({gte:s.priceMin||void 0,lte:s.priceMax||void 0}));let n=new Date(new Date().setFullYear(new Date().getFullYear()-3)).toISOString(),d=t.Range_Date.fromPartial({gte:new Date(s.listedSince?s.listedSince:n),lte:s.listedTo?new Date(s.listedTo):void 0});(s.sqftMin||s.sqftMax)&&(i=t.Range_Float.fromPartial({gte:s.sqftMin||void 0,lte:s.sqftMax||void 0}));let u=!1;!0==s.garage&&(u=s.garage);let c=!1;!0==s.pool&&(c=s.pool);let h=!1;!0==s.openHouse&&(h=s.openHouse);let m=!1;!0==s.waterfront&&(m=s.waterfront);let _=!1;!0==s.fireplace&&(_=s.fireplace);let g=!0;!1==s.hasImage&&(g=s.hasImage);let p=!1;s?.additional?.condoOrTownhouse?.locker=="yes"&&(p=!0),s?.additional?.condoOrTownhouse?.maintenanceFee&&(r=s.additional.condoOrTownhouse.maintenanceFee);let A=t.MapPageFilter.fromPartial({listingType:s.rental?t.AreaPageListing_ListingType.rent:t.AreaPageListing_ListingType.buy,price:l,standardStatus:a,squareFeet:i,hasGarage:u,hasPool:c,hasOpenHouse:h,hasWaterFront:m,hasFirePlace:_,hasLocker:p,maintenance:r,timestamp:d,precision:e,bedroomsExact:void 0,bedroomsRange:void 0,bathroomsExact:void 0,bathroomsRange:void 0,parkingExact:void 0,parkingRange:void 0,countryCode:s.countryCode,hasImage:g,excludeComingSoon:!s.showComingSoon,buildingKey:s.buildingKey,smartTagNames:s.smartTagNames?.filter(e=>!!e)??[]});return s?.bedrooms?.endsWith("+")?A.bedroomsRange=t.Range_Integer.fromPartial({gte:Number(s.bedrooms?.replace("+",""))}):s?.bedrooms?A.bedroomsExact=Number(s.bedrooms):A.bedroomsRange=t.Range_Integer.fromPartial({gte:0}),s?.bathrooms?.endsWith("+")?A.bathroomsRange=t.Range_Integer.fromPartial({gte:Number(s.bathrooms?.replace("+",""))}):s?.bathrooms?A.bathroomsExact=Number(s.bathrooms):A.bathroomsRange=t.Range_Integer.fromPartial({gte:0}),s?.parkingSpaces?.endsWith("+")?A.parkingRange=t.Range_Integer.fromPartial({gte:Number(s.parkingSpaces?.replace("+",""))}):s?.parkingSpaces?A.parkingExact=Number(s.parkingSpaces):A.parkingRange=t.Range_Integer.fromPartial({gte:0}),A}let _=(e,s,a,l)=>{let i=m(s,a),r=Object.entries(a?.homeType||{}).reduce((e,[t,s])=>{if(s){let s="house"===t?"House":"townhouse"===t?"Townhouse":"condo"===t?"Condo":"farm"===t?"Farm":"land"===t?"Land":"commercial"===t?"Commercial":"houseDetached"===t||"houseSemidetached"===t||"houseAttached"===t?"House":"Other";e.push(s)}return e},[]);(0===r.length||["House","Townhouse","Condo","Farm","Land","Commercial"].every(e=>r.includes(e)))&&r.push("Other");let n=r.reduce((e,s)=>{let l=a.rental?t.PropertyCategories[s].rent:t.PropertyCategories[s].sale;return e.push(...l.map(e=>({propertyTypes:e.types,propertySubTypes:r.includes("Other")?[...e.subTypes,"Other"]:e.subTypes}))),e},[]);if(l&&!e)return{...i,areaSlug:l,typeOfProperty:n};if(!e)throw Error("bounds must be provided when areaSlug is not specified");let o=1===s?"b":h.default.encode(e.north,e.west,s),d=1===s?"d":h.default.encode(e.south,e.east,s);return l?{...i,latLonAsGeohash:t.Geohash.fromPartial({topLeft:o,bottomRight:d}),areaSlug:l,typeOfProperty:n}:{...i,latLonAsGeohash:t.Geohash.fromPartial({topLeft:o,bottomRight:d}),typeOfProperty:n}},g=(e,s,a,l)=>{let i=m(s,a),r=[];if(a?.homeType?.condo&&r.push(t.Style.condo_highrise,t.Style.condo_lowrise,t.Style.condo_new_development,t.Style.condo_other),a?.homeType?.townhouse&&r.push(t.Style.townhouse),a?.homeType?.house&&r.push(t.Style.house_attached,t.Style.house_detached,t.Style.house_semidetached,t.Style.house_new_development,t.Style.house_other,t.Style.multifamily_other),a?.homeType?.condo||a?.homeType?.townhouse||a?.homeType?.house||r.push(t.Style.vacant_land,t.Style.other_unspecified),a?.homeType?.house&&a?.homeType?.condo&&a?.homeType?.townhouse&&r.push(t.Style.All),l)return{...i,areaSlug:l,styles:r};if(!e)throw Error("bounds must be provided when areaSlug is not specified");
1let n=1===s?"b":h.default.encode(e.north,e.west,s),o=1===s?"d":h.default.encode(e.south,e.east,s);return{...i,latLonAsGeohash:t.Geohash.fromPartial({topLeft:n,bottomRight:o}),styles:r}};var p=e.i(707317),A=e.i(223764);async function S(e,s=t.SortBy.DateDesc,a,n=200,o=0,d=(0,r.getGoSearchHost)((0,r.isServerSide)()),u=!1){let c,h=Number.isFinite(o)&&o>0?Math.floor(o):0,m=h>0?`&offset=${h}`:"",_=`${d}/api/map/pins?limit=${n}${m}`;try{let r=t.MapPinRequest.fromPartial({sortBy:s,filter:e,includeListings:u}),o=t.MapPinRequest.encode(r).finish(),d={method:l.HttpRequestMethodTypes.POST,body:new Uint8Array(o),signal:a},m=await (0,i.fetchWithRetry)(_,d);if(m.ok){let e=await m.blob(),s=await e.arrayBuffer(),a=new Uint8Array(s);c=t.MapPinResponse.decode(a)}else m.status===A.HttpStatusCode.BAD_REQUEST?console.error(`fetch pins offset out of bounds (limit=${n}, offset=${h}): ${m.statusText}`):console.error(`fetch pins within boundary: ${m.status} ${m.statusText} ${m.type}`),c=t.MapPinResponse.fromPartial({})}catch(e){if(e instanceof Error&&"AbortError"===e.name)throw e;console.error("failed to fetch map pins: %s",e),c=t.MapPinResponse.fromPartial({})}return c}e.s(["MAX_PIN_OFFSET",0,5e3,"fetchPins",0,S],742322);var f=e.i(751807);class y{host;areaFilterStrategy;geoFilterStrategy;constructor(e,t,s){this.host=e,this.areaFilterStrategy=t,this.geoFilterStrategy=s}static create(e=(0,r.getGoSearchHost)((0,r.isServerSide)()),t=!1){return new y(e,t?c:u,t?g:_)}static applyExactBounds(e,s){e.latLonAsGeohash=void 0,e.latLonAsArray=t.LatLonAsArray.fromPartial({topLeft:[s.north,s.west],bottomRight:[s.south,s.east]})}async searchByArea(e,s,a,l,i,r,o=t.SortBy.DateDesc,d=1,u){let c=this.areaFilterStrategy(i);return await n(e,s,a,l,o,c,d,u,this.host,r)}async searchClustersInBoundary(e,s,l,i=t.SortBy.DateDesc,r,n=a.MAP_PAGE_CONSTANTS.DEFAULT_CLUSTER_DATA_SIZE){let o=this.geoFilterStrategy(e,s,l);return y.applyExactBounds(o,e),await (0,p.fetchClusters)(o,i,r,n,this.host)}async searchClustersWithinArea(e,s,l,i=t.SortBy.DateDesc,r,n=a.MAP_PAGE_CONSTANTS.DEFAULT_CLUSTER_DATA_SIZE,o){let d=this.geoFilterStrategy(o,s,l,e);return o&&y.applyExactBounds(d,o),await (0,p.fetchClusters)(d,i,r,n,this.host)}async searchListingsInBoundary(e,s,l,i,r=t.SortBy.DateDesc,n,o=a.MAP_PAGE_CONSTANTS.DEFAULT_CLUSTER_DATA_SIZE,d,u="cursor"){let c=this.geoFilterStrategy(e,s,i,d);return e&&y.applyExactBounds(c,e),await (0,p.fetchListings)(c,r,l,n,o,this.host,u)}async searchPinsInBoundary(e,s,a,l=t.SortBy.DateDesc,i,r=200,n=!1,o=0){let d=this.geoFilterStrategy(e,s,a);return y.applyExactBounds(d,e),await S(d,l,i,r,o,this.host,n)}async searchPinsWithinArea(e,s,a,l,i=t.SortBy.DateDesc,r,n=200,o=!1,d=0){let u=this.geoFilterStrategy(s,a,l,e);return y.applyExactBounds(u,s),await S(u,i,r,n,d,this.host,o)}async searchListingsInBoundaryV2(e,s,l,i=t.SortBy.DateDesc,r,n=a.MAP_PAGE_CONSTANTS.DEFAULT_CLUSTER_DATA_SIZE){let o=this.geoFilterStrategy(e,s,l);return await (0,p.fetchListingsV2)(o,i,r,n,this.host)}async searchPredictions(e){return await (0,f.fetchSearchPredictionsV1)(e,this.host)}}let T=y.create;e.s(["SearchApi",0,y,"createSearchApi",0,T],936836)},504018,e=>{"use strict";let t="listing-";e.s(["buildHiddenListingHref",0,function(e){let t=e.addressUrlAbsolutePath||e.listingUrlAbsolutePath;if("string"==typeof t&&t.length>0)return t.startsWith("/")?t:`/${t}`;let s=`${e.subDivision.toLowerCase().replace(/\s+/g,"-")}-${e.province.toLowerCase()}`,a=e.neighbourhood?.trim()?e.neighbourhood.toLowerCase().replace(/\s+/g,"-"):void 0,l=`listing-${e.id}`;return a?`/${s}-real-estate/${a}/${l}`:`/${s}-real-estate/${l}`},"extractHiddenListingSegmentFromPath",0,function(e){let s=e.split("/").filter(Boolean),a=s[s.length-1];return a&&a&&!(a.length<=t.length)&&a.startsWith(t)?a:void 0},"hiddenListingCodeFromSegment",0,function(e){return e.slice(t.length)},"isHiddenListingSlug",0,function(e){return"string"==typeof e&&e.startsWith(t)},"parseListingIdFromHiddenListingCode",0,function(e){let t=e.trim();if(/^\d+$/.test(t)){let e=parseInt(t,10);return Number.isFinite(e)&&e>0?e:void 0}try{let e=function(e){try{let t=atob(e),s=new Uint8Array(t.length);for(let e=0;e<t.length;e++)s[e]=t.charCodeAt(e);return new TextDecoder("utf-8",{fatal:!1}).decode(s)}catch{return}}(t);if(!e)return;let s=JSON.parse(e);if(s&&"object"==typeof s&&"id"in s){let e=Number(s.id);return Number.isFinite(e)&&e>0?e:void 0}}catch{}}])},706412,e=>{"use strict";var t=e.i(793304),s=e.i(209947),a=e.i(860080);e.i(422815);var l=e.i(269407),i=e.i(504018),r=e.i(335279);e.s(["AreaPageListingCardData",0,class{listing;
1constructor(e){this.listing=e,this.getStreet=e=>this.displayAddress?(0,s.capitalizeWords)(!e&&this.isPrivate?this.listing?.streetName:this.seoStreet):"Address not available"}get id(){return this.listing.id}get imageUrl(){return this.hasImageRootStorageKey()?this.hasImageSource()?this.listing.imageRootStorageKey:`https://cdn0.zoocasa.com/${this.listing.imageRootStorageKey}.jpg`:""}get slug(){return this.listing.slug}get isImageReady(){return this.hasImageRootStorageKey()}get imageDesc(){return this.listing.address}get displayAddress(){return this.listing.displayAddress?.internetAddressDisplay===void 0||!!this.listing.displayAddress.internetAddressDisplay}get addressPathWithFallback(){return this.displayAddress?(0,l.cleanDashedString)(this.listing.addressUrlAbsolutePath||this.listing.listingUrlAbsolutePath):(0,i.buildHiddenListingHref)({id:this.listing.id,subDivision:this.listing.subDivision,province:this.listing.province,neighbourhood:this.listing.neighbourhood,addressUrlAbsolutePath:this.listing.addressUrlAbsolutePath,listingUrlAbsolutePath:this.listing.listingUrlAbsolutePath})}get isCrea(){return this.listing.providerId==t.Provider.PROVIDER_CREA_DDF}get isItsoVow(){return this.listing.providerId==t.Provider.PROVIDER_ITSO_VOW}get isPillar9Vow(){return this.listing.providerId==t.Provider.PROVIDER_PILLAR9_VOW}get isRebgvVow(){return this.listing.providerId==t.Provider.PROVIDER_REBGV_VOW}get isTrebIdxInactive(){return this.listing.providerId===t.Provider.PROVIDER_TREB_IDX&&!this.isAvailable}get isStellarMls(){return this.listing.providerId===t.Provider.PROVIDER_STELLAR_MLS_IDX}get agreementType(){return this.isPillar9Vow?a.AgreementTypes.PILLAR9_VOW:this.isRebgvVow?a.AgreementTypes.REBGV_VOW:this.isItsoVow?a.AgreementTypes.ITSO_VOW:this.isCrea?a.AgreementTypes.CREA:void 0}get isSignInAndTermsOfUseRequired(){return!!this.listing.termsOfUseRequired}get mlsNum(){return this.listing.mls}get brokerage(){return this.listing.brokerage}get providerId(){return this.listing.providerId}get city(){return this.listing.subDivision}get province(){return this.listing.province}get isPrivate(){return this.isVow}get isAvailable(){return this.listing.statusId===t.AreaPageListing_Status.Available}get isSold(){return this.listing.statusId===t.AreaPageListing_Status.NotAvailableSold}get isSoldWithoutSoldPrice(){return this.listing.statusId===t.AreaPageListing_Status.NotAvailableSold&&!this.soldPrice}get statusId(){return this.listing.statusId}get isVow(){return(0,r.isVOWProvider)(this.listing.providerId)}get position(){return null}getStreet;get isTreb(){return!this.isCrea}get soldPrice(){return this.listing.SoldPrice>0?this.listing.SoldPrice:null}get soldAt(){return this.listing.soldAt||null}get price(){return this.listing.price}get addedAt(){return this.listing.createdAt||null}get updatedOn(){return this.listing.updatedOn||null}get expiredAt(){return this.listing.expiredAt||null}get bedrooms(){return this.listing.bedrooms}get bathrooms(){return this.listing.bathrooms}get avgSqft(){let e;if(this.listing.squareFootage){let{gt:t,gte:s,lt:a,lte:l}=this.listing.squareFootage,i=a||l,r=t||s;i&&r?e=Math.ceil((i+r)/2):i?e=i:r&&(e=r)}return e}get sqftLabel(){let e="";if(this.listing.squareFootage){let{gt:t,gte:s,lt:a,lte:l}=this.listing.squareFootage,i=a||l,r="N/A";r=499===i?"0-499":[t||s,i].filter(e=>e).join("–"),e=`${!r?.trim()?.length?"N/A":r.trim()} sqft`}return e}get statusLabel(){let e=null;return(this.listing.lastStatus&&(e=({Bom:"Back on Market",Dft:"Deal Fell Through",Exp:"Expired",Ext:"Extended",Lc:"Leased Conditionally",Lsd:"Leased",New:"New",Pc:"Price Change",Sc:"Sold Conditionally",Sld:"Sold",Sus:"Suspended",Ter:"Terminated",Pen:"Pending"})[this.listing.lastStatus]),e&&"New"!==e)?e:this.isAvailable?this.listing.listingType===t.AreaPageListing_ListingType.rent?"For Rent":"For Sale":this.isSold?this.listing.listingType===t.AreaPageListing_ListingType.rent?"Leased":"Sold":"Inactive"}hasImageRootStorageKey(){return this.listing?.imageRootStorageKey.length>0}hasImageSource(){return this.listing?.imageSource=="exp"}get seoStreet(){let e=this.listing?.unit,t=this.streetAddress;return e?.length>0?`${e} - ${t}`:t}get streetAddress(){let{streetNumber:e,streetName:t}=this.listing;return e?`${e} ${t}`:t}get isRental(){return this.listing.listingType===t.AreaPageListing_ListingType.rent}get standardStatus(){return this.listing.standardStatus}get onMarketDate(){return this.listing.onMarketDate??null}get smartTags(){return this.listing.smartTags??[]}toJSON(e){return{id:this.id??null,slug:this.slug??null,imageUrl:this.imageUrl??null,imageDesc:this.imageDesc??null,isImageReady:this.isImageReady??null,addressPathWithFallback:this.addressPathWithFallback??null,city:this.city??null,province:this.province??null,displayAddress:this.displayAddress??null,streetName:e.streetName??null,seoStreet:e.address??null,position:this.position??null,providerId:this.providerId??null,mlsNum:this.mlsNum??null,brokerage:this.brokerage??null,isCrea:this.isCrea??null,isItsoVow:this.isItsoVow??null,isPillar9Vow:this.isPillar9Vow??null,isRebgvVow:this.isRebgvVow??null,isTrebId
1xInactive:this.isTrebIdxInactive??null,isStellarMls:this.isStellarMls??null,agreementType:this.agreementType??null,isSignInAndTermsOfUseRequired:this.isSignInAndTermsOfUseRequired??null,isPrivate:this.isPrivate??null,isVow:this.isVow??null,isTreb:this.isTreb??null,statusId:this.statusId??null,statusLabel:this.statusLabel??null,isAvailable:this.isAvailable??null,isSold:this.isSold??null,isSoldWithoutSoldPrice:this.isSoldWithoutSoldPrice??null,isRental:this.isRental??null,standardStatus:this.standardStatus??null,smartTags:this.smartTags??[],price:this.price??null,soldPrice:this.soldPrice??null,addedAt:(this.addedAt instanceof Date?this.addedAt.toISOString():this.addedAt)??null,updatedOn:(this.updatedOn instanceof Date?this.updatedOn.toISOString():this.updatedOn)??null,soldAt:(this.soldAt instanceof Date?this.soldAt.toISOString():this.soldAt)??null,expiredAt:(this.expiredAt instanceof Date?this.expiredAt.toISOString():this.expiredAt)??null,onMarketDate:(this.onMarketDate instanceof Date?this.onMarketDate.toISOString():this.onMarketDate)??null,bedrooms:this.bedrooms??null,bathrooms:this.bathrooms??null,avgSqft:this.avgSqft??null,sqftLabel:this.sqftLabel??null}}}])},477945,e=>{"use strict";var t=e.i(793304),s=e.i(440245);e.s(["getSortBy",0,function(e){switch(e){case s.PRICE_DESCENDING_SORT:return t.SortBy.PriceDesc;case s.PRICE_SORT:return t.SortBy.PriceAsc;case s.DATE_DESCENDING_SORT:return t.SortBy.DateDesc;case s.DATE_SORT:return t.SortBy.DateAsd;case s.BEDROOMS_DESCENDING_SORT:return t.SortBy.BedroomsDesc;case s.BEDROOMS_SORT:return t.SortBy.BedroomsAsc;case s.BATHROOMS_DESCENDING_SORT:return t.SortBy.BathroomsDesc;case s.BATHROOMS_SORT:return t.SortBy.BathroomsAsc}}])},457094,e=>{"use strict";var t=e.i(793304),s=e.i(860480);let a=Object.freeze(t.SingleAddress.fromPartial({addressType:t.AddressType.ADDRESS_TYPE_COUNTRY,country:s.CountryCodeList.CANADA,slug:s.CountryCodeList.CANADA.toLowerCase(),label:"Canada"})),l=Object.freeze(t.SingleAddress.fromPartial({addressType:t.AddressType.ADDRESS_TYPE_COUNTRY,country:s.CountryCodeList.UNITED_STATES,slug:s.CountryCodeList.UNITED_STATES.toLowerCase(),label:"Usa"}));e.s(["CANADA_ADDRESS",0,a,"US_ADDRESS",0,l])},117782,e=>{"use strict";var t=e.i(440245),s=e.i(235392),a=e.i(507733),l=e.i(609881),i=e.i(936836),r=e.i(793304),n=e.i(921679),o=e.i(757965),d=e.i(154274),u=e.i(860480),c=e.i(524680);e.i(422815);var h=e.i(396015),m=e.i(477945),_=e.i(457094),g=e.i(209947),p=e.i(186930);e.i(301943);var A=e.i(953498),S=e.i(464161);let f=Object.freeze(i.SearchApi.create((0,l.getGoSearchHost)(!(0,l.isClientSide)()),!1)),y=async e=>{let{country:s,slug:a,filter:r,pageSize:n,isClient:o=!1,useLegacySearchFilter:d=!1,fallbackBoundary:u}=e,c=t.DATE_DESCENDING_SORT,h=i.SearchApi.create((0,l.getGoSearchHost)(!o),d);if(a?.length===0){let{areaPageListingResponse:e}=await v(s,r,c,1,n,h),t=e?.data||[],a=e?.TotalCount||0;return await T({listings:t,totalCount:a,isExpandedArea:!0,didFallback:!0},r,u,d)}let m=await x(a,r,c,1,n,s,h),_={listings:m?.areaPageListingResponse?.data||[],totalCount:m?.areaPageListingResponse?.TotalCount||0,isExpandedArea:m?.isExpandedArea??!1,didFallback:m?.didFallback??m?.isExpandedArea??!1};return await T(_,r,u,d)};async function T(e,t,s,a){if(!e.isExpandedArea||!s)return e;try{let l=await b(s,t.tenant,!1,a),i=l?.totalCount??0;if(i>0)return{...e,listings:l.listings??[],totalCount:i,isExpandedArea:!0,didFallback:!0,usedFallbackBoundary:!0}}catch(e){console.error("fallbackBoundary search failed, keeping country-wide result:",e)}return e}let b=(e,c,h,m=!1)=>{let _,g=(0,A.getTenantById)((0,S.themeNameToTenantId)(c)).localization.countries;_=g.includes(u.CountryCodeList.UNITED_STATES)&&g.includes(u.CountryCodeList.CANADA)?void 0:g?.[0];let p=r.SortBy.DateDesc,f=(0,a.getGeohashPrecisionFromZoom)(10),y=i.SearchApi.create((0,l.getGoSearchHost)((0,l.isServerSide)()),m),T=(0,n.default)((0,o.default)(d.default.filter,{status:h?t.NOT_AVAILABLE_SOLD_STATUS:t.AVAILABLE_STATUS,homeType:s.defaultHomeType,countryCode:_,hasImage:!0}));return y.searchListingsInBoundary(e,f,"1",T,p,void 0,h?10:15)};async function v(e,t,s,a,l,i=f){let r=await i.searchByArea(e,"","","",t,t.tenant,(0,m.getSortBy)(s),a,l),n=e===u.CountryCodeList.UNITED_STATES?_.US_ADDRESS:_.CANADA_ADDRESS;return{addresses:(0,h.createAddressHierarchyPath)([n]),areaPageListingResponse:r,isExpandedArea:!1}}async function x(e,t,s,a,l,i,n=f){if(e?.length===0||i?.length===0)return;let o=await (0,c.getAddressesBySlug)(e);if(o&&o?.length>0){let e=o?.[0]?.country,i=[...o].reverse().filter(e=>e.addressType<=r.AddressType.ADDRESS_TYPE_NEIGHBOURHOOD),d=(0,h.createAddressHierarchyPath)(i);for(let r=0;r<i.length;r++){let o=i[r],u=function(e=""){return e?.length>0?e.toUpperCase():""}(o.provinceOrState??""),c=function(e=""){return e?.length>0?(0,g.capitalizeWords)((0,p.deDasherize)(e)):""}(o.subDivision??""),h=o.neighbourhood??"",_=await n.searchByArea(e,u,c,h,t,t.tenant,(0,m.getSortBy)(s),a,l);if(_.TotalCount>0)return{addresses:d,areaPageListingResponse:_,isExpandedArea:!1,didFallback:r>0}}}return{...await v(i,t,s,a,l,n),isExpandedArea:!0,didFallback:!0}}e.s(["fetchHomePageListings",0,y,"fetchHomePageListingsWithBoundary",0,b,"getListingsWithCountryFallback",0,x],117782)},355193,e=>{e.v({active:"style-module-scss-module__QdalIa__active",label:"style-module-scss-module__QdalIa__label","market-count":"style-module-scss-module__QdalIa__market-count","market-info":"style-module-scss-module__QdalIa__market-info","market-name":"style-module-scss-module__QdalIa__market-name","market-pill":"style-module-scss-module__QdalIa__market-pill","market-thumbnail":"style-module-scss-module__QdalIa__market-thumbnail","markets-row":"style-module-scss-module__QdalIa__markets-row","thumbnail-placeholder":"style-module-scss-module__QdalIa__thumbnail-placeholder","top-markets":"style-module-scss-module__QdalIa__top-markets"})},269828,e=>{"use strict";var t=e.i(391398);e.i(664157);var s=e.i(271179),a=e.i(99969),l=e.i(745602),i=e.i(585594),r=e.i(355193);let n="/next/assets/images/local-focus/area-thumbnails";function o(e){let t=e.name.split(",")[0].trim();return`${n}/${t}.jpg`}let d=[{name:"Los Angeles, CA",slug:"los-angeles-ca",thumbnailUrl:`${n}/Los Angeles.jpg`},{name:"New York, NY",slug:"new-york-ny",thumbnailUrl:`${n}/New York.jpg`},{name:"Chicago, IL",slug:"chicago-il",thumbnailUrl:`${n}/Chicago.jpg`},{name:"Miami, FL",slug:"miami-fl",thumbnailUrl:`${n}/Miami.jpg`},{name:"Austin, TX",slug:"austin-tx",thumbnailUrl:`${n}/Austin.jpg`},{name:"San Francisco, CA",slug:"san-francisco-ca",thumbnailUrl:`${n}/San Francisco.jpg`}],u=[{name:"Toronto, ON",slug:"toronto-on",thumbnailUrl:`${n}/Toronto.jpg`},{name:"Vancouver, BC",slug:"vancouver-bc",thumbnailUrl:`${n}/Vancouver.jpg`},{name:"Calgary, AB",slug:"calgary-ab",thumbnailUrl:`${n}/Calgary.jpg`},{name:"Ottawa, ON",slug:"ottawa-on",thumbnailUrl:`${n}/Ottawa.jpg`},{name:"Montreal, QC",slug:"montreal-qc",thumbnailUrl:`${n}
1/Montreal.jpg`},{name:"Edmonton, AB",slug:"edmonton-ab",thumbnailUrl:`${n}/Edmonton.jpg`}];e.s(["DEFAULT_CA_MARKETS",0,u,"DEFAULT_US_MARKETS",0,d,"default",0,function({markets:e,activeMarket:n,onMarketClick:d}){let{t:u}=(0,s.useTranslation)(i.Namespaces.HOME);return(0,t.jsxs)(l.default,{className:r.default["top-markets"],children:[(0,t.jsx)("div",{className:r.default.label,children:u(i.LOCALE_HOME_PATHS.LOCAL_FOCUS_TOP_MARKETS_LABEL,{defaultValue:"Explore Top Markets"})}),(0,t.jsx)(l.StaggerReveal,{staggerDelay:.06,className:r.default["markets-row"],children:e.map(e=>{let s=e.thumbnailUrl??o(e);return(0,t.jsxs)("button",{type:"button",className:(0,a.buildClassName)(r.default["market-pill"],n===e.slug&&r.default.active),onClick:()=>d?.(e),children:[(0,t.jsx)("div",{className:r.default["market-thumbnail"],children:s?(0,t.jsx)("img",{src:s,alt:e.name,loading:"lazy"}):(0,t.jsx)("div",{className:r.default["thumbnail-placeholder"]})}),(0,t.jsxs)("div",{className:r.default["market-info"],children:[(0,t.jsx)("span",{className:r.default["market-name"],children:e.name}),null!=e.listingCount&&(0,t.jsx)("span",{className:r.default["market-count"],children:u(i.LOCALE_HOME_PATHS.LOCAL_FOCUS_TOP_MARKETS_NEW_HOMES,{count:e.listingCount,defaultValue:"{{count}} New Homes"})})]})]},e.slug)})})]})},"getAreaThumbnailUrlForMarket",0,o])}]);
2
3//# sourceMappingURL=17afmn9dqu7be.js.map

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.