PageSourceSearch

https://carniwel.com/cdn/shop/t/37/assets/smi-product-listing-page.min.js?v=57051894229414677871774613732

js carniwel.com collected 2026-10-08 23:14:35 UTC 15,167 bytes, 1 lines download raw bytes

1if(void 0===window.SMI_ProductListingPage){class e{constructor(){}init(t){e.widgetCollapse(t),document.body.classList.remove("smi-overflow-hidden"),this.handleProductViewList(t),setTimeout((()=>{this.handleCollectionPageExtend(t)}),550)}static widgetCollapse(t,i=!1){t.querySelectorAll(".smi-sb-widget__click-area").forEach((t=>{const s=t.parentElement;!s||i&&!s.matches(".smi-filter-item")||(t.removeEventListener("click",e.widgetCollapseOnClick),t.addEventListener("click",e.widgetCollapseOnClick))}))}static widgetCollapseOnClick(e){e.currentTarget.parentElement.classList.toggle("smi-sb-widget--hide")}static showPopupOverlay(t,i){const s=t.querySelector(".smi-popup-overlay");s&&(i?s.classList.remove("smi-d-none"):s.classList.add("smi-d-none"),e.handleZIndex(t,s))}static handlePopupOverlayClick(t,i){const s=t.querySelector(".smi-popup-overlay");if(!s)return;s.addEventListener("click",(()=>{s.classList.add("smi-d-none"),e.handleZIndex(t,s),i(s)}))}static handleZIndex(e,t){e.parentElement.classList.toggle("smi-zindex-popup",!t.matches(".smi-d-none"))}handleProductViewList(e){const t=e.querySelector(".smi-product-grid"),i=window.matchMedia("(min-width: 768px)");let s=null;const toggleObserver=i=>{i.matches?!s&&t&&(s=new MutationObserver((i=>{i.forEach((i=>{if("attributes"===i.type){t.querySelectorAll(".smi-product-card");this.handleCollectionPageExtend(e)}if("childList"===i.type){console.log("Child elements changed.",i.addedNodes,i.removedNodes);i.addedNodes;setTimeout((()=>{this.handleCollectionPageExtend(e)}),550)}}))})),s.observe(t,{attributes:!0,attributeFilter:["class"],childList:!0})):(s?.disconnect(),s=null)};i.addEventListener("change",toggleObserver),toggleObserver(i)}handleCollectionPageExtend(e){try{const t=e.querySelectorAll(".smi-layout-grid--list .smi-product-card"),i=e.querySelectorAll(".smi-product-card .smi-product-card-extend-general"),handleTooltipExtend=e=>{i.forEach((t=>{t.querySelectorAll(".extend-item").forEach((t=>{t.setAttribute("data-smi-placement",e?"top":"left")}))}))};t.length>0?(t.forEach((e=>{e.querySelector("smi-product-form");const t=e.querySelector('smi-quickview-item[data-smi-extend-type="quick-add"]'),i=e.querySelector(".smi-product-card__actions"),s=e.querySelector(".smi-product-card__info");let r="fit-content";if(t){const t=e.querySelector(".smi-quickadd-desktop-container");t&&(r=`${t.offsetHeight}px`)}else{i?.classList.add("not-has-quick-add");const t=e.querySelector("._cart_now");t&&(r=`${t.offsetHeight}px`)}if(s){const t=s.offsetHeight;e.style.setProperty("--pd-card-info-height",`${t}px`)}i&&i.style.setProperty("--extend-item-height",r)})),handleTooltipExtend(!0)):handleTooltipExtend(!1)}catch(e){console.error("Error in handleCollectionPageExtend:",e)}}moveProductCardActionButton(e){try{console.log("productElement: ",e),e.forEach((e=>{const t=e.querySelector(".smi-product-card__actions");if(!t)return;let i=t.parentElement.matches(".smi-thumbnail-inner")?".smi-product-card__info":".smi-thumbnail-inner";i=e.querySelector(i),i.insertAdjacentElement("beforeend",t);const s=t.querySelector(".smi-button-cart");t.querySelector('smi-quickview-item[data-smi-extend-type="quick-add"]')||s&&s.classList.add("smi-atc-action")}))}catch(e){console.log("error: ",e)}}}window.SMI_ProductListingPage=e}if(!customElements.get("smi-cp-filter")){class e extends HTMLElement{constructor(){super(),this.sectionEl=this.closest(".smi-section__inner"),this.sectionId=this.sectionEl.id.replace("smi-",""),this.classList.contains("smi-filter--horizontal")&&new t(this,this.sectionEl)}static get observedAttributes(){return["sort-by","url"]}attributeChangedCallback(e,t,i){"sort-by"===e&&null!==t&&t!==i&&(this.fetchData(),this.sectionEl.scrollIntoView()),"url"===e&&i&&this.fetchDataByUrl()}connectedCallback(){this.priceRange(),this.querySelectorAll("input").forEach((e=>{e.addEventListener("change",(e=>{this.fetchData(),this.sectionEl.scrollIntoView()}))})),this._hasInitialized||(this.handleFilterMobile(),this._hasInitialized=!0)}getFilterParams(){const e=this.querySelectorAll("input"),t=[];for(const i of e)if("checkbox"===i.type&&i.checked&&t.push({key:i.name,value:i.value}),i.classList.contains("input-min")&&parseInt(i.value)>0||i.classList.contains("input-max")&&parseInt(i.value)<parseInt(i.max)
1){const e=Math.min(Math.max(Number(i.value),0),Number(i.max));t.push({key:i.name,value:e})}return t}fetchData(e){e||(e=this.getSearchParams()),e.append("sections",this.sectionId),e.delete("oseid"),!this.hasAttribute("is-pagination-action")&&this.hasAttribute("pagination-default")&&e.delete("page");const t=`${window.location.origin}${window.location.pathname.replace(/\/+$/,"")}/?${e.toString()}`,i=this.sectionEl.querySelector(".smi-loading-overlay");i.setAttribute("open",""),fetch(t).then((e=>e.json())).then((t=>{const s=this.updateUrl(e);this.render(Object.values(t)[0],s),i.removeAttribute("open"),document.dispatchEvent(new CustomEvent("smind:section:reload",{detail:{sectionId:this.sectionId}}))})).catch((e=>{i.removeAttribute("open"),console.error("Fetch error:",e)}))}getQueryParams(){const e=new URLSearchParams(window.location.search),t=[];for(const[i,s]of e)i.startsWith("filter.v.")||i.startsWith("filter.p.")||"p"===i||"sort_by"===i||"page"===i||t.push({key:i,value:s});const i=this.getFilterParams(),s=[{key:"sort_by",value:this.getAttribute("sort-by")}],r=e.get("page");return{filter:i,sortBy:s,other:t,page:r?[{key:"page",value:r}]:[]}}getSearchParams(){const e=this.getQueryParams();return new URLSearchParams([...e.filter,...e.sortBy,...e.other,...e.page].map((e=>[e.key,e.value])))}render(e,t=null){const i=(new DOMParser).parseFromString(e,"text/html");for(const e of[".smi-toolbar",".smi-product-grid","smi-cp-pagination","smi-cp-filter"]){const t=this.sectionEl.querySelector(e),s=i.querySelector(e);if(t&&s)if([".smi-product-grid"].includes(e))if(this.hasAttribute("pagination-default"))t.replaceChildren(...s.childNodes);else if(this.hasAttribute("is-pagination-action")){let e=document.createDocumentFragment();for(;s.firstChild;)e.appendChild(s.firstChild);t.appendChild(e)}else t.replaceChildren(...s.childNodes);else{t.replaceWith(s);(()=>{if(".smi-toolbar"===e){if(!window.matchMedia("(max-width: 991.98px)").matches)return;const e=s.querySelector("smi-cp-filter");if(!e)return null;const t=this.sectionEl.querySelector(".smi-sidebar smi-cp-filter");e.classList.replace("smi-filter--horizontal","smi-filter--vertical"),e.querySelectorAll(".smi-filter-item").forEach(((e,t)=>{e.classList.remove("smi-sb-widget--hide")})),t.replaceWith(e)}})()}}SMI_ProductListingPage.widgetCollapse(this.sectionEl,!0),window.smind?.tooltip?.update(),this.sectionEl.dispatchEvent(new CustomEvent("smiChangeLayout"))}updateUrl(e){e?e.delete("sections"):e=this.getSearchParams(),this.hasAttribute("pagination-default")||e.delete("page");const t=new URLSearchParams;for(const[i,s]of e.entries())t.has(i)||t.set(i,s);const i=`${window.location.origin}${window.location.pathname.replace(/\/+$/,"")}/?${t.toString()}`;return window.history.replaceState(null,null,i),i}priceRange(){const e=this.sectionEl.querySelectorAll(".range-input input"),t=this.sectionEl.querySelectorAll(".price-input input"),i=this.sectionEl.querySelector(".slider .progress");t.forEach((s=>{s.addEventListener("input",(s=>{let r=parseInt(t[0].value),n=parseInt(t[1].value);n-r>=0&&n<=e[1].max&&("input-min"===s.target.className?(e[0].value=r,i.style.left=r/e[0].max*100+"%"):(e[1].value=n,i.style.right=100-n/e[1].max*100+"%"))}))})),e.forEach((s=>{s.addEventListener("input",(s=>{let r=parseInt(e[0].value),n=parseInt(e[1].value);n-r<0?"range-min"===s.target.className?e[0].value=n-0:e[1].value=r+0:(t[0].value=r,t[1].value=n,i.style.left=r/e[0].max*100+"%",i.style.right=100-n/e[1].max*100+"%")}))})),e[0]?.dispatchEvent(new Event("input"))}fetchDataByUrl(){const e=this.getAttribute("url").split("?")[1],t=new URLSearchParams(e),i=this.getQueryParams();
1for(const e of[...i.other])t.append(e.key,e.value);this.fetchData(t)}handleFilterMobile(){const e=this.sectionEl.querySelector(".smi-sidebar"),t=this.sectionEl.querySelector(".smi-filter-toggle-button"),i=this.sectionEl.querySelector(".smi-filter-heading svg"),s=this.sectionEl.classList.contains("smi-product-listing-page--filter-toggle"),handle=()=>{console.log(3344);const t=!e.classList.contains("open");SMI_ProductListingPage.showPopupOverlay(this.sectionEl,t),SMI_ProductListingPage.handlePopupOverlayClick(this.sectionEl,(()=>{e.classList.remove("open"),document.body.classList.remove("smi-overflow-hidden")})),e.classList.toggle("open"),this.isMobile||!e.classList.contains("smi-sidebar--left")&&!e.classList.contains("smi-sidebar--right")||document.body.classList.toggle("smi-overflow-hidden")},toggleSidebar=()=>{t.addEventListener("click",handle),i.addEventListener("click",handle),this.isMobile||!e.classList.contains("smi-sidebar--left")&&!e.classList.contains("smi-sidebar--right")||this.querySelectorAll("input").forEach((e=>{e.addEventListener("change",handle)}))},mediaQueryHandler=r=>{s?(this.isMobile=r.matches,toggleSidebar()):r.matches?toggleSidebar():(t.removeEventListener("click",handle),i.removeEventListener("click",handle),this.querySelectorAll("input").forEach((e=>{e.removeEventListener("change",handle)})),SMI_ProductListingPage.showPopupOverlay(this.sectionEl,!1),e.classList.remove("open"),document.body.classList.remove("smi-overflow-hidden"))};let r=window.matchMedia("(max-width: 991.98px)");mediaQueryHandler(r),r.addEventListener("change",(()=>mediaQueryHandler(r)))}}class t{constructor(e,t){this.element=e,this.sectionEl=t,this.filterTitleList=this.element.querySelectorAll(".smi-filter-title"),this.filterContentList=this.element.querySelectorAll(".smi-filter-content");const i=this.handleClickOutsideOnDesktop.bind(this),s=this.sectionEl.querySelector(".smi-sidebar"),r=this.sectionEl.querySelector(".smi-toolbar"),mediaQueryHandler=t=>{t.matches?(this.toggleClass(!0),document.removeEventListener("click",i),s&&!s.querySelector("smi-cp-filter")&&(e.querySelectorAll(".smi-filter-item").forEach(((e,t)=>{e.classList.remove("smi-sb-widget--hide")})),s.append(e),e.classList.replace("smi-filter--horizontal","smi-filter--vertical"))):(this.toggleClass(!1),document.addEventListener("click",i),r&&!r.querySelector("smi-cp-filter")&&(r?.insertAdjacentElement("afterbegin",e),e.classList.replace("smi-filter--vertical","smi-filter--horizontal"),e.querySelectorAll(".smi-filter-item").forEach(((e,t)=>{e.classList.add("smi-sb-widget--hide")}))))};let n=window.matchMedia("(max-width: 991.98px)");mediaQueryHandler(n),n.addEventListener("change",(()=>mediaQueryHandler(n)))}toggleClass(e){this.filterContentList.forEach((t=>{e?t.classList.remove("smi-dropdown-popup-wrapper","smi-border","smi-shadow"):t.classList.add("smi-dropdown-popup-wrapper","smi-border","smi-shadow")}))}handleClickOutsideOnDesktop(e){for(let t of this.filterContentList)t.parentElement.contains(e.target)||t.parentElement.classList.add("smi-sb-widget--hide")}}customElements.define("smi-cp-filter",e)}if(!customElements.get("smi-cp-filter-current")){class e extends HTMLElement{constructor(){super()}connectedCallback(){this.sectionEl=this.closest(".smi-section__inner");const e=this.sectionEl.querySelector("smi-cp-filter");e&&this.querySelectorAll("a").forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault(),e.setAttribute("url",t.currentTarget?.getAttribute("href"))}))}))}}customElements.define("smi-cp-filter-current",e)}if(!customElements.get("smi-cp-grid-mode")){class e extends HTMLElement{constructor(){super()}connectedCallback(){this.mediaQuery=window.matchMedia("(min-width: 768px)"),this.handleScreenSizeChange(this.mediaQuery),this.mediaQuery.addEventListener("change",(()=>this.handleScreenSizeChange(this.mediaQuery)))}handleScreenSizeChange(e){e.matches&&this.enableGridMode()}enableGridMode(){const e=this.querySelectorAll("span");if(!e.length)return;const t=this.closest(".smi-section")?.querySelector(".smi-product-grid");if(!t)return;let i=parseInt(sessionStorage.getItem("smi_collection_grid_mode"));i&&!Shopify.designMode&&this.updateGridMode(i,t,e),e.forEach((i=>{i.addEventListener("click",(()=>{let s=i.getAttribute("data-grid-mode");this.updateGridMode(s,t,e),sessionStorage.setItem("smi_collection_grid_mode",s)}))}))}updateGridMode(e,t,i){e=parseInt(e),t.style.setProperty("--col-md",e),t.classList.toggle("smi-layout-grid--list",1===e),i.forEac
1h((t=>t.classList.toggle("active",parseInt(t.getAttribute("data-grid-mode"))===e)))}}customElements.define("smi-cp-grid-mode",e)}if(!customElements.get("smi-cp-pagination")){class e extends HTMLElement{constructor(){super()}connectedCallback(){if(this.sectionEl=this.closest(".smi-section__inner"),this.classList.contains("smi-pagination-default"))this.nextBtn=this.querySelector(".next"),this.prevBtn=this.querySelector(".prev"),this.changeIcon(),this.handleOnClick();else{const e=this.querySelector("a");if(e.getAttribute("href")||(e.style.display="none"),e.getAttribute("href")&&this.classList.contains("smi-pagination-infinite")){new IntersectionObserver((t=>{t[0].isIntersecting&&e.getAttribute("href")&&e.click()})).observe(e)}}const e=this.sectionEl.querySelector("smi-cp-filter");e&&this.querySelectorAll("a").forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault(),e.setAttribute("is-pagination-action","true"),e.setAttribute("url",t.currentTarget?.getAttribute("href"))}))}))}handleOnClick(){const e=this.sectionEl,t=this.children;for(let i=0;i<t.length;i++)t[i].addEventListener("click",(function(t){e.scrollIntoView()}))}changeIcon(){const e=this.querySelector(".smi-data-next-arrow")?.innerHTML;if(e){if(this.nextBtn){const t=this.nextBtn.firstChild;t.innerHTML=e,t.setAttribute("aria-label","next")}if(this.prevBtn){const t=this.prevBtn.firstChild;t.innerHTML=e,t.setAttribute("aria-label","prev")}this.classList.remove("smi-visibility-hidden")}}}customElements.define("smi-cp-pagination",e)}if(!customElements.get("smi-cp-sorter")){class e extends HTMLElement{constructor(){super()}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}connectedCallback(){this.sectionEl=this.closest(".smi-section__inner"),this.btnEl=this.querySelector(".smi-sorter-btn"),this.handleDropdown(),this.handleSelect()}handleDropdown(){document.addEventListener("click",(e=>{!this.querySelector(".smi-sorter-btn").contains(e.target)&&this.open&&(this.open=!1,SMI_ProductListingPage.showPopupOverlay(this.sectionEl,!1))})),this.sectionEl.querySelector("._close-btn").addEventListener("click",(()=>{this.open=!1,SMI_ProductListingPage.showPopupOverlay(this.sectionEl,!1)})),this.btnEl.addEventListener("click",(()=>{this.open=!this.open,window.matchMedia("(max-width: 767.98px)").matches&&SMI_ProductListingPage.showPopupOverlay(this.sectionEl,Boolean(this.open))}))}handleSelect(){const e=this.sectionEl.querySelector("smi-cp-filter");this.querySelectorAll(".smi-sorter-item").forEach((t=>{t.addEventListener("click",(t=>{e&&e.setAttribute("sort-by",t.currentTarget?.getAttribute("data-value")),SMI_ProductListingPage.showPopupOverlay(this.sectionEl,!1)}))}))}}customElements.define("smi-cp-sorter",e)};

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.