PageSourceSearch

https://kavee.com/cdn/shop/t/145/assets/custom.js?v=148892286855772605361787927869

js kavee.com collected 2026-10-10 01:23:10 UTC 20,663 bytes, 2 lines download raw bytes

1import{SearchDrawer}from"theme";const originalSearchDrawerShow=SearchDrawer.prototype.show,originalSearchDrawerHide=SearchDrawer.prototype.hide;SearchDrawer.prototype.show=function(animate=!0){return this.open?originalSearchDrawerShow.call(this,animate):(this.removeAttribute("inert"),this.style.setProperty("visibility","visible","important"),this.querySelector('input:not([type="hidden"])')?.focus({preventScroll:!0}),originalSearchDrawerShow.call(this,animate))},SearchDrawer.prototype.hide=function(){return this.style.removeProperty("visibility"),originalSearchDrawerHide.call(this)};function injectAccountAvatarOverride(element){if(!element.shadowRoot||element.dataset.kaveeAvatarOverride)return;const style=document.createElement("style");style.textContent=".account-button__avatar:hover{scale:1!important;box-shadow:inset 0 0 0 1px #00000014!important}",element.shadowRoot.appendChild(style),element.dataset.kaveeAvatarOverride="1"}function observeAccountElements(){document.querySelectorAll("shopify-account").forEach(injectAccountAvatarOverride)}async function initAccountAvatarOverride(){await customElements.whenDefined("shopify-account"),observeAccountElements()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initAccountAvatarOverride):initAccountAvatarOverride();function startObserver(){if(!document.body)return;new MutationObserver(mutations=>{for(const m of mutations)for(const node of m.addedNodes)if(node.nodeType===1&&(node.matches?.("shopify-account")||node.querySelector?.("shopify-account"))){observeAccountElements();break}}).observe(document.body,{childList:!0,subtree:!0})}document.body?startObserver():document.addEventListener("DOMContentLoaded",startObserver);function kaveeNormalizeProductImageUrl(url){return!url||typeof url!="string"?"":url.indexOf("http")===0?url:url.indexOf("//")===0?`https:${url}`:url}function kaveeFormatMoneyFromCents(cents){const n=Number(cents);if(!Number.isFinite(n))return"";if(typeof window.Shopify<"u"&&typeof window.Shopify.formatMoney=="function"){const format=window.themeVariables?.settings?.moneyFormat;if(format)return window.Shopify.formatMoney(n,format)}return(n/100).toFixed(2)}function mapLineItemToMwiDetail(item){if(!item||typeof item!="object")return{};const unitCents=item.final_price!=null?item.final_price:item.price!=null?item.price:null,imageSrc=item.featured_image&&typeof item.featured_image=="object"&&item.featured_image.url?item.featured_image.url:typeof item.image=="string"?item.image:"";return{product_name:item.product_title||item.title||"",product_sku:item.sku||"",product_price:kaveeFormatMoneyFromCents(unitCents),product_currency:typeof window.Shopify<"u"&&window.Shopify.currency&&window.Shopify.currency.active||"",product_brand:item.vendor||"",product_category:item.product_type||"",product_image_url:kaveeNormalizeProductImageUrl(imageSrc),product_availability:1}}function dispatchAddToCartFromLineItems(items){if(!(!window.intent||!window.intent.dataLayer||!items||!items.length))for(let i=0;i<items.length;i++){const detail=mapLineItemToMwiDetail(items[i]);document.dispatchEvent(new CustomEvent("mwi:add-to-cart",{bubbles:!0,detail}))}}window.kaveeMwi=window.kaveeMwi||{},window.kaveeMwi.dispatchAddToCartFromLineItems=dispatchAddToCartFromLineItems,document.addEventListener("variant:add",e=>{const items=e.detail?.items;items?.length&&dispatchAddToCartFromLineItems(items)}),document.addEventListener("alpine:init",()=>{Alpine.data("countdownTimer",()=>({initialized:!1,expired:!1,expiredMessage:"This offer has ended.",days:"00",hours:"00",minutes:"00",seconds:"00",_end:null,_timerId:null,start(){const endDateString=this.$el.dataset.endDate,msg=this.$el.dataset.expiredMessage;if(msg&&(this.expiredMessage=msg),!endDateString)return;const parsed=new Date(endDateString);isNaN(parsed.getTime())||(this._end=parsed,this.initialized=!0,this.tick(),this._timerId=setInterval(()=>{this.tick()},1e3))},tick(){if(!this._end)return;const now=new Date;let diff=this._end.getTime()-now.getTime();if(diff<=0){diff=0,this.expired=!0,this.days="00",this.hours="00",this.minutes="00",this.seconds="00",this._timerId&&(clearInterval(this._timerId),this._timerId=null);return}const totalSeconds=Math.floor(diff/1e3),d=Math.floor(totalSeconds/86400),h=Math.floor(totalSeconds%86400/3600),m=Math.floor(totalSeconds%3600/60),s=totalSeconds%60;this.days=String(d).padStart(2,"0"),this.hours=String(h).padStart(2,"0"),this.minutes=String(m).padStart(2,"0"),this.seconds=String(s).padStart(2,"0")}}))});function applyDesktopMegaMenuUniformHeight(){if(!window.matchMedia("(min-width: 1150px)").matches){document.documentElement.style.removeProperty("--kavee-mega-menu-uniform-height");return}const megaMenus=Array.from(document.querySelectorAll('.header__link-list details[is="mega-menu-disclosure"] > .mega-menu'));if(!megaMenus.length)return;let maxHeight=0;
1megaMenus.forEach(menu=>{const clone=menu.cloneNode(!0);clone.style.position="absolute",clone.style.left="0",clone.style.top="-9999px",clone.style.visibility="hidden",clone.style.pointerEvents="none",clone.style.opacity="1",clone.style.mixBlendMode="normal",clone.style.maxHeight="none",clone.style.overflow="visible",document.body.appendChild(clone),maxHeight=Math.max(maxHeight,clone.offsetHeight),clone.remove()}),maxHeight>0&&document.documentElement.style.setProperty("--kavee-mega-menu-uniform-height",`${maxHeight}px`)}let megaMenuHeightRaf=null;function scheduleDesktopMegaMenuUniformHeight(){megaMenuHeightRaf&&cancelAnimationFrame(megaMenuHeightRaf),megaMenuHeightRaf=requestAnimationFrame(()=>{megaMenuHeightRaf=null,applyDesktopMegaMenuUniformHeight()})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",scheduleDesktopMegaMenuUniformHeight):scheduleDesktopMegaMenuUniformHeight(),window.addEventListener("load",scheduleDesktopMegaMenuUniformHeight),window.addEventListener("resize",scheduleDesktopMegaMenuUniformHeight),document.addEventListener("shopify:section:load",scheduleDesktopMegaMenuUniformHeight);const SETUP_TOGGLE_ANIM_MS=320,setupToggleSyncTimers=new WeakMap;function getSetupCombinationKey(standOn,lidOn){return standOn&&lidOn?"both":standOn?"stand":lidOn?"lid":"base"}function syncSetupToggleToVariant(picker){const standToggle=picker.querySelector('[data-setup-toggle="stand"]'),lidToggle=picker.querySelector('[data-setup-toggle="lid"]');let mapping,availability;try{mapping=JSON.parse(picker.dataset.setupMapping||"{}"),availability=JSON.parse(picker.dataset.setupAvailability||"{}")}catch{return}const standOn=!!standToggle?.checked,lidOn=!!lidToggle?.checked,key=getSetupCombinationKey(standOn,lidOn),targetValueId=mapping[key];if(!targetValueId)return;const radio=picker.closest(".variant-picker__option")?.querySelector(`[data-setup-option-radios] input[value="${targetValueId}"]`);!radio||radio.checked||(radio.checked=!0,radio.dispatchEvent(new Event("change",{bubbles:!0})))}document.addEventListener("change",event=>{const toggle=event.target;if(!toggle.matches("[data-setup-toggle]"))return;const picker=toggle.closest("[data-setup-toggle-picker]");if(!picker)return;const standToggle=picker.querySelector('[data-setup-toggle="stand"]'),lidToggle=picker.querySelector('[data-setup-toggle="lid"]');let mapping,availability;try{mapping=JSON.parse(picker.dataset.setupMapping||"{}"),availability=JSON.parse(picker.dataset.setupAvailability||"{}")}catch{return}const standOn=!!standToggle?.checked,lidOn=!!lidToggle?.checked,key=getSetupCombinationKey(standOn,lidOn);if(availability[key]===!1){toggle.checked=!toggle.checked;return}const existingTimer=setupToggleSyncTimers.get(picker);existingTimer&&clearTimeout(existingTimer);const delay=window.matchMedia("(prefers-reduced-motion: reduce)").matches?0:SETUP_TOGGLE_ANIM_MS;if(delay===0){syncSetupToggleToVariant(picker);return}const timerId=window.setTimeout(()=>{setupToggleSyncTimers.delete(picker),syncSetupToggleToVariant(picker)},delay);setupToggleSyncTimers.set(picker,timerId)});function getCanonicalDrawer(drawerId){const drawers=[...document.querySelectorAll(`x-drawer#${CSS.escape(drawerId)}`)];if(!drawers.length)return null;if(drawers.length===1)return drawers[0];const closedInRerender=drawers.find(drawer=>drawer.closest("product-rerender")&&!drawer.hasAttribute("open")),openDrawer=drawers.find(drawer=>drawer.hasAttribute("open")),canonical=closedInRerender||openDrawer||drawers[0];return drawers.forEach(drawer=>{drawer!==canonical&&drawer.remove()}),canonical}function dedupeAllDrawers(){new Set([...document.querySelectorAll("x-drawer[id]")].map(drawer=>drawer.id)).forEach(drawerId=>{getCanonicalDrawer(drawerId)})}document.addEventListener("click",event=>{const control=event.target.closest("[aria-controls]");if(!control)return;const drawerId=control.getAttribute("aria-controls");if(!drawerId)return;const drawer=getCanonicalDrawer(drawerId);drawer&&(event.preventDefault(),event.stopImmediatePropagation(),drawer.open?drawer.hide():drawer.show())},!0);function openDrawerFromHash(hash){const drawerId=(hash||"").replace(/^#/,"");if(!drawerId)return!1;const drawer=getCanonicalDrawer(drawerId);return drawer?(drawer.show(),!0):!1}document.addEventListener("click",event=>{const link=event.target.closest('a[href^="#"]');if(!link)return;const href=link.getAttribute("href");if(!href||href==="#"||link.hasAttribute("aria-controls"))return;const drawerId=href.slice(1),drawer=getCanonicalDrawer(drawerId);drawer&&(event.preventDefault(),event.stopImmediatePropagation(),drawer.show())},!0);function openDrawerFromLocationHash(){window.location.hash&&openDrawerFromHash(window.location.hash)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",openDrawerFromLocationHash):openDrawerFromLocationHash(),window.addEventListener("hashchange",openDrawerFromLocationHash),document.addEventListener("product:rerender",()=>{requestAnimationFrame(dedupeAllDrawers)},!0);const gwpSubmittingForms=new WeakSet;function getCheckedGiftOffersForForm(formId){return formId?Array.from(document.querySelectorAll(`[data-gift-offer][data-gift-form="${CSS.escape(formId)}"]`)).filter(offer=>offer.querySelector("[data-gift-checkbox]")?.checked):[]}function getGiftVariantIds(offers){const ids=[];
1return offers.forEach(offer=>{const variantId=parseInt(offer.dataset.giftVariantId,10);Number.isFinite(variantId)&&variantId>0&&!ids.includes(variantId)&&ids.push(variantId)}),ids}async function submitProductFormWithGifts(form,giftVariantIds){if(gwpSubmittingForms.has(form))return;gwpSubmittingForms.add(form);const submitButtons=Array.from(form.elements).filter(button=>button.type==="submit");submitButtons.forEach(button=>button.setAttribute("aria-busy","true"));try{const root=window.Shopify?.routes?.root||"/",mainVariantInput=form.elements.namedItem("id"),mainVariantId=parseInt((mainVariantInput&&"value"in mainVariantInput?mainVariantInput.value:null)||form.querySelector('[name="id"]')?.value,10),quantityInput=form.querySelector('[name="quantity"]'),quantity=Math.max(1,parseInt(quantityInput?.value,10)||1);if(!Number.isFinite(mainVariantId)||mainVariantId<=0)throw new Error("Missing main product variant id");const items=[{id:mainVariantId,quantity}];giftVariantIds.forEach(id=>{id!==mainVariantId&&items.push({id,quantity:1})});const formData=new FormData(form),properties={};formData.forEach((value,key)=>{const match=key.match(/^properties\[(.+)\]$/);match&&value!==""&&(properties[match[1]]=value)}),Object.keys(properties).length&&(items[0].properties=properties);const sectionsToBundle=["variant-added"];document.documentElement.dispatchEvent(new CustomEvent("cart:prepare-bundled-sections",{bubbles:!0,detail:{sections:sectionsToBundle}}));const response=await fetch(`${root}cart/add.js`,{method:"POST",headers:{"Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"},body:JSON.stringify({items,sections:sectionsToBundle.join(","),sections_url:`${root}variants/${mainVariantId}`})}),responseJson=await response.json();if(response.ok){const addedItems=responseJson.items?responseJson.items:[responseJson];if(window.themeVariables?.settings?.cartType==="page"||window.themeVariables?.settings?.pageType==="cart"){typeof window.kaveeMwi?.dispatchAddToCartFromLineItems=="function"&&window.k
1aveeMwi.dispatchAddToCartFromLineItems(addedItems),window.location.href=`${root}cart`;return}const cartContent=await(await fetch(`${root}cart.js`)).json();cartContent.sections=responseJson.sections,form.dispatchEvent(new CustomEvent("variant:add",{bubbles:!0,detail:{items:addedItems,cart:cartContent}})),document.documentElement.dispatchEvent(new CustomEvent("cart:change",{bubbles:!0,detail:{baseEvent:"variant:add",cart:cartContent}}))}else form.dispatchEvent(new CustomEvent("cart:error",{bubbles:!0,detail:{error:responseJson.description}})),document.dispatchEvent(new CustomEvent("cart:refresh"))}catch(err){console.error("Gift with purchase cart error:",err),form.dispatchEvent(new CustomEvent("cart:error",{bubbles:!0,detail:{error:"Unable to add items to cart. Please try again."}}))}finally{submitButtons.forEach(button=>button.removeAttribute("aria-busy")),gwpSubmittingForms.delete(form)}}document.addEventListener("submit",event=>{const form=event.target;if(!(form instanceof HTMLFormElement))return;const formId=form.getAttribute("id");if(!formId||form.getAttribute("is")!=="product-form")return;const checkedOffers=getCheckedGiftOffersForForm(formId);if(!checkedOffers.length)return;const giftVariantIds=getGiftVariantIds(checkedOffers);if(giftVariantIds.length){if(event.preventDefault(),event.stopImmediatePropagation(),!form.checkValidity()){form.reportValidity();return}submitProductFormWithGifts(form,giftVariantIds)}},!0);function kaveeNormalizeDiscountLabel(value){return String(value||"").toLowerCase().replace(/[\s_-]+/g,"")}function kaveeIsFreeGiftLabel(value){return kaveeNormalizeDiscountLabel(value).includes("freegift")}function kaveeGetRebuyCart(){return window.Rebuy?.SmartCart?.cart||window.Rebuy?.Cart?.cart||(typeof window.Rebuy?.Cart?.getCart=="function"?window.Rebuy.Cart.getCart():null)||null}window.hasFreeGiftDiscount=function(item){const codes=kaveeGetRebuyCart()?.discount_codes||[],rebuyCode=window.Rebuy?.SmartCart?.discount?.code,cartHasFreeGiftCode=codes.some(discount=>discount&&discount.applicable!==!1&&kaveeIsFreeGiftLabel(discount.code))||kaveeIsFreeGiftLabel(rebuyCode);if(!cartHasFreeGiftCode)return!1;if(!item)return cartHasFreeGiftCode;const allocations=item.line_level_discount_allocations||[];return allocations.length?allocations.some(allocation=>{const title=allocation?.discount_application?.title||allocation?.discount_application?.code||allocation?.title;return kaveeIsFreeGiftLabel(title)}):Number(item.final_price)===0||Number(item.line_price)===0};const KAVEE_TRUST_LOCK_SVG='<svg width="16" height="16" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.75 5C3.75 2.92893 5.42893 1.25 7.5 1.25C9.57107 1.25 11.25 2.92893 11.25 5V8.75H12.5V5C12.5 2.23858 10.2614 0 7.5 0C4.73858 0 2.5 2.23858 2.5 5V8.75H3.75V5Z" fill="#232323"/><rect x="0.625" y="8.125" width="13.75" height="11.25" rx="1.875" stroke="#232323" stroke-width="1.25" fill="none"/><path d="M7.56 16.7C7.93 16.3 8.23 15.95 8.43 15.7C8.54 15.56 8.63 15.45 8.68 15.38C8.79 15.23 8.88 15.09 9.02 14.91C9.17 14.68 9.39 14.37 9.61 14.01C10.06 13.28 10.49 12.47 10.6 11.94C10.7 11.48 10.56 11.26 10.44 11.15C10.31 11.04 10.11 10.97 9.9 10.99C9.73 11.01 9.5 11.09 9.32 11.22C9.09 11.35 8.84 11.52 8.61 11.69C8.38 11.86 8.17 12.03 8.02 12.15C7.94 12.21 7.88 12.26 7.84 12.3L7.42 12.66L7.03 12.4C6.98 12.37 6.9 12.32 6.9 12.33C6.82 12.28 6.7 12.2 6.56 12.12C6.27 11.95 5.88 11.75 5.48 11.58C5.07 11.41 4.7 11.29 4.43 11.28C4.29 11.27 4.23 11.28 4.2 11.29C3.99 11.71 4.02 12.05 4.15 12.38C4.21 12.56 4.31 12.73 4.42 12.92C4.51 13.08 4.66 13.31 4.75 13.49C4.89 13.73 5.41 14.44 6.05 15.18C6.37 15.55 6.69 15.91 6.99 16.2C7.21 16.42 7.41 16.59 7.56 16.7Z" stroke="#232323" stroke-width="1.25" fill="none"/></svg>',KAVEE_TRUST_CHECK_SVG='<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 5L4.36 9L11.91 1" stroke="#1A4B3D" stroke-width="2" stroke-linecap="round"/></svg>',KAVEE_TRUST_CHEVRON_SVG='<svg width="8" height="6" viewBox="0 0 8 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1.5 3 3 3-3" stroke="currentColor" stroke-width="1.5" fill="none"/></svg>';function kaveeEscapeHtml(value){const div=document.createElement("div");return div.textContent=value==null?"":String(value),div.innerHTML}function kaveeTrustProductId(item){return String(item?.product_id||item?.product?.id||"")}function kaveeMergeTrustPoints(map){!map||typeof map!="object"||(window.kaveeTrustPoints=window.kaveeTrustPoints||{}
1,Object.keys(map).forEach(key=>{window.kaveeTrustPoints[String(key)]=map[key]}))}function kaveeParseTrustPointsFromHtml(html){const el=new DOMParser().parseFromString(html,"text/html").getElementById("kavee-trust-points-data");if(!el)return{};try{return JSON.parse(el.textContent)}catch{return{}}}function kaveeReadTrustPointsFromDom(){const el=document.getElementById("kavee-trust-points-data");if(el)try{kaveeMergeTrustPoints(JSON.parse(el.textContent))}catch{}}window.kaveeGetTrustPoints=function(item){const id=kaveeTrustProductId(item),points=window.kaveeTrustPoints?.[id];return Array.isArray(points)?points.filter(Boolean).slice(0,3):[]},window.kaveeHasTrustPoints=function(item){return window.kaveeGetTrustPoints(item).length>0};function kaveeTrustPromiseIconHtml(){const icon=window.kaveeCartTrust?.icon;return icon?`<img src="${kaveeEscapeHtml(icon)}" alt="" width="16" height="16">`:KAVEE_TRUST_LOCK_SVG}function kaveeBuildTrustPromiseHtml(points){const text=kaveeEscapeHtml(window.kaveeCartTrust?.text||""),items=points.map(point=>`<li class="rebuy-cart__trust-promise-item"><span class="rebuy-cart__trust-promise-check" aria-hidden="true">${KAVEE_TRUST_CHECK_SVG}</span><span class="rebuy-cart__trust-promise-point">${kaveeEscapeHtml(point)}</span></li>`).join("");return`<details class="rebuy-cart__trust-promise"><summary class="rebuy-cart__trust-promise-trigger"><span class="rebuy-cart__trust-promise-icon" aria-hidden="true">${kaveeTrustPromiseIconHtml()}</span><span class="rebuy-cart__trust-promise-text">${text}</span><span class="rebuy-cart__trust-promise-chevron" aria-hidden="true">${KAVEE_TRUST_CHEVRON_SVG}</span></summary><ul class="rebuy-cart__trust-promise-list" role="list">${items}</ul></details>`}function kaveeHydrateTrustPromises(){if(!window.kaveeCartTrust?.enabled)return;document.querySelectorAll('[data-rebuy-component="cart-items"] li.rebuy-cart__flyout-item[data-product-id]').forEach(itemEl=>{const productId=itemEl.getAttribute("data-product-id"),points=window.kaveeGetTrustPoints({product_id:productId}),existing=itemEl.querySelector(":scope > .rebuy-cart__trust-promise");if(!points.length){existing&&existing.dataset.kaveeHydrated==="true"&&existing.remove();return}if(existing)return;itemEl.insertAdjacentHTML("beforeend",kaveeBuildTrustPromiseHtml(points));const inserted=itemEl.querySelector(":scope > .rebuy-cart__trust-promise");inserted&&(inserted.dataset.kaveeHydrated="true",inserted.addEventListener("click",event=>event.stopPropagation()))})}let kaveeTrustPointsRefreshTimer=null,kaveeTrustPointsRefreshing=!1,kaveeCartItemsObserver=null;function kaveeObserveCartItems(){const root=document.querySelector('[data-rebuy-component="cart-items"]');!root||kaveeCartItemsObserver||(kaveeCartItemsObserver=new MutationObserver(()=>kaveeHydrateTrustPromises()),kaveeCartItemsObserver.observe(root,{childList:!0,subtree:!0}),kaveeHydrateTrustPromises())}async function kaveeRefreshTrustPoints(){if(!kaveeTrustPointsRefreshing){kaveeTrustPointsRefreshing=!0;try{const root=window.Shopify?.routes?.root||"/",response=await fetch(`${root}?sections=cart-trust-points-data`);if(response.ok){const html=(await response.json())?.["cart-trust-points-data"];html&&kaveeMergeTrustPoints(kaveeParseTrustPointsFromHtml(html))}kaveeObserveCartItems(),kaveeHydrateTrustPromises()}catch{kaveeObserveCartItems(),kaveeHydrateTrustPromises()}finally{kaveeTrustPointsRefreshing=!1}}}function kaveeScheduleTrustPointsRefresh(){clearTimeout(kaveeTrustPointsRefreshTimer),kaveeTrustPointsRefreshTimer=setTimeout(()=>{kaveeRefreshTrustPoints()},150)}kaveeReadTrustPointsFromDom(),kaveeObserveCartItems(),["rebuy:cart.change","rebuy:cart.add","rebuy:smartcart.ready","rebuy:smartcart.show"].forEach(eventName=>{document.addEventListener(eventName,kaveeScheduleTrustPointsRefresh)});
2//# sourceMappingURL=/cdn/shop/t/145/assets/custom.js.map?v=148892286855772605361787927869

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.