PageSourceSearch

https://coffeedonkee.com/cdn/shop/t/10/assets/ce-cart-drawer.js?v=106041945129611391051728913783

js coffeedonkee.com collected 2026-10-04 07:50:23 UTC 5,722 bytes, 2 lines download raw bytes

1(function(){if(customElements.get("ce-cart-drawer")!==void 0)return;class CartDrawer extends HTMLParsedElement{constructor(){super(),this.queuedAttributeChangedCallbackParams=[],this.queuedCallbacks=[],this.selectors={buttonOpen:"[data-cart-drawer-button-open]",buttonClose:"[data-cart-drawer-button-close]",panel:"[data-cart-drawer-panel]",backdrop:"[data-backdrop-90]"},this.elements=null,this.handleClickButtonOpen=this.handleClickButtonOpen.bind(this),this.handleClickButtonClose=this.handleClickButtonClose.bind(this),Shopify.designMode&&(this.handleSectionSelect=this.handleSectionSelect.bind(this),this.handleSectionDeselect=this.handleSectionDeselect.bind(this),document.addEventListener("shopify:section:select",this.handleSectionSelect),document.addEventListener("shopify:section:deselect",this.handleSectionDeselect))}get isOpen(){return this.getAttribute("is-open")==="true"}set isOpen(value){this.setAttribute("is-open",value)}static get observedAttributes(){return["is-open"]}attributeChangedCallback(...params){if(!this.parsed){this.queuedAttributeChangedCallbackParams.push(params);return}const[name,oldValue,newValue]=params;oldValue!==newValue&&name==="is-open"&&newValue!==null&&(newValue==="true"?(this.elementToFocus=document.activeElement,Shopify.designMode||trapFocus(this.elements.panel,{elementToFocus:this.elements.buttonClose}),trapBodyScroll(),this.elements.buttonOpen.setAttribute("aria-expanded","true"),this.elements.buttonClose.setAttribute("aria-expanded","true")):(Shopify.designMode||removeTrapFocus(),removeTrapBodyScroll(),this.elementToFocus?.focus({preventScroll:!0}),this.elements.buttonOpen.setAttribute("aria-expanded","false"),this.elements.buttonClose.setAttribute("aria-expanded","false"),requestAnimationFrame(()=>{this.elements.panel.style.visibility="hidden"})))}parsedCallback(){this.elements={buttonOpen:document.querySelector(this.selectors.buttonOpen),buttonClose:this.querySelector(this.selectors.buttonClose),panel:this.querySelector(this.selectors.panel),backdrop:document.querySelector(this.selectors.backdrop)},this.elements.buttonOpen.addEventListener("click",this.handleClickButtonOpen),this.elements.buttonClose.addEventListener("click",this.handleClickButtonClose);for(let params of this.queuedAttributeChangedCallbackParams)this.attributeChangedCallback(...params);for(let callback of this.queuedCallbacks)callback()}disconnectedCallback(){this.elements.buttonOpen.removeEventListener("click",this.handleClickButtonOpen),this.elements.buttonClose.removeEventListener("click",this.handleClickButtonClose),Shopify.designMode&&(document.removeEventListener("shopify:section:select",this.handleSectionSelect),document.removeEventListener("shopify:section:deselect",this.handleSectionDeselect))}handleClickButtonOpen(){requestAnimationFrame(()=>{this.elements.panel.style.visibility="visible"}),this.playAnimationOpenBackdrop(),this.playAnimationOpenDrawer()}handleClickButtonClose(){this.playAnimationCloseDrawer(),this.playAnimationCloseBackdrop()}handleSectionSelect(event){if(event.detail.sectionId!==this.getAttribute("section-id"))return;const callback=()=>{this.isOpen||(requestAnimationFrame(()=>{this.elements.panel.style.visibility="visible"}),this.playAnimationOpenBackdrop(),this.playAnimationOpenDrawer())};if(!this.parsed){this.queuedCallbacks.push(callback);return}callback()}handleSectionDeselect(event){if(event.detail.sectionId!==this.getAttribute("section-id"))return;const callback=()=>{this.isOpen&&(this.playAnimationCloseDrawer(),this.playAnimationCloseBackdrop())};if(!this.parsed){this.queuedCallbacks.push(callback);return}callback()}playAnimationOpenBackdrop(){let keyframes=[];Shopify.designMode?keyframes=[{opacity:0,pointerEvents:"none",position:"absolute"},{opacity:1,pointerEvents:"auto",position:"fixed"}]:keyframes=[{opacity:0,pointerEvents:"none"},{opacity:1,pointerEvents:"auto"}];const options={delay:0,duration:Themu.prefersReducedMotion?0:150,easing:Themu.animation.easeIn,endDelay:Themu.prefersReducedMotion?0:300,fill:"both"},animation=this.elements.backdrop.animate(keyframes,options);animation.addEventListener("finish",()=>{animation.commitStyles(),animation.cancel()})}playAnimationOpenDrawer(){const keyframes=[{transform:"translateX(calc(100% + 1rem))"},{transform:"translateX(0)"}],options={delay:Themu.prefersReducedMotion?0:150,duration:Themu.prefersReducedMotion?0:300,easing:Themu.animation.easeIn,endDelay:0,fill:"both"},animation=this.elements.panel.animate(keyframes,options);animation.addEventListener("finish",()=>{animation.commitStyles(),animation.cancel(),this.isOpen=!0})}playAnimationCloseDrawer(){const keyframes=[{transform:"translateX(0)"},{transform:"translateX(calc(100% + 1rem))"}],options={delay:0,duration:Themu.prefersReducedMotion?0:200,easing:Themu.animation.easeOut,endDelay:Themu.prefersReducedMotion?0:150,fill:"both"},animation=this.elements.panel.animate(keyframes,options);animation.addEventListener("finish",()=>{animation.commitStyles(),animation.cancel()})}playAnimationCloseBackdrop(){let keyframes=[];Shopify.designMode?keyframes=[{opacity:1,pointerEvents:"auto",position:"fixed"}
1,{opacity:0,pointerEvents:"none",position:"absolute"}]:keyframes=[{opacity:1,pointerEvents:"auto"},{opacity:0,pointerEvents:"none"}];const options={delay:Themu.prefersReducedMotion?0:200,duration:Themu.prefersReducedMotion?0:150,easing:Themu.animation.easeOut,endDelay:0,fill:"both"},animation=this.elements.backdrop.animate(keyframes,options);animation.addEventListener("finish",()=>{animation.commitStyles(),animation.cancel(),this.isOpen=!1})}}customElements.define("ce-cart-drawer",CartDrawer)})();
2//# sourceMappingURL=/cdn/shop/t/10/assets/ce-cart-drawer.js.map?v=106041945129611391051728913783

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.