PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.14
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.14
2.0.14 2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / assets / js / template-pilot-front.js

template-pilot-front.js in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.14, at assets/js/template-pilot-front.js

28 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(){'use strict';
2 function boot(){document.querySelectorAll('[data-bkbg-marquee]').forEach(function(track){
3 if(track.dataset.ready)return;
4 var items=Array.from(track.children),width=track.scrollWidth,copies=0;
5 if(!items.length||width<=0)return;
6 track.dataset.ready='1';
7 while(width<window.innerWidth*2 && copies++<12){items.forEach(function(e){var c=e.cloneNode(true);c.setAttribute('aria-hidden','true');track.appendChild(c);});width=track.scrollWidth;}
8 var half=track.scrollWidth;
9 Array.from(track.children).forEach(function(e){var c=e.cloneNode(true);c.setAttribute('aria-hidden','true');track.appendChild(c);});
10 track.style.setProperty('--bkbg-marquee-duration',(half/Math.max(1,Number(track.dataset.bkbgMarquee)||60))+'s');
11 });}
12 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot,{once:true});else boot();
13 window.addEventListener('load',boot,{once:true});
14 })();
15 /* Native backgrounds and form submission: no Elementor or CF7 runtime. */
16 (function(){'use strict';
17 function boot(){
18 document.querySelectorAll('[data-bkbg-slideshow]').forEach(function(root){if(root.dataset.bkbgReady)return;root.dataset.bkbgReady='1';var cfg={};try{cfg=JSON.parse(root.dataset.bkbgSlideshow);}catch(e){}var slides=Array.from(root.children),index=0,reduce=matchMedia('(prefers-reduced-motion: reduce)').matches;
19 root.style.setProperty('--bkbg-slide-transition',(cfg.transition??500)+'ms');root.style.setProperty('--bkbg-slide-duration',((cfg.duration||5000)+(cfg.transition??500))+'ms');if(cfg.kenBurns&&!reduce)root.classList.add(cfg.zoomOut?'bkbg-kenburns-out':'bkbg-kenburns-in');
20 if(cfg.effect&&cfg.effect!=='fade')root.classList.add('bkbg-background-'+cfg.effect.replace('_','-'));if(slides.length<2||reduce)return;function next(){if(!root.isConnected)return;if(!document.hidden){if(index===slides.length-1&&!cfg.loop)return;root.dataset.bkbgAdvancing='1';var previous=slides[index];previous.classList.remove('is-active');if(cfg.effect&&cfg.effect!=='fade'){previous.classList.add('is-leaving');setTimeout(function(){previous.classList.remove('is-leaving');},Math.max(0,cfg.transition??500));}index=(index+1)%slides.length;slides[index].classList.add('is-active');}setTimeout(next,Math.max(1000,cfg.duration||5000));}setTimeout(next,Math.max(1000,cfg.duration||5000));
21 });
22 document.querySelectorAll('[data-bkbg-form]').forEach(function(form){if(form.dataset.bkbgReady)return;form.dataset.bkbgReady='1';form.addEventListener('submit',async function(event){event.preventDefault();if(form.dataset.bkbgSending||!form.reportValidity())return;var result=form.querySelector('.bkbg-template-form-result'),buttons=Array.from(form.querySelectorAll('[type=submit]')),values={};new FormData(form).forEach(function(v,k){if(typeof v==='string')values[k]=v;});form.dataset.bkbgSending='1';buttons.forEach(function(b){b.disabled=true;});result.hidden=true;
23 try{var response=await fetch(form.dataset.bkbgEndpoint,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({schema:form.dataset.bkbgSchema,signature:form.dataset.bkbgSignature,website:values.bkbg_website||'',values:values})}),data=await response.json();if(!response.ok||!data.success)throw new Error(data.message||form.dataset.bkbgError);result.textContent=form.dataset.bkbgSuccess;form.reset();}catch(error){result.textContent=error.message||form.dataset.bkbgError;}finally{result.hidden=false;buttons.forEach(function(b){b.disabled=false;});delete form.dataset.bkbgSending;}
24 });});
25 }
26 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot,{once:true});else boot();
27 })();
28