PageSourceSearch

https://nellacutlery.ca/cdn/shop/t/334/assets/boost-pfs-filter.js?v=40624792074436589901790871627

js nellacutlery.ca collected 2026-10-07 02:16:19 UTC 27,858 bytes, 2 lines download raw bytes

1if(typeof boostPFSThemeConfig!="undefined")var boostPFSFilterConfig={general:{limit:boostPFSConfig.custom.products_per_page,loadProductFirst:!0,numberFilterTree:2,selectOptionContainer:".grid__item .card-wrapper",stickyFixTopPos:!0},selector:{otpTopCartCount:".cart-count-bubble"}};typeof theme!="undefined"&&theme.hasOwnProperty("settings")&&(theme.settings.predictiveSearchEnabled=!1),(function(){var onSale=!1,soldOut=!1,priceVaries=!1,images=[],boostPFSRangeWidths=[165,360,533,720,940,1066];BoostPFS.inject(this),Selector.stickyElementDesktop=jQ(".boost-pfs-filter-left-col").length>0&&!Utils.isMobile()?".boost-pfs-filter-left-col":".boost-pfs-filter-tree";function prepareShopifyData(data){if(soldOut=!data.available,onSale=data.compare_at_price_min>data.price_min,priceVaries=data.price_min!=data.price_max,images=data.images_info,firstVariant=data.variants[0],Utils.getParam("variant")!==null&&Utils.getParam("variant")!=""){var paramVariant=data.variants.filter(function(e){return e.id==Utils.getParam("variant")});typeof paramVariant[0]!="undefined"&&(firstVariant=paramVariant[0])}else for(var i=0;i<data.variants.length;i++)if(data.variants[i].available){firstVariant=data.variants[i];break}return data}ProductGridItem.prototype.compileTemplate=function(data){var _a;data||(data=this.data),data=prepareShopifyData(data);var itemHtml=boostPFSTemplate.productGridItemHtml,soldOutClass=soldOut?boostPFSTemplate.soldOutClass:"",saleClass=onSale?boostPFSTemplate.saleClass:"";return itemHtml=itemHtml.replace(/{{soldOutClass}}/g,soldOutClass),itemHtml=itemHtml.replace(/{{saleClass}}/g,saleClass),itemHtml=itemHtml.replace(/{{cardProductClass}}/g,buildCardProductClass()),itemHtml=itemHtml.replace(/{{cardProductID}}/g,buildCardProductID(data)),itemHtml=itemHtml.replace(/{{productStatusForm}}/g,buildProductCardFormStatus(data)),itemHtml=itemHtml.replace(/{{cardProductVariantID}}/g,buildCardProductVariantID(data)),itemHtml=itemHtml.replace(/{{itemSoldOut}}/g,buildSoldOutLabel()),itemHtml=itemHtml.replace(/{{itemSale}}/g,buildSaleLabel()),itemHtml=itemHtml.replace(/{{itemImages}}/g,buildImages(data)),(_a=window.customerData)!=null&&_a.loggedIn?isPriceSuppressedProduct(data)?itemHtml=itemHtml.replace(/{{itemPrice}}/g,buildB2BPriceSuppressedMarker()):itemHtml=itemHtml.replace(/{{itemPrice}}/g,buildB2BPriceSkeleton()):itemHtml=itemHtml.replace(/{{itemPrice}}/g,buildPrice(data)),itemHtml=itemHtml.replace(/{{customBadges}}/g,buildBadges(data)),itemHtml=itemHtml.replace(/{{iconBadges}}/g,buildIconBadges(data)),(typeof Integration=="undefined"||typeof Integration!="undefined"&&typeof Integration.hascompileTemplate=="function"&&!Integration.hascompileTemplate("reviews"))&&(itemHtml=itemHtml.replace(/{{itemReviews}}/g,buildReview(data))),itemHtml=itemHtml.replace(/{{itemVendor}}/g,buildVendor(data)),itemHtml=itemHtml.replace(/{{itemId}}/g,data.id),itemHtml=itemHtml.replace(/{{itemTitle}}/g,data.title),itemHtml=itemHtml.replace(/{{itemSku}}/g,data.variants[0].sku),itemHtml=itemHtml.replace(/{{itemHandle}}/g,data.handle),itemHtml=itemHtml.replace(/{{itemVendorLabel}}/g,data.vendor),itemHtml=itemHtml.replace(/{{itemUrl}}/g,Utils.buildProductItemUrl(data)),itemHtml};function buildImages(data){for(var tags=data.tags.filter(function(tag){return tag.includes("icon-")}),html2="",aspectRatio="",rangeWidths=boostPFSRangeWidths,paddingBottom=100,dataSrcSet="",imgAlt=data.title,flipImageSrcSet="",activeSwapImage=!Utils.isMobile()&&images.length>1&&boostPFSThemeConfig.custom.hasOwnProperty("show_secondary_image")&&boostPFSThemeConfig.custom.show_secondary_image==!0,i=0;i<rangeWidths.length;i++)dataSrcSet+=Utils.getFeaturedImage(images,rangeWidths[i]+"x")+" "+rangeWidths[i]+"w",activeSwapImage&&(flipImageSrcSet+=Utils.optimizeImage(images[1].src,rangeWidths[i]+"x")+" "+rangeWidths[i]+"w"),i<rangeWidths.length-1&&(dataSrcSet+=", ",activeSwapImage&&(flipImageSrcSet+=", "));return images.length>0?(aspectRatio=images[0].width/images[0].height,paddingBottom=1/aspectRatio*100,html2+='\n                  <a class="d-block" href="'.concat(window.shopUrl+"/products/"+data.handle,'">\n                      <div class="square bg-contain" style="background-image:url(').concat(Utils.optimizeImage(images[0].src,"533x"),')">\n                          <div class="content">\n                              <div class="content-inner">'),html2+="</div>\n                          </div>\n                      </div>\n                  </a>\n              ",html2+="<div",boostPFSThemeConfig.custom.hasOwnProperty("add_image_padding")&&boostPFSThemeConfig.custom.add_image_padding===!0&&(html2+=' class="d-none card__media-full-spacer"'),html2+=">",html2+='<div class="d-none media media--transparent media--',boostPFSThemeConfig.custom.hasOwnProperty("media_size")&&(html2+=boostPFSThemeConfig.custom.media_size),html2+=' media--hover-effect"',boostPFSThemeConfig.custom.hasOwnProperty("media_size")&&boostPFSThemeConfig.custom.media_size=="adapt"&&images.length>0&&(html2+=' style="padding-bottom: '+paddingBottom+'%"'),html2+=">",html2+='<img class="motion-reduce"loading="lazy"srcset="'+dataSrcSet+'" height="'+images[0].height+'" width="'+images[0].width+'" sizes="(min-width: 1100px) 535px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)"src="'+Utils.optimizeImage(images[0].src,"533x")+'" alt="'+imgAlt+'" />',activeSwapImage&&(html2+='<img class="motion-reduce"loading="lazy"srcset="'+flipImageSrcSet+'" height="'+images[1].height+'" width="'+images[1].width+'" sizes="(min-width: 1100px) 535px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)"src="'+Utils.optimizeImage(images[1].src,"533x")+'" alt="'+imgAlt+'" />'),html2+="</div>",html2+="</div>"):html2+='<div class="card__content"><h2 class="card__text h2">'+data.title+"</h2></div>",html2}function buildCardProductClass(){var html2="";return!images||images&&images.length===0?html2="card--text-only card--soft":boostPFSThemeConfig.custom.hasOwnProperty("show_image_outline")&&boostPFSThemeConfig.custom.show_image_outline&&(html2="card--outline"),html2}function buildCardProductID(data){var html2=data.id;return html2}function buildProductCardFormStatus(data){var html2="",customer_status=window.customer&&window.customer.status||"",shipping_tag="normal",tags=Array.isArray(data.tags)?data.tags:[],email_for_price=tags.includes("product-status:email-for-price"),add_to_cart_for_price=tags.includes("product-status:add-to-cart-for-price"),map_price=tags.includes("product-status:map-price"),tier_pricing=!!(window.customerData&&window.customerData.loggedIn),isClearance=String(data.product_type||"").toLowerCase().trim()==="clearance"||tags.some(function(t){return String(t||"").toLowerCase().trim()==="clearance"});function formatMoney(cents){try{if(window.Shopify&&typeof Shopify.formatMoney=="function"){var fmt=window.theme&&window.theme.moneyFormat||Shopify.money_format||"${{amount}}";return Shopify.formatMoney(cents,fmt)}}catch(e){}return"$"+(Number(cents||0)/100).toFixed(2)}
1if(tags.forEach(function(tag){if(tag.indexOf("shipping-status:")===0){var parts=tag.split(":");shipping_tag=parts[1]||"normal"}}),html2+='<div class="product-card-buttons">',email_for_price||map_price&&(customer_status==="ecomm-tier"||customer_status==="")){var sku=data.skus&&data.skus[0]||data.variants&&data.variants[0]&&data.variants[0].sku||"",primaryVariantId=data.variants&&data.variants[0]?data.variants[0].id:"",raw=(data.price!=null?data.price:data.variants&&data.variants[0]&&data.variants[0].price)||0,mapCents=Math.round(Number(raw)*100),mapPriceStr=window.Shopify&&typeof Shopify.formatMoney=="function"?Shopify.formatMoney(mapCents,"{{amount}}"):(mapCents/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}),reqFieldName=email_for_price?"email_for_price_request":"map_email_for_price_request",reqFieldId=email_for_price?"email_for_price_request":"map_email_for_price_request",reqLabel=email_for_price?"Email For Price":"MAP PRICE";html2+='<product-email-form>\n        <div class="email-holder">\n          <form method="post" data-action="/contact#contact_form" data-id="contact_form" accept-charset="UTF-8" class="contact-form">\n            <input type="hidden" name="form_type" value="contact" tabindex="0">\n            <input type="hidden" name="utf8" value="\u2713" tabindex="0">\n  \n            <p class="small email-message mb-2 px-2">Enter your email &amp; we\'ll send you a quote.</p>\n  \n            <div class="form-holder">\n              <div class="email-for-price hidden">\n                <label for="'.concat(reqFieldId,'">').concat(reqLabel,'</label>\n                <input type="text" name="contact[').concat(reqFieldName,']" id="').concat(reqFieldId,'" value="').concat(String(data.title||"").replace(/"/g,"&quot;"),'" />\n              </div>\n  \n              ').concat(tier_pricing?'\n              <div class="email-for-price hidden">\n                <label for="tier_pricing">TIER PRICING</label>\n                <input type="text" name="contact[tier]" id="tier_pricing" value="TIER PRICING">\n              </div>':"","\n  \n              ").concat(map_price?'\n              <div class="email-for-price hidden">\n                <label for="map_pricing">MAP PRICE</label>\n                <input type="text" name="contact[MAP PRICE]" id="map_pricing" value="'.concat(mapPriceStr,'">\n              </div>'):"",'\n  \n              <div class="email-for-price hidden">\n                <label for="email_for_price_request_collection">Collection</label>\n                <input type="text" name="contact[method]" id="email_for_price_request_collection" value="GV" />\n              </div>\n  \n              <div class="product-id hidden">\n                <label for="product_sku">Product SKU</label>\n                <input type="text" name="contact[product_sku]" id="product_sku" value="').concat(sku,'" tabindex="0">\n              </div>\n  \n              <div class="product-title hidden">\n                <label for="product_title">Product Title</label>\n                <input type="text" name="contact[product_title]" id="product_title" value="').concat(String(data.title||"").replace(/"/g,"&quot;"),'" tabindex="0">\n              </div>\n  \n              <div class="email-for-price hidden">\n                <label for="product_url">Product URL</label>\n                <input type="text" name="contact[product_url]" id="product_url" value="https://nellacutlery.ca/products/').concat(data.handle,'">\n              </div>\n  \n              <div class="input-group">\n                <input type="email" class="form-control form-control-sm" placeholder="Email Address" aria-label="Email Address" aria-describedby="button-addon2" name="contact[email]" data-id="email" tabindex="0">\n                <button class="btn-sm btn-grey" type="submit" data-id="button-addon2" tabindex="0">Send</button>\n              </div>\n            </div>\n  \n            <div class="form-message d-none small mt-2 text-danger"></div>\n          </form>\n        </div>\n      </product-email-form>')}else{var maxQtyAttr="";if(tags.includes("deny")&&data.variants&&data.variants[0]&&data.variants[0].inventory_quantities){var inv=data.variants[0].inventory_quantities["Nella Cutlery"];typeof inv!="undefined"&&(maxQtyAttr='max="'.concat(inv,'"'))}html2+='<div id="ProductInfo-'.concat(data.id,'" class="w-100">\n        <product-form>\n          <div class="product-form__error-message-wrapper" role="alert" hidden="">\n            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-error" viewBox="0 0 13 13" width="15" height="15">\n              <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"></circle>\n              <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"></circle>
1\n              <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"></path>\n              <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"></path>\n            </svg>\n            <span class="product-form__error-message" style="font-size: 14px;"></span>\n          </div>\n          <form method="post" action="/cart/add" id="product-form-').concat(data.id,'" accept-charset="UTF-8" class="form w-100" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form">\n            <input type="hidden" name="form_type" value="product" tabindex="0">\n            <input type="hidden" name="utf8" value="\u2713" tabindex="0">\n            <input type="hidden" name="id" value="').concat(data.variants&&data.variants[0]?data.variants[0].id:"",'" tabindex="0">\n  \n            <div class="btn-holder w-100">\n              <quantity-input>\n                <input class="form-control form-control-sm number" type="number" name="quantity" id="Quantity-').concat(data.id,'" min="1" value="1" form="product-form-').concat(data.id,'" ').concat(maxQtyAttr,' tabindex="0">\n              </quantity-input>\n  \n              <button\n                type="submit"\n                name="add"\n                class="btn-sm btn-tertiary add-btn"\n                data-product-type="').concat(isClearance?"Clearance":data.product_type||"",'"\n                data-shipping-type="').concat(shipping_tag,'"\n                tabindex="0"\n                aria-haspopup="dialog"\n                ').concat(!data.available||tags.includes("product-status:sold-out")?'disabled aria-disabled="true"':"","\n              >").concat(tags.includes("deny")?"<script>\n                    document.getElementById('Quantity-".concat(data.id,"').addEventListener('input', function() {\n                      const max = parseInt(this.max, 10);\n                      if (parseInt(this.value, 10) > max) {\n                        this.value = max;\n                      }\n                    });\n                  <\/script>"):""),add_to_cart_for_price&&customer_status==="ecomm-tier"||add_to_cart_for_price&&customer_status===""?html2+="<span>".concat(!data.available||tags.includes("product-status:sold-out")?"Sold out":"Add for price","</span>"):html2+="<span>".concat(!data.available||tags.includes("product-status:sold-out")?"Sold out":"Add to cart","</span>"),html2+='<div class="loading-overlay__spinner hidden d-none d-lg-inline-block">\n                  <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">\n                    <circle class="path" stroke="#FFF" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>\n                  </svg>\n                </div>\n              </button>\n            </div>\n          </form>\n        </product-form>\n      </div>'}return html2+="</div>",html2}function buildCardProductVariantID(data){var html2=data.variants[0].id;return html2}function buildVendor(data){var html2="";return boostPFSThemeConfig.custom.hasOwnProperty("show_vendor")&&boostPFSThemeConfig.custom.show_vendor===!0&&(html2=boostPFSTemplate.vendorHtml),html2}function buildB2BPriceSkeleton(){return'<div class="boost-b2b-price-slot boost-b2b-price-slot--loading" data-boost-b2b-price-slot data-boost-b2b-debug="initial-skeleton"><div class="boost-b2b-price-skeleton" aria-hidden="true"></div></div>'}function buildB2BPriceSuppressedMarker(){return'<div class="boost-b2b-price-suppressed" data-boost-price-suppressed="true" hidden></div>'}function isPriceSuppressedProduct(data){var tags=data&&data.tags?data.tags:[];typeof tags=="string"&&(tags=tags.split(",").map(function(t){return t.trim()})),tags=Array.isArray(tags)?tags:[];var lower=tags.map(function(t){return String(t).toLowerCase()});if(lower.indexOf("product-status:email-for-price")!==-1)return!0;
1if(lower.indexOf("product-status:add-to-cart-for-price")!==-1){var status=window.customer&&window.customer.status||"";if(status==="ecomm-tier"||status==="no-customer"||status==="")return!0}return!1}function buildPrice(data){var _a;var html2="",priceVaries2=!!data.price_varies,soldOut2=!data.available,onSale2=Number(data.compare_at_price_min||0)>Number(data.price_min||0),noComparePrice=data.price_varies===!1&&data.compare_at_price_varies,priceAmount=boostPFSConfig.custom.currency_code_enabled?Utils.formatMoney(data.price_min,"money_with_currency"):Utils.formatMoney(data.price_min),compareAtPrice=boostPFSConfig.custom.currency_code_enabled?Utils.formatMoney(data.compare_at_price_min,"money_with_currency"):Utils.formatMoney(data.compare_at_price_min),moneyPrice=priceVaries2?boostPFSConfig.label.from_price_html.replace(/{{ price }}/,priceAmount):priceAmount,hide=data.compare_at_price_min===data.price_min?"d-none":"",unitPriceClass=!data.available||typeof((_a=data==null?void 0:data.selected_or_first_available_variant)==null?void 0:_a.unit_price_measurement)=="undefined"?"hidden":"",email_for_price=data.tags.includes("product-status:email-for-price"),add_to_cart_for_price=data.tags.includes("product-status:add-to-cart-for-price"),map_price=data.tags.includes("product-status:map-price"),customer_tier=window.customer&&window.customer.status||"",customer_tier_upscale=customer_tier==="gold-tier"||customer_tier==="platinum-tier",same_price="";compareAtPrice===moneyPrice&&(same_price="d-none");var uom="Case",custom_uom=data.tags.filter(function(value){return value.indexOf("UOMDESC:")===0});return custom_uom.length&&(uom=custom_uom[0].split(":")[1]),customer_tier==="ecomm-tier"||customer_tier===""?html2='\n        <div class="product-card-price">\n          <div class="small mb-2">\n            <div class="price '.concat(soldOut2?"price--sold-out":""," ").concat(onSale2?"price--on-sale":"").concat(noComparePrice?" price--no-compare":"",'">\n              <div>\n                <!-- Compare-at (strike). Hide if same price, email-for-price, OR MAP -->\n                <div class="price-each small ').concat(same_price," ").concat(email_for_price||map_price?"d-none":"",'">\n                  <span class="price-item">\n                    <s class="text-danger fw-bold">').concat(compareAtPrice,'</s>\n                    <span class="indicator">/ ').concat(uom,'</span>\n                  </span>\n                </div>\n  \n                <!-- Sell price (keep visible for MAP; hide only for email/add-to-cart-for-price) -->\n                <div class="price-dozen ').concat(email_for_price||add_to_cart_for_price?"d-none":"",'">\n                  <span class="price-item">\n                    <span class="text-danger">').concat(moneyPrice,'</span>\n                    <span class="indicator">/ ').concat(uom,"</span>\n                  </span>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>"):html2='\n        <div class="product-card-price">\n          <div class="small mb-2">\n            <div class="price '.concat(soldOut2?"price--sold-out":""," ").concat(onSale2?"price--on-sale":"").concat(noComparePrice?" price--no-compare":"",'">\n              <div>\n                <p class="mb-1 fw-bolder retail-price">Retail Price:</p>\n  \n                <!-- Compare-at (strike). Hide if same price OR MAP -->\n                <div class="price-each small ').concat(same_price," ").concat(map_price?"d-none":"",'">\n                  <span class="price-item">\n                    <s class="text-danger fw-bold">').concat(compareAtPrice,'</s>\n                    <span class="indicator">/ ').concat(uom,'</span>\n                  </span>\n                </div>\n  \n                <div class="price-dozen">\n                  <span class="price-item">\n                    <span class="text-danger">').concat(moneyPrice,'</span>\n                    <span class="indicator">/ ').concat(uom,"</span>\n                  </span>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>"),html2}function buildIconBadges(data){var tags=data.tags.filter(function(tag){return tag.includes("icon-")});return html="",tags.length&&(html+='<ul class="list-unstyled m-0 p-0">
1',tags.forEach(function(tag){var tag_clean_split=tag.split(":")[1],tag_split=tag.split("-"),tag_type=tag_split[1].split(":")[0],tag_text=tag_split[1].split(":")[1];switch(tag_type){case"fire":html+='<li><i class="fas fa-fire-alt me-1"></i> <span>'.concat(tag_clean_split,"</span></li>");break;case"gas":html+='<li><i class="fas fa-fire-alt blue me-1"></i> <span>'.concat(tag_clean_split,"</span></li>");break;case"lightning":html+='<li><i class="fas fa-bolt me-1"></i> <span>'.concat(tag_clean_split,"</span></li>");break;case"ice":html+='<li><img src="'.concat(window.shopifyURLs.assets_url+"ice-cubes.svg",'" /> <span>').concat(tag_clean_split,"</span></li>");break;case"charcoal":html+='<li><img src="'.concat(window.shopifyURLs.assets_url+"charcoal.svg",'" /> <span>').concat(tag_clean_split,"</span></li>");break;default:html+='<li><i class="fas fa-plus-circle me-1"></i> <span>'.concat(tag_clean_split,"</span></li>")}}),html+="</ul>"),html}function buildBadges(data){var tags=data.tags.filter(function(tag){return tag.includes("badge:")}),html2="";return tags.forEach(function(tag){var label=tag.replace("badge:","").trim(),slug=label.toLowerCase().replace(/&/g,"and").replace(/\//g,"-").replace(/\+/g,"plus").replace(/[.,:;]+/g,"").replace(/\s+/g,"-");html2+='<li class="main-product-badge badge--'.concat(slug,'">').concat(label,"</li>")}),html2}function buildSoldOutLabel(){var soldOutLabel="";return boostPFSThemeConfig.custom.hasOwnProperty("sold_out_badge_color_scheme")&&soldOut&&(soldOutLabel=boostPFSTemplate.soldOutLabelHtml.replace(/{{soldOutBadgeClass}}/g,boostPFSThemeConfig.custom.sold_out_badge_color_scheme)),soldOutLabel}function buildSaleLabel(){var saleLabel="";return boostPFSThemeConfig.custom.hasOwnProperty("sale_badge_color_scheme")&&onSale&&!soldOut&&(saleLabel=boostPFSTemplate.saleLabelHtml.replace(/{{saleBadgeClass}}/g,boostPFSThemeConfig.custom.sale_badge_color_scheme)),saleLabel}function buildReview(data){var html2="";if(boostPFSThemeConfig.custom.hasOwnProperty("show_product_review")&&boostPFSThemeConfig.custom.show_product_review==!0&&Utils.getProductMetafield(data,"reviews","rating")!==null){var ratingObj=JSON.parse(Utils.getProductMetafield(data,"reviews","rating")),rating_decimal=0,decimal=parseFloat(ratingObj.value.rating);decimal>=.3&&decimal<=.7?rating_decimal=.5:decimal>.7&&(rating_decimal=1),html2='<div class="rating" role="img" aria-label="'.concat(boostPFSConfig.label.star_reviews_info.replace("{{ rating_value }}",ratingObj.value).replace("{{ rating_max }}",ratingObj.value.scale_max),'">\n                  <span aria-hidden="true" class="rating-star color-icon-').concat(boostPFSConfig.custom.accent_icons,'" style="--rating: ').concat(Math.round(ratingObj.value.rating),"; --rating-max: ").concat(ratingObj.value.scale_max,"; --rating-decimal: ").concat(rating_decimal,';"></span>\n                </div>\n                <p class="rating-text caption">\n                  <span aria-hidden="true">').concat(ratingObj.value," / ").concat(ratingObj.value.scale_max,'</span>\n                </p>\n                <p class="rating-count caption">\n                  <span aria-hidden="true">(').concat(Utils.getProductMetafield(data,"reviews","rating_count"),')</span>\n                  <span class="visually-hidden">').concat(Utils.getProductMetafield(data,"reviews","rating_count")," ").concat(boostPFSConfig.label.total_reviews,"</span>\n                </p>")}return html2}ProductPaginationDefault.prototype.compileTemplate=function(totalProduct){totalProduct||(totalProduct=this.totalProduct);var currentPage=parseInt(Globals.queryParams.page),totalPage=Math.ceil(totalProduct/Globals.queryParams.limit);if(totalPage<=1)return"";var paginationHtml=boostPFSTemplate.paginateHtml,previousHtml=currentPage>1?boostPFSTemplate.previousActiveHtml:"";previousHtml=previousHtml.replace(/{{itemUrl}}/g,Utils.buildToolbarLink("page",currentPage,currentPage-1)),paginationHtml=paginationHtml.replace(/{{previous}}/g,previousHtml);var nextHtml=currentPage<totalPage?boostPFSTemplate.nextActiveHtml:"";nextHtml=nextHtml.replace(/{{itemUrl}}/g,Utils.buildToolbarLink("page",currentPage,currentPage+1)),paginationHtml=paginationHtml.replace(/{{next}}/g,nextHtml);for(var beforeCurrentPageArr=[],iBefore=currentPage-1;iBefore>currentPage-3&&iBefore>0;iBefore--)beforeCurrentPageArr.unshift(iBefore);currentPage-4>0&&beforeCurrentPageArr.unshift("..."),currentPage-4>=0&&beforeCurrentPageArr.unshift(1),beforeCurrentPageArr.push(currentPage);for(var afterCurrentPageArr=[],iAfter=currentPage+1;iAfter<currentPage+3&&iAfter<=totalPage;iAfter++)afterCurrentPageArr.push(iAfter);currentPage+3<totalPage&&afterCurrentPageArr.push("..."),currentPage+3<=totalPage&&afterCurrentPageArr.push(totalPage);for(var pageItemsHtml="",pageArr=beforeCurrentPageArr.concat(afterCurrentPageArr),iPage=0;iPage<pageArr.length;
1iPage++)pageArr[iPage]=="..."?pageItemsHtml+=boostPFSTemplate.pageItemRemainHtml:pageItemsHtml+=pageArr[iPage]==currentPage?boostPFSTemplate.pageItemSelectedHtml:boostPFSTemplate.pageItemHtml,pageItemsHtml=pageItemsHtml.replace(/{{itemTitle}}/g,pageArr[iPage]),pageItemsHtml=pageItemsHtml.replace(/{{itemUrl}}/g,Utils.buildToolbarLink("page",currentPage,pageArr[iPage]));return paginationHtml=paginationHtml.replace(/{{pageItems}}/g,pageItemsHtml),paginationHtml},ProductSorting.prototype.compileTemplate=function(){var html2="";if(boostPFSTemplate.hasOwnProperty("sortingHtml")){var sortingArr=Utils.getSortingList();if(sortingArr){var paramSort=Globals.queryParams.sort||"",sortingItemsHtml="";for(var k in sortingArr){var isSelected="";paramSort==k&&(isSelected='selected="selected"'),sortingItemsHtml+='<option value="'+k+'"'+isSelected+">"+sortingArr[k]+"</option>"}html2=boostPFSTemplate.sortingHtml.replace(/{{sortingItems}}/g,sortingItemsHtml)}}return html2},ProductSorting.prototype.render=function(){jQ(Selector.topSorting).html(this.compileTemplate()),jQ(".boost-pfs-filter-custom-sorting").hasClass("boost-pfs-filter-sort-active")&&jQ(".boost-pfs-filter-custom-sorting").toggleClass("boost-pfs-filter-sort-active");var labelSort="",paramSort=Globals.queryParams.sort||"",sortingList=Utils.getSortingList();paramSort.length>0&&sortingList&&sortingList[paramSort]?labelSort=sortingList[paramSort]:labelSort=Labels.sorting,jQ(".boost-pfs-filter-custom-sorting button span span").text(labelSort)},ProductSorting.prototype.bindEvents=function(){jQ(Selector.topSorting+" .facet-filters__sort").change(function(e){e.preventDefault(),FilterApi.setParam("sort",jQ(this).val()),FilterApi.setParam("page",1),FilterApi.applyFilter("sort")})},ProductList.prototype.afterRender=function(data){data||(data=this.data),window.boostB2BPriceHydration&&window.boostB2BPriceHydration.hydrate()},Filter.prototype.afterRender=function(data,eventType){if(data||(data=this.data),jQ(".boost-pfs-filter-total-product").html(data.total_product+" products"),Utils.isSearchPage()){var currentSearchHeader=jQ('.breadcrumbs__item a[href="/search"]').text().replace(/[0-9]+/,Utils.stripHtml(data.total_product));jQ('.breadcrumbs__item a[href="/search"]').text(currentSearchHeader)}}})();
2//# sourceMappingURL=/cdn/shop/t/334/assets/boost-pfs-filter.js.map?v=40624792074436589901790871627

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.