PageSourceSearch

https://www.heals.com/cdn/shop/t/88/assets/graphene.bundle.js?v=44294612211605639221786461382

js heals.com collected 2026-09-24 09:23:01 UTC 3,500 bytes, 1 lines download raw bytes

1(()=>{function u(e){let t=()=>{window.$g&&typeof window.$g.autocomplete=="function"?e():requestAnimationFrame(t)};requestAnimationFrame(t)}async function m(e,t="card"){if(!e)return;let r=e.querySelectorAll(".js-dynamic-card[data-product-handle]");if(!r.length)return;let o=[];for(let a of r)o.push(i(a,t));await Promise.all(o)}function s(e,t="card"){if(!e)return;let r=Array.from(e.querySelectorAll(".js-dynamic-card[data-product-handle]")).filter(a=>a.dataset.context!=="autocomplete"&&a.dataset.enhanced!=="true"&&a.dataset.loading!=="true");if(!r.length)return;let o=new IntersectionObserver((a,c)=>{a.forEach(n=>{n.isIntersecting&&(c.unobserve(n.target),i(n.target,t))})},{rootMargin:"200px 0px"});r.forEach(a=>o.observe(a))}async function i(e,t="card"){if(!e||e.dataset.enhanced==="true"||e.dataset.loading==="true"||e.dataset.context==="autocomplete"&&t!=="card-search")return;let r=e.dataset.productHandle;if(r){e.dataset.loading="true";try{let o=new URL(r,window.location.origin);o.searchParams.append("view",t);let a=e.dataset.variant;a&&o.searchParams.append("variant",a);let c=await fetch(o);if(!c.ok){e.classList.remove("js-dynamic-card");return}let n=await c.text();if(!n){e.classList.remove("js-dynamic-card");return}e.innerHTML=n,e.dataset.enhanced="true",e.classList.remove("js-dynamic-card"),e.classList.add("fade"),document.dispatchEvent(new CustomEvent("swym:collections-loaded")),e.querySelectorAll("product-card").forEach(d=>{d.init?.(),d.querySelector("swiper-component")?.init?.()})}catch(o){console.error("Dynamic card hydrate error:",r,o)}finally{delete e.dataset.loading}}}function w(){let e=document.querySelector("#acs_results #acs-data");if(!e)return{};try{return{meta:JSON.parse(e.textContent)}}catch(t){return console.warn("Failed to get search meta data",t),{}}}function l(){let e=document.querySelector("menu-drawer.facets__drawer");e&&(document.body.classList.contains("drawer--is-open")?e.toggleDrawer():(document.body.style.overflow="",document.body.style.position="",document.body.style.top="",document.body.style.width=""),requestAnimationFrame(()=>{window.scrollTo({top:e.offsetTop,behavior:"smooth"})}))}u(()=>{$g.autocomplete({input_selector:"#search.search__input",dropdown_selector:".acs_auto_popup",after_load:()=>{let e=document.querySelector(".acs_auto_popup");e&&(m(e),e.querySelectorAll(".js-dynamic-card").forEach(t=>{t.dataset.context="autocomplete"}))}}),window.advancedCommerce?.isSearch&&window.advancedCommerce?.isSearchEnabled&&!window.__acInitialSearchLoadDone&&(window.__acInitialSearchLoadDone=!0,$g.load({template:{id:"search",target:"#acs_results"},page_context:{search_text:window.advancedCommerce?.term,currency_id:Shopify.currency.active,language_id:`${Shopify.locale}-${Shopify.country}`.toLowerCase()},success:()=>{let e=document.querySelector("#acs_results");e&&(e.classList.remove("ac-results-loading"),l(),s(e,"card-search"),window.advancedCommerce=Object.assign(window.advancedCommerce||{},w()))}})),window.advancedCommerce?.isCollection&&window.advancedCommerce?.isCollectionEnabled&&!window.__acInitialCollectionLoadDone&&(window.__acInitialCollectionLoadDone=!0,$g.load({template:{id:"category",target:"#collections-AC"},page_context:{category_id:window.advancedCommerce?.collectionHandle},success:()=>{let e=document.querySelector("#collections-AC");e&&(e.classList.remove("ac-results-loading"),l(),s(e))}}))});window.enhanceAutocompleteResults=m;window.hydrateCard=i;window.hydrateCardsLazily=s;window.waitForGraphene=u;})();

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.