PageSourceSearch

https://www.greatmats.com/js/product-showcase.js

js greatmats.com collected 2026-10-03 23:52:29 UTC 1,319 bytes, 33 lines download raw bytes

1const ps_wrap = document.querySelector(".ps_embla");
2const ps_viewPort = ps_wrap.querySelector(".ps_embla__viewport");
3const ps_prevBtn = ps_wrap.querySelector(".ps_embla__button--prev");
4const ps_nextBtn = ps_wrap.querySelector(".ps_embla__button--next");
5const ps_options = {
6											active: true,
7											loop: false,
8											delay: 4000,
9											slidesToScroll: 'auto',
10											skipSnaps: true
11										}
12const ps_embla = EmblaCarousel(ps_viewPort, ps_options);
13const ps_disablePrevAndNextBtns = disablePrevNextBtns(ps_prevBtn, ps_nextBtn, ps_embla);
14
15const ps_setupPrevNextBtns = (ps_prevBtn, ps_nextBtn, ps_embla) => {
16	ps_prevBtn.addEventListener('click', ps_embla.scrollPrev, false);
17	ps_nextBtn.addEventListener('click', ps_embla.scrollNext, false);
18};
19
20const ps_disablePrevNextBtns = (ps_prevBtn, ps_nextBtn, ps_embla) => {
21	return () => {
22		if (ps_embla.canScrollPrev()) ps_prevBtn.removeAttribute('disabled');
23		else ps_prevBtn.setAttribute('disabled', 'disabled');
24
25		if (ps_embla.canScrollNext()) ps_nextBtn.removeAttribute('disabled');
26		else ps_nextBtn.setAttribute('disabled', 'disabled');
27	};
28};
29
30ps_setupPrevNextBtns(ps_prevBtn, ps_nextBtn, ps_embla);
31
32ps_embla.on("select", ps_disablePrevAndNextBtns);
33ps_embla.on("init", ps_disablePrevAndNextBtns);

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.