PageSourceSearch

https://seatosummit.eu/cdn/shop/t/258/assets/product-comparison-tool-js.min.js?v=76898495095636206751787198203

js seatosummit.eu collected 2026-10-04 21:01:09 UTC 48,563 bytes, 1 lines download raw bytes

vendor: 4,338 bytes, line 1
1(()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(){"use strict";t=function(){return r};var r={},a=Object.prototype,i=a.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function u(e,t,r,a){var i=t&&t.prototype instanceof m?t:m,o=Object.create(i.prototype),n=new S(a||[]);return o._invoke=function(e,t,r){var a="suspendedStart";return function(i,o){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===i)throw o;return x()}for(r.method=i,r.arg=o;;){var n=r.delegate;if(n){var c=k(n,r);if(c){if(c===d)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===a)throw a="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a="executing";var s=p(e,t,r);if("normal"===s.type){if(a=r.done?"completed":"suspendedYield",s.arg===d)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(a="completed",r.method="throw",r.arg=s.arg)}}}(e,r,n),o}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}r.wrap=u;var d={};function m(){}function h(){}function _(){}var f={};l(f,n,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(E([])));g&&g!==a&&i.call(g,n)&&(f=g);var y=_.prototype=m.prototype=Object.create(f);function b(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function w(t,r){function a(o,n,c,s){var l=p(t[o],t,n);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==e(d)&&i.call(d,"__await")?r.resolve(d.__await).then((function(e){a("next",e,c,s)}),(function(e){a("throw",e,c,s)})):r.resolve(d).then((function(e){u.value=e,c(u)}),(function(e){return a("throw",e,c,s)}))}s(l.arg)}var o;this._invoke=function(e,t){function i(){return new r((function(r,i){a(e,t,r,i)}))}return o=o?o.then(i,i):i()}}function k(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var a=p(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,d;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function E(e){if(e){var t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(i.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:x}}function x(){return{value:void 0,done:!0}}return h.prototype=_,l(y,"constructor",_),l(_,"constructor",h),h.displayName=l(_,s,"GeneratorFunction"),r.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},r.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,l(e,s,"GeneratorFunction")),e.prototype=Object.create(y),e},r.awrap=function(e){return{__await:e}},b(w.prototype),l(w.prototype,c,(function(){return this})),r.AsyncIterator=w,r.async=function(e,t,a,i,o){void 0===o&&(o=Promise);var n=new w(u(e,t,a,i),o);return r.isGeneratorFunction(t)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},b(y),l(y,s,"Generator"),l(y,n,(function(){return this})),l(y,"toString",(function(){return"[object Generator]"}
vendor: 4,111 bytes, line 1
1)),r.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var a=t.pop();if(a in e)return r.value=a,r.done=!1,r}return r.done=!0,r}},r.values=E,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,a){return n.type="throw",n.arg=e,t.next=r,a&&(t.method="next",t.arg=void 0),!!a}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],n=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=i.call(o,"catchLoc"),s=i.call(o,"finallyLoc");if(c&&s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&i.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var n=o?o.completion:{};return n.type=e,n.arg=t,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(n)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var a=r.completion;if("throw"===a.type){var i=a.arg;C(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:E(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},r}function r(e,t,r,a,i,o,n){try{var c=e[o](n),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(a,i)}function a(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var a,i,o=[],n=!0,c=!1;try{for(r=r.call(e);!(n=(a=r.next()).done)&&(o.push(a.value),!t||o.length!==t);n=!0);}catch(e){c=!0,i=e}finally{try{n||null==r.return||r.return()}finally{if(c)throw i}}return o}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?c(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l(this,e),this.config={maxProducts:t.maxProducts||2,accessToken:t.accessToken||null,country:t.country||"us",language:t.language||"en",urlPrefix:t.urlPrefix||"",hasWishlist:t.hasWishlist||!1,metricUnits:t.metricUnits||!0,i18n:t.i18n||{}},this.emptyValue="&ndash;",this.comparisonToolElem=null,this.compareItemList=null,this.compareButton=null,this._debug=!1,this._compareColumnHeader={scrollDistanceTrigger:0,largeHeaderHeight:0,smallHeaderHeight:130,hasVariantSelector:!1},this.compareProducts=sessionStorage.getItem("compare_products")?JSON.parse(sessionStorage.getItem("compare_products")):[],this.compareProductHash=null,this.compareProductsData=[],this.compareCheckboxElems=null,this.compareWidgetMinimized=!0}var o,n,c,p,d;return o=e,n=[{key:"init",value:function(){var e=this;this.comparisonToolElem=document.querySelector("#ProductComparisonTool"),this.compareItemList=document.querySelectorAll(".product-comparison-widget__list > li"),this.compareButton=document.querySelector(".product-comparison-widget__compare-button"),this._initEventListeners(),this.compareCheckboxElems=document.querySelectorAll('input[type="checkbox"].compare-checkbox'),this.compareCheckboxElems.forEach((function(t){t.addEventListener("change",(function(t){var r=t.target.getAttribute("data-compare-id");if(e.compareProducts.some((function(e){return e.id===r})))e.removeProductFromCompare(r);else{var a=JSON.parse(t.target.closest("product-card").querySelector("script.product-card-json").innerHTML);delete a.variants,a.image_url=e.getResizedShopifyImageURL(a.image_url,"120x120"),e.addProductToCompare(a)}}))})),this.compareProducts.length>0&&this.updateComparisonWidget()}},{key:"addProductToCompare",value:function(e){this.compareProducts.some((function(t){return t.id===e.id}))||(this.compareProducts.length>=this.config.maxProducts&&this.compareProducts.pop(),this.compareProducts.push(e),this.compareWidgetMinimized=!1,window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"comparison_tool_action",description:"comparison_tool_add_item",product_id:e.id,product_name:e.name,category:""}),this.updateComparisonWidget())}},{key:"removeProductFromCompare",value:function(e){if(e){var t=this.compareProducts.find((function(t){return t.id===e}));t&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"comparison_tool_action",description:"comparison_tool_remove_item",product_id:t.id,product_name:t.name,category:""}),this.compareProducts=this.compareProducts.filter((function(t){return t.id!==e})),this.updateComparisonWidget())}}},{key:"updateComparisonWidget",value:function(){var e=this;sessionStorage.setItem("compare_products",JSON.stringify(this.compareProducts)),this.updateCheckboxStates(),this.updateComparisonWidgetVisibility(),this.compareItemList.forEach((function(t,r){if(e.compareProducts[r]){var a="",i=e.compareProducts[r];a+='<div class="item">',a+='<img src="'+i.image_url+'" width="60" height="60" alt="'+i.name+'" loading="lazy" />',a+="<span>",a+='  <p class="product-name">'+i.name+"</p>",a+='  <span data-remove-compare-id="'.concat(i.id,'" onclick="ComparisonTool.removeProductFromCompare(\'').concat(i.id,"')\">").concat(e.config.i18n.remove||"Remove","</span>"),a+="</span>",a+="</div>",t.innerHTML=a}else t.innerHTML='<div class="placeholder">'.concat(e.config.i18n.emptyState||"Add a product","</div>")})),this.compareButton.disabled=this.compareProducts.length<this.config.maxProducts}},{key:"updateCheckboxStates",value:function(){var e=this;
1document.querySelectorAll('input[type="checkbox"].compare-checkbox').forEach((function(t){var r=t.getAttribute("data-compare-id"),a=e.compareProducts.some((function(e){return e.id===r}));t.checked=a}))}},{key:"startComparison",value:function(){var e=this;if(this.compareProducts.length>0&&this.compareProducts.length<=this.config.maxProducts){var t=this.compareProducts.map((function(e){return"gid://shopify/Product/".concat(e.id)})),r=ComparisonTool.compareProducts.map((function(e){return parseInt(e.id).toString(16)})).join("_");if(this.compareProductHash===r)return;this.fetchProductsWithVariantSpecs(t).then((function(t){if(0!==t.length){t.forEach((function(t){t.techspecs={},t.product_set_price="";var r=function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=t.metafields.find((function(t){return(null==t?void 0:t.key)===e}));return a?r?JSON.parse(a.value):a.value:r?{}:null};t.techspecs=s(s({},r("product_tech_specs")),r("product_tech_specs_numerical")),t.performance_attributes=s({},r("product_performance_attributes")),t.reviews={reviews_average:r("reviews_average",!1),reviews_count:r("reviews_count",!1)},t.product_set_price=r("product_set_price",!1),t.short_description=r("product_short_description",!1),t.subtitle=r("product_subtitle",!1),t.salsify_reference_data=r("salsify_reference_data",!0),t.product_id=t.id.replace(/\D/g,""),t.category=e.getCategoryNameByProductType(t.productType),Object.keys(t.techspecs).length>0&&Object.entries(t.techspecs).forEach((function(e){var r=i(e,2),a=r[0],o=r[1];if("string"==typeof o){var n=function(e){return e.split(" x ").join(' <span class="times">&times;</span> ')};if(o.includes(" | ")){var c=i(o.split(" | "),2),s=c[0],l=c[1];t.techspecs[a]='<span data-unit="metric">'+n(s)+'</span><span data-unit="imperial">'+n(l)+"</span>"}else o.includes(" x ")&&(t.techspecs[a]=n(o))}}
1)),t.variants.edges.forEach((function(e){var r=e.node;r.techspecs={};var a=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=r.metafields.find((function(t){return(null==t?void 0:t.key)===e}));return a?t?JSON.parse(a.value):a.value:t?{}:null};r.techspecs=s(s({},a("variant_tech_specs")),a("variant_tech_specs_numerical")),Object.keys(r.techspecs).length>0&&Object.entries(r.techspecs).forEach((function(e){var t=i(e,2),a=t[0],o=t[1];if("string"==typeof o){var n=function(e){return e.split(" x ").join(' <span class="times">&times;</span> ')};if(o.includes(" | ")){var c=i(o.split(" | "),2),s=c[0],l=c[1];r.techspecs[a]='<span data-unit="metric">'+n(s)+'</span><span data-unit="imperial">'+n(l)+"</span>"}else o.includes(" x ")&&(r.techspecs[a]=n(o))}})),r.variant_id=r.id.replace(/\D/g,""),r.url="/products/"+t.handle+"?variant="+r.variant_id})),t.active_variant=t.variants.edges[0].node.variant_id,t.variants=t.variants.edges.map((function(e){return e.node})),t.variants_active_key=0,!0===e._debug&&t.variants.forEac
1h((function(e){}))})),e.compareProductHash=r,e.compareProductsData=t,e.populateComparsionToolWithContent({".compare-header":e.buildHtmlCompareHeader(),".compare-table-tech-specs":e.buildHtmlCompareTable(),".compare-table-reviews":e.buildHtmlCompareReviews(),".compare-table-performance":e.buildHtmlComparePerformance(),".compare-table-buttons":e.buildHtmlCompareActionButton()}),window.yotpo&&"function"==typeof window.yotpo.refreshWidgets&&window.yotpo.refreshWidgets(),e.resetCompareToolHeaderUI();var o=a(e.compareProducts).sort((function(e,t){return e.name.localeCompare(t.name)}));window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"comparison_tool_action",description:"comparison_tool_compare_products",product_id:o.map((function(e){return e.id})).join(" || "),product_name:o.map((function(e){return e.name})).join(" || "),category:e.getComparedProductCategories()})}else e.populateComparsionToolWithContent({".compare-header":"",".compare-table-tech-specs":"<p>Error &mdash; no products found for comparison.</p>",".compare-table-reviews":"",".compare-table-performance":"",".compare-table-buttons":""})})).catch(console.error)}}},{key:"resetCompareToolHeaderUI",value:function(){this.comparisonToolElem.querySelector("#ProductComparison").style.setProperty("padding-top",0),this.comparisonToolElem.querySelector(".popup-modal__content").scrollTop=0,this.comparisonToolElem.querySelector(".popup-modal__content").dataset.scrolled="false",this._compareColumnHeader.scrollDistanceTrigger=this.comparisonToolElem.querySelector(".compare-header").offsetHeight-this.comparisonToolElem.querySelector(".popup-modal__header").offsetHeight,this._compareColumnHeader.largeHeaderHeight=this.comparisonToolElem.querySelector(".compare-header").offsetHeight-this._compareColumnHeader.smallHeaderHeight,window.innerWidth>1600&&this.comparisonToolElem.querySelectorAll(".compare-header .variant-selector").length>0&&(this._compareColumnHeader.largeHeaderHeight-=28)}},{key:"assignComparisonToolModalEvents",value:function(){var e=this,t=null;window.addEventListener("resize",(function(){t&&cancelAnimationFrame(t),t=requestAnimationFrame((function(){e.resetCompareToolHeaderUI(),t=null}))})),document.addEventListener("change",(function(t){if(t.target.matches("#ProductComparison select.variant-selector")){var r=t.target.getAttribute("data-product-id"),a=t.target.value,i="";e.compareProductsData.findIndex((function(e){if(e.product_id==r){var t=e.variants.findIndex((function(e){return e.variant_id===a}));e.variants_active_key=t,i=e.title}})),e.populateComparsionToolWithContent({".compare-header":e.buildHtmlCompareHeader(),".compare-table-tech-specs":e.buildHtmlCompareTable(),".compare-table-reviews":e.buildHtmlCompareReviews(),".compare-table-buttons":e.buildHtmlCompareActionButton()}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"comparison_tool_action",description:"comparison_tool_change_variant",product_id:r,product_name:i,category:""})}})),document.addEventListener("click",(function(t){if(t.target.matches("#ProductComparisonTool .unit-switcher > button")){var r=t.target,a=r.getAttribute("data-unit-switcher");r.parentElement.querySelectorAll("button").forEach((function(e){e===r?e.classList.add("active"):e.classList.remove("active")})),document.getElementById("ProductComparison").setAttribute("data-unit",a)}if(t.target.matches("#ProductComparisonTool button.button-add-to-cart")){var i=t.target,o={items:[{id:i.getAttribute("data-variant-id"),quantity:1}]};if("undefined"!=typeof liquidAjaxCart&&liquidAjaxCart.cartRequestAdd){var n=new MutationObserver((function(t){document.body.classList.contains("js-ajax-cart-form-in-progress")||(i.innerHTML=e.config.i18n.addToCart||"Add to Cart",i.classList.remove("loading-dots"),n.disconnect())}));i.innerHTML=e.config.i18n.addingToCart||"Adding...",i.classList.add("loading-dots"),liquidAjaxCart.cartRequestAdd(o),n.observe(document.body,{attributes:!0,attributeFilter:["class"]})}}if(t.target.matches("#ProductComparisonTool .compare-cta > *:is(button.button-add-to-cart, a[href]")&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"comparison_tool_action",description:"comparison_tool_cta_click",product_id:"",product_name:"",category:""})),t.target.matches("#ProductComparisonTool button.button-remove-product")){var c=t.target.getAttribute("data-remove-compare-id");e.removeProductFromCompare(c),e.closeComparisonToolModal()}})),this.assignStickyCompareHeaderEvents()}},{key:"assignStickyCompareHeaderEvents",value:function(){var e=this,t=!1,r=this.comparisonToolElem.querySelector(".popup-modal__content");r.addEventListener("scroll",(function(){e._compareColumnHeader.scrollDistanceTrigger<9||e._compareColumnHeader.largeHeaderHeight<9||(r.scrollTop>=e._compareColumnHeader.scrollDistanceTrigger&&!1===t?(e.comparisonToolElem.querySelector("#ProductComparison").style.setProperty("padding-top",e._compareColumnHeader.largeHeaderHeight+"px"),r.dataset.scrolled="true",t=!0):r.scrollTop<e._compareColumnHeader.scrollDistanceTrigger&&!0===t&&(e.comparisonToolElem.querySelector("#ProductComparison").style.setProperty("padding-top",0),r.dataset.scrolled="false",t=!1))}))}},{key:"buildHtmlCompareHeader",value:function(){var e=this,t="",r=!this.compareProductsData.every((function(e){return 1===e.variants.length}));return this.compareProductsData.forEach((function(r){var a=r.variants[r.variants_active_key],i=e.buildFormatedPrice(a,r.product_set_price),o=r.title;"Sleeping Bags"==r.productType&&(o=r.title.replace(/\s*\([^)]*\)/g,"")),t+='<div class="compare-header-column compare-header-column-product-title" data-product-id="'+r.product_id+'" data-variant-id="'+a.variant_id+'">',t+='  <figure class="sticky-image">',t+='    <img src="'+e.getResizedShopifyImageURL(a.image.url,"360x360")+'" width="360" height="360" alt="'+r.title+" ("+a.title+')" loading="lazy" />',t+="  </figure>",t+='  <div class="sticky-title">',t+='    <h3 class="h4_style compare-product-name">'+o+"</h3>",t+='    <p class="compare-product-price">'+i+"</p>",t+="  </div>",t+="</div>"})),!0===r&&this.compareProductsData.forEach((function(r){t+='<div class="compare-header-column compare-header-column-variant-selector">',t+='<select class="variant-selector" name="product-variant-selector-'+r.product_id+'" aria-label="'+e.config.i18n.select_variant+'" data-product-id="'+r.product_id+'"'+(1===r.variants.length?" disabled":"")+">",1===r.variants.length&&"Default Title"===r.variants[0].title?t+='<option value="'+r.variants[0].variant_id+'" selected>'+r.title+"</option>
1":r.variants.forEach((function(e,a){t+='<option value="'+e.variant_id+'"'+(a==r.variants_active_key?" selected":"")+">"+e.title+"</option>"})),t+="</select>",t+="</div>"})),t}},{key:"buildHtmlCompareTable",value:function(){var e=this,t="",r=this.compareProductsData.map((function(e){return e.productType})).filter(Boolean),i=this.getTechSpecsByProductType(r),o=Object.fromEntries(i.product_tech_specs.map((function(e){return[e,!1]}))),n=Object.fromEntries(i.variant_tech_specs.map((function(e){return[e,!1]}))),c=a(new Set(r));this.compareProductsData.forEach((function(e){i.product_tech_specs.forEach((function(t){e.techspecs[t]&&(o[t]=!0)})),i.variant_tech_specs.forEach((function(t){e.variants[e.variants_active_key].techspecs[t]&&(n[t]=!0)}))}));var l=function(e){if(comparison_tool_settings.i18n.tech_spec_labels[e])return comparison_tool_settings.i18n.tech_spec_labels[e];var t=e.replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()};return this.compareProductsData.forEach((function(e){var r,a;t+='<div role="cell">'+(null!==(r=null!==(a=e.short_description)&&void 0!==a?a:e.subtitle)&&void 0!==r?r:"&nbsp;")+"</div>"})),Object.values(s(s({},o),n)).every((function(e){return!1===e}))?"":(1!=n.best_use&&1!=o.best_use||this.compareProductsData.forEach((function(r){var a,i,o=r.variants[r.variants_active_key];t+='<div role="cell"><strong>'+l("best_use")+"</strong><br />"+(null!==(a=null!==(i=o.techspecs.best_use)&&void 0!==i?i:r.techspecs.best_use)&&void 0!==a?a:e.emptyValue)+"</div>"})),1==o.design_type&&this.compareProductsData.forEach((function(r){var a;t+='<div role="cell"><strong>'+l("design_type")+"</strong><br />"+(null!==(a=r.techspecs.design_type)&&void 0!==a?a:e.emptyValue)+"</div>"})),1==o.r_value&&this.compareProductsData.forEach((function(r){var a;t+='<div role="cell"><strong>'+l("r_value")+"</strong><br />"+(null!==(a=r.techspecs.r_value)&&void 0!==a?a:e.emptyValue)+"</div>"})),i.variant_tech_specs.forEach((function(r){1!=n[r]||["best_use","design_type","r_value","color","zipper_configuration"].includes(r)||e.compareProductsData.forEach((function(a){var i,o=a.variants[a.variants_active_key],n=l(r);if(1===c.length)switch(!0){case"Bags & Luggage"===a.salsify_reference_data.erp_subcategory&&"volume"===r:n=l("volume_carrying_capacity");break;case"Cookware"===a.salsify_reference_data.erp_subcategory&&a.salsify_reference_data.erp_subfamily.includes("- Sets")&&"packed_weight"===r:case"Dinnerware"===a.salsify_reference_data.erp_subcategory&&a.salsify_reference_data.erp_subfamily.includes("- Sets")&&"packed_weight"===r:n=l("set_weight")}t+='<div role="cell"><strong>'+n+"</strong><br />"+(null!==(i=o.techspecs[r])&&void 0!==i?i:e.emptyValue)+"</div>"}))})),1!=n.zipper_configuration&&1!=o.zipper_configuration||this.compareProductsData.forEach((function(r){var a,i,o=r.variants[r.variants_active_key];t+='<div role="cell"><strong>'+l("zipper_configuration")+"</strong><br />"+(null!==(a=null!==(i=o.techspecs.zipper_configuration)&&void 0!==i?i:r.techspecs.zipper_configuration)&&void 0!==a?a:e.emptyValue)+"</div>"})),i.product_tech_specs.forEach((function(r){!0!==o[r]||["best_use","design_type","r_value","zipper_configuration"].includes(r)||e.compareProductsData.forEach((function(a){var i;t+='<div role="cell"><strong>'+l(r)+"</strong><br />"+(null!==(i=a.techspecs[r])&&void 0!==i?i:e.emptyValue)+"</div>"}))})),1==n.color&&this.compareProductsData.forEach((function(r){var a,i=r.variants[r.variants_active_key],o=null!==(a=i.techspecs)&&void 0!==a&&a.color?'<span class="color-swatch" style="--color:'+i.techspecs.color+'"></span>':e.emptyValue;t+='<div role="cell"><strong>'+l("color")+"</strong><br />"+o+"</div>"})),t)}},{key:"buildHtmlCompareReviews",value:function(){var e=this,t="";return t+='<h3 class="compare-section-heading">Customer Reviews</h3>',this.compareProductsData.forEach((function(r){var a=r.variants[r.variants_active_key],i=e.config.urlPrefix+a.url+"#customer-reviews",o=renderProductRating(r.reviews.reviews_average,r.reviews.reviews_count,!1);t+='<a href="'+i+'">',t+=o||e.config.i18n.emptyStateReviews||e.emptyValue,t+="</a>"})),t}},{key:"buildHtmlComparePerformance",value:function(){var e=this,t="",r=!1,a=this.config.i18n.performanceAttributes||{};return this.compareProductsData.forEach((function(e){["Sleep","Storage, Packs & Bags"].includes(e.salsify_reference_data.erp_category)&&(e.performance_attributes.weight||e.performance_attributes.packability||e.performance_attributes.climate||e.performance_attributes.usage||e.performance_attributes.insulation_limit||e.performance_attributes.comfort_level||e.performance_attributes.durability)&&(r=!0)})),!1===r?"":(t+='<h3 class="compare-section-heading">'+(this.config.i18n.performance||"Performance")+"</h3>",this.compareProductsData.forEach((function(r){var i=(r.salsify_reference_data.erp_category||"").toLowerCase().trim().split(",")[0]||"uncategorized";if(t+='<div class="product-performance-attributes">',"sleep"===i&&r.performance_attributes.weight){var o,n=[a.sleep_weight.ultralight,a.between_values.replace("{{ value_a }}",a.sleep_weight.ultralight).replace("{{ value_b }}",a.sleep_weight.lightweight),a.sleep_weight.lightweight,a.between_values.replace("{{ value_a }}",a.sleep_weight.lightweight).replace("{{ value_b }}",a.sleep_weight.midweight),a.sleep_weight.midweight],c=parseInt(r.performance_attributes.weight),s=c-1;t+='<div class="product-attribute" role="meter" aria-labelledby="sleep-weight-label" aria-valuemin="1" aria-valuemax="5" aria-valuenow="'+c+'" aria-valuetext="'+n[s]+'">
1',t+='  <span id="sleep-weight-label" class="attribute-label">'+((null===(o=a.sleep_weight)||void 0===o?void 0:o.label)||"Weight")+"</span>",t+='  <ul class="attribute-list">',t+='    <li class="attribute-item"'+("0"==s?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+n[0]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("1"==s?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("2"==s?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+n[2]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("3"==s?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("4"==s?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+n[4]+"</span>",t+="    </li>",t+="  </ul>",t+="</div>"}if("sleep"===i&&r.performance_attributes.packability){var l,u=[a.sleep_packability.ultra_compact,a.both_values.replace("{{ value_a }}",a.sleep_packability.ultra_compact).replace("{{ value_b }}",a.sleep_packability.compact),a.sleep_packability.compact,a.both_values.replace("{{ value_a }}",a.sleep_packability.compact).replace("{{ value_b }}",a.sleep_packability.midsize),a.sleep_packability.midsize],p=parseInt(r.performance_attributes.packability),d=p-1;t+='<div class="product-attribute" role="meter" aria-labelledby="sleep-packability-label" aria-valuemin="1" aria-valuemax="5" aria-valuenow="'+p+'" aria-valuetext="'+u[d]+'">',t+='  <span id="sleep-packability-label" class="attribute-label">'+((null===(l=a.sleep_packability)||void 0===l?void 0:l.label)||"Packability")+"</span>",t+='  <ul class="attribute-list">',t+='    <li class="attribute-item"'+("0"==d?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+u[0]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("1"==d?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("2"==d?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+u[2]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("3"==d?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("4"==d?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+u[4]+"</span>",t+="    </li>",t+="  </ul>",t+="</div>"}if("sleep"===i&&r.performance_attributes.climate){var m,h=[a.sleep_climate.warm,a.between_values.replace("{{ value_a }}",a.sleep_climate.warm).replace("{{ value_b }}",a.sleep_climate.cold),a.sleep_climate.cold,a.between_values.replace("{{ value_a }}",a.sleep_climate.cold).replace("{{ value_b }}",a.sleep_climate.extreme_cold),a.sleep_climate.extreme_cold],_=parseInt(r.performance_attributes.climate),f=_-1;t+='<div class="product-attribute" role="meter" aria-labelledby="sleep-climate-label" aria-valuemin="1" aria-valuemax="5" aria-valuenow="'+_+'" aria-valuetext="'+h[f]+'">',t+='  <span id="sleep-climate-label" class="attribute-label">'+((null===(m=a.sleep_climate)||void 0===m?void 0:m.label)||"Climate")+"</span>",t+='  <ul class="attribute-list">',t+='    <li class="attribute-item"'+("0"==f?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+h[0]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("1"==f?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("2"==f?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+h[2]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("3"==f?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("4"==f?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+h[4]+"</span>",t+="    </li>",t+="  </ul>",t+="</div>"}if("storage"===i&&r.performance_attributes.weight){var v,g=[a.storage_weight.ultralight,a.between_values.replace("{{ value_a }}",a.storage_weight.ultralight).replace("{{ value_b }}",a.storage_weight.lightweight),a.storage_weight.lightweight,a.between_values.replace("{{ value_a }}",a.storage_weight.lightweight).replace("{{ value_b }}",a.storage_weight.heavyweight),a.storage_weight.heavyweight],y=parseInt(r.performance_attributes.weight),b=y-1;t+='<div class="product-attribute" role="meter" aria-labelledby="storage-weight-label" aria-valuemin="1" aria-valuemax="5" aria-valuenow="'+y+'" aria-valuetext="'+g[b]+'">
1',t+='  <span id="storage-weight-label" class="attribute-label">'+((null===(v=a.storage_weight)||void 0===v?void 0:v.label)||"Weight")+"</span>",t+='  <ul class="attribute-list">',t+='    <li class="attribute-item"'+("0"==b?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+g[0]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("1"==b?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("2"==b?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+g[2]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("3"==b?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("4"==b?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+g[4]+"</span>",t+="    </li>",t+="  </ul>",t+="</div>"}if("storage"===i&&r.performance_attributes.usage){var w,k=[a.storage_usage.internal_storage,a.between_values.replace("{{ value_a }}",a.storage_usage.internal_storage).replace("{{ value_b }}",a.storage_usage.external_storage),a.storage_usage.external_storage,a.between_values.replace("{{ value_a }}",a.storage_usage.external_storage).replace("{{ value_b }}",a.storage_usage.rugged_storage),a.storage_usage.rugged_storage],P=parseInt(r.performance_attributes.usage),C=P-1;t+='<div class="product-attribute always-show-values" role="meter" aria-labelledby="storage-usage-label" aria-valuemin="1" aria-valuemax="5" aria-valuenow="'+P+'" aria-valuetext="'+k[C]+'">',t+='  <span id="storage-usage-label" class="attribute-label">'+((null===(w=a.storage_usage)||void 0===w?void 0:w.label)||"Usage")+"</span>",t+='  <ul class="attribute-list always-show-values">',t+='    <li class="attribute-item"'+("0"==C?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+k[0]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("1"==C?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("2"==C?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+k[2]+"</span>",t+="    </li>",t+='    <li class="attribute-item"'+("3"==C?' aria-current="true"':"")+">",t+="    </li>",t+='    <li class="attribute-item"'+("4"==C?' aria-current="true"':"")+">",t+='      <span class="attribute-value">'+k[4]+"</span>",t+="    </li>",t+="  </ul>",t+="</div>"}r.performance_attributes.weight||r.performance_attributes.packability||r.performance_attributes.climate||r.performance_attributes.usage||(t+=e.emptyValue),t+="</div>"})),t)}},{key:"buildHtmlCompareActionButton",value:function(){var e=this,t="";return this.compareProductsData.forEach((function(r){var a=r.variants[r.variants_active_key],i=a.availableForSale,o=!1;"no"===e.config.country&&100*parseFloat(a.price.amount).toFixed(2)>=3e5&&(i=!1,o=!0),t+='<div class="compare-cta">',t+=!0===i?'<button class="primary-button button-add-to-cart" data-product-id="'+r.product_id+'" data-variant-id="'+a.variant_id+'">'+(e.config.i18n.addToCart||"Add to cart")+"</button>":!1===i&&!0===o?'<a class="primary-button" href="'+e.config.urlPrefix+'/pages/dealer-locator">'+(e.config.i18n.findLocally||"find locally")+"</a>":'<button class="primary-button--outlined" disabled> '+(e.config.i18n.outOfStock||"Out of stock")+"</button>",e.config.hasWishlist&&(t+='<button \n          class="primary-button--outlined button-add-to-wishlist"\n          data-product-id="'.concat(r.product_id,'"\n          data-variant-id="').concat(a.id,'" \n          data-product-url="').concat(window.location.origin,"/products/").concat(r.handle,'"\n          aria-label="Add to Wishlist"\n          title="Add to Wishlist"\n          onclick="fetchProductDetails(event); ComparisonTool.closeComparisonToolModal();"\n        >').concat('<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M13.9 4.3c0 4.2-6.4 8.7-6.4 8.7S1.1 8.5 1.1 4.3c0-4.4 6.4-4.3 6.4.2 0-4.5 6.4-4.6 6.4-.2Z"/></svg>',"</button>")),t+='  <a class="primary-button--outlined product-comparison-tool__cta" href="'+e.config.urlPrefix+a.url+'">'+(e.config.i18n.view_product_page||"view details")+"</a>",t+='  <button class="button-remove-product" data-remove-compare-id="'+r.product_id+'">'+(e.config.i18n.remove||"remove")+"</button>",t+="</div>"})),t}},{key:"getResizedShopifyImageURL",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"60x60";return e.replace(/(\.[a-z]+)(\?.*)?$/,"_".concat(t,"$1$2"))}},{key:"updateComparisonWidgetVisibility",value:function(e){!1!==e?document.querySelector(".product-comparison-widget").setAttribute("data-state",this.compareWidgetMinimized?"minimized":"open"):document.querySelector(".product-comparison-widget").setAttribute("data-state","hidden")}},{key:"populateComparsionToolWithContent",value:function(e){Object.keys(e).forEach((function(t){var r=document.querySelector("#ProductComparison > "+t);r&&(r.innerHTML=e[t])}))}},{key:"buildFormatedPrice",value:function(e,t){var r,a,i,o,n,c,s="",l={USD:{symbol
1:"$",decimal:".",thousand:",",prepend:!0},CAD:{symbol:"$",decimal:".",thousand:",",prepend:!0},MXN:{symbol:"$",decimal:".",thousand:",",prepend:!0},AUD:{symbol:"$",decimal:".",thousand:",",prepend:!0},NZD:{symbol:"$",decimal:".",thousand:",",prepend:!0},EUR:{symbol:"€",decimal:",",thousand:".",prepend:!0},GBP:{symbol:"£",decimal:".",thousand:",",prepend:!0},NOK:{symbol:"kr",decimal:",",thousand:".",prepend:!1},SEK:{symbol:"kr",decimal:",",thousand:".",prepend:!1},DKK:{symbol:"kr",decimal:",",thousand:".",prepend:!1},CHF:{symbol:"CHF ",decimal:".",thousand:",",prepend:!0}}[Shopify.currency.active];if(!l)return"currency not supported";function u(e){var t=parseFloat(e).toFixed(2).split("."),r=t[0],a=t[1]||"";return r=r.replace(/\B(?=(\d{3})+(?!\d))/g,l.thousand),l.prepend?"".concat(l.symbol).concat(r).concat(l.decimal).concat(a):"".concat(r).concat(l.decimal).concat(a," ").concat(l.symbol)}return e.compareAtPrice&&e.compareAtPrice.amount>0&&e.compareAtPrice.amount!==e.price.amount?(s+='<span class="price compare-at-price">',s+='  <span class="visually-hidden">'.concat(null!==(r=null===(a=window.translations)||void 0===a?void 0:a.price_regular)&&void 0!==r?r:"Regular price",":</span>"),s+="  ".concat(u(e.compareAtPrice.amount)),s+="</span>",s+='<span class="price sale-price">',s+='  <span class="visually-hidden">'.concat(null!==(i=null===(o=window.translations)||void 0===o?void 0:o.price_sale)&&void 0!==i?i:"Sale price",":</span>"),s+="  ".concat(u(e.price.amount)),s+="</span>"):(s+='<span class="price">',s+='  <span class="visually-hidden">'.concat(null!==(n=null===(c=window.translations)||void 0===c?void 0:c.price_default)&&void 0!==n?n:"Price",":</span>"),s+="  ".concat(u(e.price.amount)),s+="</span>"),"string"==typeof t&&t.length>0&&(s+=' <span class="set-value-price">('+t+")</span>"),s}},{key:"fetchProductsWithVariantSpecs",value:(p=t().mark((function e(r){var a,i,o,n,c,s;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&0!==r.length){e.next=2;break}return e.abrupt("return",[]);case 2:return a={},r.forEach((function(e,t){a["id".concat(t+1)]=e})),i=r.map((function(e,t){return"\n      product".concat(t+1,": product(id: $id").concat(t+1,') {\n        id\n        handle\n        title\n        productType\n        featuredImage {\n          url\n        }\n        metafields(identifiers: [\n          # get product tech specs\n          {namespace: "salsify", key: "product_tech_specs"}\n          {namespace: "salsify", key: "product_tech_specs_numerical"}\n\n          # get product performance attributes\n          {namespace: "salsify", key: "product_performance_attributes"}\n\n          # get product text\n          {namespace: "salsify", key: "product_short_description"}\n          {namespace: "salsify", key: "product_subtitle"}\n\n          # get all salsify reference data\n          {namespace: "salsify", key: "salsify_reference_data"}\n          \n          # Tech Specs (JSON copy of all ACF tech spec fields)\n          # {namespace: "custom", key: "tech_specs_from_acf"}\n\n          # Value set price for products sold as set\n          {namespace: "custom", key: "product_set_price"}\n\n          # Product performance attributes for Sleep products\n          # {namespace: "performance_attribute", key: "sleep_weight"}\n          # {namespace: "performance_attribute", key: "sleep_packability"}\n          # {namespace: "performance_attribute", key: "sleep_climate"}\n\n          # Product performance attributes for Storage products\n          # {namespace: "performance_attribute", key: "storage_weight"}\n          # {namespace: "performance_attribute", key: "storage_usage"}\n          \n          # Review Rating\n          {namespace: "yotpo", key: "reviews_average"}\n          {namespace: "yotpo", key: "reviews_count"}\n        ]) {\n          namespace\n          key\n          value\n        }\n        variants(first: 50) {\n          edges {\n            node {\n              id\n              title\n              availableForSale\n              selectedOptions {\n                name\n                value\n              }\n              image {\n                url\n              }\n              price {\n                amount\n                currencyCode\n              }\n              compareAtPrice {\n                amount\n                currencyCode\n              }\n              metafields(identifiers: [\n                # get variant tech specs\n                {namespace: "salsify", key: "variant_tech_specs"}\n                {namespace: "salsify", key: "variant_tech_specs_numerical"}\n\n                # tech specs JSON copy of all ACF tech spec fields (old)\n                # {namespace: "custom", key: "tech_specs_from_acf"}\n              ]) {\n                key\n                value\n                namespace\n                type\n              }\n            }\n          }\n        }\n      }\n    ')})).join("\n"),o="\n      query getMultipleProducts(".concat(r.map((function(e,t){return"$id".concat(t+1,": ID!")})).join(", "),") @inContext(country: ").concat(this.config.country.toUpperCase(),") {\n        ").concat(i,"\n      }\n    "),e.prev=6,e.next=9,fetch("/api/2025-04/graphql.json",{method:"POST",headers:{"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":this.config.accessToken,"Accept-Language":this.config.language},body:JSON.stringify({query:o,variables:a})});case 9:return n=e.sent,e.next=12,n.json();case 12:if(c=e.sent,s=c.data,!c.errors){e.next=18;break}throw new Error("GraphQL errors occurred");case 18:return e.abrupt("return",Object.values(s));case 21:return e.prev=21,e.t0=e.catch(6),e.abrupt("return",[]);case 25:case"end":return e.stop()}}),e,this,[[6,21]])})),d=function(){var e=this,t=arguments;return new Promise((function(a,i){var o=p.apply(e,t);function n(e){r(o,a,i,n,c,"next",e)}function c(e){r(o,a,i,n,c,"throw",e)}n(void 0)}))},function(e){return d.apply(this,arguments)})},{key:"getTechSpecsByProductType",value:function(t){var r={product_te
1ch_specs:[],variant_tech_specs:[],group_names:[]};return t&&Array.isArray(t)&&0!==t.length?(t.forEach((function(t){if(t){for(var o=!1,n=0,c=Object.entries(e.product_groups_matrix);n<c.length;n++){var s=i(c[n],2),l=s[0],u=s[1];if(u.product_types&&Array.isArray(u.product_types)&&(u.product_types.includes(t)||u.product_types.includes("any..."))){var p,d;o=!0,r.group_names.includes(l)||r.group_names.push(l),Array.isArray(u.product_tech_specs)&&(p=r.product_tech_specs).push.apply(p,a(u.product_tech_specs)),Array.isArray(u.variant_tech_specs)&&(d=r.variant_tech_specs).push.apply(d,a(u.variant_tech_specs));break}}var m,h;if(!o&&e.product_groups_matrix.Other)r.group_names.includes("Other")||r.group_names.push("Other"),Array.isArray(e.product_groups_matrix.Other.product_tech_specs)&&(m=r.product_tech_specs).push.apply(m,a(e.product_groups_matrix.Other.product_tech_specs)),Array.isArray(e.product_groups_matrix.Other.variant_tech_specs)&&(h=r.variant_tech_specs).push.apply(h,a(e.product_groups_matrix.Other.variant_tech_specs))}})),r.product_tech_specs=a(new Set(r.product_tech_specs)),r.variant_tech_specs=a(new Set(r.variant_tech_specs)),r):r}},{key:"getCategoryNameByProductType",value:function(t){if(!t)return"Other";for(var r=0,a=Object.entries(e.product_groups_matrix);r<a.length;r++){var o=i(a[r],2),n=o[0],c=o[1];if(c.product_types&&Array.isArray(c.product_types)&&c.product_types.includes(t))return n}return"Other"}},{key:"getComparedProductCategories",value:function(){return a(new Set(this.compareProductsData.map((function(e){return e.category})))).sort().join(", ")}},{key:"openComparisonToolModal",value:function(){var e;this.startComparison(),null===(e=document.querySelector("#ProductComparisonTool"))||void 0===e||e.show()}},{key:"closeComparisonToolModal",value:function(){var e;null===(e=document.querySelector("#ProductComparisonTool"))||void 0===e||e.hide()}},{key:"_initEventListeners",value:function(){var e,t,r,a=this;null===(e=this.compareButton)||void 0===e||e.addEventListener("click",(function(){a.startComparison()})),null===(t=document.querySelector(".popup-modal__back"))||void 0===t||t.addEventListener("click",(function(){a.closeComparisonToolModal()})),null===(r=document.querySelector("button.product-comparison-widget__header"))||void 0===r||r.addEventListener("click",(function(){a.compareWidgetMinimized=!a.compareWidgetMinimized,a.updateComparisonWidgetVisibility(!0)})),this.assignComparisonToolModalEvents()}}],n&&u(o.prototype,n),c&&u(o,c),Object.defineProperty(o,"prototype",{writable:!1}),e}();p(d,"product_groups_matrix",{"Sleeping Bag":{product_types:["Sleeping Bags"],product_tech_specs:["best_use","insulation","material","shape","zipper_configuration","includes"],variant_tech_specs:["weight","minimum_trail_weight","packed_weight","compressed_volume","temp_rating_iso_comfort","temp_rating_iso_lower","recommended_user_height","shape","zip_coupling","zipper_configuration"]},"Sleeping Pad":{product_types:["Sleeping Mats","Sleeping Pads"],product_tech_specs:["best_use","r_value","thickness","material","includes"],variant_tech_specs:["weight","packed_weight","packed_size","dimension","recommended_user_height"]},"Sleeping Bag Liner":{product_types:["Sleeping Bag Liners","Sleeping Bag Liner"],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["weight","packed_weight","packed_size","dimension","recommended_user_height","shape"]},Pillow:{product_types:["Pillows"],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["weight","packed_weight","packed_size","dimension","color"]},Cookware:{product_types:["Cookware"],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["volume","weight","packed_weight","packed_size","dimension","color"]},Dinnerware:{product_types:["Dinnerware"],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["volume","weight","packed_weight","packed_size","dimension","color"]},Storage:{product_types:["Dry Bags","Dry Packs","Compression Sacks","Stuff Sacks"],product_tech_specs:["best_use","shape","repair_buckle_size","minimum_waterhead"],variant_tech_specs:["weight","height_top_rolled","base_length_width","dimension","shape","color"]},Travel:{product_types:["Duffle Bags","Water Storage","Toiletry Bags","Reusable Bags","Reusable Packs & Bags","Packing Cubes & Organizers"],product_te
1ch_specs:["best_use","material"],variant_tech_specs:["weight","packed_size","dimension","volume","color"]},Tents:{product_types:["Lightweight Tents","Ultralight Backpacking Tents","Tarps & Shelters"],product_tech_specs:["best_use","design_type","season_rating","includes"],variant_tech_specs:["sized_to_fit","packed_weight","minimum_trail_weight","weight","packed_size","dimension","floor_area","vestibule_area","peak_height","pole_diameter"]},"Towels and Ponchos":{product_types:["Quick Dry Towels","Rain Protection"],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["weight","packed_weight","packed_size","dimension","length","color"]},Gaiters:{product_types:["Gaiters"],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["weight","packed_weight","packed_size","shoe_size_us","shoe_size_eu","bottom_circumference","calf_circumference","dimension"]},Other:{product_types:["any..."],product_tech_specs:["best_use","material","includes"],variant_tech_specs:["weight","packed_weight","packed_size","dimension","length","volume"]}}),window.ProductComparisonTool=d})();

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.