{
  "version": 3,
  "sources": ["/cdn/shop/t/24/assets/wmn-mega-menu.js?wmn=20260811mega2"],
  "sourcesContent": ["/**\n * WMN mega-menu enhancer \u2014 cachebust:20260811mega3\n * Keeps Portland/Turbo hover + loadMegaMenu as the base.\n * Adds: hover-intent delay, open class for CSS transition, dim scrim.\n * Does not steal the search panel; desktop only (>798px).\n * Dispatches wmn:mega-open / wmn:mega-ready / wmn:mega-close for promo tile sync.\n */\n(function (window, document, $) {\n  'use strict';\n\n  if (!$ || !$.fn) return;\n\n  var OPEN_DELAY_MS = 110;\n  var openTimer = null;\n  var bound = false;\n  var panelObserver = null;\n  var closing = false;\n\n  function isDesktop() {\n    return window.innerWidth > 798;\n  }\n\n  function searchIsOpen() {\n    return $('[data-dropdown=\"search\"]').is(':visible');\n  }\n\n  function clearOpenTimer() {\n    if (openTimer != null) {\n      clearTimeout(openTimer);\n      openTimer = null;\n    }\n  }\n\n  /* Scrim top = bottom of sticky header (logo bar + black nav), not over triggers */\n  function syncScrimOffset() {\n    var header =\n      document.querySelector('.shopify-section.header-section') ||\n      document.getElementById('shopify-section-header') ||\n      document.querySelector('.main_nav.wmn-header');\n    if (!header) return;\n    var bottom = Math.round(header.getBoundingClientRect().bottom);\n    if (bottom < 0) bottom = Math.round(header.getBoundingClientRect().height);\n    document.documentElement.style.setProperty(\n      '--wmn-mega-header-offset',\n      Math.max(0, bottom) + 'px'\n    );\n  }\n\n  function ensureScrim() {\n    var $scrim = $('.wmn-mega-scrim');\n    if (!$scrim.length) {\n      $scrim = $('<div class=\"wmn-mega-scrim\" aria-hidden=\"true\"></div>').appendTo(document.body);\n      $scrim.on('click.wmnMega', function () {\n        closeMegaMenus();\n      });\n    }\n    return $scrim;\n  }\n\n  function setScrim(on) {\n    var $scrim = ensureScrim();\n    if (on) {\n      syncScrimOffset();\n      /* Clear any inline none from a prior close so .is-visible can receive clicks */\n      $scrim.css({ 'pointer-events': '', cursor: '' });\n      $scrim.addClass('is-visible');\n      $scrim.attr('aria-hidden', 'false');\n      $('body, html').addClass('wmn-mega-open');\n    } else {\n      $scrim.removeClass('is-visible');\n      $scrim.attr('aria-hidden', 'true');\n      /* Force non-interactive while opacity transitions out */\n      $scrim.css({ 'pointer-events': 'none', cursor: '' });\n      $('body, html').removeClass('wmn-mega-open');\n    }\n  }\n\n  function emitClose() {\n    try {\n      document.dispatchEvent(new CustomEvent('wmn:mega-close'));\n    } catch (eClose) {\n      /* ignore */\n    }\n  }\n\n  function closeMegaMenus() {\n    if (closing) return;\n    closing = true;\n    try {\n      clearOpenTimer();\n      $('.dropdown_container.mega-menu')\n        .removeClass('wmn-mega-is-open')\n        .hide();\n      $('.mega-menu-parent').removeClass('active_link');\n      setScrim(false);\n      emitClose();\n    } finally {\n      closing = false;\n    }\n  }\n\n  function openMega($link) {\n    if (!isDesktop() || !$link || !$link.length) return;\n    if (searchIsOpen()) return;\n\n    var rel = $link.data('dropdown-rel');\n    if (!rel) return;\n\n    var $nav = $link.closest('.main_nav');\n    var $panel = $nav.find('.mega-menu.dropdown_container[data-dropdown=\"' + rel + '\"]');\n    if (!$panel.length) {\n      $panel = $('.main_nav .mega-menu.dropdown_container[data-dropdown=\"' + rel + '\"]').first();\n    }\n    if (!$panel.length) return;\n\n    $('.dropdown_container.mega-menu')\n      .not($panel)\n      .removeClass('wmn-mega-is-open')\n      .hide();\n    $('.mega-menu-parent').not($link).removeClass('active_link');\n\n    /* Portland may already have .show()'d \u2014 ensure display then animate via class */\n    $panel.show();\n    if ($panel[0]) {\n      void $panel[0].offsetWidth;\n    }\n    $panel.addClass('wmn-mega-is-open');\n    $link.addClass('active_link');\n    setScrim(true);\n    try {\n      document.dispatchEvent(\n        new CustomEvent('wmn:mega-open', {\n          detail: { rel: rel, panel: $panel[0] }\n        })\n      );\n    } catch (eOpen) {\n      /* ignore */\n    }\n  }\n\n  function scheduleOpen($link) {\n    clearOpenTimer();\n    openTimer = setTimeout(function () {\n      openTimer = null;\n      openMega($link);\n    }, OPEN_DELAY_MS);\n  }\n\n  /* True when relatedTarget is still inside nav chrome / open panel (NOT the scrim). */\n  function relatedStaysInNav(related) {\n    if (!related || related.nodeType !== 1) return false;\n    var $r = $(related);\n    if ($r.closest('.wmn-mega-scrim').length) return false;\n    if ($r.closest('.main_nav, .mega-menu').length) return true;\n    /* Logo / utility bar above the black strip \u2014 keep open while traversing chrome */\n    if ($r.closest('.top_bar, .wmn-header__bar, .header .logo, .header .icon-search, .header .cart_container').length) {\n      return true;\n    }\n    return false;\n  }\n\n  function anyMegaVisiblyOpen() {\n    var open = false;\n    $('.dropdown_container.mega-menu').each(function () {\n      var el = this;\n      /* Portland .hide() sets display:none \u2014 treat as closed even if class lingers */\n      if (el.style && el.style.display === 'none') return;\n      if (window.getComputedStyle(el).display === 'none') return;\n      if (!$(el).is(':visible')) return;\n      if ($(el).hasClass('wmn-mega-is-open')) {\n        open = true;\n        return false;\n      }\n    });\n    return open;\n  }\n\n  function syncScrimToPanels() {\n    if (closing) return;\n    if (!isDesktop()) {\n      setScrim(false);\n      return;\n    }\n    if (anyMegaVisiblyOpen()) return;\n\n    clearOpenTimer();\n    $('.mega-menu-parent').removeClass('active_link');\n    $('.dropdown_container.mega-menu').removeClass('wmn-mega-is-open');\n    if ($('body').hasClass('wmn-mega-open') || $('.wmn-mega-scrim.is-visible').length) {\n      setScrim(false);\n      emitClose();\n    }\n  }\n\n  function observePanels() {\n    if (panelObserver) {\n      panelObserver.disconnect();\n      panelObserver = null;\n    }\n    if (typeof MutationObserver === 'undefined') return;\n\n    panelObserver = new MutationObserver(function () {\n      /* Portland app.js may .hide() panels without our close handler */\n      syncScrimToPanels();\n    });\n\n    $('.dropdown_container.mega-menu').each(function () {\n      panelObserver.observe(this, {\n        attributes: true,\n        attributeFilter: ['style', 'class']\n      });\n    });\n  }\n\n  function bind() {\n    if (bound) return;\n    bound = true;\n\n    ensureScrim();\n    observePanels();\n\n    $(document)\n      .on('mouseenter.wmnMega', '.mega-menu-parent', function () {\n        if (!isDesktop()) return;\n        if (searchIsOpen()) return;\n\n        var $link = $(this);\n        var rel = $link.data('dropdown-rel');\n        var $open = $link\n          .closest('.main_nav')\n          .find('.mega-menu.dropdown_container[data-dropdown=\"' + rel + '\"].wmn-mega-is-open');\n        /* Already open \u2014 stay put (moving within header chrome) */\n        if ($link.hasClass('active_link') && $open.length) {\n          clearOpenTimer();\n          return;\n        }\n        /* Undo instant Portland open until delay elapses */\n        $link\n          .closest('.main_nav')\n          .find('.mega-menu.dropdown_container')\n          .removeClass('wmn-mega-is-open');\n        setScrim(false);\n        scheduleOpen($link);\n      })\n      .on('mouseleave.wmnMega', '.mega-menu-parent', function (e) {\n        if (!isDesktop()) return;\n        var related = e.relatedTarget;\n        var rel = $(this).data('dropdown-rel');\n        var $panel = $(this)\n          .closest('.main_nav')\n          .find('.mega-menu.dropdown_container[data-dropdown=\"' + rel + '\"]');\n        if (related && $panel.length && $.contains($panel[0], related)) {\n          clearOpenTimer();\n          return;\n        }\n        /* Leaving trigger without entering its panel \u2014 cancel delayed open */\n        clearOpenTimer();\n      })\n      .on('mouseenter.wmnMega', '.mega-menu.dropdown_container', function () {\n        clearOpenTimer();\n      })\n      .on('mouseleave.wmnMega', '.mega-menu.dropdown_container', function (e) {\n        if (!isDesktop()) return;\n        if (searchIsOpen()) return;\n        if (relatedStaysInNav(e.relatedTarget)) return;\n        closeMegaMenus();\n      })\n      .on('mouseleave.wmnMega', '.main_nav', function (e) {\n        if (!isDesktop()) return;\n        if (searchIsOpen()) return;\n        /* Do NOT treat .wmn-mega-scrim as \"still inside\" \u2014 leaving onto the\n           dimmer is the common leave path and must close the overlay. */\n        if (relatedStaysInNav(e.relatedTarget)) return;\n        closeMegaMenus();\n      })\n      .on(\n        'mouseenter.wmnMega',\n        '.wmn-header__nav-link:not(.mega-menu-parent)',\n        function () {\n          if (!isDesktop()) return;\n          if (searchIsOpen()) return;\n          clearOpenTimer();\n          closeMegaMenus();\n        }\n      )\n      .on('keydown.wmnMega', function (e) {\n        if (e.key !== 'Escape' && e.keyCode !== 27) return;\n        if (!$('body').hasClass('wmn-mega-open') && !$('.wmn-mega-scrim.is-visible').length) {\n          return;\n        }\n        closeMegaMenus();\n      })\n      .on('wmn:mega-close.wmnMega', function () {\n        /* External close signal \u2014 ensure timers + scrim cleared */\n        clearOpenTimer();\n        setScrim(false);\n      });\n\n    $(window).on('resize.wmnMega', function () {\n      if (!isDesktop()) {\n        closeMegaMenus();\n      } else if ($('body').hasClass('wmn-mega-open')) {\n        syncScrimOffset();\n      }\n    });\n\n    $(window).on('scroll.wmnMega', function () {\n      if ($('body').hasClass('wmn-mega-open')) {\n        syncScrimOffset();\n      }\n    });\n  }\n\n  function emitReady() {\n    try {\n      document.dispatchEvent(new CustomEvent('wmn:mega-ready'));\n    } catch (eReady) {\n      /* ignore */\n    }\n  }\n\n  function boot() {\n    if (!isDesktop()) {\n      setScrim(false);\n      emitReady();\n      return;\n    }\n    /* loadMegaMenu clones panels into .header .main_nav */\n    if (!$('.mega-menu.dropdown_container').length && !$('.mega-menu-container .mega-menu').length) {\n      return;\n    }\n    bind();\n    observePanels();\n    emitReady();\n  }\n\n  $(function () {\n    /* app.js runs header.loadMegaMenu on ready; wait a tick so clones exist */\n    boot();\n    setTimeout(boot, 0);\n    setTimeout(boot, 100);\n  });\n\n  $(document).on('shopify:section:load shopify:section:reorder page:change', function () {\n    bound = false;\n    clearOpenTimer();\n    if (panelObserver) {\n      panelObserver.disconnect();\n      panelObserver = null;\n    }\n    $(document).off('.wmnMega');\n    $(window).off('.wmnMega');\n    setScrim(false);\n    boot();\n  });\n})(window, document, window.jQuery);\n"],
  "mappings": "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",
  "names": ["window", "document"]
}
