1function b(){const m=document.querySelectorAll(".wp-block-cwaas-mfn-endpoint .events");if(!m.length)return;const d=document.documentElement.lang,f=d==="en-US"?"Upcoming events":"Kommande händelser",u=d==="en-US"?"Past events":"Föregående händelser",g=a=>{const l=d||"en-US",i=new Date(a);if(Number.isNaN(i.getTime()))return"";const r={year:"numeric",month:"long",day:"numeric"};return new Intl.DateTimeFormat(l,r).format(i)},h=a=>{const l=d||"en-US",i=new Date(a);if(Number.isNaN(i.getTime()))return"";const r=new Intl.DateTimeFormat(l,{month:"long",day:"numeric"}),o=r.formatToParts(i),c=o.find(e=>e.type==="day")?.value,t=o.find(e=>e.type==="month")?.value;return!c||!t?r.format(i):`<span class="mfn-event-date"><span class="mfn-event-date-day">${c}</span><span class="mfn-event-date-month">${t}</span></span>`};Array.from(m).forEach(a=>{const l=a.dataset.endpoint,i=a.dataset.count,r=a.dataset.filters==="true";if(r){const t=document.createElement("div");t.className="d-flex flex-wrap gap-2 mb-4",t.id="filters";const e=document.createElement("button");e.id="upcomingBtn",e.className="btn btn-primary active",e.textContent=f,t.appendChild(e);const n=document.createElement("button");n.id="archiveBtn",n.className="btn btn-primary",n.textContent=u,t.appendChild(n),a.parentNode.insertBefore(t,a)}let o=[];fetch(l).then(t=>t.json()).then(t=>{if(t?.events){o=t.events;const e=o.filter(n=>!n?.inPast).reverse();c(e)}});const c=t=>{if(!Array.isArray(t)||!t.length){a.innerHTML="<span>No events available</span>";return}const n=t.slice(0,i).map(s=>{if(s){const y=Object.entries(s?.calendarLinks||{}).map(([v,p])=>p?`<a class="add-to-calendar mt-0 text-capitalize" href="${p}" aria-label="${v}">${v}</a>`:"").join("")||"";return` 2 <div class="date-item"> 3 <div class="date-box"> 4 ${h(s?.startDateString)} 5 </div> 6 <div class="date-item-inner"> 7 <div> 8 <div class="meta">${g(s?.startDateString)}</div> 9 <div class="title">${s?.title}</div> 10 </div> 11 <div class="calendar-links d-flex flex-wrap align-items-center mt-2 mt-lg-0 gap-2">${y}</div> 12 </div> 13 </div> 14 `}return""}).join("");a.innerHTML=` 15 <div class="date-items-wrapper"> 16 ${n||"<span>No upcoming events</span>"} 17 </div> 18 `};if(r){const t=document.getElementById("upcomingBtn"),e=document.getElementById("archiveBtn");t.addEventListener("click",()=>{e.classList.remove("active"),t.classList.add("active");const n=o.filter(s=>!s?.inPast).reverse();c(n)}),e.addEventListener("click",()=>{t.classList.remove("active"),e.classList.add("active");const n=o.filter(s=>s?.inPast).reverse();c(n)})}})}export{b as initMfnCalendars};
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.