PageSourceSearch

https://www.brp.ch/dist/assets/gallery-popups-SpoiA10d.js

js brp.ch collected 2026-10-02 06:54:51 UTC 3,168 bytes, 27 lines download raw bytes

1import{_ as y}from"./main-D41KQvPu.js";import{S as f}from"./splide.min-DywBRp_t.js";const d=[...document.querySelectorAll(".intro-gallery__images a, .gallery__item > a")].filter(l=>{for(;l;){const e=getComputedStyle(l);if(e.display==="none"||e.visibility==="hidden"||e.opacity==="0")return!1;l=l.parentElement}return!0});function g(l){const e=l.match(/(?:player\.)?vimeo\.com\/(?:video\/)?(\d+)(?:\?(.*))?/i);if(!e)return null;const[,n,i]=e;return`https://player.vimeo.com/video/${n}${i?`?${i}`:""}`}function h(l){const e=document.createElement("dialog");e.className="popup popup--full-screen popup--gallery";let n="";d.forEach(o=>{const a=o.href,s=o.parentElement.querySelector("figcaption")?o.parentElement.querySelector("figcaption").innerHTML:"",p=g(a),c=p?`<div class="popup__gallery-video">
2            <iframe src="${p}" title="" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen loading="lazy"></iframe>
3          </div>`:`<img src="${a}" alt="">`;n+=`<li class="splide__slide">
4      <div class="popup__gallery-image-wrapper">
5        <div class="popup__gallery-image">
6          <div class="popup__gallery-image-inner">
7            ${c}
8          </div>
9        </div>
10        ${s?`<div class="popup__gallery-caption">${s}</div>`:""}
11      </div>
12    </li>`}),e.innerHTML=`
13    <div class="popup__overlay">
14      <div class="popup__inner">
15        <div class="popup__top">
16          <button data-popup-close autofocus aria-label="Close popup"></button>
17        </div>
18        <div class="popup__content splide">
19          <div class="splide__track">
20            <ul class="splide__list">
21              ${n}
22            </ul>
23          </div>
24        </div>
25      </div>
26    </div>
27  `,document.body.appendChild(e),e.showModal();const i=new f(e.querySelector(".splide"),{type:"fade",perPage:1,pagination:!1,arrows:!0,start:l,classes:{arrows:"slider-arrows splide__arrows",pagination:"slider-pagination splide__pagination"}});i.mount();const u=()=>{const o=i.Components.Slides.getAt(i.index),a=o&&o.slide.querySelector(".popup__gallery-caption");e.style.setProperty("--popup-gallery-caption-height",`${a?a.offsetHeight:0}px`)};u(),i.on("moved refresh",u);const _=new ResizeObserver(u);e.querySelectorAll(".popup__gallery-caption").forEach(o=>_.observe(o)),e.addEventListener("close",()=>_.disconnect()),y(async()=>{const{default:o}=await import("./trap-focus-evpRYVk6.js");return{default:o}},[]).then(({default:o})=>{o(e)}),e.querySelector(".popup__gallery-video iframe")&&y(()=>import("./player.es-D3xYS0yL.js"),[]).then(o=>{const a=o.default,s=new Map,p=t=>{const r=i.Components.Slides.getAt(t);if(!r)return null;const m=r.slide.querySelector(".popup__gallery-video iframe");return m?(s.has(t)||s.set(t,new a(m)),s.get(t)):null},c=t=>{const r=p(t);r&&r.play().catch(()=>{})},v=t=>{const r=p(t);r&&r.pause()};c(i.index),i.on("move",(t,r)=>v(r)),i.on("moved",t=>c(t)),e.addEventListener("close",()=>{s.forEach(t=>t.pause())})}),e.querySelector("[data-popup-close]").addEventListener("click",()=>{e.close(),e.remove()})}d.forEach(l=>{d&&l.addEventListener("click",e=>{e.preventDefault();const n=Array.from(d).indexOf(l);h(n)})});

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.