PageSourceSearch

https://www.microburbs.com.au/_next/static/chunks/22p90vpx6tp5u.js

js microburbs.com.au collected 2026-09-25 07:16:10 UTC 28,855 bytes, 10 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,282,e=>{"use strict";var t=e.i(843476);e.s(["GrowthTable",0,function({rows:e,type:s}){let r="growers"===s;return(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"bg-[#04244F] text-white",children:[(0,t.jsx)("th",{className:"text-left p-3",children:"Suburb"}),(0,t.jsx)("th",{className:"text-left p-3",children:"SUA"}),(0,t.jsx)("th",{className:"text-right p-3",children:"Median Price"}),(0,t.jsx)("th",{className:"text-right p-3",children:"WoW Change"}),(0,t.jsx)("th",{className:"text-right p-3",children:"Sales (30d)"})]})}),(0,t.jsx)("tbody",{children:e.map(e=>{var s;return(0,t.jsxs)("tr",{className:"border-b border-gray-100 hover:bg-gray-50",children:[(0,t.jsx)("td",{className:"p-3",children:(0,t.jsx)("a",{href:`/suburb-reports/${e.slug}`,className:"text-[#1875EB] hover:underline",children:e.sal})}),(0,t.jsx)("td",{className:"p-3 text-gray-600",children:e.sua}),(0,t.jsx)("td",{className:"p-3 text-right font-mono",children:(s=e.median,`$${s.toLocaleString()}`)}),(0,t.jsxs)("td",{className:`p-3 text-right font-mono font-semibold ${r?"text-green-700":"text-red-600"}`,children:[e.wowPct>0?"+":"",e.wowPct.toFixed(2),"%"]}),(0,t.jsx)("td",{className:"p-3 text-right",children:e.volume})]},e.sal)})})]})})},"InsightBox",0,function({children:e}){return(0,t.jsx)("div",{className:"bg-[#E8F2FD] border-l-4 border-[#1875EB] p-5 rounded-r-lg mb-6",children:e})},"RegionalTable",0,function({rows:e}){return(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"bg-[#04244F] text-white",children:[(0,t.jsx)("th",{className:"text-left p-3",children:"Region (SUA)"}),(0,t.jsx)("th",{className:"text-right p-3",children:"Avg WoW"}),(0,t.jsx)("th",{className:"text-right p-3",children:"Suburbs Up"}),(0,t.jsx)("th",{className:"text-right p-3",children:"Suburbs Down"}),(0,t.jsx)("th",{className:"text-right p-3",children:"Total"})]})}),(0,t.jsx)("tbody",{children:e.map(e=>(0,t.jsxs)("tr",{className:"border-b border-gray-100 hover:bg-gray-50",children:[(0,t.jsx)("td",{className:"p-3 font-medium",children:e.region}),(0,t.jsxs)("td",{className:`p-3 text-right font-mono ${e.avg_wow>0?"text-green-700":e.avg_wow<0?"text-red-600":"text-gray-600"}`,children:[e.avg_wow>0?"+":"",e.avg_wow.toFixed(2),"%"]}),(0,t.jsx)("td",{className:"p-3 text-right text-green-700",children:e.suburbs_up}),(0,t.jsx)("td",{className:"p-3 text-right text-red-600",children:e.suburbs_down}),(0,t.jsx)("td",{className:"p-3 text-right text-gray-500",children:e.total})]},e.region))})]})})},"SectionHeading",0,function({num:e,title:s}){return(0,t.jsxs)("h2",{className:"text-xl font-bold text-[#0A1628] mb-4 pb-2 border-b-2 border-[#1875EB]",children:[e,". ",s]})},"SuburbLink",0,function({name:e}){return(0,t.jsx)("a",{href:`/suburb-reports/${encodeURIComponent(e)}`,className:"text-[#1875EB] hover:underline",children:e})},"formatWeekEnding",0,function(e){return new Date(e+"T00:00:00").toLocaleDateString("en-AU",{day:"numeric",month:"short",year:"numeric"})}])},827196,e=>{"use strict";var t=e.i(271645),s=e.i(604570),r=e.i(667245);e.s(["VariantTracking",0,function({variant:e}){return(0,t.useEffect)(()=>{let t=0,a=!1,n=()=>{if(!a){if(s.default.__loaded||t>=20){a=!0,(0,r.registerHomepageVariant)(e);return}t+=1,setTimeout(n,250)}};n();let o=e=>{let t=e.target?.closest?.("a[href]");if(!t)return;let s=t.getAttribute("href")||"";(0,r.trackHomepage)("homepage_click",{link_text:(t.textContent||"").trim().slice(0,80),link_href:s,destination:(0,r.destinationOf)(s),section:(0,r.sectionOf)(t)})};return document.addEventListener("click",o,!0),()=>{a=!0,document.removeEventListener("click",o,!0)}},[e]),null}])},390511,e=>{"use strict";let t="mib:homepage:lastQuery";e.s(["readLastQuery",0,function(){try{let e=performance.getEntriesByType("navigation")[0];if(e?.type!=="back_forward")return"";return sessionStorage.getItem(t)??""}catch{return""}},"writeLastQuery",0,function(e){try{sessionStorage.setItem(t,e)}catch{}}])},823098,38871,e=>{"use strict";var t=e.i(271645);e.s(["useHomepageIntent",0,function(){let[e,s]=(0,t.useState)(!1),[r,a]=(0,t.useState)(null),n=(0,t.useCallback)(async t=>{let r=t.trim();if(!r||e)return null;s(!0),a(null);try{let e=await fetch("/api/homepage/resolve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:r})});if(!e.ok)throw Error(`Routing failed (${e.status})`);return await e.json()}catch(e){return console.warn("[Homepage routing] request failed",e),{destination:"chat",query:r}}finally{s(!1)}},[e]);return{isRouting:e,routeIntent:n,routingError:r}}],823098);let s=/^(what|where|which|who|when|why|how|is|are|can|could|should|do|does|did|will|would|find|show|tell|compare|give|help)\b/i;e.s(["homepageQueryKind",0,function(e,t){if("question"===t)return"question";if("address"===t)return"property";if("suburb"===t)return"suburb";let r=e.trim();return r?r.endsWith("?")||s.test(r)||r.split(/\s+/).length>=7?"question":"unknown":"empty"},"questionDropdownLabel",0,function(e){let t=e.trim();if(!t)return"";let[s,...r]=[...t];return s.toLocaleUpperCase()+r.join("")},"shouldRankQuestionFirst",0,function(e,t){let r=e.trim();if(!r)return!1;
1let a=r.split(/\s+/).filter(Boolean);return!(!(s.test(r)||r.includes("?"))&&!(a.length>=7)&&Number.isFinite(t))||!(a.length<=2)&&t<.5}],38871)},790314,e=>{"use strict";var t=e.i(843476),s=e.i(271645),r=e.i(769486),a=e.i(731528);function n({enabled:e,onChange:s,className:r=""}){return(0,t.jsx)("span",{role:"img","aria-label":"AI search enabled",className:`inline-flex flex-none select-none items-center gap-1.5 rounded-full border px-2.5 py-1.5 ${e?"border-[#c7d2fe] bg-gradient-to-r from-[#eef2ff] to-[#f5f3ff] shadow-[0_0_0_3px_rgba(99,102,241,0.10)]":"border-transparent bg-transparent"} ${r}`,children:(0,t.jsxs)("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:`h-[18px] w-[18px] transition-transform duration-200 ${e?"scale-110":"scale-100"}`,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"ai-spark",x1:"0",y1:"0",x2:"1",y2:"1",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#4285f4"}),(0,t.jsx)("stop",{offset:"55%",stopColor:"#7c5cff"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#d96570"})]})}),(0,t.jsx)("path",{d:"M12 2c.4 4.2 1.7 6.9 3.9 8.4 1.2.8 2.8 1.3 4.9 1.6-2.1.3-3.7.8-4.9 1.6-2.2 1.5-3.5 4.2-3.9 8.4-.4-4.2-1.7-6.9-3.9-8.4-1.2-.8-2.8-1.3-4.9-1.6 2.1-.3 3.7-.8 4.9-1.6C10.3 8.9 11.6 6.2 12 2Z",fill:e?"url(#ai-spark)":"none",stroke:e?"none":"#94a3b8",strokeWidth:"1.4",strokeLinejoin:"round"})]})})}var o=e.i(483945),i=e.i(667245),l=e.i(823098),c=e.i(38871),d=e.i(390511);let u={"tool-name":"ask-microburbs","tool-description":"Ask a natural-language question about any Australian suburb, region or address and be routed to the right Microburbs report or tool.","tool-param-description":"A question, suburb name, region or street address in Australia. For example: 'best streets in Bondi' or '12 Smith St, Newtown'."};e.s(["HeroSearch",0,function(){let[e,h]=(0,s.useState)(""),[m,x]=(0,s.use
1State)([]),[p,f]=(0,s.useState)(!1),[g,b]=(0,s.useState)(!1),{isRouting:w,routeIntent:y}=(0,l.useHomepageIntent)(),{isWhitelabeled:v,brandName:j,branded:N,setBranded:S,withClient:k}=(0,a.useWhitelabelBranding)(!1);(0,s.useEffect)(()=>{let e=(0,d.readLastQuery)();e&&h(e)},[]);let C=async e=>{if(e.length<2)return void x([]);f(!0);try{let t=await fetch(`/api/search?q=${encodeURIComponent(e.trim())}&type=all&limit=10`);if(t.ok){let s=(await t.json()).results||[],r=s.find(e=>"suburb"===e.type||"address"===e.type),a=Number(r?.score??r?._rankingScore),n=(0,c.shouldRankQuestionFirst)(e,a),o=s.filter(e=>"suburb"===e.type||"address"===e.type).map(e=>({id:"address"===e.type?e.gnafId||e.id||"":e.sal||e.label||"",title:e.label||"",subtitle:"address"===e.type?[e.suburb,e.state].filter(Boolean).join(", "):[e.state,e.postcode].filter(Boolean).join(" "),type:"address"===e.type?"Property":"Suburb",score:"number"==typeof e.score?e.score:e._rankingScore}));x(n?[{id:`question:${e.trim()}`,title:(0,c.questionDropdownLabel)(e),query:e.trim(),type:"Question"},...o]:o)}}catch{}finally{f(!1)}},$=async t=>{t.preventDefault();let s=e.trim();if(!s||w)return;let r=await y(s);r&&((0,i.trackHomepage)("homepage_ai_route",{query:s.slice(0,120),destination:r.destination,matched_label:r.matchedLabel?.slice(0,120)||null,score:r.score??null}),r.href?window.location.href=r.href:((0,i.trackHomepage)("homepage_ask",{question:s.slice(0,200)}),h(""),x([]),(0,o.askHomepageChat)(s)||(window.location.href=`/chat?query=${encodeURIComponent(s)}&new=1`)))};return(0,t.jsxs)("div",{className:"bg-white rounded-2xl p-6 shadow-[0_4px_24px_rgba(0,0,0,0.08)] border border-[#e2e8f0] text-left max-w-xl mx-auto overflow-visible relative z-10",children:[v&&(0,t.jsx)(a.WhitelabelBrandingToggle,{checked:N,onChange:S,brandName:j}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-3 flex-wrap",children:[(0,t.jsx)("div",{className:"text-base font-bold text-[#1a1a1a]",children:"Where are you looking to invest?"}),(0,t.jsx)(n,{enabled:g,onChange:e=>{b(e),x([]),(0,i.trackHomepage)("homepage_ai_toggle",{enabled:e})}})]}),g?(0,t.jsxs)("form",{onSubmit:$,className:"flex gap-2 items-stretch",...u,children:[(0,t.jsx)("input",{type:"text",value:e,onChange:e=>h(e.target.value),placeholder:"Evaluate any region, address or suburb","aria-label":"Ask AI to choose the right Microburbs tool",className:"min-w-0 flex-1 h-14 rounded-lg bg-white px-4 text-base sm:text-lg text-gray-800 shadow-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-[#4475e6]"}),(0,t.jsx)("button",{type:"submit",disabled:w||!e.trim(),"aria-label":"Ask AI",title:"Ask AI (or press Enter)",className:`h-14 w-14 flex-none grid place-items-center rounded-lg bg-[#4475e6] text-lg font-bold text-white transition-colors hover:bg-[#3361d1] disabled:opacity-60 ${w?"cursor-wait":"disabled:cursor-not-allowed"}`,children:(0,t.jsx)("span",{"aria-hidden":"true",children:w?"…":"→"})})]}):(0,t.jsx)(r.SearchBar,{placeholder:"Evaluate any region, address or suburb",toolName:"search-microburbs",toolDescription:"Search Australian suburbs, regions and street addresses to open the matching Microburbs suburb or property report.",toolParamDescription:"A suburb name, region or street address in Australia. For example: 'Bondi NSW' or '15 Rengor Close Belmont North'.",value:e,onChange:h,onSearch:C,onSelect:e=>{if("Question"===e.type){let t=e.query??e.title;(0,i.trackHomepage)("homepage_ask",{question:t.slice(0,200)}),h(""),x([]),(0,o.askHomepageChat)(t)||(window.location.href=`/chat?query=${encodeURIComponent(t)}&new=1`);return}(0,d.writeLastQuery)(e.title),h(""),x([]),"Suburb"===e.type?window.location.href=k(`/suburb-reports/${encodeURIComponent(e.id)}`):"Property"===e.type&&(window.location.href=k(`/property-reports/${encodeURIComponent(e.id)}`))},results:m,isLoading:p,size:"lg",variant:"hero",debounceMs:300,minChars:2}),(0,t.jsxs)("p",{className:"text-xs text-[#718096] mt-2",children:[(0,t.jsx)("span",{className:"font-semibold text-[#4A5568]",children:"Sample reports:"})," ",(0,t.jsx)("a",{href:"/suburb-reports/Belmont%20North",className:"text-[#4475e6] hover:underline",children:"Belmont North"}),","," ",(0,t.jsx)("a",{href:"/property-reports/GANSW717662275?address=15+Rengor+Close+Belmont+North+NSW+2280",className:"text-[#4475e6] hover:underline",children:"15 Rengor Close Belmont North"})]})]})}],790314)},982718,e=>{"use strict";var t=e.i(843476),s=e.i(422550),r=e.i(282),a=e.i(522016);let n=[{sal:"Penrose",sua:"Regional NSW",wowPct:5.3,wowChange:44700,median:889e3,priorMedian:844300,volume:4,sa4:"",slug:"Penrose-NSW-2579",state:"NSW",postcode:"2579"},{sal:"Madora Bay",sua:"Perth",wowPct:3.9,wowChange:39800,median:106e4,priorMedian:1020200,volume:5,sa4:"",slug:"Madora-Bay-WA-6210",state:"WA",postcode:"6210"},{sal:"Bankstown",sua:"Sydney",wowPct:3.9,wowChange:6e4,median:16e5,priorMedian:154e4,volume:8,sa4:"",slug:"Bankstown-NSW-2200",state:"NSW",postcode:"2200"},{sal:"South Windsor",sua:"Sydney",wowPct:3.2,wowChange:30800,median:994e3,priorMedian:963200,volume:4,sa4:"",slug:"South-Windsor-NSW-2756",state:"NSW",postcode:"2756"},{sal:"Marsden Park",sua:"Sydney",wowPct:3.1,wowChange:40600,median:135e4,priorMedian:1309400,volume:6,sa4:"",slug:"Marsden-Park-NSW-2765",state:"NSW",postcode:"2765"}];
1function o(e){return"$"+e.toLocaleString("en-AU")}function i(e){return`${e>=0?"+":""}${e.toFixed(1)}%`}function l({s:e}){let s=e.wowPct>=0;return(0,t.jsxs)("span",{className:"inline-flex items-baseline gap-1.5 px-4 whitespace-nowrap",children:[(0,t.jsx)("span",{className:"text-[11px] font-bold tracking-wide text-[#1a1a1a] uppercase",children:e.sal}),(0,t.jsxs)("span",{className:`text-[11px] font-mono font-semibold ${s?"text-[#27AE60]":"text-[#E74C3C]"}`,children:[s?"▲":"▼"," ",i(e.wowPct)]})]})}e.s(["LiveMarketData",0,function(){let{data:e}=(0,s.useSuburbGrowth)(),c=e?e.topGrowers.slice(0,5):n,d=e?[...e.topGrowers.slice(0,10),...e.topDecliners.slice(0,5)]:n,u=e?`Week ending ${(0,r.formatWeekEnding)(e.weekEndingDate)}`:"Week ending 15 Mar 2026",h=Math.max(...c.map(e=>Math.abs(e.wowPct)),.1);return(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,t.jsx)("style",{children:`
2        @keyframes lmd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
3        .lmd-tape { animation: lmd-marquee 30s linear infinite; }
4        .lmd-tape:hover { animation-play-state: paused; }
5        @media (prefers-reduced-motion: reduce) { .lmd-tape { animation: none; } }
6      `}),(0,t.jsxs)("div",{className:"rounded-2xl overflow-hidden border border-[#e2e8f0] bg-white shadow-sm",children:[(0,t.jsxs)("div",{className:"bg-[#04244F] px-5 py-3 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,t.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-[#27AE60] opacity-60"}),(0,t.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-[#27AE60]"})]}),(0,t.jsxs)("h3",{className:"text-base font-bold text-white",children:["Suburb Movers ",(0,t.jsx)("span",{className:"text-white/40 font-semibold",children:"· Live"})]})]}),(0,t.jsx)("span",{className:"text-xs text-white/50",children:u})]}),(0,t.jsx)("div",{className:"overflow-hidden border-b border-[#e2e8f0] bg-[#f8fafc] py-1.5","aria-hidden":"true",children:(0,t.jsx)("div",{className:"lmd-tape flex w-max",children:[0,1].map(e=>(0,t.jsx)("div",{className:"flex",children:d.map(s=>(0,t.jsx)(l,{s:s},`${e}-${s.sal}`))},e))})}),(0,t.jsx)("div",{className:"divide-y divide-[#e2e8f0]",children:c.map((e,s)=>(0,t.jsxs)(a.default,{href:`/suburb-reports/${encodeURIComponent(e.sal)}`,className:"relative flex items-center gap-4 px-5 py-3.5 hover:bg-[#f8fafc] transition-colors no-underline group",children:[(0,t.jsx)("div",{className:`absolute inset-y-0 left-0 ${e.wowPct>=0?"bg-[#27AE60]/[0.06]":"bg-[#E74C3C]/[0.06]"}`,style:{width:`${Math.abs(e.wowPct)/h*100}%`},"aria-hidden":"true"}),(0,t.jsx)("span",{className:"relative text-[11px] font-mono text-[#a0aec0] w-4",children:s+1}),(0,t.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"text-sm font-bold text-[#1a1a1a] group-hover:text-[#4475e6] transition-colors truncate",children:e.sal}),(0,t.jsx)("div",{className:"text-[11px] text-[#718096] truncate",children:e.sua})]}),(0,t.jsxs)("div",{className:"relative text-right",children:[(0,t.jsx)("div",{className:"text-sm font-mono font-semibold text-[#1a1a1a] tabular-nums",children:o(e.median)}),(0,t.jsxs)("div",{className:"text-[11px] font-mono text-[#a0aec0] tabular-nums",children:[e.wowChange>=0?"+":"−",o(Math.abs(e.wowChange)).slice(1)," wk"]})]}),(0,t.jsxs)("span",{className:`relative flex-shrink-0 inline-flex items-center gap-1 font-mono text-xs font-bold px-2.5 py-1 rounded-md tabular-nums ${e.wowPct>=0?"bg-[#dcfce7] text-[#166534]":"bg-[#fde2e2] text-[#b91c1c]"}`,children:[e.wowPct>=0?"▲":"▼"," ",i(e.wowPct)]})]},e.sal))}),(0,t.jsxs)("div",{className:"px-5 py-3 border-t border-[#e2e8f0] flex items-center justify-between bg-[#f8fafc]",children:[(0,t.jsx)("span",{className:"text-[11px] text-[#a0aec0]",children:"Smart Median, houses"}),(0,t.jsx)(a.default,{href:"/top-growth-suburbs",className:"text-sm font-semibold text-[#4475e6] hover:underline no-underline",children:"Full weekly growth report →"})]})]})]})}])},184962,e=>{"use strict";var t=e.i(843476),s=e.i(271645);e.s(["default",0,function({offerId:e,placement:r}){let a=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let t=a.current;if(!t||"u"<typeof IntersectionObserver)return;let s=t.parentElement?.querySelector("[data-internal-ad]");if(!s)return;let n=!1,o=new IntersectionObserver(t=>{n||t.some(e=>e.isIntersecting&&(e.intersectionRatio>=.5||e.intersectionRect.height>=(e.rootBounds?.height??1/0)*.5))&&(n=!0,o.disconnect(),fetch("/api/ads/view",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({offerId:e,placement:r,path:window.location.pathname,isTest:"1"===new URLSearchParams(window.location.search).get("ad_test")}),keepalive:!0}
6).catch(()=>{}))},{threshold:[0,.25,.5,.75,1]});return o.observe(s),()=>o.disconnect()},[e,r]),(0,t.jsx)("span",{ref:a,"aria-hidden":!0,style:{display:"none"}})}])},184910,e=>{"use strict";var t=e.i(843476),s=e.i(271645);function r(){return window.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1}function a(e){let t=e.getBoundingClientRect();return t.top<window.innerHeight&&t.bottom>0}function n({children:e,className:o="",hiddenClass:i="opacity-0 translate-y-6",visibleClass:l="opacity-100 translate-y-0",threshold:c=.1}){let d=(0,s.useRef)(null),[u,h]=(0,s.useState)("initial");return(0,s.useEffect)(()=>{let e=d.current;if(!e)return;if(r()||a(e))return void h("visible");h("hidden");let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(h("visible"),t.disconnect())},{threshold:c});return t.observe(e),()=>t.disconnect()},[c]),(0,t.jsx)("div",{ref:d,className:`transition-all duration-700 ${"initial"===u?"":"hidden"===u?i:l} ${o}`,children:e})}function o({rootClass:e="hpv",threshold:t=.12}){return(0,s.useEffect)(()=>{let s=document.querySelector(`.${e}`);if(!s||r())return;let n=Array.from(s.querySelectorAll(".section")),o=[];for(let e of n)a(e)?e.classList.add("in"):o.push(e);s.classList.add("js");let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(t.target.classList.add("in"),i.unobserve(t.target))},{threshold:t});for(let e of o)i.observe(e);return()=>{for(let e of(i.disconnect(),s.classList.remove("js"),n))e.classList.remove("in")}},[e,t]),null}e.s(["ScrollReveal",0,function(e){return void 0!==e.children?(0,t.jsx)(n,{...e}):(0,t.jsx)(o,{...e})}])},769486,e=>{"use strict";var t=e.i(843476),s=e.i(271645),r=e.i(831761);function a({placeholder:e="Search...",value:n,onChange:o,onSearch:i,onSelect:l,results:c=[],isLoading:d=!1,showResultsOnFocus:u=!0,debounceMs:h=300,minChars:m=2,size:x="md",variant:p="default",className:f="",renderDropdown:g,showDropdown:b,badges:w=[],onRemoveBadge:y,toolName:v,toolDescription:j,toolParamDescription:N}){let S=v&&j?{"tool-name":v,"tool-description":j,...N?{"tool-param-description":N}:{}}:{},[k,C]=(0,s.useState)(""),[$,W]=(0,s.useState)(!1),[B,E]=(0,s.useState)(!1),[A,P]=(0,s.useState)(!1),L=(0,s.useRef)(null),R=(0,s.useRef)(null),_=(0,s.useRef)(null),I=(0,s.useRef)(void 0),M=void 0!==n?n:k,q=void 0!==b?b:B,T=(0,s.useCallback)(e=>{let t=e.target.value;void 0===n&&C(t),o?.(t),I.current&&clearTimeout(I.current),t.length>=m&&(I.current=setTimeout(()=>{i?.(t)},h))},[n,o,i,h,m]),U=(0,s.useCallback)(()=>{E(!1),W(!1)},[]);(0,s.useEffect)(()=>{let e=e=>{R.current&&!R.current.contains(e.target)&&U()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[U]),(0,s.useEffect)(()=>{void 0===b&&($&&M.length>=m&&(c.length>0||d)?E(!0):!u&&M.length<m&&E(!1))},[$,M,c,d,u,m,b]);let H=w.length>0;return(0,s.useEffect)(()=>{let e=e=>{_.current&&!_.current.contains(e.target)&&P(!1)};if(A)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[A]),(0,t.jsxs)("div",{className:`relative ${f}`,ref:R,children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("svg",{className:`absolute top-1/2 -translate-y-1/2 text-gray-400 z-10 ${{sm:"h-4 w-4 left-3",md:"h-5 w-5 left-3.5",lg:"h-6 w-6 left-4"}[x]}`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,t.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{ref:L,type:"text",...S,value:M,onChange:T,onFocus:()=>{W(!0),u&&M.length>=m&&(E(!0),i?.(M))},onClick:()=>{W(!0),u&&M.length>=m&&(E(!0),i?.(M))},placeholder:e,className:`
7              w-full bg-white transition-all duration-200
8              ${"hero"===p?"rounded-lg border-0 shadow-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-[#4475e6] text-gray-800":"rounded-xl border border-gray-300 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-[#4475e6]/20 focus:border-[#4475e6]"}
9              ${H?"lg"===x?"h-14 text-lg pl-44 pr-5":"md"===x?"h-11 text-base pl-40 pr-4":"h-9 text-sm pl-36 pr-4":({sm:"h-9 text-sm pl-9 pr-4",md:"h-11 text-base pl-11 pr-4",lg:"h-14 text-lg pl-12 pr-5"})[x]}
10            `}),H&&(0,t.jsxs)("div",{className:`absolute top-1/2 -translate-y-1/2 ${"lg"===x?"left-12":"md"===x?"left-11":"left-10"}`,ref:_,children:[(0,t.jsxs)("button",{onClick:e=>{e.stopPropagation(),P(!A)},className:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium bg-[#4475e6] text-white hover:bg-[#3361d1] transition-colors -mr-6",children:[w.length," location",1!==w.length?"s":"",(0,t.jsx)("svg",{className:`h-4 w-4 transition-transform ${A?"rotate-180":""}`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})]}),A&&(0,t.jsx)("div",{className:"absolute z-50 top-full mt-2 left-0 bg-white rounded-lg shadow-lg border border-gray-200 min-w-[250px] max-h-[300px] overflow-y-auto",children:(0,t.jsx)("div",{className:"p-2",children:w.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 px-3 py-2 hover:bg-gray-50 rounded-md group",children:[(0,t.jsx)("span",{className:"text-sm text-gray-700 flex-1 truncate text-left",children:e.label}),y&&(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),y(e.id)},className:"p-1 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded transition-colors","aria-label":`Remove ${e.label}`,children:(0,t.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,t.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},e.id))})})]})]}),d&&(0,t.jsx)("div",{className:"absolute right-3 top-1/2 -translate-y-1/2",children:(0,t.jsx)(r.Spinner,{size:"sm"})}),M&&!d&&(0,t.jsx)("button",{onClick:()=>{void 0===n&&C(""),o?.(""),L.current?.focus()},className:"absolute right-3 top-1/2 -translate-y-1/2 p-1 text-gray-400 hover:text-gray-600",children:(0,t.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,t.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,t.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),g?g({isOpen:q,onClose:U}):q&&(0,t.jsx)("div",{className:"absolute z-50 w-full mt-2 py-2 bg-white rounded-xl shadow-lg border border-gray-200 max-h-80 overflow-y-auto",children:d&&0===c.length?(0,t.jsxs)("div",{className:"px-4 py-6 text-center text-gray-500",children:[(0,t.jsx)(r.Spinner,{size:"md",className:"mx-auto mb-2"}),(0,t.jsx)("p",{className:"text-sm",children:"Searching..."})]}):c.length>0?c.map(e=>(0,t.jsxs)("button",{onMouseDown:t=>{t.preventDefault(),l?.(e),E(!1),void 0===n&&C("")},className:"w-full flex items-center gap-3 px-4 py-2.5 text-left hover:bg-gray-50 transition-colors",children:[e.icon&&(0,t.jsx)("span",{className:"text-gray-400 shrink-0",children:e.icon}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-gray-900 truncate",children:e.title}),e.subtitle&&(0,t.jsx)("div",{className:"text-xs text-gray-500 truncate",children:e.subt
10itle})]}),e.type&&(0,t.jsx)("span",{className:`text-[10px] font-medium px-2 py-0.5 rounded-full uppercase shrink-0 ${"Property"===e.type?"text-emerald-700 bg-emerald-50":"Question"===e.type?"text-amber-700 bg-amber-50":"text-[#4475e6] bg-[#f0f5ff]"}`,children:e.type})]},e.id)):M.length>=m?(0,t.jsx)("div",{className:"px-4 py-6 text-center text-gray-500",children:(0,t.jsx)("p",{className:"text-sm",children:"No results found"})}):null})]})}e.s(["SearchBar",0,a,"UniversalSearch",0,function({onPropertySelect:e,onSuburbSelect:r,className:n=""}){let[o,i]=(0,s.useState)(""),[l,c]=(0,s.useState)([]),[d,u]=(0,s.useState)(!1),h=async e=>{if(!(e.length<2)){u(!0);try{let s=await fetch(`/api/suburb/search?q=${encodeURIComponent(e)}`);if(s.ok){let e=((await s.json()).suburbs||[]).slice(0,8).map(e=>({id:e.sal,title:e.sal,subtitle:e.state,type:"Suburb",icon:(0,t.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("polygon",{points:"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"})})}));c(e)}}catch(e){console.error("Search error:",e)}finally{u(!1)}}};return(0,t.jsx)(a,{placeholder:"Search suburbs or properties...",value:o,onChange:i,onSearch:h,onSelect:t=>{"Suburb"===t.type?r?.(t.title):"Property"===t.type&&e?.(t.title),i(""),c([])},results:l,isLoading:d,size:"md",className:n})}])},831761,e=>{"use strict";var t=e.i(843476);function s({size:e="md",color:r="primary",className:a=""}){return(0,t.jsxs)("svg",{className:`animate-spin ${{sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8",xl:"h-12 w-12"}[e]} ${{primary:"text-[#4475e6]",white:"text-white",gray:"text-gray-400"}[r]} ${a}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,t.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}e.s(["InlineLoading",0,function({text:e="Loading",className:r=""}){return(0,t.jsxs)("div",{className:`inline-flex items-center gap-2 text-gray-500 ${r}`,children:[(0,t.jsx)(s,{size:"sm",color:"gray"}),(0,t.jsx)("span",{className:"text-sm",children:e})]})},"LoadingScreen",0,function({message:e="Loading...",className:r=""}){return(0,t.jsxs)("div",{className:`flex flex-col items-center justify-center min-h-[400px] ${r}`,children:[(0,t.jsx)(s,{size:"xl"}),(0,t.jsx)("p",{className:"mt-4 text-gray-500",children:e})]})},"Spinner",0,s])},422550,e=>{"use strict";var t=e.i(271645);e.s(["useSnapshotDates",0,function(){let[e,s]=(0,t.useState)([]),[r,a]=(0,t.useState)(!0);return(0,t.useEffect)(()=>{fetch("/api/suburb/growth?dates=1").then(e=>e.json()).then(e=>s(e.dates||[])).catch(()=>s([])).finally(()=>a(!1))},[]),{dates:e,loading:r}},"useSuburbGrowth",0,function(e){let[s,r]=(0,t.useState)(null),[a,n]=(0,t.useState)(!0),[o,i]=(0,t.useState)(null);return(0,t.useEffect)(()=>{let t=!1;return n(!0),i(null),fetch(e?`/api/suburb/growth?date=${e}`:"/api/suburb/growth").then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{t||r(e)}).catch(e=>{t||i(e.message)}).finally(()=>{t||n(!1)}),()=>{t=!0}},[e]),{data:s,loading:a,error:o}}])},731528,e=>{"use strict";var t=e.i(843476),s=e.i(271645),r=e.i(534066);e.s(["WhitelabelBrandingToggle",0,function({checked:e,onChange:s,brandName:r,className:a="flex items-center gap-2 text-sm text-[#4A5568] mb-3 cursor-pointer select-none"}){return(0,t.jsxs)("label",{className:a,children:[(0,t.jsx)("input",{type:"checkbox",checked:e,onChange:e=>s(e.target.checked),className:"h-4 w-4 accent-[#4475e6]"}),(0,t.jsxs)("span",{children:["Whitelabel this report as ",(0,t.jsx)("span",{className:"font-semibold",children:r})]})]})},"useWhitelabelBranding",0,function(e){let{isWhitelabeled:t,brandName:a,config:n}=(0,r.useWhitelabel)(),[o,i]=(0,s.useState)(e),l=n?.clientName,c=t&&o&&!!l,d=t?c&&l?`client=${encodeURIComponent(l)}`:"client=mib":"";return{isWhitelabeled:t,brandName:a,config:n,branded:o,setBranded:i,brandLink:c,withClient:(0,s.useCallback)(e=>d?`${e}${e.includes("?")?"&":"?"}${d}`:e,[d])}}])}]);

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.