var pt=Object.defineProperty;var G=h=>{throw TypeError(h)};var dt=(h,r,t)=>r in h?pt(h,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):h[r]=t;var c=(h,r,t)=>dt(h,typeof r!="symbol"?r+"":r,t),N=(h,r,t)=>r.has(h)||G("Cannot "+t);var n=(h,r,t)=>(N(h,r,"read from private field"),t?t.call(h):r.get(h)),p=(h,r,t)=>r.has(h)?G("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(h):r.set(h,t),u=(h,r,t,e)=>(N(h,r,"write to private field"),e?e.call(h,t):r.set(h,t),t),g=(h,r,t)=>(N(h,r,"access private method"),t);var q;class ht{constructor(r,t,e,i,a,o){c(this,"filterForm");c(this,"filterListener");p(this,q);c(this,"filterContainer");c(this,"appContainer");c(this,"sidebarFilterItemCollapse");c(this,"liveFilter");c(this,"shopAppWrapper");c(this,"activeSortBy");c(this,"setActiveSortOption",()=>{this.shopAppWrapper.querySelectorAll("[data-sort-item]").forEach(t=>t.classList.remove("selected"));const r=this.shopAppWrapper.querySelector(`input[name="sort_by"][value="${this.activeSortBy}"]`);r&&(r.checked=!0,r.closest("[data-sort-item]").classList.add("selected"))});var d;this.filterForm=r,this.filterListener=o,u(this,q,t),this.appContainer=e.closest("[data-fluent-cart-product-wrapper]"),this.filterContainer=i,this.liveFilter=a,this.isReseting=!1,this.debouncedFilterApply=null,this.searchClear=null,this.shopAppWrapper=this.appContainer,this.activeSortBy=((d=this.shopAppWrapper.querySelector("[data-sort-by]"))==null?void 0:d.getAttribute("data-sort-by"))||"name-asc",typeof this.filterForm>"u"||this.filterForm,this.searchClear=this.filterContainer.querySelector("[data-fluent-cart-search-clear]"),this.filterForm.addEventListener("submit",s=>{s.preventDefault(),this.applyFilter()}),this.setupResetButton(),this.prepareFilterContainer(),this.handleCollapsibleFilter(),this.handleSidebarItemCollapsible(),this.loadSlider(),this.listenForResize(),this.listenForFilterValueChange(),this.handleSorting(),this.debouncedFilterApply=this.debounce(()=>{this.liveFilter&&this.applyFilter()},300);let l=this.appContainer.querySelector("[data-fluent-cart-product-wrapper-inner]");this.appContainer.offsetWidth>=767?(this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-wrapper]").classList.remove("is-collapsed"),this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]")&&this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]").classList.add("hide"),l&&l.classList.remove("fct-full-container-width")):(this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]")&&this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]").classList.remove("hide"),this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-wrapper]").classList.add("is-collapsed"),l&&l.classList.add("fct-full-container-width"))}handleSorting(){this.setActiveSortOption();const r=this.shopAppWrapper.querySelector("[data-sort-toggle]"),t=this.shopAppWrapper.querySelector("[data-sort-dropdown]"),e=this.shopAppWrapper.querySelectorAll('input[name="sort_by"]');r&&(r.addEventListener("click",()=>{r.classList.toggle("active"),t.classList.toggle("active")}),e.forEach(i=>{i.addEventListener("change",()=>{this.activeSortBy=i.value,this.setActiveSortOption();let a=this.getState();this.appendSearchParamToUrl(a),this.showLoading(),this.applyFilter(),setTimeout(()=>{this.hideLoading()},500)})}),document.addEventListener("click",i=>{t&&!t.contains(i.target)&&!r.contains(i.target)&&(t.classList.remove("active"),r.classList.remove("active"))}))}showLoading(){const r=this.shopAppWrapper.querySelector("[data-shop-loading]");r&&r.classList.add("active")}hideLoading(){const r=this.shopAppWrapper.querySelector("[data-shop-loading]");r&&r.classList.remove("active")}setupResetButton(){this.filterForm.querySelectorAll('input[type="reset"], button[type="reset"]').forEach(t=>{t.addEventListener("click",e=>{e.preventDefault(),this.resetFilterData()})}),this.searchClear&&this.searchClear.addEventListener("click",t=>{t.preventDefault(),this.resetFilterData(),this.searchClear.classList.add("hide")}),document.addEventListener("click",t=>{t.target.matches("[data-fluent-cart-shop-app-reset-button]")&&this.resetFilterData()})}resetFilterData(){setTimeout(()=>{this.isReseting=!0,this.filterListener.setFilters({}),this.filterListener.onFilterApplied(),this.filterForm.querySelectorAll('input[type="checkbox"]').forEach(e=>e.checked=!1),this.filterForm.querySelectorAll('input[type="text"]').forEach(e=>e.value=""),this.resetSlider(),this.appendSearchParamToUrl(),this.applyFilter(),setTimeout(()=>{this.isReseting=!1},100)},100)}listenForFilterValueChange(){typeof this.filterForm<"u"&&(this.filterForm.querySelectorAll("input").forEach(e=>{e.addEventListener("change",i=>{var a;if(e.matches("[data-fluent-cart-search-bar]")&&this.searchClear&&(i.target.value.trim()!==""?this.searchClear.classList.remove("hide"):this.searchClear.classList.add("hide")),this.isReseting){(a=i.preventDefault)==null||a.call(i);return}this.liveFilter&&this.applyFilter(),setTimeout(()=>{this.appendSearchParamToUrl()},100)})}),this.filterForm.querySelectorAll("input[data-parent-checkbox]").forEach(e=>{e.addEventListener("change",i=>{var l;if(this.isReseting){(l=i.preventDefault)==null||l.call(i);return}const a=e.checked,o=e.closest("[data-fluent-cart-shop-app-filter-checkbox-child-group]");o&&o.querySelectorAll('input[type="checkbox"]').forEach(s=>s.checked=a)})}))}applyFilter(){const r=this.getState();this.filterListener.setFilters(r),this.filterListener.onFilterApplied()}getState(){const r=this.getFormDataAsObject(this.filterForm);return this.activeSortBy&&(r.sort_by=this.activeSortBy),r}appendSearchParamToUrl(){let r=this.getState();const t=new URL(window.location.href),e=t.searchParams;this.filterForm.querySelectorAll("input").forEach(o=>{const l=o.getAttribute("name");typeof l<"u"&&(e.delete("filters["+l+"]"),e.delete("filters["+l+"][]"))});let a="";if(this.isReseting){[...e.entries()].length?a=`${t.origin}${t.pathname}?${e.toString()}${t.hash}`:a=`${t.origin}${t.pathname}${t.hash}`,history.pushState({path:a},"",a);return}for(const o of Object.keys(r))e.delete("filters["+o+"]"),e.delete("filters["+o+"][]");for(const[o,l]of Object.entries(r))l!=null&&l!==""&&(Array.isArray(l)?l.forEach(d=>e.append("filters["+o+"][]",d)):e.append("filters["+o+"]",l));a=`${t.origin}${t.pathname}?${e.toString()}${t.hash}`,history.pushState({path:a},"",a)}clearUrlFilters(){new URL(window.location.href).searchParams}listenForResize(){window.addEventListener("resize",()=>{this.appContainer.offsetWidth>=767?(this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-wrapper]").classList.remove("is-collapsed"),this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]")&&this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]").classList.add("hide"),this.filterContainer.appendChild(this.filterForm),document.querySelectorAll(".fluent-cart-shop-app-responsive-filter-wrapper").forEach(t=>t.remove())):(this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]")&&this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-toggle-button]").classList.remove("hide"),this.appContainer.querySelector("[data-fluent-cart-shop-app-filter-wrapper]").classList.add("is-collapsed"))})}prepareFilterContainer(){this.filterContainer&&this.filterContainer.setAttribute("data-accessor-id",n(this,q))}handleCollapsibleFilter(){this.appContainer.querySelectorAll("[data-fluent-cart-shop-app-filter-toggle-button]").forEach(t=>{t.addEventListener("click",()=>{this.handleFilterPosition(!0)})})}handleFilterPosition(r=!1){if(document.querySelectorAll(".fluent-cart-shop-app-responsive-filter-wrapper").forEach(i=>i.remove()),this.appContainer.offsetWidth<window.fluentcart_shop_vars.responsive_filter_breakpoint){const i=document.createElement("div");i.innerHTML=window.fluentcart_shop_vars.responsive_filter_wrapper;const a=i.firstElementChild;a.setAttribute("data-description-id",n(this,q)),a.classList.add("fluent-cart-default-product-page-style","fluent-cart-shop-app-wrapper"),window.fluentcart_shop_vars.is_admin_bar_showing&&a.classList.add("admin_bar_enabled"),document.body.appendChild(a);const o=a.querySelector("[data-fluent-cart-shop-app-responsive-filter-container]"),l=a.querySelector("[data-fluent-cart-shop-app-responsive-filter-close-button]");l&&l.addEventListener("click",()=>{this.hideResponsiveFilter(a)}),r&&this.showResponsiveFilter(a),o&&(o.appendChild(this.filterForm),a.appendChild(o))}else this.filterContainer.appendChild(this.filterForm)}handleSidebarItemCollapsible(){this.filterForm.querySelectorAll("[data-fluent-cart-shop-app-filter-form-item-collapse]").forEach(t=>{t.addEventListener("click",function(){const e=this.parentElement;e.classList.toggle("is-collapsed"),Array.from(e.children).filter(a=>a!==this).forEach(a=>{a.classList.contains("hide")?a.classList.remove("hide"):a.classList.add("hide")})})})}showResponsiveFilter(r){r.classList.add("show")}hideResponsiveFilter(r){r.classList.remove("show")}resetSlider(){this.filterForm.querySelectorAll('[data-filter-type="range"]').forEach(t=>{const e=t.querySelector("[data-range-slider-wrapper]"),i=t.querySelector("input[data-range-slider-from-value]"),a=t.querySelector("input[data-range-slider-to-value]");i&&a&&e&&e.noUiSlider&&(i.value=i.dataset.value,a.value=a.dataset.value,e.noUiSlider.set([i.dataset.value,a.dataset.value]))})}loadSlider(){const r=this.filterForm.querySelectorAll('[data-filter-type="range"]');r.length>0&&r.forEach(t=>{t.dataset.filterName;let e=1;const i=t.querySelector("input[data-range-slider-from-value]"),a=t.querySelector("input[data-range-slider-to-value]");if(!i||!a)return;const o=parseFloat(i.value)||0,l=parseFloat(a.value)||0,d=parseFloat(i.dataset.value)||0,s=parseFloat(a.dataset.value)||0,f=t.querySelector("[data-range-slider-wrapper]");if(typeof f<"u"){const W=f.querySelector(".noUi-base");W&&W.remove(),typeof noUiSlider<"u"&&(noUiSlider.create(f,{start:[o,l],connect:!0,step:.1,range:{min:d,max:s},format:{from:function(L){return parseFloat(L).toFixed(1)},to:function(L){return parseFloat(L).toFixed(1)}}}),f.noUiSlider.on("update",(L,F)=>{if(e===3){if(i.value=L[0],a.value=L[1],this.isReseting)return;this.liveFilter&&this.debouncedFilterApply(),this.appendSearchParamToUrl()}else e+=1}),i.addEventListener("change",L=>{f.noUiSlider.set([L.target.value,null])}),a.addEventListener("change",L=>{f.noUiSlider.set([null,L.target.value])}))}})}getFormDataAsObject(r){const t=new FormData(r),e={};for(const[i,a]of t.entries())e[i]===void 0?e[i]=a:(e[i]instanceof Array||(e[i]=[e[i]]),e[i].push(a));return e}debounce(r,t){let e;return function(...i){clearTimeout(e),e=setTimeout(()=>r.apply(this,i),t)}}}q=new WeakMap;var b,k,A,P,_,x,I,V,O;class X{constructor(r,t,e=1){c(this,"container");c(this,"filterContainer");c(this,"productView");c(this,"productList");c(this,"productGridParentDiv");c(this,"filter");c(this,"filterForm");c(this,"filters",[]);p(this,b,{});p(this,k,!1);p(this,A,[]);p(this,P,[]);p(this,_,"");p(this,x,!1);c(this,"applyingFilter",!1);c(this,"placeholderImage");c(this,"perPage");p(this,I);c(this,"loading");p(this,V,window.fluentCartRestVars.rest.url+"/public/product-views");c(this,"paginator",{currentPage:1,perPage:10,total:0,lastPage:0,from:0,to:0});p(this,O,1);c(this,"usingCursor",!1);c(this,"cursor",null);c(this,"priceFormat","starts_from");c(this,"orderType","DESC");c(this,"liveFilter",!1);c(this,"productLoaderElement");u(this,I,t),this.container=r,this.filterContainer=r.querySelector("[data-fluent-cart-shop-app-filter-wrapper]"),this.productView=r.querySelectorAll("[data-fluent-cart-shop-app-single-product]"),this.productList=r.querySelector("[data-fluent-cart-shop-app-product-list]"),this.placeholderImage=r.getAttribute("data-placeholder"),this.productGridParentDiv=r.querySelector(".fluent-cart-shop-app-products"),this.perPage=r.getAttribute("data-per-page"),this.paginator.currentPage=e,this.productLoaderElement=r.querySelector("[data-fluent-cart-product-loader]"),r.removeAttribute("data-per-page"),this.priceFormat=r.getAttribute("data-price-format")||"starts_from",this.orderType=r.getAttribute("data-order-type")||"DESC",this.liveFilter=!!r.getAttribute("data-live-filter"),r.removeAttribute("data-price-format"),r.removeAttribute("data-order-type");const i=r.getAttribute("data-include-ids");if(i){try{u(this,A,JSON.parse(i))}catch{u(this,A,[])}r.removeAttribute("data-include-ids")}const a=r.getAttribute("data-exclude-ids");if(a){try{u(this,P,JSON.parse(a))}catch{u(this,P,[])}r.removeAttribute("data-exclude-ids")}const o=r.getAttribute("data-product-type");o&&(u(this,_,o),r.removeAttribute("data-product-type")),r.getAttribute("data-on-sale")&&(u(this,x,!0),r.removeAttribute("data-on-sale")),this.bindFilter(),this.handleDefaultFilters(),window.addEventListener("fluentCartNotifyCartDrawerItemChanged",()=>this.notifyDataSetChanged()),this.reRenderAddToCartButton();let d=this.parseDefaultUrlFilters(window.location);d.hasOwnProperty("filters")&&this.setFilters(d.filters)}parseDefaultUrlFilters(r){const t=new URL(r).searchParams,e={};for(const[i,a]of t.entries()){const o=i.split(/\[|\]/).filter(Boolean);let l=e;for(let d=0;d<o.length;d++){const s=o[d];d===o.length-1?l[s]===void 0?l[s]=a:Array.isArray(l[s])?l[s].push(a):l[s]=[l[s],a]:(l[s]||(l[s]={}),l=l[s])}}return e}handleDefaultFilters(){const r=this.container.getAttribute("data-default-filters");if(r){const t=JSON.parse(r);t.enabled&&u(this,b,{...t}),u(this,k,n(this,b).allow_out_of_stock===!0),delete n(this,b).allow_out_of_stock,this.container.removeAttribute("data-default-filters")}}bindFilter(){this.filterForm=this.container.querySelector("form[data-fluent-cart-product-filter-form]"),!(!this.filterForm||this.filterForm.nodeName!=="FORM")&&(this.filter=new ht(this.filterForm,n(this,I),this.container,this.filterContainer,this.liveFilter,this))}setFilters(r){this.filters=r}onFilterApplied(){this.showProductLoader(),this.beforeFiltering(),this.addSkeletonLoader(),this.loadData(!0).then(()=>{this.productList.scrollIntoView({behavior:"smooth"}),this.hideProductLoader()})}beforeFiltering(){this.paginator.currentPage=0,this.applyingFilter=!0}appendParams(r,t,e){Array.isArray(e)?e.forEach(i=>{r.append(`${t}[]`,i)}):typeof e=="object"&&e!==null?Object.keys(e).forEach(i=>{this.appendParams(r,`${t}[${i}]`,e[i])}):r.append(t,e)}getFilterState(){return this.filters}loadData(r=!1){const t=this.container.querySelector("[data-fluent-cart-shop-no-result-found]");return new Promise((e,i)=>{if(!this.shouldLoadData()&&!this.applyingFilter){e("");return}this.applyingFilter=!1,this.loading=!0,this.onLoadingData();const a=this.getQueryParams();a.with=["licensesMeta","detail","variants","categories",...a.with??[]];const o={...a,filters:this.filters,default_filters:{...n(this,b)},per_page:this.paginator.perPage||10,price_format:this.priceFormat,order_type:this.orderType,template_provider:""},l=this.container.querySelector("[data-fct-product-card]");if(l){const s=l.getAttribute("data-fluent-client-id"),f=l.getAttribute("data-template-provider");s&&(o.client_id=s),f&&(o.template_provider=f)}n(this,k)&&(o.allow_out_of_stock=!0),n(this,A).length&&(o.include_ids=n(this,A)),n(this,P).length&&(o.exclude_ids=n(this,P)),n(this,_)&&(o.product_type=n(this,_)),n(this,x)&&(o.on_sale=1);const d=new URL(n(this,V));Object.keys(o).forEach(s=>{this.appendParams(d.searchParams,s,o[s])}),fetch(d).then(s=>s.json()).then(s=>{const f=s.products.views;f.length>0?(this.paginator={currentPage:s.products.current_page,perPage:s.products.per_page,next_cursor:s.products.next_cursor,total:s.products.total,lastPage:s.products.last_page,from:s.products.from,to:s.products.current_page},t&&setTimeout(()=>{},200)):t&&setTimeout(()=>{},200),r&&this.clearContainer(),this.onDataLoaded(s,f),e(!0)}).catch(s=>{this.onDataLoadError(s),i(s)}).finally(()=>{this.onApiCallFinished()})})}addSkeletonLoader(r=null){}notifyDataSetChanged(){this.reRenderAddToCartButton()}renderNewProducts(r,t=!1){u(this,O,this.paginator.total),t&&this.clearContainer(),this.productList.querySelector("[data-fluent-cart-shop-app-no-products]")&&this.clearContainer();const i=this.container.querySelector("[data-fluent-cart-shop-no-result-found]");r.includes("fluent-cart-shop-no-result-found")?i?(i.outerHTML=r,setTimeout(()=>{i.classList.remove("hide")},300)):this.productList.insertAdjacentHTML("beforebegin",r):this.productList.insertAdjacentHTML("beforeend",r),this.reRenderAddToCartButton()}reRenderAddToCartButton(){if(!window.fluentCartCart)return;const r=window.fluentCartCart.getState();document.querySelectorAll("[data-cart-item-count]").forEach(t=>{t.classList.add("is-cart-count-hidden")}),Object.keys(r).forEach(t=>{const e=r[t].object_id;document.querySelectorAll(`[data-fluent-cart-shop-app-add-to-cart-button][data-product-id="${e}"]`).forEach(a=>{const o=a.querySelector("[data-cart-item-count]");o&&(o.classList.remove("is-cart-count-hidden"),o.textContent=r[t].quantity)})})}clearContainer(){this.productList.innerHTML=""}getQueryParams(){throw new Error("You should override `getQueryParams` method...")}onLoadingData(){}onDataLoaded(r){throw new Error("You should override `onDataLoaded` method...")}onDataLoadError(r){throw new Error("You should override `onDataLoadError` method...")}onApiCallFinished(){throw new Error("You should override `onApiCallFinished` method...")}shouldLoadData(){throw new Error("You should override `shouldLoadData` method...")}showProductLoader(){this.productList&&this.productList.classList.add("product-list-hide");const r=this.container.querySelector("[data-fluent-cart-shop-no-result-found]");r&&r.classList.add("hide"),this.productLoaderElement&&this.productLoaderElement.classList.remove("loader-hidden")}hideProductLoader(){this.productList&&this.productList.classList.remove("product-list-hide"),this.productLoaderElement&&this.productLoaderElement.classList.add("loader-hidden")}}b=new WeakMap,k=new WeakMap,A=new WeakMap,P=new WeakMap,_=new WeakMap,x=new WeakMap,I=new WeakMap,V=new WeakMap,O=new WeakMap;var D,U,j,w,$,Y,J,S,v,Z,K,tt,H;class ut extends X{constructor(t,e,i,a,o=10){super(t,a);p(this,v);p(this,D);p(this,U,{});p(this,j,500);p(this,w,!0);p(this,$,1e3*60*5);p(this,Y,2);p(this,J);p(this,S,null);c(this,"cursor");c(this,"templateProvider");c(this,"lastCursor",null);this.container=t,u(this,U,e),u(this,D,i),this.paginator.perPage=o,g(this,v,K).call(this),g(this,v,Z).call(this),g(this,v,tt).call(this)}beforeFiltering(){this.paginator.currentPage=0,this.applyingFilter=!0,this.cursor=null,this.templateProvider=null}getQueryParams(){return this.usingCursor?{template_provider:this.templateProvider,cursor:this.cursor,per_page:this.paginator.perPage,paginate_using:"cursor",search:""}:{template_provider:this.templateProvider,current_page:this.paginator.currentPage,per_page:this.paginator.perPage,search:""}}parseCursorFromResponse(t){const a=new DOMParser().parseFromString(t.products.views,"text/html").querySelector("[data-fct-product-card]");if(a){const o=a.getAttribute("data-fluent-cart-cursor"),l=a.getAttribute("data-template-provider");if(l&&(this.templateProvider=l),o)return o}return null}onDataLoaded(t,e){var o,l;const i=this.container.querySelector("[data-fluent-cart-shop-no-result-found]");this.lastCursor=this.cursor,this.cursor=this.parseCursorFromResponse(t),e.length>0&&this.renderNewProducts(e),typeof n(this,D).onProductFetched=="function"&&n(this,D).onProductFetched(this.productList),e.length>0?(u(this,w,!0),g(this,v,H).call(this),i&&setTimeout(()=>{i.classList.add("hide")},200)):(u(this,w,!1),setTimeout(()=>{u(this,w,!0)},n(this,$)),((o=t==null?void 0:t.products)==null?void 0:o.current_page)<=((l=t==null?void 0:t.products)==null?void 0:l.last_page)&&(i&&setTimeout(()=>{i.classList.remove("hide")},200),u(this,w,!1)));const a=this.container.querySelector(".fluent-cart-shop-app .scroll-loader-container");a&&a.remove()}isCursorValidated(){return this.usingCursor?this.cursor!==void 0&&this.cursor!==null&&this.cursor.length>0:!0}onDataLoadError(t){console.error(t)}onApiCallFinished(){setTimeout(()=>{this.loading=!1;const t=document.querySelector(".loader-container");t&&t.remove()},n(this,j))}shouldLoadData(){return this.isCursorValidated()&&this.productView!==null&&!this.loading&&n(this,w)}loadNextPage(t=!1){this.paginator.currentPage+=1,this.addSkeletonLoader("onPageScroll"),this.loadData(t)}destroy(){n(this,S)&&n(this,S).disconnect()}}D=new WeakMap,U=new WeakMap,j=new WeakMap,w=new WeakMap,$=new WeakMap,Y=new WeakMap,J=new WeakMap,S=new WeakMap,v=new WeakSet,Z=function(){const t=this.container.querySelector("[data-fct-product-card]");if(t){const e=t.getAttribute("data-fluent-cart-cursor"),i=t.getAttribute("data-template-provider");e&&(this.cursor=e),i&&(this.templateProvider=i)}this.lastCursor=this.cursor,this.cursor&&(this.usingCursor=!0)},K=function(){this.placeholderImage=this.container.getAttribute("data-placeholder"),typeof this.productView=="object"&&typeof this.productList=="object"?(Array.isArray(this.productList)&&(this.productList=this.productList[0]),Array.isArray(this.productView)&&(this.productView=this.productView[0])):(this.productView=null,this.productList=null)},tt=function(){if(this.productView===null)return;const t={root:null,rootMargin:"0px",threshold:1};u(this,S,new IntersectionObserver(e=>{e.forEach(i=>{i.isIntersecting&&this.shouldLoadData()&&this.loadNextPage()})},t)),g(this,v,H).call(this)},H=function(){if(!n(this,S)||!this.productList)return;const t=this.productList.children,e=t[t.length-1];e&&(n(this,S).disconnect(),n(this,S).observe(e))};var T,R,C,M,y,et,rt,it,z,at,gt;class ft extends X{constructor(t,e,i,a,o=10){let l=1;const s=new URL(window.location.href).searchParams;s.has("current_page")&&(l=isNaN(s.get("current_page"))?1:s.get("current_page"));super(t,a,l);p(this,y);p(this,T);p(this,R,{});p(this,C,{});c(this,"paginatorWrapper");c(this,"paginatorPageSelector");c(this,"paginatorItem");c(this,"paginationFrom");c(this,"paginationTo");c(this,"paginationTotal");p(this,M,!1);c(this,"paginationJump",5);this.container=t.closest("[data-fluent-cart-product-wrapper]"),u(this,R,e),u(this,T,i),this.paginator.perPage=o,g(this,y,et).call(this),g(this,y,rt).call(this)}getQueryParams(){return{current_page:this.paginator.currentPage,per_page:this.paginator.perPage,search:""}}onDataLoaded(t,e){const i=this.container.querySelector("[data-fluent-cart-shop-no-result-found]");if(u(this,M,!0),u(this,C,{...t.products}),delete n(this,C).data,e.length>0&&this.renderNewProducts(e,!0),typeof n(this,T).onProductFetched=="function"&&(n(this,T).onProductFetched(this.productList),this.productList)){const a=this.productList.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:a-50,behavior:"smooth"})}e.length>0?(g(this,y,it).call(this),i&&setTimeout(()=>{i.classList.add("hide")},200)):i&&setTimeout(()=>{i.classList.remove("hide")},200)}onDataLoadError(t){console.log(t)}onApiCallFinished(){this.loading=!1}shouldLoadData(){return this.productView!==null||!this.loading}}T=new WeakMap,R=new WeakMap,C=new WeakMap,M=new WeakMap,y=new WeakSet,et=function(){this.paginatorWrapper=this.container.querySelector("[data-fluent-cart-shop-app-paginator-items-wrapper]"),this.paginatorItem=this.container.querySelector("[data-fluent-cart-shop-app-paginator-item]"),this.paginatorPageSelector=this.container.querySelector("[data-fluent-cart-shop-app-paginator-per-page-selector]"),this.paginationFrom=this.container.querySelector("[data-fluent-cart-shop-app-paginator-info-pagination-from]"),this.paginationTo=this.container.querySelector("[data-fluent-cart-shop-app-paginator-info-pagination-to]"),this.paginationTotal=this.container.querySelector("[data-fluent-cart-shop-app-paginator-info-pagination-total]"),this.productView&&this.productList?Array.isArray(this.productList)&&(this.productList=this.productList[0],this.productView=this.productView[0],this.paginatorWrapper=this.paginatorWrapper[0],this.paginatorItem=this.paginatorItem[0],this.paginatorPageSelector=this.paginatorPageSelector[0]):(this.productView=null,this.productList=null,this.paginatorWrapper=null,this.paginatorItem=null)},rt=function(){const t=this;this.paginatorWrapper&&this.paginatorWrapper.addEventListener("click",function(e){var a;const i=e.target.closest("[data-fluent-cart-shop-app-paginator-item]");if(i){e.preventDefault();const o=i.getAttribute("data-page");g(a=t,y,z).call(a,o)}}),this.paginatorPageSelector&&this.paginatorPageSelector.addEventListener("change",function(){var a;const e=this.value;t.container.querySelectorAll("[data-fluent-cart-shop-app-paginator-per-page-selector]").forEach(o=>{o.value=e}),g(a=t,y,at).call(a,e)})},it=function(){if(!this.paginator||!this.paginatorWrapper)return;const t=this.paginator.lastPage,e=parseInt(this.paginator.currentPage),i=this.paginationJump||3,a=(s,f,W=!1,L=!1)=>{const F=this.paginatorItem.cloneNode(!0);return F.classList.remove("active","arrow"),F.innerHTML=s,F.setAttribute("data-page",f),W&&F.classList.add("active"),L&&F.classList.add("arrow"),F},o='<svg width="16" height="16" viewBox="0 0 20 20" fill="none"><path d="M12.9168 15.8333L7.7906 10.7071C7.40008 10.3166 7.40008 9.68342 7.7906 9.29289L12.9168 4.16667" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',l='<svg width="16" height="16" viewBox="0 0 20 20" fill="none"><path d="M7.91667 4.16666L13.0429 9.29289C13.4334 9.68341 13.4334 10.3166 13.0429 10.7071L7.91667 15.8333" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>';this.paginatorWrapper.innerHTML="",this.paginationFrom&&(this.paginationFrom.textContent=n(this,C).from),this.paginationTo&&(this.paginationTo.textContent=n(this,C).to),this.paginationTotal&&(this.paginationTotal.textContent=n(this,C).total);const d=this.paginatorWrapper;if(e>1&&d.appendChild(a(o,e-1,!1,!0)),d.appendChild(a("1",1,e===1)),e>i+1){const s=Math.max(2,e-i);d.appendChild(a("«",s,!1,!0))}for(let s=e-2;s<e;s++)s>1&&d.appendChild(a(s,s));e!==1&&e!==t&&d.appendChild(a(e,e,!0));for(let s=e+1;s<=e+2;s++)s<t&&d.appendChild(a(s,s));if(e<t-i){const s=Math.min(t-1,e+i);d.appendChild(a("»",s,!1,!0))}t>1&&d.appendChild(a(t,t,e===t)),e<t&&d.appendChild(a(l,e+1,!1,!0))},z=function(t){if(this.productView===null||this.loading)return;this.paginator.currentPage=t;const e=new URL(window.location.href),i=e.searchParams;i.delete("current_page"),i.append("current_page",t);const a=`${e.origin}${e.pathname}?${i.toString()}${e.hash}`;history.pushState({path:a},"",a),this.addSkeletonLoader(),this.loadData()},at=function(t){this.productView===null||this.loading||(this.paginator.perPage=t,this.paginator.currentPage=1,g(this,y,z).call(this,this.paginator.currentPage))},gt=function(t){Object.entries(t).forEach(([e,i])=>{n(this,R)[i.ID]=i})};document.addEventListener("DOMContentLoaded",()=>{var r,t,e,i,a,o,l,d,s,f,st,ot,nt,lt;const B=class B{constructor(){p(this,f);p(this,t);p(this,e);p(this,i);p(this,a,{});p(this,o,window.fluentCartCart);p(this,l,"open");p(this,d,"active");p(this,s)}init(m){return g(this,f,st).call(this,m),g(this,f,ot).call(this),g(this,f,nt).call(this),g(this,f,lt).call(this),u(B,r,this),this}getCurrentFilterState(){return n(this,s).getFilterState()}applyFilters(m){n(this,s).setFilters(m),n(this,s).onFilterApplied()}onProductFetched(m){var E;console.log("views type:",typeof m),(E=window.FluentCartMediaCarousel)==null||E.reInit(m)}};r=new WeakMap,t=new WeakMap,e=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,l=new WeakMap,d=new WeakMap,s=new WeakMap,f=new WeakSet,st=function(m){var Q;u(this,i,m);const E=m.closest("[data-fluent-cart-product-wrapper]");u(this,t,E.querySelector("[data-fluent-cart-shop-app-grid-view-button]")),u(this,e,E.querySelector("[data-fluent-cart-shop-app-list-view-button]")),(Q=window.fluentcart_shop_vars)!=null&&Q.is_admin_bar_showing&&n(this,i)&&n(this,i).classList.add("admin_bar_enabled")},ot=function(){!n(this,e)||!n(this,t)||(n(this,e).addEventListener("click",()=>{n(this,i).classList.add("mode-list"),n(this,i).classList.remove("mode-grid"),n(this,e).classList.add("active"),n(this,t).classList.remove("active")}),n(this,t).addEventListener("click",()=>{n(this,i).classList.remove("mode-list"),n(this,t).classList.add("active"),n(this,e).classList.remove("active")}))},nt=function(){n(this,i).removeAttribute("data-products")},lt=function(){const m=parseInt(n(this,i).dataset.perPage);n(this,i).dataset.priceFormat,n(this,i).dataset.paginator==="numbers"?u(this,s,new ft(n(this,i),n(this,a),this,0,m)):u(this,s,new ut(n(this,i),n(this,a),this,0,m))},p(B,r,null);let h=B;window.fluentCartShopApps=[],document.querySelectorAll("[data-fluent-cart-product-wrapper-inner]").forEach(function(ct){const m=new h().init(ct);window.fluentCartShopApps.push(m)})});