PageSourceSearch

https://terrywahls.com/script.js

js terrywahls.com collected 2026-10-03 21:31:03 UTC 33,163 bytes, 42 lines download raw bytes

1(async()=>{document.addEventListener("DOMContentLoaded",function(){const a=document.querySelectorAll(".fade-in"),b=function(){a.forEach(a=>{const b=a.getBoundingClientRect();b.top<window.innerHeight&&0<b.bottom&&a.classList.add("visible")})};window.addEventListener("scroll",b),b()})})();(async()=>{const a=document.querySelectorAll("[data-carousel-button]"),b=document.querySelectorAll(".slides");for(const a of b)a.firstChild.dataset.active=!0;a.forEach(a=>{a.addEventListener("click",()=>{const b="next"===a.dataset.carouselButton?1:-1,c=a.closest("[data-carousel]").querySelector("[data-slides]"),d=c.querySelector("[data-active]");let e=[...c.children].indexOf(d)+b;console.log(e),0>e&&(e=c.children.length-1),e>=c.children.length&&(e=0),c.children[e].dataset.active=!0,delete d.dataset.active})})})();(async()=>{window.toggleNavMenu=function(){let a=document.querySelector(".mobile-nav"),b=document.querySelector(".hamburger");a.classList.contains("visible")?(b.classList.remove("close-btn"),a.classList.remove("visible"),document.body.classList.remove("mobile-menu"),document.querySelector(".site-header .top-row i.material-icons").innerHTML="menu"):(b.classList.add("close-btn"),a.classList.add("visible"),document.body.classList.add("mobile-menu"),document.querySelector(".site-header .top-row i.material-icons").innerHTML="close")},window.toggleSubMenu=function(a){const b=a.parentNode,c=b.classList.toggle("open-nav");c&&document.querySelectorAll(".open-nav").forEach(a=>{a!==b&&(a.classList.remove("open-nav"),a.querySelector(".material-icons").innerHTML="chevron_right")}),a.innerHTML=c?"expand_more":"chevron_right"},window.addEventListener("resize",()=>{document.querySelector("html").style.scrollPaddingTop=document.querySelector(".site-header").offsetHeight+"px"}),window.addEventListener("load",()=>{document.querySelector("html").style.scrollPaddingTop=document.querySelector(".site-header").offsetHeight+"px"}),window.openMobileSubSubMenu=a=>{let b=a.srcElement.parentNode,c=b;"chevron_right"==a.srcElement.innerHTML?(a.srcElement.innerHTML="expand_more",c.querySelector(".submenu-sublink-sublinks-container").style.display="contents"):(a.srcElement.innerHTML="chevron_right",c.querySelector(".submenu-sublink-sublinks-container").style.display="none")},window.addEventListener("scroll",()=>{document.querySelector(".site-header")&&document.querySelector(".site-header").classList.toggle("header-sticky",0<window.scrollY)})})();(async()=>{(function(){const a=document.querySelector(".scroll-to-top");if(window.addEventListener("scroll",()=>{a.classList.toggle("active",50<window.scrollY)},{passive:!0}),a.addEventListener("click",()=>{window.scrollTo({top:0,behavior:"smooth"})}),!CSS.supports("height","100svh")&&window.visualViewport){const b=()=>{var b=Math.max;const c=window.visualViewport,d=b(0,c.height+c.offsetTop-window.innerHeight);a.style.bottom=`calc(${88+d}px + env(safe-area-inset-bottom, 0px))`};visualViewport.addEventListener("resize",b),visualViewport.addEventListener("scroll",b),b()}})()})();(async()=>{var a=document.querySelector(".copyright").innerHTML;document.querySelector(".copyright").innerHTML=a.replace("[copywrite]",`${new Date().getFullYear()}`)})();(async()=>{const a=(await import("https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.esm.browser.min.js")).default;new a({el:document.querySelector("shopify-quick-search[data-cid-52]"),template:"<div class=\"shopify-quick-search\" data-cid-52><button class=\"shopify-quick-search-button\" @click=\"showOverlay = !showOverlay\"><i class=\"material-icons\">search</i></button><div class=\"quick-search-overlay\" v-if=\"showOverlay\"><div class=\"search-container\"><div class=\"input-container\"><input class=\"quick-search-input\" v-model=\"searchText\" placeholder=\"Search Products\" @keyup.enter=\"navigateToSearch\"><div class=\"search-results-pane\" v-if=\"showResults\"><div class=\"search-results-title\">PRODUCTS</div><div class=\"search-results-hr\"></div><div class=\"search-results-products-container\"><div class=\"search-results-product\" v-for=\"product in filteredProducts\"><a class=\"product-result-link\" :href=\"getProductDetailsUrl(product)\"><img class=\"product-result-thumb\" :src=\"`/media/${product.display}/small.webp`\"><div class=\"product-title\">{{ product.title }}</div></a></div></div><div class=\"search-results-hr\"></div><div class=\"search-results-text\"><div class=\"search-text\">Search for \"{{searchText}}\"</div><div class=\"proceed-button\" @click=\"navigateToSearch\"><i class=\"material-icons\">arrow_forward</i></div></div></div></div><div class=\"search-button\" @click=\"navigateToSearch\"><i class=\"material-icons\">search</i></div><div class=\"search-close-button\" @click=\"showOverlay = !showOverlay\"><i class=\"material-icons\">close</i></div></div></div></div>",data(){return{showOverlay:!1,searchText:"",products:[],searchableFields:["title"]}},methods:{getProductDetailsUrl(a){let b=`/products/${a.slug}`;return!1,!b.endsWith("/")&&(b=`${b}/`),b},navigateToSearch(){let a=this.searchText.toLowerCase(),b="/products";!1,!b.endsWith("/")&&(b=`${b}/`);let c=b+"?search="+a;document.location.href=c}},computed:{filteredProducts(){let a=this.products.filter(a=>!this.searchText||this.searchableFields.find(b=>a[b]&&(a[b]+"").replace("-"," ").replace(/[^a-zA-Z0-9 ]/g,"").toLowerCase().match(new RegExp(this.searchText.replace(/[^a-zA-Z0-9 ]/g,"").toLowerCase(),"i"))));return a.slice(0,4)},showResults(){return!!(0<this.searchText.length)}},async mounted(){this.searchText="";this.products=[{display:"6a3ae67df83a2d24f9f82a56",title:"Gut Integrity",slug:"gut-integrity"},{display:"6a3af485f83a2d24f9f82c87",title:"Total Gut Balance",slug:"total-gut-balance"},{display:"6950ac0ff4b6602df00347b6",title:"Wahls Protocol\xAE Complete Cleanse Detoxification Support",slug:"wahls-protocol-detoxification-support-1"},{display:"69446c3df4b6602df003414d",title:"Wahls Protocol\xAE Peace of Mind Essentials Support Kit",slug:"wahls-protocol-peace-of-mind"},{display:"687f0d88df2bd1aa7dd644c0",title:"MindFuel Omega",slug:"mindfuel-omega-90sg"},{display:"689636a4e523022285ab0dbf",title:"Wahls Protocol\xAE Memory Support",slug:"wahls-protocol-memory-support-wholescripts"},{display:"6896369ee523022285ab0dbd",title:"Wahls Protocol\xAE NFKappaB Inhibition (Anti-inflammation) Supp
1ort",slug:"wahls-protocol-nfkappab-inhibition-anti"},{display:"689636a1e523022285ab0dbe",title:"Wahls Protocol\xAE Basic Support",slug:"wahls-protocol-basic-support"},{display:"6896369ee523022285ab0dbc",title:"Wahls Protocol\xAE Microbiome Probiotic Support",slug:"wahls-protocol-microbiome-probiotic-supp"},{display:"6896369de523022285ab0dbb",title:"Wahls Protocol\xAE Heart Support",slug:"wahls-protocol-heart-support"},{display:"68198a00b6ad6a237eac6295",title:"Wahls Protocol\xAE Detoxification Support",slug:"wahls-protocol-detoxification-support"},{display:"6896369de523022285ab0dba",title:"Wahls Protocol\xAE Boost",slug:"wahls-protocol-boost"},{display:"680a9921b6ad6a237eab3573",title:"Better Brain Mag Capsules",slug:"better-brain-mag-90c"},{display:"67a05c2c5c472288c413a903",title:"Advanced Multi",slug:"advanced-multi-60c"},{display:"66be63311502933205767c9a",title:"CortiStress Relief",slug:"cortistress-relief-60c"},{display:"67a05c2c5c472288c413a902",title:"Dual Phase Detox",slug:"dual-phase-detox-120c"},{display:"66be631e1502933205767c92",title:"D3K2 5000iu",slug:"d3k2-5000iu-60c"},{display:"66be631a1502933205767c90",title:"ProbioCALM",slug:"probiocalm-30c"},{display:"66be631c1502933205767c91",title:"MTHFR Complete",slug:"mthfr-complete-60c"},{display:"66be63041502933205767c8d",title:"Gluten Shield MD",slug:"gluten-shield-md-60c"},{display:"66be63011502933205767c8c",title:"MitoMulti Complete",slug:"mitomulti-complete-120c"},{display:"66be62ff1502933205767c8b",title:"Fast Relief",slug:"fast-relief-40sg"},{display:"66be62f91502933205767c88",title:"Probiotic MD",slug:"probiotic-md-30-c"},{display:"66be62ee1502933205767c87",title:"Candida Clear",slug:"candida-clear-60-c"},{display:"66be62e91502933205767c85",title:"Blood Sugar Synergy",slug:"blood-sugar-synergy-120-c"},{display:"66be62ec1502933205767c86",title:"Complete Carnitine",slug:"complete-carnitine-60-c"},{display:"66be62e81502933205767c84",title:"Ultra CoQ10",slug:"ultra-coq10-60-sg"},{display:"66be62e51502933205767c83",title:"NAC",slug:"nac-60-c"},{display:"66be62e31502933205767c82",title:"Better Brain Mag - Mixed Berry",slug:"better-brain-mag-mixed-berry-30sv"},{display:"66be62de1502933205767c80",title:"Cytokine Modulator",slug:"cytokine-modulator-30-c"},{display:"66be62e01502933205767c81",title:"Activated B's",slug:"activated-bs-90-c"},{display:"66be62db1502933205767c7f",title:"Brain Protect",slug:"brain-protect-120-c"},{display:"66be62d61502933205767c7d",title:"Ultra C",slug:"ultra-c-120c"}]}})})();(async()=>{const a=(await import("https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.esm.browser.min.js")).default;new a({el:document.querySelector("shopify-cart-button[data-cid-53]"),template:"<div class=\"shopify-cart-button shopify-cart-icon-button\" data-cid-53><button class=\"shopify-cart-button\" @click=\"openCart()\" :style=\"hideCartButton\"><i class=\"material-icons\">shopping_cart</i><div class=\"cart-quantity\" v-if=\"false && cartTotal > 0\">{{ cartTotal }}</div></button></div>",data(){return{itemsInCart:[]}},methods:{openCart(){let a=document.getElementById("shopify-cart-anchor");this.itemsInCart=a.__vue__.getAllItems();a.__vue__.toggleCart()},updateCart(){let a=document.getElementById("shopify-cart-anchor");this.itemsInCart=a.__vue__.getAllItems()}},computed:{cartTotal(){let a=0;for(let b of this.itemsInCart)a+=b.quantity,this.$forceUpdate();return a},hideCartButton(){return 0<this.itemsInCart.length?{display:"flex"}:{display:"none"}}},beforeMount(){if(window.localStorage.getItem("shopifyCart")){let a=JSON.parse(window.localStorage.getItem("shopifyCart"));this.itemsInCart=a}},mounted(){let a=document.getElementById("shopify-cart-anchor");a.__vue__&&(this.itemsInCart=a.__vue__.getAllItems())}})})();(async()=>{const a=(await import("https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.esm.browser.min.js")).default;a.component("shopify-cart-display",{template:"<div class=\"shopify-cart-display\" v-if=\"showModal\" :show-modal=\"showModal\" :products=\"currentCartItems\" :capture-email=\"true\" @close=\"showModal = false\"><div class=\"modal-container\" v-if=\"!isMobile &amp;&amp; !displayingEmailCapture\"><div class=\"modal-x\"><button class=\"close-button\" @click=\"$emit(&quot;close&quot;)\">X</button></div><div class=\"modal-header\">Items in Cart</div><div class=\"modal-product\" v-for=\"product in products\"><button class=\"delete-button\" @click=\"removeProduct(product)\">Remove</button><a class=\"product-image\" :href=\"productHref(product)\"><img :src=\"`/media/${product.product.display}/xsmall.webp`\"></a><div class=\"product-details-column\"><a class=\"product-title\" :href=\"productHref(product)\">{{ product.product.title }}</a><div class=\"product-details-row\"><div class=\"product-option\" v-if=\"product.option1\">Options: {{ product.option1 }}  </div><div class=\"product-option\" v-if=\"product.option2\">{{ product.option2 }} </div><div class=\"product-option\" v-if=\"product.option3\">{{ product.option3 }}</div><div class=\"product-option\" v-if=\"product.subscription\">{{ findSubName(product) }}</div></div></div><div class=\"product-price\" v-if=\"product.options\">{{product.quantity}} @ ${{ (parseFloat(product.product.price) + parseFloat(product.options.priceAdd)).toFixed(2) }}</div><div class=\"product-price\" v-else>{{ product.quantity }} @ ${{ parseFloat(product.product.price).toFixed(2) }}</div><div class=\"shopify-quantity-row\"><div class=\"shopify-quantity-toggle\"><button class=\"modal-featureless-button\" @click=\"decrementQuantity(product)\">-</button><button class=\"modal-quantity-button\">{{ product.quantity }}</button><button class=\"modal-featureless-button\" @click=\"incrementQuantity(product)\">+</button></div></div></div><div class=\"totals\"><div class=\"cart-total\">Cart Total: ${{ cartTotal }}</div></div><div class=\"error-frame\" v-if=\"displayError\"><div class=\"error-label\">Cannot place order, conditions not met:</div><div class=\"error-message\">To complete a Build My Own NCPak order, you must include 3 items.  Please continue your order to meet that criteria.</div><div class=\"culprit-products\"><div class=\"culprit-label\">Products affected:</div><div class=\"culprit\" v-for=\"product in minQuantityProducts\"> <span>{{ product }}</span></div></div></div><div class=\"end-buttons\"><button class=\"continue-button\" @click=\"$emit(&quot;close&quot;)\">Continue Shopping</button><button class=\"checkout-button\" v-if=\"!restrictedProductInCart\" @click=\"checkoutProceed()\">Proceed to Checkout</button><button class=\"checkout-button\" v-else @click=\"toggleEmailCapture()\">Proceed to Checkout</button></div></div><div class=\"modal-container\" v-else-if=\"!displayingEmailCapture\"><div class=\"modal-x\"><button class=\"close-button\" @click=\"$emit(&quot;close&quot;)\">X</button></div><div class=\"modal-header\">Items in Cart</div><div class=\"mobile-product\" v-for=\"product in products\"><button class=\"delete-button\" @click=\"removeProduct(product)\">X</button><div class=\"product-details-column\"><a class=\"product-title\" :href=\"productHref(product)\">{{ product.product.title }}</a><div class=\"product-details-row\"><div class=\"product-option\" v-if=\"product.option1\">Options: {{ product.option1 }}  </div><div class=\"product-option\" v-if=\"product.option2\">{{ product.option2 }} </div><div class=\"product-option\" v-if=\"product.option3\">{{ product.option3 }}</div><div class=\"product-option\" v-if=\"product.subscription\">{{ findSubName(product) }}</div></div></div><div class=\"product-price\" v-if=\"product.options\">${{ (parseFloat(product.product.price) + parseFloat(product.options.priceAdd)).toFixed(2) }} ea.</div><div class=\"product-price\" v-else>${{ parseFloat(product.product.price).toFixed(2) }} ea.</div><div class=\"shopify-quantity-row\"><div class=\"shopify-quantity-toggle\"><button class=\"modal-featureless-button\" @click=\"decrementQuantity(product)\">-</button><button class=\"modal-quantity-button\">{{ product.quantity }}</button><button class=\"modal-featureless-button\" @click=\"incrementQuantity(product)\">+</button></div></div></div><div class=\"totals\"><div class=\"cart-total\">Cart Total: ${{ cartTotal }}</div></div><div class=\"error-frame\" v-if=\"displayError\"><div class=\"error-label\">Cannot place order, conditions not met:</div><div class=\"error-message\">To complete a Build My Own NCPak order, you must include 3 items.  Please continue your order to meet that criteria.</div><div class=\"culprit-products\"><div class=\"culprit-label\">Products affected:</div><div class=\"culprit\" v-for=\"product in minQuantityProducts\"> <span>{{ product }}</span></div></div></div><div class=\"end-buttons\"><button class=\"continue-button\" @click=\"$emit(&quot;close&quot;)\">Continue Shopping</button><button class=\"checkout-button\" v-if=\"allowRestrictedSale || !restrictedProductInCart\" @click=\"checkoutProceed()\">Proceed to Checkout</button><button class=\"checkout-button\" v-else @click=\"toggleEmailCapture()\">Proceed to Checkout</button></div></div><div class=\"email-capture\" v-if=\"displayingEmailCapture\"><div class=\"modal-x\"><button class=\"close-button\" @click=\"$emit(&quot;close&quot;)\">X</button></div><div class=\"modal-header\" v-if=\"!displayingAgeVerification &amp;&amp; restrictedProductInCart\">Please enter your Shipping Zip Code to Proceed</div><div class=\"modal-legal\" v-else-if=\"displayingAgeVerification &amp;&amp; !allowRestrictedSale\"><div class=\"modal-legal-line\">Based on the zip code provided, this order is shipping to New York.  A product in your cart, <b>{{ restrictedProductName }}</b>, is not eligible for shipping to New York.</div><div class=\"modal-legal-line\">Please remove this product from your cart to proceed to Checkout.</div></div><div class=\"capture-input-grid\" v-if=\"!displayingAgeVerification &amp;&amp; restrictedProductInCart\"><input class=\"input-field\" v-model=\"customerZip\" placeholder=\"ZIP Code\"></div><div class=\"end-buttons\"><button class=\"checkout-button\" @click=\"toggleEmailCapture()\">Return to Review</button><button class=\"checkout-button\" v-if=\"allowRestrictedSale || !restrictedProductInCart\" @click=\"checkoutProceed()\">Proceed to Checkout</button><button class=\"checkout-button\" v-else-if=\"restrictedProductInCart &amp;&amp; !verifiedZip\" @click=\"checkoutProceed()\">Verify Zip Code</button></div></div></div>
1",props:{showModal:Boolean,products:Array,currentCartItems:Array,captureEmail:Boolean},data(){return{cartAnchor:null,itemsInCart:[],windowWidth:0,mobileDisplay:!1,customerEmail:"",customerPhone:"",displayingEmailCapture:!1,displayingAgeVerification:!1,restrictedProductName:"",capturing:!1,minQuantityProducts:[],displayError:!1,verifiedZip:!1,customerZip:"",refreshRestricted:!1,refreshRestrictedSale:!1}},computed:{allowRestrictedSale(){let a=!1;return(1e4<=parseInt(this.customerZip)&&14999>=parseInt(this.customerZip)||6390==parseInt(this.customerZip)||501==parseInt(this.customerZip)||544==parseInt(this.customerZip))&&(a=!0),this.refreshRestrictedSale=!1,!(this.restrictedProductInCart&&a)},cartTotal(){if(0==this.products.length)return"0.00";else{let a=0;for(let b of this.products)a+=parseFloat(b.product.price)*b.quantity;return(a/1).toFixed(2)}},isMobile(){return this.mobileDisplay},restrictedProductInCart(){let a=["7699150372908","7699150864428","7699151224876","7864484266028"],b=!1;if(this.cartAnchor&&this.refreshRestricted){let c=this.cartAnchor.__vue__.getAllItems();for(let d of c)a.includes(d.product.id)&&(b=!0,this.restrictedProductName=d.product.title)}return this.refreshRestricted=!1,b}},methods:{removeProduct(a){this.cartAnchor.__vue__.removeCart(a),this.refreshRestricted=!0,this.refreshRestrictedSale=!0},incrementQuantity(a){this.cartAnchor.__vue__.updateQuantity(a,"inc"),this.refreshRestricted=!0,this.refreshRestrictedSale=!0},decrementQuantity(a){this.cartAnchor.__vue__.updateQuantity(a,"dec"),this.refreshRestricted=!0,this.refreshRestrictedSale=!0},async checkoutProceed(){this.refreshRestricted=!0,this.refreshRestrictedSale=!0,this.$forceUpdate();let a=this.cartAnchor.__vue__.getAllItems(),b=!1;for(let c of a)c.product.minimumQuantityApplies&&(b=!0);if(b){let b=a.filter(a=>a.product.minimumQuantityApplies),c=b[0].product.minimumQuantity,d=0;this.minQuantityProducts=[];for(let a of b)this.minQuantityProducts.push(a.product.title),d+=a.quantity;d>=c?await this.cartAnchor.__vue__.checkout(a,this.customerEmail.trim(),this.customerPhone.trim()):this.displayError=!0}else!this.verifiedZip&&this.restrictedProductInCart?(this.displayingAgeVerification=!0,this.verifiedZip=!0,this.allowRestrictedSale&&(this.displayingEmailCapture=!1,await this.cartAnchor.__vue__.checkout(a,this.customerEmail.trim(),this.customerPhone.trim()))):(this.displayingEmailCapture=!1,await this.cartAnchor.__vue__.checkout(a,this.customerEmail.trim(),this.customerPhone.trim()))},findSubName(a){for(let b of a.subData)for(let c of b.node.sellingPlans.edges)if(c.node.id==a.subscription)return c.node.name},getWindowSize(){this.windowWidth=window.innerWidth,this.mobileDisplay=!!(850>this.windowWidth)},toggleEmailCapture(){this.displayingEmailCapture=!this.displayingEmailCapture},productHref(a){let b=a.product,c=`/products/${b.slug}`;return!1,!c.endsWith("/")&&(c=`${c}/`),c}},mounted(){this.capturing=this.captureEmail,window.addEventListener("resize",this.getWindowSize),this.getWindowSize(),this.cartAnchor=document.getElementById("shopify-cart-anchor"),this.refreshRestrictedSale=!0,this.refreshRestricted=!0}}),new a({el:document.querySelector("shopify-cart-anchor[data-cid-54]"),template:"<div id=\"shopify-cart-anchor\" class=\"shopify-cart-anchor\" data-cid-54><div class=\"cart-anchor-banner\" v-if=\"isBanner\"><div class=\"no-items\" v-if=\"currentCartTotal == 0\"> <div class=\"dark-text\">Free shipping for orders over</div><div class=\"light-text\">$125</div><div class=\"dark-text\">!</div></div><div class=\"not-yet-met\" v-else-if=\"!hasMetThreshold\"><div class=\"dark-text\">Only </div><div class=\"light-text\">${{ awayFromShipping }}</div><div class=\"dark-text\">away from free shipping!</div></div><div class=\"has-met\" v-else-if=\"hasMetThreshold\"><div class=\"dark-text\">Your cart qualifies for free shipping!</div></div><a class=\"redirect-link\" :href=\"directLink\" id=\"redirectit\" target=\"_self\">redirect</a></div><div class=\"shopify-cart-display-seo\" style=\"display:none\"></div><shopify-cart-display class=\"shopify-cart-display\" v-if=\"showModal\" :show-modal=\"showModal\" :products=\"currentCartItems\" :capture-email=\"true\" @close=\"showModal = false\" data-cid-55></shopify-cart-display></div>",data(){return{cartItems:[],encryptedDripToken:null,isGoogleAnalyticsEnabled:!0,isBanner:!1,showModal:!1,currentLink:"https://"}},computed:{currentCartItems(){return this.cartItems},currentCartTotal(){let a=0;for(let b of this.cartItems){let c=parseFloat(b.product.price)*b.quantity;a+=c}return parseInt(a)},directLink(){return this.currentLink},awayFromShipping(){return 125-this.currentCartTotal},hasMetThreshold(){return!!(125<=this.currentCartTotal)}},methods:{addCart(a){if(0<this.cartItems.length){let b=!1;for(let c of this.cartItems)c.option1==a.option1&&c.option2==a.option2&&c.option3==a.option3&&c.product.id==a.product.id&&(b=!0);if(!b)this.cartItems.push(a);else{let b=this.cartItems.filter(b=>b.product.id==a.product.id&&b.option1==a.option1&&b.option2==a.option2&&b.option3==a.option3);b[0].quantity+=a.quantity}}else this.cartItems.push(a);window.localStorage.setItem("shopifyCart",JSON.stringify(this.cartItems));let b=document.querySelectorAll(".shopify-cart-button");if(b.length)for(let a of b)a.__vue__&&a.__vue__.updateCart()},getItemQuantityInCart(a){if(0==this.cartItems.length)return 0;else{let b=this.cartItems.find(b=>b.product.id==a.product.id&&b.options==a.options&&b.variant==a.variant);return b?b.quantity:0}},setCart(a){this.cartItems=a},toggleCart(){this.showModal=!this.showModal},removeCart(a){let b=this.cartItems.filter(b=>b.product.id==a.product.id&&b.options==a.options&&b.variant==a.variant);b[0].quantity=0,this.cartItems.splice(this.cartItems.indexOf(b[0]),1),window.localStorage.setItem("shopifyCart",JSON.stringify(this.cartItems))},updateQuantity(a,b){let c=this.cartItems.filter(b=>b.product.id==a.product.id&&b.options==a.options&&b.variant==a.variant);"inc"==b?c[0].quantity++:"dec"==b&&(c[0].quantity--,0>=c[0].quantity&&this.removeCart(c[0])),window.localStorage.setItem("shopifyCart",JSON.stringify(this.cartItems))},getAllItems(){return this.cartItems},async checkout(a,b,c){let d,e=[];for(let d of a){let a="gid://shopify/ProductVariant/"+d.product.variants[0].id;if(d.variant&&(a="gid://shopify/ProductVariant/"+d.variant),d.subscription){let b={quantity:d.quantity,merchandiseId:a,sellingPlanId:d.subscription};e.push(b)}else{let b={quantity:d.quantity,merchandiseId:a};e.push(b)}}let f=0,g=0;for(let d of a){let a="";d.variant&&(a=d.variant.title);let b="";d.subscription&&(b="Subscription Start");let c="";d.product.collections[0]&&(c=d.product.collections[0].title);let e="";d.product.collections[1]&&(e=d.product.collections[1].title),f+=d.quantity*parseFloat(d.product.price);({item_id:d.product.id,item_name:d.product.title,affiliation:"mercury-shopify-addon",coupon:"",discount:0,index:g,item_brand:d.product.vendor,item_category:c,item_category2:e,item_category3:b,item_list_id:"",item_list_name:"",item_variant:a,location_id:"",price:parseFloat(d.product.price),quantity:d.quantity});g++}this.isGoogleAnalyticsEnabled&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({ecommerce:null}),window.dataLayer.push({event:"begin_checkout",ecommerce:{currency:"USD",value:f,coupon:"",items:[]}})),d=""==b||""==c?{lines:e}:{buyerIdentity:{deliveryAddressPreferences:[{deliveryAddress:{country:"USA"}}],email:b},lines:e};let h=await axios({method:"post",url:"https://d1c911-7a.myshopify.com/api/2024-04/graphql.json",headers:{"X-Shopify-Storefront-Access-Token":"07bbd2aeff26a05f56745e478fbf1264"},data:{query:`mutation cartCreateMutation($cartInput: CartInput) {
2            cartCreate(input: $cartInput) {
3              cart {
4                id
5                checkoutUrl
6                lines(first: 250) {
7                  edges {
8                    node {
9                      quantity
10                      merchandise {
11                        __typename
12                        ... on ProductVariant {
13                          id
14                        }
15                      }
16                      sellingPlanAllocation {
17                        sellingPlan {
18                          id
19                          name
20                        }
21                        priceAdjustments {
22                          price {
23                            amount
24                          }
25                          compareAtPrice {
26                            amount
27                          }
28                          perDeliveryPrice {
29                            amount
30                          }
31                        }
32                      }
33                    }
34                  }
35                }
36              }
37              userErrors {
38                field
39                message
40              }
41            }
42          }`,variables:{cartInput:d}}});
42if(h.data.data.cartCreate.cart){function a(a){c.forEach(b=>a.dispatchEvent(new MouseEvent(b,{view:window,bubbles:!0,cancelable:!0,buttons:1})))}let b=h.data.data.cartCreate.cart.checkoutUrl;this.currentLink=b;const c=["mousedown","click","mouseup"];setTimeout(()=>{let c=document.createElement("a"),d=document.createTextNode("Generated Link");c.appendChild(d),c.title="Generated Title",c.href=b,document.body.appendChild(c),a(c)},1e3)}else console.log("DEBUG INFO FOR FAILED CHECKOUT"),console.log(h)}},beforeMount(){if(window.localStorage.getItem("shopifyCart")){let a=JSON.parse(window.localStorage.getItem("shopifyCart"));this.cartItems=a}},async mounted(){}})})();(async()=>{const a=(await import("https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.esm.browser.min.js")).default;new a({el:document.querySelector("shopify-quick-search[data-cid-56]"),template:"<div class=\"shopify-quick-search\" data-cid-56><button class=\"shopify-quick-search-button\" @click=\"showOverlay = !showOverlay\"><i class=\"material-icons\">search</i></button><div class=\"quick-search-overlay\" v-if=\"showOverlay\"><div class=\"search-container\"><div class=\"input-container\"><input class=\"quick-search-input\" v-model=\"searchText\" placeholder=\"Search Products\" @keyup.enter=\"navigateToSearch\"><div class=\"search-results-pane\" v-if=\"showResults\"><div class=\"search-results-title\">PRODUCTS</div><div class=\"search-results-hr\"></div><div class=\"search-results-products-container\"><div class=\"search-results-product\" v-for=\"product in filteredProducts\"><a class=\"product-result-link\" :href=\"getProductDetailsUrl(product)\"><img class=\"product-result-thumb\" :src=\"`/media/${product.display}/small.webp`\"><div class=\"product-title\">{{ product.title }}</div></a></div></div><div class=\"search-results-hr\"></div><div class=\"search-results-text\"><div class=\"search-text\">Search for \"{{searchText}}\"</div><div class=\"proceed-button\" @click=\"navigateToSearch\"><i class=\"material-icons\">arrow_forward</i></div></div></div></div><div class=\"search-button\" @click=\"navigateToSearch\"><i class=\"material-icons\">search</i></div><div class=\"search-close-button\" @click=\"showOverlay = !showOverlay\"><i class=\"material-icons\">close</i></div></div></div></div>",data(){return{showOverlay:!1,searchText:"",products:[],searchableFields:["title"]}},methods:{getProductDetailsUrl(a){let b=`/products/${a.slug}`;return!1,!b.endsWith("/")&&(b=`${b}/`),b},navigateToSearch(){let a=this.searchText.toLowerCase(),b="/products";!1,!b.endsWith("/")&&(b=`${b}/`);let c=b+"?search="+a;document.location.href=c}},computed:{filteredProducts(){let a=this.products.filter(a=>!this.searchText||this.searchableFields.find(b=>a[b]&&(a[b]+"").replace("-"," ").replace(/[^a-zA-Z0-9 ]/g,"").toLowerCase().match(new RegExp(this.searchText.replace(/[^a-zA-Z0-9 ]/g,"").toLowerCase(),"i"))));return a.slice(0,4)},showResults(){return!!(0<this.searchText.length)}},async mounted(){this.searchText="";this.products=[{display:"6a3ae67df83a2d24f9f82a56",title:"Gut Integrity",slug:"gut-integrity"},{display:"6a3af485f83a2d24f9f82c87",title:"Total Gut Balance",slug:"total-gut-balance"},{display:"6950ac0ff4b6602df00347b6",title:"Wahls Protocol\xAE Complete Cleanse Detoxification Support",slug:"wahls-protocol-detoxification-support-1"},{display:"69446c3df4b6602df003414d",title:"Wahls Protocol\xAE Peace of Mind Essentials Support Kit",slug:"wahls-protocol-peace-of-mind"},{display:"687f0d88df2bd1aa7dd644c0",title:"MindFuel Omega",slug:"mindfuel-omega-90sg"},{display:"689636a4e523022285ab0dbf",title:"Wahls Protocol\xAE Memory Support",slug:"wahls-protocol-memory-support-wholescripts"},{display:"6896369ee523022285ab0dbd",title:"Wahls Protocol\xAE NFKappaB Inhibition (Anti-inflammation) Support",slug:"wahls-protocol-nfkappab-inhibition-anti"},{display:"689636a1e523022285ab0dbe",title:"Wahls Protocol\xAE Basic Support",slug:"wahls-protocol-basic-support"},{display:"6896369ee523022285ab0dbc",title:"Wahls Protocol\xAE Microbiome Probiotic Support",slug:"wahls-protocol-microbiome-probiotic-supp"},{display:"6896369de523022285ab0dbb",title:"Wahls Protocol\xAE Heart Support",slug:"wahls-protocol-heart-support"},{display:"68198a00b6ad6a237eac6295",title:"Wahls Protocol\xAE Detoxification Support",slug:"wahls-protocol-detoxification-support"},{display:"6896369de523022285ab0dba",title:"Wahls Protocol\xAE Boost",slug:"wahls-protocol-boost"},{display:"680a9921b6ad6a237eab3573",title:"Better Brain Mag Capsules",slug:"better-brain-mag-90c"},{display:"67a05c2c5c472288c413a903",title:"Advanced Multi",slug:"advanced-multi-60c"},{display:"66be63311502933205767c9a",title:"CortiStress Relief",slug:"cortistress-relief-60c"},{display:"67a05c2c5c472288c413a902",title:"Dual Phase Detox",slug:"dual-phase-detox-120c"},{display:"66be631e1502933205767c92",title:"D3K2 5000iu",slug:"d3k2-5000iu-60c"},{display:"66be631a1502933205767c90",title:"ProbioCALM",slug:"probiocalm-30c"},{display:"66be631c1502933205767c91",title:"MTHFR Complete",slug:"mthfr-complete-60c"},{display:"66be63041502933205767c8d",title:"Gluten Shield MD",slug:"gluten-shield-md-60c"},{display:"66be63011502933205767c8c",title:"MitoMulti Complete",slug:"mitomulti-complete-120c"},{display:"66be62ff1502933205767c8b",title:"Fast Relief",slug:"fast-relief-40sg"},{display:"66be62f91502933205767c88",title:"Probiotic MD",slug:"probiotic-md-30-c"},{display:"66be62ee1502933205767c87",title:"Candida Clear",slug:"candida-clear-60-c"},{display:"66be62e91502933205767c85",title:"Blood Sugar Synergy",slug:"blood-sugar-synergy-120-c"},{display:"66be62ec1502933205767c86",title:"Complete Carnitine",slug:"complete-carnitine-60-c"},{display:"66be62e81502933205767c84",title:"Ultra CoQ10",slug:"ultra-coq10-60-sg"},{display:"66be62e51502933205767c83",title:"NAC",slug:"nac-60-c"},{display:"66be62e31502933205767c82",title:"Better Brain Mag - Mixed Berry",slug:"better-brain-mag-mixed-berry-30sv"},{display:"66be62de1502933205767c80",title:"Cytokine Modulator",slug:"cytokine-modulator-30-c"},{display:"66be62e01502933205767c81",title:"Activated B's",slug:"activated-bs-90-c"},{display:"66be62db1502933205767c7f",title:"Brain Protect",slug:"brain-protect-120-c"},{display:"66be62d61502933205767c7d",title:"Ultra C",slug:"ultra-c-120c"}]}})})();(async()=>{const a=(await import("https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.esm.browser.min.js")).default;
42new a({el:document.querySelector("shopify-cart-button[data-cid-57]"),template:"<div class=\"shopify-cart-button shopify-cart-icon-button\" data-cid-57><button class=\"shopify-cart-button\" @click=\"openCart()\" :style=\"hideCartButton\"><i class=\"material-icons\">shopping_cart</i><div class=\"cart-quantity\" v-if=\"false && cartTotal > 0\">{{ cartTotal }}</div></button></div>",data(){return{itemsInCart:[]}},methods:{openCart(){let a=document.getElementById("shopify-cart-anchor");this.itemsInCart=a.__vue__.getAllItems();a.__vue__.toggleCart()},updateCart(){let a=document.getElementById("shopify-cart-anchor");this.itemsInCart=a.__vue__.getAllItems()}},computed:{cartTotal(){let a=0;for(let b of this.itemsInCart)a+=b.quantity,this.$forceUpdate();return a},hideCartButton(){return 0<this.itemsInCart.length?{display:"flex"}:{display:"none"}}},beforeMount(){if(window.localStorage.getItem("shopifyCart")){let a=JSON.parse(window.localStorage.getItem("shopifyCart"));this.itemsInCart=a}},mounted(){let a=document.getElementById("shopify-cart-anchor");a.__vue__&&(this.itemsInCart=a.__vue__.getAllItems())}})})();

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.