1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BKh9Z9LU.js","./CIlsd43Y.js","./entry.DtWLzcSF.css","./D6Bnfep7.js","./karten-tiles.Yb9kWmzE.css","./rIHos1g9.js","./BQ6wUm6E.js","./BDSvxepI.js","./BDzxXPig.js","./CxrwSfTW.js","./DlXh5Vpi.js","./Bd1BaL7e.js","./DlAUqK2U.js","./RegionMap.DZnWd8fl.css"])))=>i.map(i=>d[i]); 2import{d as ge,c as r,F as q,r as pe,o as s,e as n,t as m,f as x,i as E,B as J,s as Y,w as C,b as y,k,a0 as be,at as xe,D as Ie,G as ke,H as He,I as Qe,_ as he,a6 as _e,u as Ze,ay as We,a1 as Je,W as Ye,m as g,a as ue,n as Xe,aH as de,am as et,h as tt,j as nt,aj as lt,l as p,ai as st,ak as ce,al as at,az as ot,q as rt,aA as it,aB as ut,aC as dt}from"./CIlsd43Y.js";import{_ as ct}from"./Bh0lds26.js";import{_ as mt}from"./UoFzmLHx.js";import ye from"./uV0Fadd9.js";import{a as Se,d as ft}from"./BQ6wUm6E.js";import{m as vt,s as me}from"./CxrwSfTW.js";import{_ as gt}from"./B8LR4u8w.js";import{F as pt,N as Z,b as bt,r as xt}from"./rIHos1g9.js";import{r as kt}from"./Da40wmFg.js";import{r as ht,a as _t,b as yt}from"./OPItI1a1.js";import{l as fe,m as St}from"./DcN7jlV2.js";import{d as Lt}from"./DlXh5Vpi.js";import{u as Rt}from"./DeFMN-Hg.js";import{u as wt,d as Et,b as Tt}from"./bpSNn1QH.js";import{u as $t}from"./Bd1BaL7e.js";import"./DlAUqK2U.js";import"./DzSnfrIT.js";import"./BDSvxepI.js";const Kt={class:"divide-border divide-y"},Ct=["onMouseenter"],Ft=["aria-current","onClick","onFocus"],zt={"data-test":"region-rang",class:"text-muted min-w-7 shrink-0 text-center text-xs font-bold"},At={class:"min-w-0 flex-1"},Dt=["title"],Bt={class:"text-foreground shrink-0 text-sm font-bold tabular-nums"},Nt=ge({__name:"RegionRanking",props:{regions:{},selectedCode:{},fuel:{}},emits:["select","hover"],setup(l){const d=l;function R(a){const f=(S,o)=>({to:vt(S,d.fuel),label:o});if(a.length===3){const S=xe[a];return S&&be(S)?f(_e(S),"Zur Ãbersichtsseite"):null}const w=Ie(a);return w?w.stadtSlug?f(ke(w.stadtSlug),"Zur Stadtseite"):He(w.slug)?f(Qe(w),"Zur Kreisseite"):null:null}return(a,f)=>{const w=ye,S=he;return s(),r("ol",Kt,[(s(!0),r(q,null,pe(l.regions,o=>(s(),r("li",{key:o.code,class:"flex items-stretch",onMouseenter:T=>a.$emit("hover",o.code),onMouseleave:f[2]||(f[2]=T=>a.$emit("hover",null))},[n("button",{type:"button",class:J(["hover:bg-surface-muted flex min-h-11 min-w-0 flex-1 items-baseline gap-3 px-3 py-2 text-left transition-colors",l.selectedCode===o.code?"bg-surface-muted":""]),"aria-current":l.selectedCode===o.code?"true":void 0,onClick:T=>a.$emit("select",o.code),onFocus:T=>a.$emit("hover",o.code),onBlur:f[0]||(f[0]=T=>a.$emit("hover",null))},[n("span",zt,m(o.rank),1),n("span",At,[n("span",{class:"text-foreground block truncate text-sm",title:o.name},m(o.name),9,Dt)]),n("span",Bt,[x(m(E(Se)(o.price)),1),f[3]||(f[3]=n("span",{class:"text-muted text-xs font-normal"}," â¬",-1))])],42,Ft),R(o.code)?(s(),Y(S,{key:0,to:R(o.code).to,"data-test":"seiten-link",class:"text-link hover:bg-surface-muted flex w-10 shrink-0 items-center justify-center transition-colors",title:`${R(o.code).label}: ${o.name}`,"aria-label":`${R(o.code).label}: ${o.name}`,onFocus:T=>a.$emit("hover",o.code),onBlur:f[1]||(f[1]=T=>a.$emit("hover",null))},{default:C(()=>[y(w,{name:"lucide:arrow-right",size:"16","aria-hidden":"true"})]),_:1},8,["to","title","aria-label","onFocus"])):k("",!0)],40,Ct))),128))])}}}),Mt=Object.assign(Nt,{__name:"RegionRanking"}),Ot=["e5","e10","diesel"],Ut=["3","1"],jt=["asc","desc"],$={fuel:"diesel",level:"3",sort:"asc"},X=l=>typeof l=="string"?l:void 0,W=(l,d,R)=>{const a=X(l);return a!=null&&d.includes(a)?a:R};function ve(l){return{fuel:W(l.kraftstoff,Ot,$.fuel),level:W(l.ebene,Ut,$.level),sort:W(l.sortierung,jt,$.sort),land:X(l.land)??null,region:X(l.region)??null}}function Vt(l){return`${l.regionName||l.drillLandName||(l.level==="1"?"Bundesländer":"Landkreise")} · ${pt[l.fuel]} · Regionen`}function Pt(l){const d={};return l.fuel!==$.fuel&&(d.kraftstoff=l.fuel),l.level!==$.level&&(d.ebene=l.level),l.sort!==$.sort&&(d.sortierung=l.sort),l.land&&(d.land=l.land),l.region&&(d.region=l.region),d}const qt=it(()=>ut(()=>import("./BKh9Z9LU.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url).then(l=>l.default||l).then(l=>dt(l))),Gt={class:"mx-auto max-w-6xl px-6 py-10"},It=["aria-expanded"],Ht={class:"truncate text-left"},Qt={class:"text-link shrink-0 font-medium"},Zt={key:0,class:"text-muted mb-3 flex items-center gap-1.5 text-sm","aria-label":"Pfad"},Wt={class:"text-foreground font-semibold"},Jt={key:1,"data-test":"land-hub-link",class:"text-muted mb-3 text-sm"},Yt={key:2,"data-test":"land-staedte",class:"text-muted mb-3 text-sm"},Xt={class:"text-muted mb-4 max-w-2xl text-sm"},en={class:"grid gap-4 lg:grid-cols-[300px_1fr]"},tn={class:"border-border bg-surface order-2 max-h-[70vh] overflow-y-auto rounded-xl border lg:order-1"},nn={class:"border-border bg-surface sticky top-0 z-[1] border-b px-3 py-2"},ln={class:"flex flex-wrap items-baseline justify-between gap-x-2"},sn={key:0,"data-test":"daten-stand",class:"text-[11px]"},an={key:0,class:"font-semibold text-foreground",title:"Bei jedem Seitenaufruf aktuell abgerufen"},on={key:1,class:"text-muted tabular-nums"},rn={class:"mt-1.5"},un=["placeholder"],dn={key:0,class:"mt-1.5"},cn={key:1,"data-test":"live-fehler",role:"status",class:"text-muted mt-1.5 text-[11px] leading-snug"},mn=["disabled"],fn={key:0,class:"text-muted p-4 text-sm"},vn={key:1,class:"p-4"},gn={class:"text-muted text-sm"}
2,pn={key:2,class:"text-muted p-4 text-sm"},bn={key:3,"data-test":"region-filter-leer",class:"text-muted p-4 text-sm"},xn={class:"border-border order-1 h-[70vh] overflow-hidden rounded-xl border lg:order-2"},kn={key:0,class:"text-muted flex h-full items-center justify-center p-6 text-sm"},hn={key:0,class:"text-muted flex h-full items-center justify-center p-6 text-sm"},_n={key:1,class:"text-muted flex h-full items-center justify-center p-6 text-center text-sm"},yn={class:"text-muted mt-1 max-w-2xl text-sm"},Sn={class:"font-semibold text-foreground tabular-nums"},Vn=ge({__name:"index",async setup(l){let d,R;const a=Ze(),f=We(),w=Je(),S=[{value:"e5",label:"Super E5"},{value:"e10",label:"Super E10"},{value:"diesel",label:"Diesel"}],o=[{value:"3",label:"Landkreise"},{value:"1",label:"Bundesländer"}],T=[{value:"asc",label:"Günstigste"},{value:"desc",label:"Teuerste"}],{data:M}=([d,R]=Ye(()=>Rt()),d=await d,R(),d),v=g("diesel"),u=g("3"),c=g(null),i=g(null),ee=g(null),K=g("asc"),A=g(M.value?.regions??[]),L=g(A.value.length?"ready":"loading"),te=g("tagesstand"),G=g(!1),D=g(!1),O=M.value?ft(M.value.stand):null,ne=g(""),B=g(!1),F=p(()=>bt(A.value,u.value)),N=p(()=>i.value?Z[i.value]??i.value:null),I=p(()=>i.value?st.filter(e=>e.bundesland===i.value).slice(0,5):[]),le=p(()=>{const e=i.value?xe[i.value]:void 0;return e&&be(e)?_e(e):null}),Le=p(()=>`${S.find(e=>e.value===v.value)?.label??v.value} · ${o.find(e=>e.value===u.value)?.label??u.value}`),Re=p(()=>c.value?F.value.find(e=>e.code===c.value)?.name??null:null),we=p(()=>v.value===$.fuel&&u.value===$.level&&!i.value&&!c.value),Ee=["/tiles/6/20/33.png","/tiles/6/20/34.png","/tiles/6/21/33.png","/tiles/6/21/34.png","/tiles/6/22/33.png","/tiles/6/22/34.png"];ue(()=>({title:we.value?"Kraftstoffpreise nach Region":Vt({fuel:v.value,level:u.value,regionName:Re.value,drillLandName:N.value}),link:Ee.map(e=>({rel:"preload",as:"image",href:e,fetchpriority:"high"}))}));const U=M.value??{stand:"",regions:[]},se=ht(U);ue({meta:[{name:"description",content:se},{property:"og:title",content:"Kraftstoffpreise nach Region"},{property:"og:description",content:se}]});const ae=_t(U),H=yt(U.regions);wt([Et({"@type":"FAQPage"}),...ae.map(e=>Tt({name:e.frage,acceptedAnswer:e.antwort})),...H.length?[{"@type":"Dataset",name:"Median-Kraftstoffpreise je Landkreis und Bundesland in Deutschland",description:"Median-Preise für Diesel, Super E5 und Super E10 je NUTS-3-Region (Landkreise, Kreise, kreisfreie Städte, Stadtkreise und einzelne Sonderformen) sowie aggregiert je Bundesland, berechnet aus den Preismeldungen der Markttransparenzstelle für Kraftstoffe (MTS-K) von Tankstellen im Gebiet der jeweiligen Region.",creator:{"@type":"Organization",name:"Tankerkönig"},license:"https://creativecommons.org/licenses/by-nc-sa/4.0/",isBasedOn:"https://www.bundeskartellamt.de/DE/Aufgaben/MarkttransparenzstelleFuerKraftstoffe/mtsk_node.html",url:"https://creativecommons.tankerkoenig.de",spatialCoverage:"Deutschland",dateModified:U.stand,distribution:[{"@type":"DataDownload",encodingFormat:"application/json",contentUrl:`${w.url}/open-data/spritpreise-regionen.json`}]},{"@type":"ItemList",name:"Bundesländer nach Diesel-Median, günstigste zuerst",itemListOrder:"https://schema.org/ItemListOrderAscending",numberOfItems:H.length,itemListElement:H.map((e,t)=>({"@type":"ListItem",position:t+1,name:`${e.name}: ${Se(e.price)} ⬠pro Liter Diesel (Median)`}))}]:[]]);const Te=p(()=>u.value==="3"&&i.value?F.value.filter(e=>e.code.slice(0,3)===i.value):F.value),j=p(()=>xt(Te.value,v.value)),$e=p(()=>u.value==="1"?"Tipp: Ãber eine Region fahren hebt sie auf der Karte hervor. Klick auf ein Bundesland taucht in seine Landkreise ein.":i.value?'Tipp: Klick auf einen Landkreis zeigt seine Tankstellen. Mit ââ Ganz Deutschland" zurück zum Ãberblick.':"Tipp: Ãber eine Region fahren hebt sie auf der Karte hervor. Klick auf einen Landkreis zeigt seine Tankstellen."),oe=p(()=>{const e=kt(j.value.map(b=>({slug:b.code,median:b.price}))),t=j.value.map(b=>({...b,rank:e.get(b.code)??0}));return K.value==="asc"?t:t.reverse()}),h=g(""),V=p(()=>{const e=ce(h.value.trim());return e?oe.value.filter(t=>ce(t.name).includes(e)):oe.value}),re=at("filterFeld");function Ke(){h.value="",re.value?.focus()}const Ce=p(()=>
2{if(!h.value.trim())return"";const e=V.value.length;return e===1?"1 Region gefunden":`${e} Regionen gefunden`});function ie(e){u.value==="1"?(i.value=e,u.value="3",c.value=null):c.value=e}function Fe(e){u.value=e,c.value=null,i.value=null,h.value=""}function ze(e){v.value=e,St(v.value),c.value=null}function Ae(e){K.value=e}function De(){u.value="1",i.value=null,c.value=null,h.value=""}function Be(){i.value=null,c.value=null,h.value=""}const Ne=["kraftstoff","ebene","sortierung","land","region"];function Me(e){const t=Pt({fuel:v.value,level:u.value,sort:K.value,land:i.value,region:c.value});Ne.every(z=>{const P=a.query[z];return(typeof P=="string"?P:void 0)===t[z]})||f[e?"push":"replace"]({query:t})}function Oe(){const e=ve(a.query);v.value=me(a.query.kraftstoff)??fe(),u.value=e.level,K.value=e.sort,i.value=e.land&&e.level==="3"&&Z[e.land]?e.land:null,c.value=e.region&&F.value.some(t=>t.code===e.region)?e.region:null}async function Q(){if(D.value)return;D.value=!0;const e=A.value.length>0;e||(L.value="loading"),G.value=!1;try{A.value=await $t().getGeoRegions(),te.value="live",L.value="ready"}catch(t){e?G.value=!0:(ne.value=Lt(t),L.value="error")}finally{D.value=!1}}return Xe(async()=>{const e=ve(a.query);v.value=me(a.query.kraftstoff)??fe(),u.value=e.level,K.value=e.sort,await Q(),e.land&&e.level==="3"&&Z[e.land]&&(i.value=e.land),e.region&&F.value.some(t=>t.code===e.region)&&(c.value=e.region),de([v,u,K,i,c],([,,,t],[,,,b])=>{Me(t!==b)}),de(()=>a.query,Oe)}),(e,t)=>{const b=ct,z=he,P=mt,Ue=ye,je=Mt,Ve=qt,Pe=ot,qe=gt;return s(),r("div",Gt,[t[19]||(t[19]=n("h1",{class:"text-h1 mb-2"},"Kraftstoffpreise nach Region",-1)),t[20]||(t[20]=n("p",{class:"text-foreground mb-6 max-w-2xl text-sm"}," Wo ist Tanken gerade günstig, wo teuer? Die Karte färbt jede Region nach ihrem Median-Preis ein. Vergleich die Preise quer durchs Land oder tauch in ein Bundesland ein und sieh dir seine Landkreise im Detail an. Grundlage sind die Rohdaten der Markttransparenzstelle für Kraftstoffe (MTS-K). ",-1)),n("button",{type:"button",class:"border-border bg-surface text-foreground mb-4 flex min-h-11 w-full items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm lg:hidden","aria-expanded":B.value?"true":"false",onClick:t[0]||(t[0]=_=>B.value=!B.value)},[n("span",Ht,[t[6]||(t[6]=n("span",{class:"text-muted"},"Auswahl:",-1)),x(" "+m(Le.value),1)]),n("span",Qt,m(B.value?"SchlieÃen":"Ãndern"),1)],8,It),n("div",{class:J([B.value?"flex":"hidden","mb-5 flex-wrap items-end gap-x-6 gap-y-3 lg:flex"])},[n("div",null,[t[7]||(t[7]=n("span",{class:"text-muted mb-1 block text-sm"},"Kraftstoff",-1)),y(b,{"model-value":v.value,options:S,"aria-label":"Kraftstoff",variant:"toggle","onUpdate:modelValue":ze},null,8,["model-value"])]),n("div",null,[t[8]||(t[8]=n("span",{class:"text-muted mb-1 block text-sm"},"Regionen",-1)),y(b,{"model-value":u.value,options:o,"aria-label":"Regionen-Ebene",variant:"toggle","onUpdate:modelValue":Fe},null,8,["model-value"])])],2),N.value?(s(),r("nav",Zt,[n("button",{type:"button",class:"text-link font-semibold hover:underline",onClick:De},"Bundesländer"),t[9]||(t[9]=n("span",{"aria-hidden":"true"},"âº",-1)),n("span",Wt,m(N.value)+" · Landkreise",1)])):k("",!0),le.value?(s(),r("p",Jt,[y(z,{to:le.value,class:"text-link underline underline-offset-2"},{default:C(()=>[x(" Alle Regionen "+m(E(rt)(N.value??""))+" im Tabellen-Vergleich (mit Detailseiten) ",1)]),_:1},8,["to"])])):k("",!0),N.value&&I.value.length?(s(),r("p",Yt,[t[11]||(t[11]=x(" Spritpreise in GroÃstädten: ",-1)),(s(!0),r(q,null,pe(I.value,(_,Ge)=>(s(),r(q,{key:_.slug},[y(z,{to:E(ke)(_.slug),class:"text-link underline underline-offset-2"},{default:C(()=>[x(m(_.name),1)]),_:2},1032,["to"]),Ge<I.value.length-1?(s(),r(q,{key:0},[x(" · ")],64)):k("",!0)],64))),128)),t[12]||(t[12]=x(" · ",-1)),y(z,{to:E(et),class:"text-link underline underline-offset-2"},{default:C(()=>[...t[10]||(t[10]=[x("alle Städte",-1)])]),_:1},8,["to"])])):k("",!0),n("p",Xt,m($e.value),1),n("div",en,[n("div",tn,[n("div",nn,[n("div",ln,[t[15]||(t[15]=n("h2",{class:"text-muted text-xs font-bold uppercase tracking-wide"},"Regionen",-1)),L.value==="ready"?(s(),r("p",sn,[te.value==="live"?(s(),r("span",an,[y(P),t[13]||(t[13]=x("Live",-1)),t[14]||(t[14]=n("span",{class:"sr-only"}," · bei jedem Seitenaufruf aktuell abgerufen",-1))])):E(O)?(s(),r("span",on,"Tagesstand: "+m(E(O)),1)):k("",!0)])):k("",!0)]),n("div",rn,[y(b,{"model-value":K.value,options:T,"aria-label":"Reihenfolge","onUpdate:modelValue":Ae},null,8,["model-value"])]),tt(n("input",{ref_key:"filterFeld",ref:re,"onUpdate:modelValue":t[1]||(t[1]=_=>h.value=_),type:"search","data-test":"region-filter","aria-label":"Regionen filtern",placeholder:`${j.value.length} Regionen filtern â¦`,autocomplete:"off",maxlength:"60",class:"border-border bg-surface text-foreground placeholder:text-muted mt-1.5 min-h-11 w-full rounded-md border px-3 py-2 text-sm"},null,8,un),[[nt,h.value]]),n("p",{"data-test":"region-filter-status",role:"status",class:J(h.value.trim()&&V.value.length?"text-muted mt-1.5 text-[11px] leading-snug":"sr-only")},m(Ce.value),3),h.value.trim()?(s(),r("p",dn,[n("button",{type:"button","data-test":"region-filter-reset",class:"text-link -my-1.5 inline-block py-1.5 text-xs underline underline-offset-2",onClick:Ke}," Filter zurücksetzen ")])):k("",!0),G.value?(s(),r("p",cn,[t[16]||(t[16]=x(" Live-Preise gerade nicht erreichbar, die Liste zeigt den Tagesstand. ",-1)),n("button",{type:"button",disabled:D.value,class:"text-link underline underline-offset-2 disabled:opacity-60",onClick:t[2]||(t[2]=_=>Q())},m(D.value?"Lädt â¦":"Erneut versuchen"),9,mn)])):k("",!0)]),L.value==="loading"?(s(),r("p",fn,"Lädt â¦")):L.value==="error"?(s(),r("div",vn,[n("p",gn,m(ne.value),1),n("button",{type:"button",class:"border-border text-foreground hover:bg-surface-muted mt-3 inline-flex min-h-11 items-center gap-2 rounded-md border px-4 py-2 text-sm font-semibold transition-colors",onClick:t[3]||(t[3]=_=>Q())},[y(Ue,{name:"lucide:refresh-cw",size:"16","aria-hidden":"true"}),t[17]||(t[17]=x(" Erneut versuchen ",-1))])])):j.value.length?V.value.length?(s(),Y(je,{key:4,regi
2ons:V.value,"selected-code":c.value,fuel:v.value,onSelect:ie,onHover:t[4]||(t[4]=_=>ee.value=_)},null,8,["regions","selected-code","fuel"])):(s(),r("p",bn," Keine Region mit â"+m(h.value.trim())+'" gefunden. ',1)):(s(),r("p",pn,"Keine Daten für diese Sorte."))]),n("div",xn,[y(Pe,null,{fallback:C(()=>[L.value==="ready"?(s(),r("p",kn,"Karte lädt â¦")):k("",!0)]),default:C(()=>[L.value==="ready"&&A.value.length?(s(),Y(Ve,{key:0,regions:F.value,level:u.value,fuel:v.value,"selected-code":c.value,"hovered-code":ee.value,"drill-land":i.value,onSelect:ie,onClear:t[5]||(t[5]=_=>c.value=null),onHome:Be},null,8,["regions","level","fuel","selected-code","hovered-code","drill-land"])):k("",!0)]),_:1}),L.value==="loading"?(s(),r("p",hn,"Karte lädt â¦")):L.value==="error"?(s(),r("p",_n,"Die Karte kann gerade nicht geladen werden.")):k("",!0)])]),t[21]||(t[21]=n("p",{class:"text-muted mt-4 text-xs"}," Regionsgrenzen: © EuroGeographics (EU GISCO, NUTS 2021) · Preisdaten: Markttransparenzstelle für Kraftstoffe (MTS-K) · Bundeskartellamt. ",-1)),y(qe,{eintraege:E(ae),"heading-id":"regionen-faq",class:"mt-10","data-test":"faq-stand"},lt({_:2},[E(O)?{name:"hinweis",fn:C(()=>[n("p",yn,[n("span",Sn,"Tagesstand: "+m(E(O)),1),t[18]||(t[18]=x(" · Spritpreise ändern sich mehrmals täglich; darum können die Zahlen in diesen Antworten von den Live-Werten in Rangliste und Karte abweichen. ",-1))])]),key:"0"}:void 0]),1032,["eintraege"]),t[22]||(t[22]=n("noscript",null,"Ohne JavaScript zeigt die Rangliste den Tagesstand der letzten Aktualisierung; Karte, Umschalter und Filter benötigen JavaScript.",-1))])}}});export{Vn as default};
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.