PageSourceSearch

https://stonelakechiropractic.com/wp-content/cache/min/1/wp-conten…/assets/js/cbxr-widget.js?ver=1790765336

js stonelakechiropractic.com collected 2026-10-06 03:07:37 UTC 2,867 bytes, 12 lines download raw bytes

1(function(){'use strict';var widget=document.getElementById('cbxr-widget');var badge=document.getElementById('cbxr-badge');var panel=document.getElementById('cbxr-panel');var close=document.getElementById('cbxr-close');var overlay=document.getElementById('cbxr-overlay');if(!widget||!badge||!panel)return;var hiddenTransform=widget.classList.contains('cbxr-pos-right')?'translateX(101%)':'translateX(-101%)';var more=widget.querySelector('.cbxr-more');var loading=!1;function loadMore(){if(!more||loading||!window.fetch){return}
2loading=!0;var src=more.getAttribute('data-cbxr-src');fetch(src,{credentials:'same-origin'}).then(function(r){if(!r.ok){throw new Error('HTTP '+r.status)}return r.json()}).then(function(data){if(!data||typeof data.html!=='string'){throw new Error('bad response')}
3var list=more.parentNode;if(data.replace){var old=list.querySelectorAll('.cbxr-review-card');for(var i=0;i<old.length;i++){old[i].parentNode.removeChild(old[i])}}
4var tpl=document.createElement('div');tpl.innerHTML=data.html;var cards=tpl.querySelectorAll('.cbxr-review-card');for(var j=0;j<cards.length;j++){var k=cards[j].getAttribute('data-k');if(k&&list.querySelector('.cbxr-review-card[data-k="'+k+'"]')){continue}
5list.insertBefore(cards[j],more)}
6list.removeChild(more);more=null}).catch(function(){if(!more){return}
7var href=more.getAttribute('data-cbxr-fallback');more.innerHTML='';if(href){var a=document.createElement('a');a.href=href;a.target='_blank';a.rel='noopener noreferrer';a.className='cbxr-more-link';a.textContent='See all reviews on Google';more.appendChild(a)}
8more.classList.add('cbxr-more-failed');more=null})}
9function openPanel(){loadMore();widget.classList.add('cbxr-open');panel.setAttribute('aria-hidden','false');document.body.style.overflow='hidden';panel.style.transform='translateX(0)';if(overlay){overlay.style.opacity='1';overlay.style.pointerEvents='auto'}}
10function closePanel(){widget.classList.remove('cbxr-open');panel.setAttribute('aria-hidden','true');document.body.style.overflow='';panel.style.transform=hiddenTransform;if(overlay){overlay.style.opacity='0';overlay.style.pointerEvents='none'}}
11badge.addEventListener('click',openPanel);badge.addEventListener('pointerenter',function(e){if(e.pointerType!=='touch'){loadMore()}});badge.addEventListener('focus',loadMore);close.addEventListener('click',closePanel);overlay.addEventListener('click',closePanel);document.addEventListener('keydown',function(e){if(e.key==='Escape'&&widget.classList.contains('cbxr-open')){closePanel()}});widget.addEventListener('click',function(e){var btn=e.target&&e.target.closest?e.target.closest('.cbxr-read-more'):null;if(!btn){return}
12var textEl=btn.previousElementSibling;if(textEl&&textEl.classList.contains('cbxr-review-text')){var isExpanded=textEl.classList.toggle('cbxr-expanded');btn.textContent=isExpanded?'Show less':'Read more'}})})()

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.