1import{c as W}from"./editorial-actor.C9_e5IxA.js";const k=["bookmark","bird","tumble","reverse"];function j(t){const a=t.querySelector("[data-editorial-actor]");if(!a)return()=>{};const l=W(a),n=new AbortController,f=matchMedia("(prefers-reduced-motion: reduce)"),M=Array.from(t.querySelectorAll("[data-cart-year]")),L=t.querySelector("[data-cart-selection]"),K=18e3+Math.random()*17e3;let g=Math.random()<.25;const F="editorial-bookcart-surprise-v1",Y=e=>{try{sessionStorage.setItem(F,e)}catch(o){if(!(o instanceof Error))throw o;t.dataset.cartStorage="unavailable"}};try{const e=sessionStorage.getItem(F);e?g=e==="pending":Y(g?"pending":"skip")}catch(e){if(!(e instanceof Error))throw e;t.dataset.cartStorage="unavailable"}let b=!1,S=!1,c=!1,O=0,H=0,y=null,p=0,r=null,i=null,m=!1,E=!1,v=!1,h=0;const I=()=>a.dataset.actorState==="loading"||a.dataset.actorState==="playing"||a.dataset.actorState==="paused"&&a.dataset.actorLoop!=="true";async function d(){if(v||m||f.matches||I()||i?.year===r?.year&&!E)return;m=!0,c=!1,u();const e=h;let o=!1;try{if(i){if(!await l.play(`return-${i.shelf}`)||v||e!==h)return;i=null,delete t.dataset.cartHeldYear}E=!1;const s=r;if(s){if(!await l.play(`retrieve-${s.shelf}`)||v||e!==h)return;i=s,t.dataset.cartHeldYear=s.year}o=!0}finally{m=!1,c=!0,u(),(o||e!==h)&&!v&&d()}}const x=()=>{const e=M.find(R=>R.open),o=e?.dataset.cartYear,s=e?.dataset.cartShelf,C=o&&(s==="upper"||s==="lower")?{year:o,shelf:s}:null;r?.year!==C?.year&&(r=C,L&&(L.hidden=r===null,L.textContent=r?.year??""),r&&(S=!0),l.finishSoon(),u(),d())},q=e=>{if(!(!b||document.hidden||!c||f.matches||!g||r||i||m)){if(a.dataset.actorState==="loading"){y=null,p=requestAnimationFrame(q);return}if(y!==null&&(H+=e-y),y=e,H>=K){g=!1,Y("used"),l.play(k[Math.floor(Math.random()*k.length)]??"bookmark");return}p=requestAnimationFrame(q)}},u=()=>{cancelAnimationFrame(p),y=null,!v&&b&&!document.hidden&&c&&g&&!f.matches&&!r&&!i&&!m&&(p=requestAnimationFrame(q))},w=()=>{b&&!document.hidden&&!S&&!f.matches&&(S=!0,l.play("arrival").then(e=>{c=e,u()})),d(),u()},B=new IntersectionObserver(([e])=>{b=e?.isIntersecting??!1,w()},{threshold:.25});return B.observe(a),M.forEach(e=>e.addEventListener("toggle",x,{signal:n.signal})),t.querySelector("[data-cart-replay]")?.addEventListener("click",()=>{if(!(I()||m)){if(S=!0,r){E=!0,d();return}l.play(k[O++%k.length]??"bookmark")}},{signal:n.signal}),a.addEventListener("editorial-actor-start",()=>{c=a.dataset.actorLoop==="true",d(),u()},{signal:n.signal}),a.addEventListener("editorial-actor-end",()=>{c=!0,d(),u()},{signal:n.signal}),a.addEventListener("editorial-actor-unavailable",()=>{d()},{signal:n.signal}),document.addEventListener("visibilitychange",w,{signal:n.signal}),f.addEventListener("change",()=>{h++,f.matches&&(i=null,E=!1,delete t.dataset.cartHeldYear),w()},{signal:n.signal}),x(),()=>{v=!0,cancelAnimationFrame(p),B.disconnect(),n.abort(),l.dispose()}}const A=new Map;function $(){document.querySelectorAll("[data-archive-bookcart]").forEach(t=>{A.has(t)||A.set(t,j(t))})}$();document.addEventListener("astro:page-load",$);document.addEventListener("astro:before-swap",()=>{A.forEach(t=>t()),A.clear()});
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.