(() => { 'use strict'; const body = document.body; const getDrawer = () => document.querySelector('[data-cart-drawer]'); let lastTrigger = null; const openDrawer = (trigger) => { const drawer = getDrawer(); if (!drawer) return false; lastTrigger = trigger || document.activeElement; drawer.hidden = false; drawer.setAttribute('aria-hidden', 'false'); body.style.overflow = 'hidden'; drawer.querySelector('[data-cart-close]')?.focus(); return true; }; const closeDrawer = () => { const drawer = getDrawer(); if (!drawer) return; drawer.hidden = true; drawer.setAttribute('aria-hidden', 'true'); body.style.overflow = ''; lastTrigger?.focus?.(); }; document.addEventListener('click', (event) => { const cartTrigger = event.target.closest('[data-cart-open]'); if (cartTrigger && !document.body.classList.contains('woocommerce-account')) { if (openDrawer(cartTrigger)) event.preventDefault(); } if (event.target.closest('[data-cart-close]')) closeDrawer(); const navToggle = event.target.closest('.cs-mobile-toggle'); if (navToggle) { const nav = document.querySelector('[data-mobile-nav]'); const isOpen = nav?.classList.toggle('is-open') || false; navToggle.setAttribute('aria-expanded', String(isOpen)); navToggle.setAttribute('aria-label', isOpen ? 'Close menu' : 'Open menu'); } }); document.addEventListener('keydown', (event) => { if (event.key === 'Escape') closeDrawer(); }); if (window.jQuery) window.jQuery(document.body).on('added_to_cart', (_event, _fragments, _hash, button) => openDrawer(button?.[0] || null)); })();