PageSourceSearch

https://bigstep.vn/wp-content/cache/min/1/wp-content/plugins/bigst…/assets/showcase.js?ver=1790850873

js bigstep.vn collected 2026-10-02 01:11:03 UTC 5,314 bytes, 13 lines download raw bytes

1(function(){'use strict';function boot(root){if(root.dataset.bpsReady)return;root.dataset.bpsReady='1';var track=root.querySelector('[data-bps-track]');var dots=root.querySelector('[data-bps-dots]');var cards=Array.prototype.slice.call(track.children);var index=0;var timer=null;var pointerStartX=null;var pointerStartY=null;var pointerLastX=null;var pointerLastY=null;var pointerActive=!1;var pointerLink=null;var suppressClickUntil=0;function visible(){return window.innerWidth<680?1:window.innerWidth<1100?2:3}
2function max(){return Math.max(0,cards.length-visible())}
3function renderDots(){dots.innerHTML='';for(var i=0;i<=max();i++){var dot=document.createElement('button');dot.type='button';dot.setAttribute('aria-label','Slide '+(i+1));dot.dataset.index=i;if(i===index)dot.className='is-active';dots.appendChild(dot)}}
4function move(next){index=Math.max(0,Math.min(max(),next));var gap=parseFloat(getComputedStyle(track).gap)||14;var width=cards[0]?cards[0].getBoundingClientRect().width+gap:0;track.style.transform='translate3d('+(-index*width)+'px,0,0)';renderDots();root.querySelector('[data-bps-prev]').disabled=index===0;root.querySelector('[data-bps-next]').disabled=index===max()}
5function stopAuto(){if(timer){window.clearInterval(timer);timer=null}}
6function startAuto(){stopAuto()}
7function handleSwipe(endX,endY){if(pointerStartX===null||pointerStartY===null)return!1;var deltaX=endX-pointerStartX;var deltaY=endY-pointerStartY;pointerStartX=null;pointerStartY=null;pointerLastX=null;pointerLastY=null;if(Math.abs(deltaX)<42||Math.abs(deltaX)<=Math.abs(deltaY)*1.1)return!1;move(deltaX<0?index+1:index-1);suppressClickUntil=Date.now()+450;return!0}
8root.querySelector('[data-bps-prev]').addEventListener('click',function(){move(index-1);startAuto()});root.querySelector('[data-bps-next]').addEventListener('click',function(){move(index+1);startAuto()});dots.addEventListener('click',function(event){var target=event.target.closest('button[data-index]');if(target&&dots.contains(target)){move(parseInt(target.dataset.index,10));startAuto()}});var viewport=root.querySelector('.bps-viewport');if(viewport){viewport.addEventListener('pointerdown',function(event){if(event.pointerType==='mouse'&&event.button!==0)return;pointerActive=!0;var card=event.target.closest?event.target.closest('.bps-card'):null;pointerLink=event.target.closest?event.target.closest('a[href]'):null;if(!pointerLink&&card)pointerLink=card.querySelector('.bps-card__hit-area[href], .bps-card__image[href], h3 a[href]');pointerStartX=event.clientX;pointerStartY=event.clientY;pointerLastX=event.clientX;pointerLastY=event.clientY;stopAuto();if(viewport.setPointerCapture)viewport.setPointerCapture(event.pointerId)});viewport.addEventListener('pointermove',function(event){if(!pointerActive)return;pointerLastX=event.clientX;pointerLastY=event.clientY},{passive:!0});viewport.addEventListener('pointerup',function(event){if(!pointerActive)return;pointerActive=!1;var isTap=pointerStartX!==null&&pointerStartY!==null&&Math.hypot(event.clientX-pointerStartX,event.clientY-pointerStartY)<10;var tapHref=isTap&&pointerLink?pointerLink.href:'';handleSwipe(event.clientX,event.clientY);pointerLink=null;startAuto();if(tapHref)window.location.assign(tapHref)});viewport.addEventListener('pointercancel',function(){pointerActive=!1;pointerLink=null;if(pointerLastX!==null&&pointerLastY!==null){handleSwipe(pointerLastX,pointerLastY)}else{pointerStartX=null;pointerStartY=null}
9startAuto()});viewport.addEventListener('touchstart',function(event){if(pointerActive||!event.touches[0])return;pointerStartX=event.touches[0].clientX;pointerStartY=event.touches[0].clientY;stopAuto()},{passive:!0});viewport.addEventListener('touchend',function(event){if(pointerActive||!event.changedTouches[0])return;handleSwipe(event.changedTouches[0].clientX,event.changedTouches[0].clientY);startAuto()},{passive:!0});viewport.addEventListener('mousedown',function(event){if(pointerActive||event.button===2)return;pointerStartX=event.clientX;pointerStartY=event.clientY;stopAuto()});viewport.addEventListener('mouseup',function(event){if(pointerActive)return;handleSwipe(event.clientX,event.clientY);startAuto()});window.addEventListener('pointerup',function(event){if(!pointerActive)return;pointerActive=!1;handleSwipe(event.clientX,event.clientY);startAuto()});window.addEventListener('mouseup',function(event){if(!pointerActive)return;pointerActive=!1;handleSwipe(event.clientX,event.clientY);startAuto()});viewport.addEventListener('dragstart',function(event){event.preventDefault()});viewport.addEventListener('click',function(event){if(Date.now()>=suppressClickUntil)return;event.preventDefault();event.stopPropagation()},!0);if(window.matchMedia('(hover: hover) and (pointer: fine)').matches){viewport.addEventListener('mouseenter',stopAuto);viewport.addEventListener('mouseleave',startAuto)}
10viewport.addEventListener('focusin',stopAuto);viewport.addEventListener('focusout',startAuto)}
11document.addEventListener('visibilitychange',function(){if(document.hidden)stopAuto();else startAuto()});window.addEventListener('resize',function(){move(index)});move(0);startAuto()}
12function init(){document.querySelectorAll('[data-bps-showcase]').forEach(boot)}
13document.readyState==='loading'?document.addEventListener('DOMContentLoaded',init):init()}())

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.