PageSourceSearch

https://abclomedical.com/wp-content/cache/min/1/wp-content/plugins/abclo-hub/js/script.js?ver=1788886279

js abclomedical.com collected 2026-10-05 07:59:28 UTC 7,882 bytes, 36 lines download raw bytes

1(function(){'use strict';var root=document.querySelector('[data-abclo-hub]');if(!root){return}
2var FADE_MS=280;var sections=Array.prototype.slice.call(root.querySelectorAll('.abclo-hub__section'));var buttons=Array.prototype.slice.call(root.querySelectorAll('.abclo-hub__filter-btn[data-hub-filter]'));var radiogroup=root.querySelector('.abclo-hub__filter[role="radiogroup"]');var reduceMotion=!1;try{reduceMotion=window.matchMedia('(prefers-reduced-motion: reduce)').matches}catch(e){reduceMotion=!1}
3function setActiveFilter(slug){buttons.forEach(function(btn){var s=btn.getAttribute('data-hub-filter');var on=s===slug;btn.classList.toggle('is-active',on);btn.setAttribute('aria-checked',on?'true':'false')})}
4function showSection(section){if(section._hideTimer){clearTimeout(section._hideTimer);section._hideTimer=null}
5if(reduceMotion){section.classList.remove('is-hidden','is-hiding','is-showing');return}
6section.classList.remove('is-hidden','is-hiding');section.classList.add('is-showing');requestAnimationFrame(function(){requestAnimationFrame(function(){section.classList.remove('is-showing')})})}
7function hideSection(section){if(section.classList.contains('is-hidden')){return}
8if(reduceMotion){section.classList.add('is-hidden');section.classList.remove('is-hiding','is-showing');return}
9section.classList.add('is-hiding');section._hideTimer=setTimeout(function(){section.classList.add('is-hidden');section.classList.remove('is-hiding');section._hideTimer=null},FADE_MS)}
10function applyFilter(slug){if(!slug){return}
11setActiveFilter(slug);var showAll=slug==='all';sections.forEach(function(section){var cat=section.getAttribute('data-hub-category');var match=showAll||cat===slug;if(match){showSection(section)}else{hideSection(section)}})}
12buttons.forEach(function(btn){btn.addEventListener('click',function(){var slug=btn.getAttribute('data-hub-filter');applyFilter(slug)})});if(radiogroup&&buttons.length){radiogroup.addEventListener('keydown',function(e){var keys={LEFT:'ArrowLeft',RIGHT:'ArrowRight',HOME:'Home',END:'End'};var key=e.key;if(key!==keys.LEFT&&key!==keys.RIGHT&&key!==keys.HOME&&key!==keys.END){return}
13var idx=buttons.indexOf(document.activeElement);if(idx===-1){return}
14e.preventDefault();var next=idx;if(key===keys.HOME){next=0}else if(key===keys.END){next=buttons.length-1}else if(key===keys.LEFT){next=idx>0?idx-1:buttons.length-1}else if(key===keys.RIGHT){next=idx<buttons.length-1?idx+1:0}
15buttons[next].focus();var slug=buttons[next].getAttribute('data-hub-filter');applyFilter(slug)})}
16var zoomFigures=Array.prototype.slice.call(root.querySelectorAll('[data-publication-zoom]'));zoomFigures.forEach(function(figure){var stage=figure.querySelector('[data-publication-zoom-stage]');var zoomIn=figure.querySelector('[data-publication-zoom-in]');var zoomOut=figure.querySelector('[data-publication-zoom-out]');var zoom=1;var minZoom=1;var maxZoom=2.5;var step=0.5;function setZoomOrigin(xPercent,yPercent){if(!stage){return}
17stage.style.setProperty('--abclo-publication-zoom-origin-x',xPercent.toFixed(1)+'%');stage.style.setProperty('--abclo-publication-zoom-origin-y',yPercent.toFixed(1)+'%')}
18function resetZoomOrigin(){setZoomOrigin(50,50)}
19function setZoom(nextZoom){zoom=Math.max(minZoom,Math.min(maxZoom,nextZoom));if(stage){stage.style.setProperty('--abclo-publication-zoom',zoom.toFixed(2))}
20figure.classList.toggle('is-zoomed',zoom>minZoom);if(zoom<=minZoom){resetZoomOrigin()}
21if(zoomOut){zoomOut.disabled=zoom<=minZoom}
22if(zoomIn){zoomIn.disabled=zoom>=maxZoom}}
23figure.addEventListener('pointermove',function(e){if(zoom<=minZoom||e.target.closest('.abclo-hub__publication-zoom-controls')){return}
24var rect=figure.getBoundingClientRect();var xPercent=((e.clientX-rect.left)/rect.width)*100;var yPercent=((e.clientY-rect.top)/rect.height)*100;setZoomOrigin(Math.max(0,Math.min(100,xPercent)),Math.max(0,Math.min(100,yPercent)))});figure.addEventListener('pointerleave',function(){resetZoomOrigin()});if(zoomIn){zoomIn.addEventListener('click',function(){setZoom(zoom+step)})}
25if(zoomOut){zoomOut.addEventListener('click',function(){setZoom(zoom-step)})}
26setZoom(zoom)});(function(){const track=document.querySelector('.abclo-hub__slider-track');
26const dots=document.querySelectorAll('.abclo-hub__slider-dot');const prev=document.querySelector('.abclo-hub__slider-arrow--prev');const next=document.querySelector('.abclo-hub__slider-arrow--next');const total=dots.length;let current=0;function goTo(index){current=(index+total)%total;track.style.transform=`translateX(-${current * 100}%)`;dots.forEach((d,i)=>d.classList.toggle('is-active',i===current))}
27prev.addEventListener('click',()=>goTo(current-1));next.addEventListener('click',()=>goTo(current+1));dots.forEach((d,i)=>d.addEventListener('click',()=>goTo(i)))})();(function(){var lightbox=document.getElementById('abcloLightbox');var lightboxImg=document.getElementById('abcloLightboxImg');var lightboxClose=document.getElementById('abcloLightboxClose');var zoomContainer=document.getElementById('abcloZoomContainer');if(!lightbox)return;var zoomLevel=2.5;var isZoomed=!1;document.querySelectorAll('.abclo-hub__publication-img').forEach(function(img){img.addEventListener('click',function(){lightboxImg.src=img.src;lightboxImg.alt=img.alt;lightboxImg.style.transform='scale(1)';isZoomed=!1;zoomContainer.style.cursor='crosshair';lightbox.classList.add('is-open')})});zoomContainer.addEventListener('click',function(e){e.stopPropagation();isZoomed=!isZoomed;if(!isZoomed){lightboxImg.style.transform='scale(1)';lightboxImg.style.transformOrigin='0 0';zoomContainer.style.cursor='crosshair'}else{zoomContainer.style.cursor='zoom-out'}});zoomContainer.addEventListener('mousemove',function(e){if(!isZoomed)return;var rect=zoomContainer.getBoundingClientRect();var xPercent=((e.clientX-rect.left)/rect.width)*100;var yPercent=((e.clientY-rect.top)/rect.height)*100;lightboxImg.style.transformOrigin=xPercent+'% '+yPercent+'%';lightboxImg.style.transform='scale('+zoomLevel+')'});zoomContainer.addEventListener('mouseleave',function(){if(isZoomed){lightboxImg.style.transform='scale('+zoomLevel+')'}});lightboxClose.addEventListener('click',function(){lightbox.classList.remove('is-open')});lightbox.addEventListener('click',function(e){if(e.target===lightbox){lightbox.classList.remove('is-open')}})})();(function(){const overlay=document.createElement("div");overlay.className="abclo-lightbox-overlay";overlay.innerHTML=`
28    <div class="abclo-lightbox-inner">
29      <img src="" alt="Fullscreen chart" />
30      <button class="abclo-lightbox-close" aria-label="Close">&#x00D7;</button>
31    </div>
32  `;document.body.appendChild(overlay);const lightboxImg=overlay.querySelector("img");const closeBtn=overlay.querySelector(".abclo-lightbox-close");const inner=overlay.querySelector(".abclo-lightbox-inner");function openLightbox(src,alt){lightboxImg.src=src;lightboxImg.alt=alt||"";overlay.classList.add("is-open");document.body.style.overflow="hidden"}
33function closeLightbox(){overlay.classList.remove("is-open");document.body.style.overflow="";setTimeout(()=>{lightboxImg.src=""},200)}
34overlay.addEventListener("click",closeLightbox);inner.addEventListener("click",function(e){e.stopPropagation()});closeBtn.addEventListener("click",closeLightbox);document.addEventListener("keydown",function(e){if(e.key==="Escape")closeLightbox()});function attachLightbox(){document.querySelectorAll(".abclo-hub__publication-figure").forEach(function(figure){if(figure.dataset.lightboxAttached)return;figure.dataset.lightboxAttached="true";figure.addEventListener("click",function(){const img=figure.querySelector("img");if(img)openLightbox(img.src,img.alt)})})}
35if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",attachLightbox)}else{attachLightbox()}
36const observer=new MutationObserver(attachLightbox);observer.observe(document.body,{childList:!0,subtree:!0})})()}())

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.