PageSourceSearch

https://www.vilains-voisins.fr/wp/wp-content/cache/lwsoptimize/cache-js/klj7in22.min.js

js vilains-voisins.fr collected 2026-09-24 13:35:51 UTC 7,771 bytes, 30 lines download raw bytes

1(function(){'use strict';var CATEGORY_TAGS=window.VV_IF_CATEGORY_TAGS&&Object.keys(window.VV_IF_CATEGORY_TAGS).length?window.VV_IF_CATEGORY_TAGS:{studio:['vvstudio'],imprimerie:['vvimprimerie'],enseigne:['vvenseigne'],signaletique:['vvsignaletique'],textile:['vvtextile','vilainsvoisinstextile'],covering:['vvcovering'],foufou:['vvfoufou'],};var VV_TRANSITION_MS=400;var VV_GUTTER_PX=12;var VV_ROW_GAP_PX=VV_GUTTER_PX/2;var VV_BORDER_RADIUS_PX=8;var activeCategory=window.VV_FEED_CATEGORY||null;var itemSelector='.sk-instagram-feed-item';var captionSelector='.sk-ig-caption';var posterImgSelector='img.sk-ig-post-img';var maxWaitMs=20000;function getContainer(){return(document.querySelector('.sk-ig-all-posts')||document.querySelector('.sk-instagram-feed'))}
2function log(msg){if(window.VV_FEED_DEBUG){console.log('[vv-filter] '+msg)}}
3function extractTags(text){var found=[];var re=/#([a-z0-9_]+)/gi;var m;while((m=re.exec(text))!==null){found.push(m[1].toLowerCase())}
4return found}
5function injectStyles(){if(document.getElementById('vv-hide-caption-style'))return;var style=document.createElement('style');style.id='vv-hide-caption-style';style.textContent='.sk-ig-caption{position:absolute!important;width:1px!important;height:1px!important;'+'padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;'+'white-space:nowrap!important;border:0!important;}'+'.sk-instagram-feed-item{display:grid;height:auto!important;min-height:0!important;'+'width:23%!important;position:relative;overflow:hidden!important;'+'padding:0!important;margin:0 0 '+VV_ROW_GAP_PX+'px 0!important;'+'border-radius:'+VV_BORDER_RADIUS_PX+'px!important;}'+'@media (max-width:700px){.sk-instagram-feed-item{width:31%!important;}}'+'@media (max-width:480px){.sk-instagram-feed-item{width:48%!important;}}'+'.sk-instagram-feed-item '+posterImgSelector+'{'+'grid-area:1/1;display:block!important;width:100%!important;height:auto!important;'+'z-index:1;filter:grayscale(100%);'+'transition:filter '+VV_TRANSITION_MS+'ms ease;}'+'.sk-instagram-feed-item.vv-hover-active '+posterImgSelector+'{filter:grayscale(0%);}'+'.vv-hover-video{grid-area:1/1;min-width:0;min-height:0;width:100%!important;'+'height:100%!important;object-fit:cover!important;display:block!important;'+'opacity:0;z-index:2;pointer-events:none!important;}'+'.sk-instagram-feed-item.vv-hover-active .vv-hover-video{opacity:1;}';document.head.appendChild(style)}
6function categorize(container){var items=container.querySelectorAll(itemSelector);var counts={};items.forEach(function(item){var captionEl=item.querySelector(captionSelector);var text=captionEl?captionEl.innerText||captionEl.textContent:item.innerText||'';var tags=extractTags(text);var matched=[];Object.keys(CATEGORY_TAGS).forEach(function(key){var aliases=CATEGORY_TAGS[key];var hit=aliases.some(function(tag){return tags.indexOf(tag)!==-1});if(hit){matched.push(key);item.classList.add('vv-cat-'+key);counts[key]=(counts[key]||0)+1}});item.setAttribute('data-vv-categories',matched.join(' '));if(!matched.length){item.classList.add('vv-cat-none')}});log('Publications catégorisées : '+items.length+' au total, répartition = '+JSON.stringify(counts));return items.length}
7function getPosterImg(item){return item.querySelector(posterImgSelector)}
8function ensureVideoEl(item){var vid=item.querySelector('.vv-hover-video');if(vid)return vid;var url=item.getAttribute('video-url');if(!url)return null;vid=document.createElement('video');vid.className='vv-hover-video';vid.muted=!0;vid.loop=!0;vid.playsInline=!0;vid.setAttribute('playsinline','');vid.preload='none';item.appendChild(vid);return vid}
9function loadAndPlayVideo(vid,item){if(!vid.src){var posterImg=getPosterImg(item);if(posterImg){vid.poster=posterImg.currentSrc||posterImg.src}
10vid.src=item.getAttribute('video-url')}
11try{vid.currentTime=0}catch(e){}
12var p=vid.play();if(p&&p.catch)p.catch(function(){})}
13function handleHoverStart(item){if(item.classList.contains('vv-hover-active'))return;var isVideo=item.getAttribute('data-type')==='video';var vid=isVideo?ensureVideoEl(item):null;item.classList.add('vv-hover-active');if(vid)loadAndPlayVideo(vid,item);}
14function handleHoverEnd(item){if(!item.classList.contains('vv-hover-active'))return;item.classList.remove('vv-hover-active');var vid=item.querySelector('.vv-hover-video');if(vid)vid.pause();}
15var VV_IS_TOUCH_DEVICE=!!(window.matchMedia&&window.matchMedia('(hover: none)').matches);var vvActiveTouchItem=null;function handleTouchTap(item){if(vvActiveTouchItem===item){handleHoverEnd(item);vvActiveTouchItem=null;return}
16if(vvActiveTouchItem){handleHoverEnd(vvActiveTouchItem)}
17handleHoverStart(item);vvActiveTouchItem=item}
18if(VV_IS_TOUCH_DEVICE){document.addEventListener('click',function(e){if(!vvActiveTouchItem)return;if(e.target.closest(itemSelector))return;handleHoverEnd(vvActiveTouchItem);vvActiveTouchItem=null})}
19function bindInteractions(container){if(container.dataset.vvBound)return;container.dataset.vvBound='1';container.addEventListener('mouseover',function(e){var item=e.target.closest(itemSelector);if(!item||!container.contains(item))return;if(item.contains(e.relatedTarget))return;handleHoverStart(item)});container.addEventListener('mouseout',function(e){var item=e.target.closest(itemSelector);if(!item||!container.contains(item))return;if(item.contains(e.relatedTarget))return;handleHoverEnd(item)});container.addEventListener('click',function(e){var item=e.target.closest(itemSelector);if(!item||!container.contains(item))return;e.preventDefault();e.stopPropagation();if(VV_IS_TOUCH_DEVICE)handleTouchTap(item);},!0)}
20function initIsotope(container){if(!window.Isotope){console.warn('[vv-filter] Isotope introuvable — chargez isotope.pkgd.min.js avant ce script.');return null}
21var iso=new window.Isotope(container,{itemSelector:itemSelector,layoutMode:'masonry',percentPosition:!0,masonry:{gutter:VV_GUTTER_PX,},hiddenStyle:{opacity:0}
21,visibleStyle:{opacity:1},transitionDuration:VV_TRANSITION_MS+'ms',});function relayout(){iso.layout()}
22if(window.imagesLoaded){window.imagesLoaded(container,relayout)}else{window.addEventListener('load',relayout)}
23bindInteractions(container);if(activeCategory){iso.arrange({filter:'.vv-cat-'+activeCategory});log('Filtre appliqué : '+activeCategory)}else{console.warn('[vv-filter] window.VV_FEED_CATEGORY n\'est pas défini — aucune publication ne sera filtrée.')}
24return iso}
25var isotopeInstance=null;function run(){injectStyles();var container=getContainer();if(!container)return!1;var count=categorize(container);if(!count)return!1;if(!isotopeInstance){isotopeInstance=initIsotope(container)}else{isotopeInstance.reloadItems();isotopeInstance.arrange({filter:activeCategory?'.vv-cat-'+activeCategory:'*',})}
26return!0}
27function start(){injectStyles();if(run()){log('Widget déjà présent au chargement, tri appliqué immédiatement.')}
28function isOwnMutation(mutations){return mutations.every(function(m){var nodes=[];for(var i=0;i<m.addedNodes.length;i++)nodes.push(m.addedNodes[i]);for(var j=0;j<m.removedNodes.length;j++)nodes.push(m.removedNodes[j]);return nodes.every(function(node){return(node.nodeType!==1||(node.classList&&node.classList.contains('vv-hover-video')))})})}
29var pending=null;var applying=!1;var observer=new MutationObserver(function(mutations){if(applying)return;if(isOwnMutation(mutations))return;if(pending)clearTimeout(pending);pending=setTimeout(function(){pending=null;applying=!0;run();setTimeout(function(){applying=!1},50)},150)});observer.observe(document.body,{childList:!0,subtree:!0});setTimeout(function(){observer.disconnect();log('Observation arrêtée après '+maxWaitMs+'ms.')},maxWaitMs)}
30if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start)}else{start()}})()

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.