PageSourceSearch

https://myfahlo.com/cdn/shop/t/219/assets/build-interactive-map-CDMHoS3U.js

js myfahlo.com collected 2026-10-01 11:32:32 UTC 6,842 bytes, 3 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./build-mapbox-gl-B8qIYtvr.js","./build-_commonjsHelpers-Cpj98o6Y.js","./mapbox-gl.css"])))=>i.map(i=>d[i]);
2import{_ as se}from"./build-preload-helper-C1FmrZbK.js";const ae=2e3,re=2e3,Me=.05,_e=1024,ce=1,Ae=20,Ne=1,Te={up:[0,-1],down:[0,1],left:[-1,0],right:[1,0]},Ce="mapbox://styles/studioengineering/cmrywmnic00mb01qx0uhrh1m6",qe="500px 0px";let I=null;function Pe(){return I||(I=Promise.all([se(()=>import("./build-mapbox-gl-B8qIYtvr.js").then(t=>t.m),__vite__mapDeps([0,1]),import.meta.url),se(()=>Promise.resolve({}),__vite__mapDeps([2]),import.meta.url)]).then(([t])=>t.default)),I}function xe(t,c){const s=t.querySelector("[data-ism-map]"),y=t.querySelector("[data-ism-loader]"),d=Array.from(t.querySelectorAll("[data-ism-pin]")),me=Array.from(t.querySelectorAll("[data-ism-biome]")),R=t.querySelector("[data-ism-zoom-in]"),O=t.querySelector("[data-ism-zoom-out]"),ue=Array.from(t.querySelectorAll("[data-ism-pan-dir]")),pe=window.matchMedia("(prefers-reduced-motion: reduce)"),C=window.matchMedia("(pointer: coarse)");
2if(!s)return{teardown(){}};const fe=Number(t.dataset.spinSeconds)||45,he=Number(t.dataset.maxZoom)||20,b=window.matchMedia(`(max-width: ${_e}px)`).matches,Z=Number(t.dataset.minZoom)||1.8,k=b?Math.min(Z,ce):Z,ge=b?ce:Number(t.dataset.zoom)||1.8,Ee=b?Ae:Number(t.dataset.lat)||40,ve=360/fe/1e3*(b?Ne:1),F=[Number(t.dataset.lng)||0,Ee];let w=!1,q=!1,h=null,l=null,u=null;const M=[],g=new Set,a=new Set;let p=0;c.accessToken=t.dataset.token;const n=new c.Map({container:s,style:Ce,projection:"mercator",center:F,zoom:ge,minZoom:k,maxZoom:he,dragRotate:!1,pitchWithRotate:!1,attributionControl:!1,cooperativeGestures:!1,fadeDuration:0});n.touchZoomRotate.disableRotation(),n.scrollZoom.disable();const B=()=>n.getZoom()<=k+Me,P=()=>{C.matches?n.dragPan.disable():n.dragPan.enable()};P(),C.addEventListener("change",P);const x=()=>{t.classList.toggle("is-zoomed",!B())};x(),n.on("zoom",x),n.on("zoomend",x),n.on("error",e=>{const o=e&&e.error?e.error.message:"unknown Mapbox error";console.error("[interactive-species-map] Mapbox error:",o,e&&e.error)}),t.classList.add("is-enhanced");const m=t.querySelector("[data-ism-modal]"),D=t.querySelector("[data-ism-modal-card]"),U=t.querySelector("[data-ism-card-template]"),H=()=>q&&!w&&!document.hidden&&!pe.matches&&B();function W(e){if(!H()){l=null,u=null;return}if(u!==null){const o=n.getCenter();o.lng-=ve*(e-u),n.setCenter(o.wrap())}u=e,l=requestAnimationFrame(W)}function E(){l!==null||!H()||(u=null,l=requestAnimationFrame(W))}const _=()=>{l!==null&&(cancelAnimationFrame(l),l=null),u=null},Le=()=>{w=!0,clearTimeout(h),_()},V=(e=ae)=>{clearTimeout(h),h=setTimeout(()=>{a.size>0||(w=!1,E())},e)};n.on("moveend",E);const $=e=>{a.add(e.pointerId),p=Math.max(p,a.size),Le()},Y=e=>{if(!a.delete(e.pointerId)||a.size>0)return;const o=p>1;p=0,o&&requestAnimationFrame(()=>n.stop()),V(e.pointerType==="touch"?re:ae)},j=e=>{!a.delete(e.pointerId)||a.size>0||(p=0,V(re))};t.addEventListener("pointerdown",$),t.addEventListener("pointerup",Y),t.addEventListener("pointercancel",j);const G=()=>{m&&(m.hidden=!0)};function Q(e){e.key==="Escape"&&G()}function Se(e){if(!m||!D||!U)return;const{biome:o,animal:i,productUrl:f,ctaLabel:te,image:A,imageWidth:N,imageHeight:v}=e.dataset,L=U.content.firstElementChild.cloneNode(!0);L.classList.add(`ism-popup--${o}`);const ne=L.querySelector("[data-ism-card-title]"),we=ne.querySelector("textPath")||ne;we.textContent=i;const oe=L.querySelector("[data-ism-card-cta]");oe.href=f,oe.textContent=te;const ie=L.querySelector("[data-ism-card-image]");if(A){const T=ie.querySelector("[data-ism-card-img]");N&&v&&(T.width=Number(N),T.height=Number(v)),T.alt=i,T.src=A}else ie.remove();D.replaceChildren(L),m.hidden=!1}m&&m.addEventListener("click",e=>{(e.target===m||e.target.closest("[data-ism-modal-close]"))&&G()}),document.addEventListener("keydown",Q),d.forEach(e=>{const o=Number(e.dataset.lng),i=Number(e.dataset.lat);if(Number.isNaN(o)||Number.isNaN(i))return;n.getCanvasContainer().appendChild(e),M.push({node:e,lng:o,lat:i,biome:e.dataset.biome});const f=e.querySelector("[data-ism-pin-trigger]");f&&f.addEventListener("click",()=>Se(e))});function r(){const e=n.getCenter().lng;M.forEach(({node:o,lng:i,lat:f})=>{const A=Math.round((i-e)/360)*360,N=i-A,v=n.project([N,f]);o.style.transform=`translate(${v.x}px, ${v.y}px) translate(-50%, -50%)`})}n.on("move",r),n.on("moveend",r),r();function ye(){M.forEach(({node:e,biome:o})=>{const i=g.size>0&&!g.has(o);e.classList.toggle("is-hidden",i)})}function be(e){const o=e.dataset.ismBiome,i=g.has(o);i?g.delete(o):g.add(o),e.setAttribute("aria-pressed",i?"false":"true"),e.classList.toggle("is-active",!i),ye()}me.forEach(e=>{e.addEventListener("click",()=>be(e))}),R&&R.addEventListener("click",()=>{n.stop(),n.zoomIn()}),O&&O.addEventListener("click",()=>{n.stop(),n.easeTo({zoom:n.getZoom()-1,center:F})}),ue.forEach(e=>{e.addEventListener("click",()=>{const o=Te[e.dataset.ismPanDir];if(!o)return;n.stop();const i=.4;n.panBy([o[0]*s.clientWidth*i,o[1]*s.clientHeight*i],{duration:400})})});const K=new IntersectionObserver(e=>{e.forEach(o=>{q=o.isIntersecting,q?E():(_(),a.clear(),p=0,w=!1,clearTimeout(h)
2)})},{threshold:.1});K.observe(t);const X=()=>{document.hidden?_():E()};document.addEventListener("visibilitychange",X);const J=new ResizeObserver(()=>{n.resize(),r()});J.observe(s);let z=null;const ee=()=>{y&&y.classList.add("is-hidden"),clearTimeout(z)};return z=setTimeout(ee,12e3),n.on("load",()=>{n.resize(),r(),E(),ee()}),requestAnimationFrame(()=>{n.resize(),r()}),{teardown(){clearTimeout(h),clearTimeout(z),_(),K.disconnect(),document.removeEventListener("visibilitychange",X),document.removeEventListener("keydown",Q),J.disconnect(),C.removeEventListener("change",P),t.removeEventListener("pointerdown",$),t.removeEventListener("pointerup",Y),t.removeEventListener("pointercancel",j),n.off("move",r),n.off("moveend",r),M.forEach(({node:e})=>e.remove()),n.remove()}}}const S=new Map;function ze(t){if(S.has(t))return;let c=!1;const s=new IntersectionObserver(y=>{c||!y.some(d=>d.isIntersecting)||(c=!0,s.disconnect(),Pe().then(d=>{document.contains(t)&&S.set(t,xe(t,d))}).catch(d=>console.error("[interactive-species-map] failed to load Mapbox",d)))},{rootMargin:qe});s.observe(t),S.set(t,{teardown:()=>s.disconnect()})}function le(t){(t||document).querySelectorAll("[data-interactive-species-map]").forEach(ze)}let de=!1;function Ie(){de||(de=!0,document.addEventListener("shopify:section:load",t=>le(t.target)),document.addEventListener("shopify:section:unload",t=>{S.forEach((c,s)=>{!t.target.contains(s)&&document.contains(s)||(c.teardown(),S.delete(s))})}))}function Oe(){le(),window.Shopify&&window.Shopify.designMode&&Ie()}export{Oe as default};
3//# sourceMappingURL=build-interactive-map-CDMHoS3U.js.map

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.