1import{g as te,s as oe}from"../chunks/CntbUugB.js";import{f as pe}from"../chunks/8YmsIg01.js";import{b as Ne,c as Me}from"../chunks/a0BWeT_s.js";import{o as $e}from"../chunks/QlQaxIua.js";import{g as ze,c as Oe,b as De,S as Ke,N as Ge,d as Ie,P as Re,T as qe,C as Be,B as Fe,a as Ae,M as Ee,G as He,e as Qe,I as Je}from"../chunks/Ym6BVo89.js";import{n as je}from"../chunks/CGFi2MRh.js";import{p as o}from"../chunks/BijD2EwC.js";import{a as be,f as Te,c as Le}from"../chunks/CTwOk17h.js";import"../chunks/DGfogMXM.js";import{b7 as Ue,a$ as se,bz as g,bk as Ve,aS as We,aT as Xe,ao as me,bD as Ye,b4 as Ze,bx as ue,br as er,aq as f,bt as t,a3 as ne,bj as V,bd as ie,bH as W,ah as rr}from"../chunks/C367VU0h.js";import{e as le}from"../chunks/Dxn4OkbU.js";import{i as ar}from"../chunks/CsgzcBh5.js";import{s as tr}from"../chunks/BUnsPjao.js";import{s as de}from"../chunks/BmVoaol-.js";import{b as or}from"../chunks/73awg5xD.js";import{i as sr}from"../chunks/W1T5VtJV.js";import{p as nr}from"../chunks/Ca7gGIoa.js";import{M as ir,m as lr,a as dr}from"../chunks/Do4IhZXw.js";import{I as cr,S as gr,K as pr}from"../chunks/Dfd6NaIE.js";import{m as ce,b as Se,d as M,k as br,v as Pe,h as mr,c as ur}from"../chunks/PYTajayq.js";import{g as i}from"../chunks/C6wETqX3.js";const fr=!0;async function vr(){const X="buildings",O="kvarter",l="faser",Y="calcs";let s=te(X),v=te(O),h=te(l);const ge='*[_type == "byggetapp"]';s||(s=await pe(Ne),oe(X,s)),v||(v=await pe(Me),oe(O,v)),h||(h=await pe(ge),oe(l,h));let z=te(Y);if(!z){const n=[2];let e=[...new Set(s.map(d=>d.details.sunproject))];const c=s.map(d=>d.details.sunactual).filter(Number),P=c.length>0?c.reduce((d,b)=>d+b,0)/c.length:0,T=e.concat(c,n),_=Math.max(...T.filter(Number)),m=[55,90];let C=[...new Set(s.map(d=>d.details.energyproject))];const p=s.map(d=>d.details.energyactual).filter(Number),x=p.length>0?p.reduce((d,b)=>d+b,0)/p.length:0,w=C.concat(p,m),k=Math.max(...w.filter(Number));z={solkrav:n,solaravg:P,solarmax:_,energykrav:m,energyavg:x,energymax:k},oe(Y,z)}const j={...$e,features:$e.features.map(n=>{var c,P,T,_,m,C,p,x,w,k,d,b,D,ee,re,a,r,u,N,y,$,K,G,I,R,q,B,F,A,E,H,Q,J,L,U,ae,fe,ve,ke,ye,he,_e,xe,we;const e=s.find(Ce=>Ce.mapid===n.properties.mapid);return e?{...n,properties:{...n.properties,status:(c=e.details)==null?void 0:c.status,bikes:(P=e.details)==null?void 0:P.bikes,indoor:(T=e.details)==null?void 0:T.indoor,energykrav:((_=e.details)==null?void 0:_.energykrav)||55,bbrkrav:((m=e.details)==null?void 0:m.bbrkrav)||90,energyactual:((C=e.details)==null?void 0:C.energynds25)??((p=e.details)==null?void 0:p.energynds24)??((x=e.details)==null?void 0:x.energyactual),energyactualPrev:((w=e.details)==null?void 0:w.energynds25)!=null?((k=e.details)==null?void 0:k.energynds24)??((d=e.details)==null?void 0:d.energyactual):((b=e.details)==null?void 0:b.energynds24)!=null?(D=e.details)==null?void 0:D.energyactual:null,energyproject:((ee=e.details)==null?void 0:ee.energynds25proj)??((re=e.details)==null?void 0:re.energynds24proj)??((a=e.details)==null?void 0:a.energyprojectnds)??((r=e.details)==null?void 0:r.energyproject),energybbr:((u=e.details)==null?void 0:u.energybbr25)??((N=e.details)==null?void 0:N.energybbr24)??((y=e.details)==null?void 0:y.energybbr),energybbrPrev:(($=e.details)==null?void 0:$.energybbr25)!=null?((K=e.details)==null?void 0:K.energybbr24)??((G=e.details)==null?void 0:G.energybbr):((I=e.details)==null?void 0:I.energybbr24)!=null?(R=e.details)==null?void 0:R.energybbr:null,sunactual:((q=e.details)==null?void 0:q.sunactual25)??((B=e.details)==null?void 0:B.sunactual24)??((F=e.details)==null?void 0:F.sunactual),sunactualPrev:((A=e.details)==null?void 0:A.sunactual25)!=null?((E=e.details)==null?void 0:E.sunactual24)??((H=e.details)==null?void 0:H.sunactual):((Q=e.details)==null?void 0:Q.sunactual24)!=null?(J=e.details)==null?void 0:J.sunactual:null,sunproject:((L=e.details)==null?void 0:L.sunproject25)??((U=e.details)==null?void 0:U.sunproject24)??((ae=e.details)==null?void 0:ae.sunproject),gyfsingle:(fe=e.details)==null?void 0:fe.gyfsingle,gyf:(ve=e.kvarter)==null?void 0:ve.gyf,gyfkrav:((ke=e.kvarter)==null?void 0:ke.gyfkrav)||.6,kvarter:(ye=e.kvarter)==null?void 0:ye.title,kvarterid:(he=e.kvarter)==null?void 0:he.gyfid,lat:(_e=e.location)==null?void 0:_e.lat,lng:(xe=e.location)==null?void 0:xe.lng,etapp:(we=e.etapp)==null?void 0:we.mapid}}:n})},Z={...ze,features:ze.features.map(n=>{const e=v.find(c=>c.kvarterid===n.properties.kvarterid);return e?{...n,properties:{...n.properties,gyfkrav:e.gyfkrav?e.gyfkrav:.6,gyf:e.gyf?e.gyf:null,title:e.title}}:n})},S={...je,features:je.features.map(n=>{const e=h.find(c=>c.mapid===n.properties.mapid);return e?{...n,properties:{...n.properties,status:e.status}}:n})};return{buildings:s,calculations:z,faser:h,merged_buildings:j,merged_kvarters:Z,merged_faser:S,locale:"en",entwin:"/karta",rezoom:o.start.zoom,recenter:o.start.center,meta:{pagetitle:"City development map",description:"A visualisation of the Royal Seaport - one of Europe's largest urban development. Sustainable development report on a map.",locimage:"map.png"}}}const Fr=Object.freeze(Object.defineProperty({__proto__:null,load:vr,prerender:fr},Symbol.toStringTag,{value:"Module"}));var kr=Te("<!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!>",1),yr=Te(`<div class="mapholder"><style lang="scss">@font-face { 2 font-family: "stockholm"; 3 src: url("/fonts/st-b.otf"); 4 font-weight: bold; 5 font-style: normal; 6 font-display: block; 7} 8@font-face { 9 font-family: "stockholm"; 10 src: url("/fonts/st-r.otf"); 11 font-weight: normal; 12 font-style: normal; 13 font-display: block; 14} 15nav h5 { 16 font-size: 0.847rem; 17 margin: 0.847rem 0 0.5rem; 18 text-transform: uppercase; 19 letter-spacing: 0.08rem; 20 color: var(--accent); 21} 22 23.mapholder { 24 height: calc(100vh - 80px); 25 position: fixed; 26 right: 0; 27 bottom: 0; 28 width: 100%; 29} 30 31.color { 32 margin-bottom: 0.4rem; 33 font-size: 0.847rem; 34} 35.color:last-of-type { 36 margin-bottom: 1rem; 37} 38 39h1, h3 { 40 font-weight: normal; 41} 42 43h1 { 44 font-size: 1.521rem; 45} 46 47h2 { 48 font-size: 1.322rem; 49} 50 51h3 { 52 font-size: 1.15rem; 53 margin-bottom: 0.25rem; 54} 55 56.dot { 57 height: 1rem; 58 width: 1rem; 59 margin-right: 0.6rem; 60 position: relative; 61 top: 2px; 62 border-radius: 0.87rem; 63 display: inline-block; 64} 65 66.shp { 67 height: 0.847rem; 68 width: 2rem; 69 margin-right: 0.5rem; 70 background: #fff; 71} 72 73.tabs { 74 display: grid; 75 grid-template-columns: 1fr 1fr; 76 border: 1px solid var(--accent); 77} 78.tabs .t { 79 text-align: center; 80 cursor: pointer; 81 padding: 0.5rem 0 0.2rem; 82 background: var(--bg); 83} 84.tabs .t span { 85 font-size: 1.7rem; 86 line-height: 1rem; 87 margin-right: 0.5rem; 88} 89.tabs .t:hover { 90 background: var(--contrastbg); 91} 92.tabs .t.active { 93 background: var(--accent); 94 color: #fff; 95} 96 97i { 98 display: inline-block; 99} 100i.dashedgreen { 101 border: 1px dashed rgb(0, 153, 145); 102 background: rgba(0, 153, 145, 0.25); 103} 104i.dashedfri { 105 border: 2px dashed rgb(0, 127, 200); 106 background: var(--contrastbg); 107} 108i.dashedgas { 109 border: 2px dashed rgb(118, 54, 140); 110} 111i.dashedbro { 112 border: 3px solid rgb(0, 127, 200); 113} 114i.dashedred { 115 border: 1px dashed rgb(238, 60, 72); 116 background: rgba(238, 60, 72, 0.25); 117} 118i.dashedyellow { 119 border: 1px dashed rgb(252, 202, 50); 120 background: rgba(252, 202, 50, 0.2); 121} 122i.park { 123 background: #76ce7e; 124} 125i.green { 126 background: rgb(0, 153, 145); 127 border: 1px solid rgba(0, 0, 0, 0.15); 128} 129i.yellow { 130 background: rgb(252, 202, 50); 131 border: 1px solid rgba(0, 0, 0, 0.15); 132} 133i.orange { 134 background: rgb(233, 80, 14); 135 opacity: 0.7; 136 border: 1px solid rgba(0, 0, 0, 0.25); 137} 138i.heart { 139 background: rgb(0, 131, 124); 140} 141i.np { 142 background: #76ce7e; 143} 144i.done { 145 background: rgba(0, 110, 191, 0.7); 146 border: 1px solid rgb(0, 110, 191); 147} 148i.donestat { 149 background: rgba(0, 131, 124, 0.6); 150 border: 1px solid rgb(0, 131, 124); 151} 152i.plan { 153 background: rgba(255, 226, 4, 0.6); 154 border: 1px solid rgb(223, 197, 3); 155} 156i.early { 157 background: rgba(168, 166, 155, 0.6); 158 border: 1px solid rgb(162, 161, 150); 159} 160i.build { 161 background: rgba(252, 12, 136, 0.6); 162 border: 1px solid rgb(252, 12, 136); 163} 164i.grocery { 165 background: rgb(0, 110, 191); 166 border-color: rgb(0, 110, 191); 167} 168i.school { 169 background: rgb(93, 35, 125); 170 border-color: rgb(93, 35, 125); 171} 172i.recycle { 173 background: rgb(201, 71, 45); 174 border-color: rgb(201, 71, 45); 175} 176i.fsk { 177 background: rgb(196, 0, 100); 178 border-color: rgb(196, 0, 100); 179} 180i.gray { 181 background: rgba(214, 211, 204, 0.9); 182 border: 1px solid rgb(214, 211, 204); 183} 184i.plusenergy { 185 background: rgba(93, 35, 125, 0.6); 186 border: 1px solid rgb(93, 35, 125); 187} 188i.excellent { 189 background: rgba(0, 205, 76, 0.6); 190 border: 1px solid rgb(0, 205, 76); 191} 192i.warn { 193 background: rgba(238, 60, 72, 0.6); 194 border: 1px solid rgb(238, 60, 72); 195} 196 197@media screen and (max-width: 700px) { 198 .mapholder { 199 height: calc(100vh - 130px); 200 position: fixed; 201 right: 0; 202 bottom: 70px; 203 width: 100vw; 204 } 205} 206@media print { 207 .mapholder { 208 page-break-inside: avoid; 209 height: auto; 210 } 211 i { 212 display: inline-block; 213 } 214 i.build { 215 background: rgba(252, 12, 136, 0.6); 216 border: 1px solid rgb(252, 12, 136); 217 } 218 i.grocery { 219 background: rgb(0, 110, 191) !important; 220 border-color: rgb(0, 110, 191); 221 } 222 i.school { 223 background: rgb(93, 35, 125) !important; 224 border-color: rgb(93, 35, 125); 225 } 226 i.recycle { 227 background: rgb(201, 71, 45); 228 border-color: rgb(201, 71, 45); 229 } 230 i.fsk { 231 background: rgb(196, 0, 100) !important; 232 border-color: rgb(196, 0, 100); 233 } 234}</style> <!></div> <div class="onmapnav svelte-1boyg0c"><nav><ul class="svelte-1boyg0c"><li><span>The area</span></li> <li><span>Property developers</span></li> <li><span>Five-minute city</span></li> <li><span>Green spaces</span></li></ul></nav></div> <!>`,1);function Ar(X,O){Ue(O,!1);const l=()=>ue(nr,"$page",v),Y=()=>ue(ce,"$mapinfo",v),s=()=>ue(M,"$currentbuilder",v),[v,h]=er(),{NavigationControl:ge,ScaleControl:z}=dr;let j=se(l().data.recenter),Z=se(l().data.rezoom);l().data.recenter;let S=se();g(ce,"start");let n=se(s());function e(){if(s()===void 0||s()===""){g(M,"");return}let a=l().data.buildings.find(r=>r.mapid===s())||{};g(Se,"build"),a.location&&V(j,{lat:a.location.lat,lng:a.location.lng-.001}),f(S).flyTo({center:f(j),zoom:16.5,essential:!0})}function c(a){g(Se,a),g(ce,"detail");let r=o.restart;switch(a){case"fas":g(ur,""),i("/map");break;case"groof":r=o.groof,i("/map/greenspace/green-roof");break;case"park":r=o.groof,i("/map/greenspace/parks");break;case"oas":r=o.groof,i("/map/greenspace/oasis");break;case"socio":r=o.social,i("/map/greenspace/social");break;case"tree":g(mr,""),r=o.trees,i("/map/greenspace/trees");break;case"greenspace":r=o.spread,i("/map/greenspace");break;case"spread":r=o.spread,i("/map/greenspace");break;case"transport":g(Pe,""),r=o.transport,i("/map/transport");break;
234case"service":g(Pe,""),r=o.transport,i("/map/transport");break;case"kollektivt":g(br,""),r=o.social,i("/map/transport/public");break;case"carpool":r=o.trees,i("/map/transport/carpool");break;case"developers":g(M,""),r=o.developers,i("/map/developers");break;case"developerstate":s()||(r=o.developers),i("/map/developers");break;case"energi":s()||(r=o.energy),i("/map/developers/energy");break;case"senergi":s()||(r=o.solar),i("/map/developers/solar");break;case"sroof":r=o.sun,g(M,""),i("/map/developers/roof");break;case"list":g(M,""),r=o.list,i("/map/developers/list");break;case"markrening":r=o.mark,g(M,""),i("/map/soil-remediation");break;case"gyf":r=o.gyf,i("/map/developers/gsi");break}s()||f(S).flyTo({center:r.center,zoom:r.zoom,essential:!0})}Ve("mapActivate",c);function P({detail:a}){V(j,a.center)}function T({detail:a}){a.center}We(()=>(f(n),s()),()=>{f(n)!=s()&&(e(),V(n,s()))}),Xe(),sr();var _=yr(),m=me(_),C=t(ne(m),2);or(ir(C,{get accessToken(){return lr},get center(){return f(j)},get zoom(){return f(Z)},set zoom(a){V(Z,a)},$$events:{recentre:P,drag:T},children:(a,r)=>{var u=kr(),N=me(u);Oe(N,{});var y=t(N,2);De(y,{});var $=t(y,2);Ke($,{});var K=t($,2);Ge(K,{});var G=t(K,2);Ie(G,{});var I=t(G,2);Re(I,{});var R=t(I,2);qe(R,{});var q=t(R,2);cr(q,{});var B=t(q,2);gr(B,{});var F=t(B,2);Be(F,{});var A=t(F,2);pr(A,{});var E=t(A,2);Fe(E,{});var H=t(E,2);Ae(H,{});var Q=t(H,2);Ee(Q,{});var J=t(Q,2);He(J,{});var L=t(J,2);Qe(L,{});var U=t(L,2);ge(U,{});var ae=t(U,2);z(ae,{}),be(a,u)},$$slots:{default:!0},$$legacy:!0}),a=>V(S,a),()=>f(S)),ie(m);var p=t(m,2),x=ne(p),w=ne(x),k=ne(w),d=t(k,2),b=t(d,2),D=t(b,2);ie(w),ie(x),ie(p);var ee=t(p,2);{var re=a=>{{let r=rr(()=>(l(),W(()=>l().data.path==="/map/developers/list")));Je(a,{get wide(){return f(r)},$$events:{close:()=>g(ce,"")},children:(u,N)=>{var y=Le(),$=me(y);tr($,O,"default",{}),be(u,y)},$$slots:{default:!0}})}};ar(ee,a=>{Y()&&a(re)})}Ye((a,r,u)=>{de(k,1,(l(),W(()=>l().data.path==="/map"||l().data.path==="/map/soil-remediation"?"active":"")),"svelte-1boyg0c"),de(d,1,a,"svelte-1boyg0c"),de(b,1,r,"svelte-1boyg0c"),de(D,1,u,"svelte-1boyg0c")},[()=>(l(),W(()=>l().data.path.includes("/developers")?"active":"")),()=>(l(),W(()=>l().data.path.includes("/transport")?"active":"")),()=>(l(),W(()=>l().data.path.includes("/greenspace")?"active":""))]),le("mousedown",k,()=>c("fas")),le("mousedown",d,()=>c("developers")),le("mousedown",b,()=>c("transport")),le("mousedown",D,()=>c("greenspace")),be(X,_),Ze(),h()}export{Ar as component,Fr as universal};
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.