PageSourceSearch

https://offene-ateliers-dortmund.de/wp-content/plugins/bm-builder/assets/js/sea_lib.min.js?ver=3.17.0

js offene-ateliers-dortmund.de collected 2026-10-04 17:00:05 UTC 3,304 bytes, 59 lines download raw bytes

1/*function debounce, function throttle, function sea_get_browser, function page loader, function return is has not gsap*/
2sea_now=Date.now||function(){return(new Date).getTime()};sea_debounce=function(n,u,t){var e,l,o,r,i,a=function(){var c=sea_now()-r;c<u&&c>=0?e=setTimeout(a,u-c):(e=null,t||(i=n.apply(o,l),e||(o=l=null)))};return function(){o=this,l=arguments,r=sea_now();var c=t&&!e;return e||(e=setTimeout(a,u)),c&&(i=n.apply(o,l),o=l=null),i}};function sea_throttle(n,l,t){var a,e,u,i,r=0;t||(t={});var o=function(){r=!1===t.leading?0:sea_now(),a=null,i=n.apply(e,u),a||(e=u=null)},c=function(){var c=sea_now();r||!1!==t.leading||(r=c);var f=l-(c-r);return e=this,u=arguments,f<=0||f>l?(a&&(clearTimeout(a),a=null),r=c,i=n.apply(e,u),a||(e=u=null)):a||!1===t.trailing||(a=setTimeout(o,f)),i};return c.cancel=function(){clearTimeout(a),r=0,a=e=u=null},c}function sea_get_browser(){var e,r=navigator.userAgent,a=r.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(a[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(r)||[])[1]||""}:"Chrome"===a[1]&&null!=(e=r.match(/\bOPR\/(\d+)/))?{name:"Opera",version:e[1]}:(a=a[2]?[a[1],a[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=r.match(/version\/(\d+)/i))&&a.splice(1,1,e[1]),{name:a[0],version:a[1]})}
3function sea_page_loader(el){var _url=el.attr('href'),pageLoader=jQuery('.page-loading');if(_url){if(el.attr('target')==='_blank'){return}else{setTimeout(function(){pageLoader.addClass('visible');},100);setTimeout(function(){window.location.href=_url;},400);return false;}}}
4function has_gsap() {if(!window.gsap) {alert('Please enable BM Content Builder plugin');return;}}
5function sea_cursor_follower(linkEle){
6	has_gsap();
7	const seaBody = jQuery('body'),
8		seaCursor = jQuery('.sea-cursor');
9	if (!seaCursor.length) return;
10	const pos = { x: window.innerWidth / 2, y: window.innerHeight / 2 },
11		mouse = { x: pos.x, y: pos.y },
12		speed = 0.35, 
13		dot = seaCursor.find('.sea-cursor-dot'),
14		text = seaCursor.find('.cursor-text-in'),
15		xSet = gsap.quickSetter(seaCursor, 'x', 'px'),
16		ySet = gsap.quickSetter(seaCursor, 'y', 'px');
17
18	window.addEventListener("mousemove", e => {
19	  mouse.x = e.x;
20	  mouse.y = e.y;
21	  seaCursor.css({'visibility': 'visible'})
22	});
23
24	linkEle.each(function () {
25		const link = jQuery(this);
26		link.on('mouseenter', e => {
27			if (!seaBody.hasClass('isHover')) seaBody.addClass('isHover');
28			if (link.hasClass('grid-item-mask-link')) { 
29				// dot.css({'opacity':'0'})
30				dot.css({'transform':'scale(2)'})
31				text.css({'transform':'translateY(0)'})
32				link.css({'cursor':'none'})
33			} else { 
34				dot.css({'transform':'scale(1.35)'})
35			}
36		})
37
38		link.on('mouseleave', e => {
39			if (seaBody.hasClass('isHover')) seaBody.removeClass('isHover'); 
40			dot.css({'opacity':'','transform':''}) 
41			text.css({'transform':''})
42		})
43
44		link.on('mousedown', e => { 
45			if (e.which && e.which === 1) dot.css({'transform':'scale(3)'})
46		})
47		link.on('mouseup', e => {
48			dot.css({'transform':''}) 
49		})
50	})
51	
52	gsap.ticker.add(() => { 
53	  const dt = 1.0 - Math.pow(1.0 - speed, gsap.ticker.deltaRatio()); 
54	  pos.x += (mouse.x - pos.x) * dt;
55	  pos.y += (mouse.y - pos.y) * dt;
56	  xSet(pos.x);
57	  ySet(pos.y);
58	});
59}

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.