PageSourceSearch

https://www.wegweiser-prostatakrebs.de/static/index-C714BvFo.js

js wegweiser-prostatakrebs.de collected 2026-10-04 01:59:42 UTC 45,194 bytes, 5 lines download raw bytes

1import{d as Ue}from"./debounce-U9XFNE_j.js";import{t as We,H as ge,C as Qe,_ as Ze,p as E,q as I,A as C,X as x,ak as me,B as j,$ as F,ag as Ve,cN as Ge,l as Je,W as Ce,F as H,u as U,x as _e,z as ve,Q as ye,P as Ye,I as Ae,v as Xe}from"./main-CHUEluNB.js";import{B as qe}from"./BaseComponent.vue_vue_type_script_lang-CcHpmuwV.js";import{S as Me}from"./index-DxFqaUkV.js";import"./BaseComponent.utils-ADJOHzt3.js";import"./motion-N6U6KWo_.js";import"./PortalWrapper-NX8QYaJ8.js";import"./vnode-D4KOMZX6.js";import"./createContext-DIyVuiTf.js";import"./omit-BolmY6Pg.js";import"./FormItemContext-DG5ErD0s.js";import"./Compact-DdrTCdGj.js";function B(e){return Array.isArray?Array.isArray(e):Oe(e)==="[object Array]"}function et(e){if(typeof e=="string")return e;if(typeof e=="bigint")return e.toString();const t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function se(e){return e==null?"":et(e)}function y(e){return typeof e=="string"}function Q(e){return typeof e=="number"}function tt(e){return e===!0||e===!1||st(e)&&Oe(e)=="[object Boolean]"}function Re(e){return typeof e=="object"}function st(e){return Re(e)&&e!==null}function w(e){return e!=null}function W(e){return!e.trim().length}function Oe(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const it="Incorrect 'index' type",ie="Invalid doc index: must be a non-negative integer within the bounds of the docs array",rt=e=>`Invalid value for key ${e}`,nt=e=>`Pattern length exceeds max of ${e}.`,ot=e=>`Missing ${e} property in key`,at=e=>`Property 'weight' in key '${e}' must be a positive integer`,ct="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",Ee=Object.prototype.hasOwnProperty;var lt=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(s=>{const i=Pe(s);this._keys.push(i),this._keyMap[i.id]=i,t+=i.weight}),this._keys.forEach(s=>{s.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Pe(e){let t=null,s=null,i=null,r=1,n=null;if(y(e)||B(e))i=e,t=we(e),s=Z(e);else{if(!Ee.call(e,"name"))throw new Error(ot("name"));const o=e.name;if(i=o,Ee.call(e,"weight")&&e.weight!==void 0&&(r=e.weight,r<=0))throw new Error(at(Z(o)));t=we(o),s=Z(o),n=e.getFn??null}return{path:t,id:s,weight:r,src:i,getFn:n}}function we(e){return B(e)?e:e.split(".")}function Z(e){return B(e)?e.join("."):e}function ht(e,t){const s=[];let i=!1;const r=(n,o,a,c)=>{if(w(n))if(!o[a])s.push(c!==void 0?{v:n,i:c}:n);else{const l=n[o[a]];if(!w(l))return;if(a===o.length-1&&(y(l)||Q(l)||tt(l)||typeof l=="bigint"))s.push(c!==void 0?{v:se(l),i:c}:se(l));else if(B(l)){i=!0;for(let h=0,u=l.length;h<u;h+=1)r(l[h],o,a+1,h)}else o.length&&r(l,o,a+1,c)}};return r(e,y(t)?t.split("."):t,0),i?s:s[0]}const ut={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},dt={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},ft={location:0,threshold:.6,distance:100},pt={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:ht,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},f=Object.freeze({...dt,...ut,...ft,...pt});function gt(e){return e>=9&&e<=13||e===32||e===160}function mt(e=1,t=3){const s=new Map,i=Math.pow(10,t);return{get(r){let n=0,o=!1;for(let c=0;c<r.length;c++)gt(r.charCodeAt(c))?o=!1:o||(n++,o=!0);if(n===0&&(n=1),s.has(n))return s.get(n);const a=Math.round(i/Math.pow(n,.5*e))/i;return s.set(n,a),a},clear(){s.clear()}}}var he=class{constructor({getFn:e=f.getFn,fieldNormWeight:t=f.fieldNormWeight}={}){this.norm=mt(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,s)=>{this._keysMap[t.id]=s})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const e=this.docs.length;this.records=new Array(e);let t=0;if(y(this.docs[0]))for(let s=0;s<e;s++){const i=this._createStringRecord(this.docs[s],s);i&&(this.records[t++]=i)}else for(let s=0;s<e;s++)this.records[t++]=this._createObjectRecord(this.docs[s],s);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw new Error(ie);if(y(e)){const i=this._createStringRecord(e,t);return i&&this.records.push(i),i}const s=this._createObjectRecord(e,t);return this.records.push(s),s}removeAt(e){if(!Number.isInteger(e)||e<0)throw new Error(ie);for(let t=0,s=this.records.length;t<s;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,s=this.records.length;t<s;t+=1)this.records[t].i>e&&(this.records[t].i-=1)}removeAll(e){const t=new Set;for(const i of e)Number.isInteger(i)&&i>=0&&t.add(i);if(t.size===0)return;this.records=this.records.filter(i=>!t.has(i.i));const s=Array.from(t).sort((i,r)=>i-r);for(const i of this.records){let r=0,n=s.length;for(;r<n;){const o=r+n>>>1;s[o]<i.i?r=o+1:n=o}i.i-=r}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!w(e)||W(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){const s={i:t,$:{}};for(let i=0,r=this.keys.length;i<r;i++){const n=this.keys[i],o=n.getFn?n.getFn(e):this.getFn(e,n.path);if(w(o)){if(B(o)){const a=[];for(let c=0,l=o.length;c<l;c+=1){const h=o[c];if(w(h)){if(y(h)){if(!W(h)){const u={v:h,i:c,n:this.norm.get(h)};a.push(u)}}else if(w(h.v)){const u=y(h.v)?h.v:se(h.v);
1if(!W(u)){const d={v:u,i:h.i,n:this.norm.get(u)};a.push(d)}}}}s.$[i]=a}else if(y(o)&&!W(o)){const a={v:o,n:this.norm.get(o)};s.$[i]=a}}}return s}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function $e(e,t,{getFn:s=f.getFn,fieldNormWeight:i=f.fieldNormWeight}={}){const r=new he({getFn:s,fieldNormWeight:i});return r.setKeys(e.map(Pe)),r.setSources(t),r.create(),r}function Ct(e,{getFn:t=f.getFn,fieldNormWeight:s=f.fieldNormWeight}={}){const{keys:i,records:r}=e,n=new he({getFn:t,fieldNormWeight:s});return n.setKeys(i),n.setIndexRecords(r),n}function _t(e=[],t=f.minMatchCharLength){const s=[];let i=-1,r=-1,n=0;for(let o=e.length;n<o;n+=1){const a=e[n];a&&i===-1?i=n:!a&&i!==-1&&(r=n-1,r-i+1>=t&&s.push([i,r]),i=-1)}return e[n-1]&&n-i>=t&&s.push([i,n-1]),s}function vt(e,t,s,{location:i=f.location,distance:r=f.distance,threshold:n=f.threshold,findAllMatches:o=f.findAllMatches,minMatchCharLength:a=f.minMatchCharLength,includeMatches:c=f.includeMatches,ignoreLocation:l=f.ignoreLocation}={}){if(t.length>32)throw new Error(nt(32));const h=t.length,u=e.length,d=Math.max(0,Math.min(i,u));let p=n,g=d;const m=(v,M)=>{const k=v/h;if(l)return k;const z=Math.abs(d-M);return r?k+z/r:z?1:k},_=a>1||c,A=_?Array(u):[];let b;for(;(b=e.indexOf(t,g))>-1;){const v=m(0,b);if(p=Math.min(v,p),g=b+h,_){let M=0;for(;M<h;)A[b+M]=1,M+=1}}g=-1;let S=[],L=1,O=0,P=h+u;const Ke=1<<h-1;for(let v=0;v<h;v+=1){let M=0,k=P;for(;M<k;)m(v,d+k)<=p?M=k:P=k,k=Math.floor((P-M)/2+M);P=k;let z=Math.max(1,d-k+1);const X=o?u:Math.min(d+k,u)+h,$=Array(X+2);$[X+1]=(1<<v)-1;for(let D=X;D>=z;D-=1){const q=D-1,He=s[e[q]];if($[D]=($[D+1]<<1|1)&He,v&&($[D]|=(S[D+1]|S[D])<<1|1|S[D+1]),$[D]&Ke&&(L=m(v,q),L<=p)){if(p=L,g=q,O=v,g<=d)break;z=Math.max(1,2*d-g)}}if(m(v+1,d)>p)break;S=$}if(_&&g>=0){const v=Math.min(u-1,g+h-1+O);for(let M=g;M<=v;M+=1)s[e[M]]&&(A[M]=1)}const Y={isMatch:g>=0,score:Math.max(.001,L)};if(_){const v=_t(A,a);v.length?c&&(Y.indices=v):Y.isMatch=!1}return Y}function yt(e){const t={};for(let s=0,i=e.length;s<i;s+=1){const r=e.charAt(s);t[r]=(t[r]||0)|1<<i-s-1}return t}function ue(e){if(e.length<=1)return e;e.sort((s,i)=>s[0]-i[0]||s[1]-i[1]);const t=[e[0]];for(let s=1,i=e.length;s<i;s+=1){const r=t[t.length-1],n=e[s];n[0]<=r[1]+1?r[1]=Math.max(r[1],n[1]):t.push(n)}return t}const Ne={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},At=new RegExp("["+Object.keys(Ne).join("")+"]","g"),K=typeof String.prototype.normalize=="function"?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D
17F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(At,t=>Ne[t]):e=>e;var de=class{constructor(e,{location:t=f.location,threshold:s=f.threshold,distance:i=f.distance,includeMatches:r=f.includeMatches,findAllMatches:n=f.findAllMatches,minMatchCharLength:o=f.minMatchCharLength,isCaseSensitive:a=f.isCaseSensitive,ignoreDiacritics:c=f.ignoreDiacritics,ignoreLocation:l=f.ignoreLocation}={}){if(this.options={location:t,threshold:s,distance:i,includeMatches:r,findAllMatches:n,minMatchCharLength:o,isCaseSensitive:a,ignoreDiacritics:c,ignoreLocation:l},e=a?e:e.toLowerCase(),e=c?K(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const h=(d,p)=>{this.chunks.push({pattern:d,alphabet:yt(d),startIndex:p})},u=this.pattern.length;if(u>32){let d=0;const p=u%32,g=u-p;for(;d<g;)h(this.pattern.substr(d,32),d),d+=32;if(p){const m=u-32;h(this.pattern.substr(m),m)}}else h(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:s,includeMatches:i}=this.options;if(e=t?e:e.toLowerCase(),e=s?K(e):e,this.pattern===e){if(e.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const g={isMatch:!0,score:0};return i&&(g.indices=[[0,e.length-1]]),g}const{location:r,distance:n,threshold:o,findAllMatches:a,minMatchCharLength:c,ignoreLocation:l}=this.options,h=[];let u=0,d=!1;this.chunks.forEach(({pattern:g,alphabet:m,startIndex:_})=>{const{isMatch:A,score:b,indices:S}=vt(e,g,m,{location:r+_,distance:n,threshold:o,findAllMatches:a,minMatchCharLength:c,includeMatches:i,ignoreLocation:l});A&&(d=!0),u+=b,A&&S&&h.push(...S)});const p={isMatch:d,score:d?u/this.chunks.length:1};return d&&i&&(p.indices=ue(h)),p}};const Mt=new Set(["fuzzy","include"]);function Et(e){return e.startsWith("inverse")}const re=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:"exact",search(t){const s=t===e;return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:"include",search(t){let s=0,i;const r=[],n=e.length;for(;(i=t.indexOf(e,s))>-1;)s=i+n,r.push([i,s-1]);const o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:"prefix-exact",search(t){const s=t.startsWith(e);return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:"inverse-prefix-exact",search(t){const s=!t.startsWith(e);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:"inverse-suffix-exact",search(t){const s=!t.endsWith(e);return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:"suffix-exact",search(t){const s=t.endsWith(e);return{isMatch:s,score:s?0:1,indices:[t.length-e.length,t.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:"inverse-exact",search(t){const s=t.indexOf(e)===-1;return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{const s=new de(e,{location:t.location??f.location,threshold:t.threshold??f.threshold,distance:t.distance??f.distance,includeMatches:t.includeMatches??f.includeMatches,findAllMatches:t.findAllMatches??f.findAllMatches,minMatchCharLength:t.minMatchCharLength??f.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??f.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??f.ignoreDiacritics,ignoreLocation:t.ignoreLocation??f.ignoreLocation});return{type:"fuzzy",search(i){return s.searchIn(i)}}}}],Se=re.length,wt="\0",St="|";function kt(e){const t=[],s=e.length;let i=0;for(;i<s;){for(;i<s&&e[i]===" ";)i++;if(i>=s)break;let r=i;for(;r<s&&e[r]!==" "&&e[r]!=='"';)r++;
1if(r<s&&e[r]==='"'){for(r++;r<s;){if(e[r]==='"'){const n=r+1;if(n>=s||e[n]===" "){r++;break}if(e[n]==="$"&&(n+1>=s||e[n+1]===" ")){r+=2;break}}r++}t.push(e.substring(i,r)),i=r}else{for(;r<s&&e[r]!==" ";)r++;t.push(e.substring(i,r)),i=r}}return t}function ke(e,t){const s=e.match(t);return s?s[1]:null}function It(e,t={}){return e.replace(/\\\|/g,wt).split(St).map(s=>{const i=kt(s.replace(/\u0000/g,"|").trim()).filter(n=>n&&!!n.trim()),r=[];for(let n=0,o=i.length;n<o;n+=1){const a=i[n];let c=!1,l=-1;for(;!c&&++l<Se;){const h=re[l],u=ke(a,h.multiRegex);u&&(r.push(h.create(u,t)),c=!0)}if(!c)for(l=-1;++l<Se;){const h=re[l],u=ke(a,h.singleRegex);if(u){r.push(h.create(u,t));break}}}return r})}var Ft=class{constructor(e,{isCaseSensitive:t=f.isCaseSensitive,ignoreDiacritics:s=f.ignoreDiacritics,includeMatches:i=f.includeMatches,minMatchCharLength:r=f.minMatchCharLength,ignoreLocation:n=f.ignoreLocation,findAllMatches:o=f.findAllMatches,location:a=f.location,threshold:c=f.threshold,distance:l=f.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:s,includeMatches:i,minMatchCharLength:r,findAllMatches:o,ignoreLocation:n,location:a,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=s?K(e):e,this.pattern=e,this.query=It(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:s,isCaseSensitive:i,ignoreDiacritics:r}=this.options;e=i?e:e.toLowerCase(),e=r?K(e):e;let n=0;const o=[];let a=0,c=!1;for(let l=0,h=t.length;l<h;l+=1){const u=t[l];o.length=0,n=0,c=!1;for(let d=0,p=u.length;d<p;d+=1){const g=u[d],{isMatch:m,indices:_,score:A}=g.search(e);if(m)n+=1,a+=A,Et(g.type)&&(c=!0),s&&(Mt.has(g.type)?o.push(..._):o.push(_));else{a=0,n=0,o.length=0,c=!1;break}}if(n){const d={isMatch:!0,score:a/n};return c&&(d.hasInverse=!0),s&&(d.indices=ue(o)),d}}return{isMatch:!1,score:1}}};const ne=[];function fe(...e){ne.push(...e)}function V(e,t){for(let s=0,i=ne.length;s<i;s+=1){const r=ne[s];if(r.condition(e,t))return new r(e,t)}return new de(e,t)}const G={AND:"$and",OR:"$or"},oe={PATH:"$path",PATTERN:"$val"},ae=e=>!!(e[G.AND]||e[G.OR]),Dt=e=>!!e[oe.PATH],bt=e=>!B(e)&&Re(e)&&!ae(e),Ie=e=>({[G.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function ze(e,t,{auto:s=!0}={}){const i=r=>{if(y(r)){const c={keyId:null,pattern:r};return s&&(c.searcher=V(r,t)),c}const n=Object.keys(r),o=Dt(r);if(!o&&n.length>1&&!ae(r))return i(Ie(r));if(bt(r)){const c=o?r[oe.PATH]:n[0],l=o?r[oe.PATTERN]:r[c];if(!y(l))throw new Error(rt(c));const h={keyId:Z(c),pattern:l};return s&&(h.searcher=V(l,t)),h}const a={children:[],operator:n[0]};return n.forEach(c=>{const l=r[c];B(l)&&l.forEach(h=>{a.children.push(i(h))})}),a};return ae(e)||(e=Ie(e)),i(e)}function ce(e,{ignoreFieldNorm:t=f.ignoreFieldNorm}){let s=1;return e.forEach(({key:i,norm:r,score:n})=>{const o=i?i.weight:null;s*=Math.pow(n===0&&o?Number.EPSILON:n,(o||1)*(t?1:r))}),s}function Lt(e,{ignoreFieldNorm:t=f.ignoreFieldNorm}){e.forEach(s=>{s.score=ce(s.matches,{ignoreFieldNorm:t})})}var Bt=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):this.comparator(e,this.heap[0])<0&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(e){const t=this.heap;for(;e>0;){const s=e-1>>1;if(this.comparator(t[e],t[s])<=0)break;const i=t[e];t[e]=t[s],t[s]=i,e=s}}_sinkDown(e){const t=this.heap,s=t.length;let i=e;do{e=i;const r=2*e+1,n=2*e+2;if(r<s&&this.comparator(t[r],t[i])>0&&(i=r),n<s&&this.comparator(t[n],t[i])>0&&(i=n),i!==e){const o=t[e];t[e]=t[i],t[i]=o}}while(i!==e)}};function Tt(e){const t=[];return e.matches.forEach(s=>{if(!w(s.indices)||!s.indices.length)return;const i={indices:s.indices,value:s.value};s.key&&(i.key=s.key.id),s.idx>-1&&(i.refIndex=s.idx),t.push(i)}),t}function Rt(e,t,{includeMatches:s=f.includeMatches,includeScore:i=f.includeScore}={}){return e.map(r=>{const{idx:n}=r,o={item:t[n],refIndex:n};return s&&(o.matches=Tt(r)),i&&(o.score=r.score),o})}const Ot=/[\p{L}\p{M}\p{N}_]+/gu,Fe=new WeakSet;function Pt(e){Fe.has(e)||(Fe.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function $t(e){if(typeof e=="function"){let t=!1;return s=>{const i=e(s);if(!t&&(t=!0,!Array.isArray(i)||i.some(r=>typeof r!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(i)?"array containing non-strings":typeof i}.`);return i}}return e instanceof RegExp?(e.global||Pt(e),t=>t.match(e)||[]):t=>t.match(Ot)||[]}function le({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:s}={}){const i=$t(s);return{tokenize(r){return e||(r=r.toLowerCase()),t&&(r=K(r)),i(r)}}}var Nt=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=le({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});const s=this.analyzer.tokenize(e),{df:i,fieldCount:r}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const n of s){this.termSearchers.push(new de(n,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}
vendor: 5,054 bytes, line 1
1));const o=i.get(n)||0,a=Math.log(1+(r-o+.5)/(o+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let s=0,i=0,r=0,n=0;const o=this.combineAll&&!this.useMask?new Set:null;for(let l=0;l<this.termSearchers.length;l++){const h=this.termSearchers[l].searchIn(e),u=this.idfWeights[l];i+=u,h.isMatch&&(r++,s+=u*(1-h.score),h.indices&&t.push(...h.indices),this.combineAll&&(this.useMask?n|=1<<l:o.add(l)))}if(r===0)return{isMatch:!1,score:1};const a=i>0?1-s/i:0,c={isMatch:!0,score:Math.max(.001,a)};return this.options.includeMatches&&t.length&&(c.indices=ue(t)),this.combineAll&&(this.useMask?c.matchedMask=n:c.matchedTerms=o,c.termCount=this.numTerms),c}};function ee(e,t,s,i){const r=i.tokenize(t);if(!r.length)return;e.fieldCount++,e.docFieldCount.set(s,(e.docFieldCount.get(s)||0)+1);const n=new Set(r);let o=e.docTermFieldHits.get(s);o||(o=new Map,e.docTermFieldHits.set(s,o));for(const a of n)o.set(a,(o.get(a)||0)+1),e.df.set(a,(e.df.get(a)||0)+1)}function xe(e,t,s,i){const{i:r,v:n,$:o}=t;if(n!==void 0){ee(e,n,r,i);return}if(o)for(let a=0;a<s;a++){const c=o[a];if(c)if(Array.isArray(c))for(const l of c)ee(e,l.v,r,i);else ee(e,c.v,r,i)}}function zt(e,t,s){const i={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const r of e)xe(i,r,t,s);return i}function xt(e,t,s,i){xe(e,t,s,i)}function jt(e,t){const s=e.docFieldCount.get(t);if(s===void 0)return;e.fieldCount-=s,e.docFieldCount.delete(t);const i=e.docTermFieldHits.get(t);if(i){for(const[r,n]of i){const o=(e.df.get(r)||0)-n;o<=0?e.df.delete(r):e.df.set(r,o)}e.docTermFieldHits.delete(t)}}function De(e,t){if(t.length===0)return;const s=Array.from(new Set(t)).sort((a,c)=>a-c);for(const a of s)jt(e,a);const i=a=>{let c=0,l=s.length;for(;c<l;){const h=c+l>>>1;s[h]<a?c=h+1:l=h}return a-c},r=s[0],n=new Map;for(const[a,c]of e.docFieldCount)n.set(a>r?i(a):a,c);e.docFieldCount=n;const o=new Map;for(const[a,c]of e.docTermFieldHits)o.set(a>r?i(a):a,c);e.docTermFieldHits=o}var T=class{constructor(e,t,s){this.options={...f,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new lt(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,s),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=V(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof he))throw new Error(it);if(this._myIndex=t||$e(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const s=le({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=zt(this._myIndex.records,this._myIndex.keys.length,s)}this._invalidateSearcherCache()}add(e){if(!w(e))return;this._docs.push(e);const t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){const s=le({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});xt(this._invertedIndex,t,this._myIndex.keys.length,s)}this._invalidateSearcherCache()}remove(e=()=>!1){const t=[],s=[];for(let i=0,r=this._docs.length;i<r;i+=1)e(this._docs[i],i)&&(t.push(this._docs[i]),s.push(i));if(s.length){this._invertedIndex&&De(this._invertedIndex,s);const i=new Set(s);this._docs=this._docs.filter((r,n)=>!i.has(n)),this._myIndex.removeAll(s),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw new Error(ie);this._invertedIndex&&De(this._invertedIndex,[e]);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){const{limit:s=-1}=t||{},{includeMatches:i,includeScore:r,shouldSort:n,sortFn:o,ignoreFieldNorm:a}=this.options;if(y(e)&&!e.trim()){let d=this._docs.map((p,g)=>({item:p,refIndex:g}));return Q(s)&&s>-1&&(d=d.slice(0,s)),d}const c=n&&Q(s)&&s>0&&y(e),l=o,h=(d,p)=>l(d,p)||d.idx-p.idx;let u;if(c){const d=new Bt(s,h);y(this._docs[0])?this._searchStringList(e,{heap:d,ignoreFieldNorm:a}):this._searchObjectList(e,{heap:d,ignoreFieldNorm:a}),u=d.extractSorted()}else u=y(e)?y(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Lt(u,{ignoreFieldNorm:a}),n&&u.sort(y(e)?h:l),Q(s)&&s>-1&&(u=u.slice(0,s));return Rt(u,this._docs,{includeMatches:i,includeScore:r})}_searchStringList(e,{heap:t,ignoreFieldNorm:s}={}){const i=this._getSearcher(e),r=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:n}=this._myIndex,o=t?null:[];
1return n.forEach(({v:a,i:c,n:l})=>{if(!w(a))return;const h=i.searchIn(a);if(h.isMatch){const u={score:h.score,value:a,norm:l,indices:h.indices};r&&(u.matchedMask=h.matchedMask,u.matchedTerms=h.matchedTerms,u.termCount=h.termCount);const d=[u];if(!r||this._coversAllTokens(d)){const p={item:a,idx:c,matches:d};t?(p.score=ce(p.matches,{ignoreFieldNorm:s}),t.insert(p)):o.push(p)}}}),o}_searchLogical(e){const t=ze(e,this.options),s=this._normalizedKeys(),i=(a,c,l)=>{if(!("children"in a)){const{keyId:p,searcher:g}=a;let m;return p===null?(m=[],s.forEach((_,A)=>{m.push(...this._findMatches({key:_,value:c[A],searcher:g}))})):m=this._findMatches({key:this._keyStore.get(p),value:this._myIndex.getValueForItemAtKeyId(c,p),searcher:g}),m&&m.length?[{idx:l,item:c,matches:m}]:[]}const{children:h,operator:u}=a,d=[];for(let p=0,g=h.length;p<g;p+=1){const m=h[p],_=i(m,c,l);if(_.length)d.push(..._);else if(u===G.AND)return[]}return d},r=this._myIndex.records,n=new Map,o=[];return r.forEach(({$:a,i:c})=>{if(w(a)){const l=i(t,a,c);l.length&&(n.has(c)||(n.set(c,{idx:c,item:a,matches:[]}),o.push(n.get(c))),l.forEach(({matches:h})=>{n.get(c).matches.push(...h)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:s}={}){const i=this._getSearcher(e),r=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:n}=this._myIndex,o=this._normalizedKeys(),a=t?null:[];return n.forEach(({$:c,i:l})=>{if(!w(c))return;const h=[];let u=!1,d=!1;if(o.forEach((p,g)=>{const m=this._findMatches({key:p,value:c[g],searcher:i});m.length?(h.push(...m),m[0].hasInverse&&(d=!0)):u=!0}),!(d&&u)&&h.length&&(!r||this._coversAllTokens(h))){const p={idx:l,item:c,matches:h};t?(p.score=ce(p.matches,{ignoreFieldNorm:s}),t.insert(p)):a.push(p)}}),a}_findMatches({key:e,value:t,searcher:s}){if(!w(t))return[];const i=[];if(B(t))t.forEach(({v:r,i:n,n:o})=>{if(!w(r))return;const a=s.searchIn(r);if(a.isMatch){const c={score:a.score,key:e,value:r,idx:n,norm:o,indices:a.indices,hasInverse:a.hasInverse};a.termCount!==void 0&&(c.matchedMask=a.matchedMask,c.matchedTerms=a.matchedTerms,c.termCount=a.termCount),i.push(c)}});else{const{v:r,n}=t,o=s.searchIn(r);if(o.isMatch){const a={score:o.score,key:e,value:r,norm:n,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(a.matchedMask=o.matchedMask,a.matchedTerms=o.matchedTerms,a.termCount=o.termCount),i.push(a)}}return i}_coversAllTokens(e){const t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let i=0;for(let r=0;r<e.length;r++)i|=e[r].matchedMask||0;return i===2**t-1}const s=new Set;for(let i=0;i<e.length;i++){const r=e[i].matchedTerms;if(r)for(const n of r)s.add(n)}return s.size===t}};T.version="7.5.0";T.createIndex=$e;T.parseIndex=Ct;T.config=f;T.match=function(e,t,s){if(s&&s.useTokenSearch)throw new Error(ct);return V(e,{...f,...s}).searchIn(t)};T.parseQuery=ze;fe(Ft);fe(Nt);T.use=function(...e){e.forEach(t=>fe(t))};var be=T;class Kt{constructor(){this.earthRadius=6371}filterLocationsByDistance(t,s,i){return t.filter(r=>this.calculateDistance(s,r.position)<=i)}calculateDistance(t,s){const i=this.toRadians(t.lat),r=this.toRadians(t.lng),n=this.toRadians(s.lat),o=this.toRadians(s.lng),a=n-i,c=o-r,l=Math.sin(a/2)*Math.sin(a/2)+Math.cos(i)*Math.cos(n)*Math.sin(c/2)*Math.sin(c/2),h=2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l));return this.earthRadius*h}toRadians(t){return t*(Math.PI/180)}}class Ht{async geocodeAddress(t){const s=new google.maps.Geocoder;try{const i=await s.geocode({address:t,componentRestrictions:{country:"DE"}}
1);if(i.results[0])return i.results[0].geometry.location.toJSON()}catch(i){console.error("Geocoding failed:",i)}return null}}function Ut(e,t,s,i){function r(n){return n instanceof s?n:new s(function(o){o(n)})}return new(s||(s=Promise))(function(n,o){function a(h){try{l(i.next(h))}catch(u){o(u)}}function c(h){try{l(i.throw(h))}catch(u){o(u)}}function l(h){h.done?n(h.value):r(h.value).then(a,c)}l((i=i.apply(e,[])).next())})}function Wt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var te,Le;function Qt(){return Le||(Le=1,te=function e(t,s){if(t===s)return!0;if(t&&s&&typeof t=="object"&&typeof s=="object"){if(t.constructor!==s.constructor)return!1;var i,r,n;if(Array.isArray(t)){if(i=t.length,i!=s.length)return!1;for(r=i;r--!==0;)if(!e(t[r],s[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===s.source&&t.flags===s.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===s.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===s.toString();if(n=Object.keys(t),i=n.length,i!==Object.keys(s).length)return!1;for(r=i;r--!==0;)if(!Object.prototype.hasOwnProperty.call(s,n[r]))return!1;for(r=i;r--!==0;){var o=n[r];if(!e(t[o],s[o]))return!1}return!0}return t!==t&&s!==s}),te}var Zt=Qt(),Vt=Wt(Zt);const Be="__googleMapsScriptId";var N;(function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"})(N||(N={}));class R{constructor({apiKey:t,authReferrerPolicy:s,channel:i,client:r,id:n=Be,language:o,libraries:a=[],mapIds:c,nonce:l,region:h,retries:u=3,url:d="https://maps.googleapis.com/maps/api/js",version:p}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=s,this.channel=i,this.client=r,this.id=n||Be,this.language=o,this.libraries=a,this.mapIds=c,this.nonce=l,this.region=h,this.retries=u,this.url=d,this.version=p,R.instance){if(!Vt(this.options,R.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(R.instance.options)}`);return R.instance}R.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?N.FAILURE:this.done?N.SUCCESS:this.loading?N.LOADING:N.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;return t+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(t+=`&key=${this.apiKey}`),this.channel&&(t+=`&channel=${this.channel}`),this.client&&(t+=`&client=${this.client}`),this.libraries.length>0&&(t+=`&libraries=${this.libraries.join(",")}`),this.language&&(t+=`&language=${this.language}`),this.region&&(t+=`&region=${this.region}`),this.version&&(t+=`&v=${this.version}`),this.mapIds&&(t+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(t+=`&auth_referrer_policy=${this.authReferrerPolicy}`),t}deleteScript(){const t=document.getElementById(this.id);t&&t.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((t,s)=>{this.loadCallback(i=>{i?s(i.error):t(window.google)})})}importLibrary(t){return this.execute(),google.maps.importLibrary(t)}loadCallback(t){this.callbacks.push(t),this.execute()}setScript(){var t,s;if(document.getElementById(this.id)){this.callback();return}const i={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};
1Object.keys(i).forEach(n=>!i[n]&&delete i[n]),!((s=(t=window?.google)===null||t===void 0?void 0:t.maps)===null||s===void 0)&&s.importLibrary||(n=>{let o,a,c,l="The Google Maps JavaScript API",h="google",u="importLibrary",d="__ib__",p=document,g=window;g=g[h]||(g[h]={});const m=g.maps||(g.maps={}),_=new Set,A=new URLSearchParams,b=()=>o||(o=new Promise((S,L)=>Ut(this,void 0,void 0,function*(){var O;yield a=p.createElement("script"),a.id=this.id,A.set("libraries",[..._]+"");for(c in n)A.set(c.replace(/[A-Z]/g,P=>"_"+P[0].toLowerCase()),n[c]);A.set("callback",h+".maps."+d),a.src=this.url+"?"+A,m[d]=S,a.onerror=()=>o=L(Error(l+" could not load.")),a.nonce=this.nonce||((O=p.querySelector("script[nonce]"))===null||O===void 0?void 0:O.nonce)||"",p.head.append(a)})));m[u]?console.warn(l+" only loads once. Ignoring:",n):m[u]=(S,...L)=>_.add(S)&&b().then(()=>m[u](S,...L))})(i);const r=this.libraries.map(n=>this.importLibrary(n));r.length||r.push(this.importLibrary("core")),Promise.all(r).then(()=>this.callback(),n=>{const o=new ErrorEvent("error",{error:n});this.loadErrorCallback(o)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(t){if(this.errors.push(t),this.errors.length<=this.retries){const s=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${s} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},s)}else this.onerrorEvent=t,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(t=>{t(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),!this.loading)if(this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading=!0,this.setScript()}}}class pe{constructor(t){this.config=t,this.loader=new R({apiKey:t.apiKey,version:"weekly",libraries:["places","marker"]}),this.map=null,this.markers=[],this.minZoom=12}async initializeMap(t){const{Map:s}=await this.loader.importLibrary("maps");this.map=new s(t,{mapId:this.config.mapId,center:this.config.defaultCenter,zoom:this.config.defaultZoom,mapTypeId:this.config.mapTypeId})}async addLocationMarker(t,s){if(!this.map)return;const{AdvancedMarkerElement:i}=await this.loader.importLibrary("marker"),r=new i({map:this.map,position:t.position,title:t.name,content:pe.svgPin(t.color)});r.addListener("click",()=>s(t.id)),this.markers.push(r)}clearAllMarkers(){this.markers.forEach(t=>t.map=null),this.markers=[]}fitMapToMarkers(){if(!this.map||this.markers.length===0)return;const t=new google.maps.LatLngBounds;this.markers.forEach(s=>t.extend(s.position)),this.map.setOptions({maxZoom:this.minZoom}),this.map.fitBounds(t),this.map.setOptions({maxZoom:null})}setMapCenter(t){this.map&&this.map.setCenter(t)}setMapZoom(t){this.map&&this.map.setZoom(t)}async panToLocation(t){this.map&&(this.map.panTo(new google.maps.LatLng(t.position)),this.map.setZoom(this.minZoom))}static svgPin(t){return new DOMParser().parseFromString(this.svgPinString(t),"image/svg+xml").documentElement}static svgPinString(t){return`
2      <svg width="20" height="32" viewBox="0 0 20 32" fill="none" xmlns="http://www.w3.org/2000/svg">
3        <path d="M20 9C20 14 15.9375 18 11 18C6 18 2 14 2 9C2 4.0625 6 0 11 0C15.9375 0 20 4.0625 20 9ZM12 4C12 3.5 11.5 3 11 3C7.625 3 5 5.6875 5 9C5 9.5625 5.4375 10 6 10C6.5 10 7 9.5625 7 9C7 6.8125 8.75 5 11 5C11.5 5 12 4.5625 12 4ZM9 30V19.875C9.625 19.9375 10.3125 20 11 20C11.625 20 12.3125 19.9375 13 19.875V30C13 31.125 12.0625 32 11 32C9.875 32 9 31.125 9 30Z" fill="${t}"/>
4      </svg>
5    `}}const Te=e=>{const t=new Map;return e.forEach(s=>{const i=s.city.charAt(0).toUpperCase();t.has(i)||t.set(i,[]);const r=t.get(i)?.find(n=>n.name===s.city);r?r.items.push(s):t.get(i)?.push({name:s.city,items:[s]})}),Array.from(t.entries()).map(([s,i])=>({startingCityLetter:s,cities:i}))};var Gt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,je=(e,t,s,i)=>{for(var r=i>1?void 0:i?Jt(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(i?o(t,s,r):o(r))||r);return i&&r&&Gt(t,s,r),r};let J=class extends qe{constructor(){super(...arguments),this.geocodeService=new Ht,this.distanceService=new Kt,this.searchQuery="",this.selectedRadius=10,this.filteredLocations=[],this.populatedLocations=[],this.fuse=new be([],{keys:["name","city","address"],threshold:.3}),this.hasConsent=!1,this.activeLocationItem=null,this.debouncedSearch=Ue(this.performSearch,300)}async mounted(){this.checkConsent()}async contentDidLoad(){await super.contentDidLoad(),this.initializeLocations(),this.hasConsent&&this.initializeMap()}getComponentName(){return"google_maps"}getComponentType(){return"google_maps"}checkConsent(){const e=localStorage.getItem("googleMapsConsent");this.hasConsent=e==="true"}giveConsent(){localStorage.setItem("googleMapsConsent","true"),this.hasConsent=!0,this.initializeMap()}initializeLocations(){this.populatedLocations=this.locations,this.fuse=new be(this.populatedLocations,{keys:["name","city","address"],threshold:.3}),this.filteredLocations=this.formattedLocations}async initializeMap(){this.hasConsent&&(this.mapService=new pe(this.mapConfiguration),await this.mapService.initializeMap(this.$refs.mapContainer),await this.populateLocations(),await this.addLocationsToMap())}async populateLocations(){!this.geocodeService||!this.hasConsent||(this.populatedLocations=await Promise.all(this.locations.map(async e=>{if(!e.position.lat||!e.position.lng){const t=await this.geocodeService.geocodeAddress(e.postalCode);
5if(t)return{...e,position:t}}return e})),this.filteredLocations=this.formattedLocations)}async addLocationsToMap(){if(!(!this.mapService||!this.hasConsent))for(const e of this.populatedLocations)await this.mapService.addLocationMarker(e,this.markerClickEvent)}formatRadius(e){return e<1?`${e*1e3}m`:`${e}km`}async performSearch(){let e=[];if(!this.searchQuery)e=this.populatedLocations;else if(this.isPostalCode(this.searchQuery)&&this.hasConsent){const t=await this.geocodeService.geocodeAddress(this.searchQuery);t&&(e=this.distanceService.filterLocationsByDistance(this.populatedLocations,t,this.selectedRadius))}else e=this.fuzzyMatch(this.searchQuery);this.filteredLocations=Te(e),this.hasConsent&&await this.updateMapView()}isPostalCode(e){return/\b\d{5}\b/.test(e)}fuzzyMatch(e){return this.fuse.search(e).map(s=>s.item)}markerClickEvent(e,t=!0){const s=this.orderedFilteredLocations.flatMap(i=>i.cities).flatMap(i=>i.items).find(i=>i.id===e);if(s&&(this.activeLocationItem&&(this.activeLocationItem.isActive=!1),s.isActive=!0,this.activeLocationItem=s),t){const i=window.document.getElementById("google-maps__items"),r=window.document.getElementById(`google-maps-item-${e}`);i&&r&&(i.scrollTop=r.offsetTop-i.offsetTop-40)}}async updateMapView(){!this.mapService||!this.hasConsent||(this.mapService.clearAllMarkers(),this.filteredLocations.forEach(e=>{e.cities.forEach(t=>{t.items.forEach(s=>{this.mapService?.addLocationMarker(s,this.markerClickEvent)})})}),setTimeout(()=>{this.mapService?.fitMapToMarkers()},200))}async panToLocation(e){!this.mapService||!this.hasConsent||(this.markerClickEvent(e.id,!1),await this.mapService.panToLocation(e))}convertToFloat(e){return typeof e=="number"?e:typeof e=="string"?parseFloat(e):0}getLocationStyles(e){return!e.isActive&&e.color?{borderColor:e.isHovered?"":e.color,boxShadow:e.isHovered?"":`inset 0 -4px 0 0 ${e.color}`}:{}}get mapConfiguration(){return{mapId:this.settingsProps.map_id,apiKey:this.settingsProps.api_key,defaultCenter:this.defaultCenter,defaultZoom:this.defaultZoom,mapTypeId:this.settingsProps.map_type}}get searchConfig(){return{radiusOptions:this.searchConfigurationRadiusOptions,radiusDefault:this.searchConfigurationRadiusDefault,radiusLabel:this.settingsProps.search_configuration_radius_label,searchPlaceholder:this.settingsProps.search_configuration_search_placeholder,searchLabel:this.settingsProps.search_configuration_search_label}}get defaultZoom(){return parseInt(this.settingsProps.default_zoom)}get defaultCenter(){const e=this.settingsProps.default_center?.split(",");if(e.length!==2)throw new Error("Invalid default center coordinates.");return{lat:parseFloat(e[0]),lng:parseFloat(e[1])}}get searchConfigurationRadiusOptions(){return this.settingsProps.search_configuration_radius_options?.split(",").map(e=>parseFloat(e))}get searchConfigurationRadiusDefault(){return parseInt(this.settingsProps.search_configuration_radius_default)}get mapHeight(){return parseInt(this.settingsProps.map_height)}get locations(){const e=[];return this.contentProps.locations.map(t=>{let s=null;for(;s===null||e.includes(s);)s=Math.random().toString(36).substr(2,9);const i=this.convertToFloat(t.value.positionLat),r=this.convertToFloat(t.value.positionLong);return{...t.value,id:s,positionLat:i,positionLong:r,color:t.value.color||"#3F0FE5",position:{lat:i,lng:r}}})}get orderedFilteredLocations(){return this.filteredLocations.sort((e,t)=>e.startingCityLetter.localeCompare(t.startingCityLetter)).map(e=>{const t=e.cities.sort((s,i)=>s.name.localeCompare(i.name)).map(s=>(s.items.sort((i,r)=>i.name.localeCompare(r.name)),s));return{...e,cities:t}})}get formattedLocations(){return Te(this.populatedLocations)}};je([ge("searchQuery"),ge("selectedRadius")],J.prototype,"performSearch",1);J=je([Qe({components:{ASelect:Me,ASelectOption:Me.Option}})],J);const Yt=We(J),Xt=["id"],qt={class:"google-maps__map-wrapper"},es={class:"google-maps__consent-text"},ts={class:"btn-wrapper"},ss={class:"google-maps__search"},is={class:"form-group google-maps__search-main"},rs={for:"searchQuery"},ns=["placeholder"],os={class:"form-group google-maps__search-radius"},as={for:"selectedRadius"},cs={id:"google-maps__items",class:"google-maps__items"},ls={class:"google-maps__results"}
5,hs={key:0,class:"google-maps__results-empty"},us={key:1,class:"google-maps__results-list"},ds={class:"google-maps__item-letter"},fs={class:"google-maps__item-city-list"},ps={class:"google-maps__item-city"},gs={class:"google-maps__item-list"},ms=["id","onClick","onMouseover","onMouseleave"],Cs={class:"google-maps__item-name"},_s={class:"google-maps__item-address"},vs={class:"google-maps__item-postal"},ys={key:0,class:"google-maps__item-phone"},As={key:1,class:"google-maps__item-email"},Ms=["href"];function Es(e,t,s,i,r,n){const o=Ae("a-select-option"),a=Ae("a-select"),c=Ye("html-fragment");return E(),I("div",{id:e.settingsProps.id,class:_e(["google-maps",e.settingsProps.class]),style:j(e.settingsProps.style)},[C("div",qt,[x(C("div",null,[C("div",{ref:"mapContainer",style:j({width:"100%",height:`${e.mapHeight}px`}),class:"google-maps__map-container"},null,4)],512),[[me,e.hasConsent]]),x(C("div",{class:"google-maps__consent-placeholder",style:j({height:`${e.mapHeight}px`})},[x(C("div",es,null,512),[[c,e.contentProps.consent_text]]),C("div",ts,[x(C("button",{class:"btn btn-outline",onClick:t[0]||(t[0]=(...l)=>e.giveConsent&&e.giveConsent(...l))},null,512),[[c,e.contentProps.consent_button]])])],4),[[me,!e.hasConsent]])]),C("div",ss,[C("div",is,[C("label",rs,F(e.searchConfig.searchLabel),1),x(C("input",{id:"searchQuery","onUpdate:modelValue":t[1]||(t[1]=l=>e.searchQuery=l),placeholder:e.searchConfig.searchPlaceholder,class:"form-control",onInput:t[2]||(t[2]=(...l)=>e.debouncedSearch&&e.debouncedSearch(...l)),onKeyup:t[3]||(t[3]=Ge((...l)=>e.performSearch&&e.performSearch(...l),["enter"]))},null,40,ns),[[Ve,e.searchQuery]])]),C("div",os,[C("label",as,F(e.searchConfig.radiusLabel),1),Je(a,{id:"selectedRadius",value:e.selectedRadius,"onUpdate:value":t[4]||(t[4]=l=>e.selectedRadius=l)},{default:Ce(()=>[(E(!0),I(H,null,U(e.searchConfig.radiusOptions,l=>(E(),Xe(o,{key:l,value:l},{default:Ce(()=>[ye(F(e.formatRadius(l)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),C("div",cs,[C("div",ls,[e.filteredLocations.length?(E(),I("div",us,[(E(!0),I(H,null,U(e.orderedFilteredLocations,l=>(E(),I("div",{key:l.startingCityLetter,class:"google-maps__results-letter-group"},[C("h2",ds,F(l.startingCityLetter),1),C("div",fs,[(E(!0),I(H,null,U(l.cities,h=>(E(),I("div",{key:h.name,class:"google-maps__item-city-group"},[C("h3",ps,F(h.name),1),C("div",gs,[(E(!0),I(H,null,U(h.items,u=>(E(),I("button",{id:`google-maps-item-${u.id}`,key:u.id,class:_e(["google-maps__item",{active:u.isActive}]),style:j(e.getLocationStyles(u)),type:"button",onClick:d=>e.panToLocation(u),onMouseover:d=>u.isHovered=!0,onMouseleave:d=>u.isHovered=!1},[C("div",{class:"icon",style:j({backgroundColor:u.color})},null,4),C("h5",Cs,F(u.name),1),C("div",_s,F(u.address),1),C("div",vs,F(u.postalCode)+" "+F(u.city),1),u.phone?(E(),I("div",ys," Tel.:"+F(u.phone),1)):ve("",!0),u.email?(E(),I("div",As,[t[5]||(t[5]=ye(" E-Mail: ",-1)),C("a",{href:`mailto:${u.email}`},F(u.email),9,Ms)])):ve("",!0)],46,ms))),128))])]))),128))])]))),128))])):(E(),I("div",hs,F(e.contentProps.no_results_placeholder??""),1))])])],14,Xt)}const Ps=Ze(Yt,[["render",Es],["__scopeId","data-v-c990022b"]]);export{Ps 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.