PageSourceSearch

https://ipantry.com/cdn/shop/t/67/assets/arkhi-sub-collections.js?v=71605342429582751661782191808

js ipantry.com collected 2026-10-09 21:41:41 UTC 5,153 bytes, 34 lines download raw bytes

1class SubCollection extends HTMLElement{constructor(){super(),this.navigations=window.theme.settings.navigations??{},this.breadcrumbs=[]}connectedCallback(){if(Object.keys(this.navigations).length===0)return;let navigation=this.navigations.DEFAULT;const location=window.location.href,parentParam=new URL(location).searchParams.get("p");let links;for(const parent of navigation){if(parent.active&&location.includes(parent.url)){links=parent.links.map(link=>(link.url+=`?p=${parent.url.replace("/collections/","")}`,link)),this.pushBreadcrumbs(parent.url,parent.title);break}if(parent.child_active){if(parentParam&&!parent.url.includes(parentParam))continue;let child=parent.links.find(o=>o.active&&location.includes(o.url));if(child){if(links=child.links.map(link=>(link.url+=`?p=${parent.url.replace("/collections/","")}`,link)),child.active){this.pushBreadcrumbs(parent.url,parent.title),this.pushBreadcrumbs(child.url+`?p=${parent.url.replace("/collections/","")}`,child.title);break}}else{if(child=parent.links.find(o=>o.child_active),child){const grandchild=child.links.find(o=>o.active&&location.includes(o.url));if(grandchild){links=grandchild.links.map(link=>(link.url+=`?p=${parent.url.replace("/collections/","")}`,link)),this.pushBreadcrumbs(parent.url,parent.title),this.pushBreadcrumbs(child.url+`?p=${parent.url.replace("/collections/","")}`,child.title),this.pushBreadcrumbs(grandchild.url+`?p=${parent.url.replace("/collections/","")}`,grandchild.title);break}else if(grandchild=child.links.find(o=>o.links.some(c=>location.includes(c.url))),grandchild){const childCollection=grandchild.links.find(o=>location.includes(o.url));childCollection&&(this.pushBreadcrumbs(parent.url,parent.title),this.pushBreadcrumbs(child.url+`?p=${parent.url.replace("/collections/","")}`,child.title),this.pushBreadcrumbs(grandchild.url+`?p=${parent.url.replace("/collections/","")}`,grandchild.title),this.pushBreadcrumbs(childCollection.url+`?p=${parent.url.replace("/collections/","")}`,childCollection.title))}}break}}}if(this.breadcrumbs.length==0){let findingMenuLevel4=!1;for(const parent of navigation){for(const child of parent.links){for(const grandchild of child.links){for(const collectionChild of grandchild.links)collectionChild.active&&(this.pushBreadcrumbs(parent.url,parent.title),this.pushBreadcrumbs(child.url+`?p=${parent.url.replace("/collections/","")}`,child.title),this.pushBreadcrumbs(grandchild.url+`?p=${parent.url.replace("/collections/","")}`,grandchild.title),this.pushBreadcrumbs(collectionChild.url+`?p=${parent.url.replace("/collections/","")}`,collectionChild.title),findingMenuLevel4=!0);if(findingMenuLevel4)break}if(findingMenuLevel4)break}if(findingMenuLevel4)break}if(findingMenuLevel4==!1){const currentCollection=JSON.parse(this.dataset.options).current_collection;this.pushBreadcrumbs(currentCollection.handle,currentCollection.title)}}this.renderElements(links,this.breadcrumbs)}pushBreadcrumbs(url,title){const breadcrumbObj={url,title};this.breadcrumbs.push(breadcrumbObj)}renderElements(links,breadcrumbs){const div=document.createElement("div");let breadcrumbNav="",slider="";links&&(slider=`<css-slider class="css-slider css-slider--middle-navigation css-slider--hide-dots css-slider--hide-indexnav" data-options='${this.dataset.options}'>
2        <div class="grid grid--slider">
3          ${links.map(({url,title,image})=>`
4              <div class="card js-collection-item text-align--center">
5                <a class="card__whole-link" href="${url}" title="${title}">
6                  <div class="card__image border-radius-top" style="padding-top: 100%">
7                    <figure class="lazy-image lazy-image--animation lazy-image--background lazyloaded" data-ratio="1" style="padding-top: 100%" data-crop="false">
8                      <img src="${image}&amp;width=360" alt="${title}" class="img" width="360" height="360" data-ratio="1" loading="eager" onload="this.parentNode.classList.add('lazyloaded')" data-arkhi-grid-productmedia>
9                    </figure>
10                  </div>
11                  <div class="card__text gutter--small spacing--xsmall remove-empty-space">
12                    <span>${title}</span>
13                  </div>
14                </a>
15              </div>
16            `).join("")}
17        </div>
18      </css-slider>`),breadcrumbNav=`<div class="breadcrumb-main">
19      <div class="breadcrumb-container">
20      <nav class="breadcrumb" role="navigation" aria-label="breadcrumbs">
21      <span class="breadcrumb__link"><a href="/">Home</a></span>
22      <span class="breadcrumb__separator">/</span>
23    `,breadcrumbs&&(breadcrumbNav+=`
24        ${breadcrumbs.map(({url,title})=>`
25          <span class="breadcrumb__link"><a href="${url}">${title}</a></span>
26          <span class="breadcrumb__separator">/</span>
27          `).join("")}`),breadcrumbNav+=`
28        </div>
29      </div>
30    `,div.innerHTML=`
31      ${breadcrumbNav}
32      ${slider}
33    `,this.appendChild(div)}}customElements.get("sub-collection")||customElements.define("sub-collection",SubCollection);
34//# sourceMappingURL=/cdn/shop/t/67/assets/arkhi-sub-collections.js.map?v=71605342429582751661782191808

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.