PageSourceSearch

https://www.rails.com/cdn/shop/t/1629/assets/header-vite-4DOakxHR.js

js rails.com collected 2026-10-03 19:16:46 UTC 10,697 bytes, 1 lines download raw bytes

1import{r as c}from"./theme-sections-vite-Co0nR_Yu.js";import{$ as t}from"./jquery-vite-HBvTTBcJ.js";import{l as d}from"./lodash-vite-D2zFX4a7.js";import{c as u,d as g}from"./bodyScrollLock.esm-vite-CABaxWbl.js";import"./_commonjsHelpers-vite-BosuxZz1.js";const M=g,l=u,n={body:"body",headerWrapper:"#shopify-section-header",header:".js-header",announcementBar:".js-announcement-bar",headerNavigationLink:".js-header-navigation-link",headerNavigationLinkMegaMenu:".js-header-navigation-link-mega-menu",headerNavigationLinkList:".js-header-navigation-link-list",headerNavigationLinkListActive:".js-header-navigation-link-list.active",headerNavigationMegaMenu:".js-header-navigation-mega-menu",headerOverlay:".js-header-overlay",headerMobileToggleButton:".js-toggle-mobile-menu-button",headerMobileMenu:".js-header-mobile-menu",headerMobileAccordionContainer:".js-header-mobile-navigation-accordion",headerMobileAccordionToggler:".js-header-mobile-navigation-content-accordion-toggler",headerMobileAccordionContent:".js-header-mobile-navigation-accordion-content",cartCounter:".js-cart-items-count",headerIconSearch:".js-header-icon-search",headerSearch:".js-search",buttonCloseSearch:".js-search-button-close",loginToolbarLink:".js-login-toolbar-link"},h={active:"active",searchOpen:"search-open"};c("header",{onLoad:function(){var i,a;this.body=t(n.body),this.headerWrapper=t(n.headerWrapper),this.header=t(n.header),this.announcementBar=t(n.announcementBar),this.headerNavigationLinkList=t(this.container).find(n.headerNavigationLinkList),this.headerNavigationLinks=t(this.container).find(n.headerNavigationLink),this.headerNavigationMegaMenu=t(this.container).find(n.headerNavigationMegaMenu),this.headerOverlay=t(this.container).find(n.headerOverlay),this.headerMobileToggleButton=t(this.container).find(n.headerMobileToggleButton),this.headerMobileMenu=t(this.container).find(n.headerMobileMenu),this.headerMobileMenu.attr("aria-hidden",this.headerMobileMenu.hasClass("open")?"false":"true"),this.headerMobileMenu.prop("inert",!this.headerMobileMenu.hasClass("open")),this.headerNavigationLinkMegaMenu=t(this.container).find(n.headerNavigationLinkMegaMenu),this.search=this.container.querySelector(n.headerSearch),this.setSearchAccessibilityState((i=this.search)==null?void 0:i.classList.contains(h.active)),this.searchObserver=this.search?new MutationObserver(()=>{this.setSearchAccessibilityState(this.search.classList.contains(h.active))}):null,(a=this.searchObserver)==null||a.observe(this.search,{attributes:!0,attributeFilter:["class"]}),this.windowWidth=t(window).width();const e=window.matchMedia("(min-width: 768px)");this.setCartCount(),this.updateHeaderHeightVariable(),this.initNavigationMenu(),this.initNavigationMenuKeyboardInteraction(),this.initMobileMenu(),this.initAccordions(),this.initMediaEvents(e),this.closeSearchByButton(),this.initSearchCloseOverlay(),document.addEventListener("click",this.setLastVisitedPage)},setLastVisitedPage(e){const i=e.target.closest(n.loginToolbarLink);i&&(e.preventDefault(),localStorage.setItem("lastVisitedPage",window.location.href),window.location.href=i.href)},initMediaEvents:function(e){e.addEventListener?e.addEventListener("change",()=>{this.closeSearch()}):e.addListener(()=>{this.closeSearch()})},openSearch(){const e=this.container.querySelector(n.headerIconSearch);!e||!this.search||e.addEventListener("click",()=>{this.search.classList.add(h.active),this.body.addClass(h.searchOpen),this.setSearchAccessibilityState(!0)})},setSearchAccessibilityState(e){this.search&&(this.search.setAttribute("aria-hidden",String(!e)),e?this.search.inert=!1:this.search.inert=!0)},closeSearchByButton(){const e=this.container.querySelector(n.buttonCloseSearch);e&&e.addEventListener("click",()=>{this.search.classList.remove(h.active),this.body.removeClass(h.searchOpen),this.setSearchAccessibilityState(!1)})},closeSearch(){this.search.classList.remove(h.active),this.body.removeClass(h.searchOpen),this.setSearchAccessibilityState(!1),l()},onUnload(){var e;(e=this.searchObserver)==null||e.disconnect()},initSearchCloseOverlay(){this.headerOverlay&&this.headerOverlay.on("click",()=>{this.closeSearch()})},initNavigationMenu:function(){this.headerNavigationLinkList.length&&this.headerNavigationLinkList.hover(e=>{let i=t(e.target.closest(n.headerNavigationLinkList));this.navigationMenuAddHover(i),this.navigationMenuShowMegaMenu(i)},()=>{let e=t(this.container).find(n.headerNavigationLinkListActive);e&&(this.navigationMenuRemoveHover(),this.navigationMenuHideMegaMenus(e))})},initNavigationMenuKeyboardInteraction:function(){!this.headerNavigationLinkMegaMenu.length||!this.header||(this.headerNavigationLinkMegaMenu.on("focus",e=>{let a=t(e.target).parent(n.headerNavigationLinkList);a.length&&this.navigationMenuShowMegaMenu(a)}),this.headerWrapper.on("focusin",e=>{let i=t(e.target),a=t(this.container).find(n.headerNavigationLinkListActive);a.length&&(i.closest(a).length||this.navigationMenuHideMegaMenu(a))}))},navigationMenuAddHover:function(e){let i=e.find(n.headerNavigationLink),a=t(this.container).find(n.headerNavigationLink).not(i);i.addClass("hover"),a.addClass("blur")},navigationMenuRemoveHover:function(){this.headerNavigationLinks.length&&(this.headerNavigationLinks.removeClass("hover"),this.headerNavigationLinks.removeClass("blur"))},navigationMenuShowMegaMenu:function(e){let i=e.find(n.headerNavigationMegaMenu);i.length&&(e.addClass("active"),i.addClass("visible"),this.header.hasClass("menu-open")||this.header.addClass("menu-open"))},navigationMenuHideMegaMenu:function(e){let i=e.find(n.headerNavigationMegaMenu);i.length&&(e.removeClass("active"),i.removeClass("visible"),this.header.hasClass("menu-open")&&this.header.removeClass("menu-open"))},navigationMenuHideMegaMenus:function(){this.headerNavigationMegaMenu.length&&(this.headerNavigationLinkList.removeClass("active"),this.headerNavigationMegaMenu.removeClass("visible"),this.header.hasClass("menu-open")&&this.header.removeClass("menu-open"))},updateHeaderHeightVariable(){this.setHeaderHeightVariable(),t(window).on("resize",d.debounce(()=>{this.windowWidth!=t(window).width()&&(this.windowWidth=t(window).width(),this.setHeaderHeightVariable())},100))},setHeaderHeightVariable(){let e=document.documentElement,i=t(this.announcementBar).height()||0,a=this.getViewPortElementHeight(t(this.container))||0,o=t(window).height(),r=+i+ +a;e.style.setProperty("--header-height",a+"px"),e.style.setProperty("--header-height-with-announcement",r+"px"),e.style.setProperty("--window-height",o+"px")},initMobileMenu:function(){this.initUpdateMobileMenuHeightOnResize(),this.initMobileMenuToggleButton(),this.initMobileMenuCloseOverlay(),this.initMobileMenuKeyboardInteraction(),this.initCloseMobileMenuOnDesktop(),this.initCloseMobileMenuOnFocusOut()},initMobileMenuToggleButton:function(){!this.headerMobileToggleButton.length||!this.headerMobileMenu.length||this.headerMobileToggleButton.off("click.headerMobileMenu").on("click.headerMobileMenu",()=>{this.toggleMobileMenu()})},initMobileMenuCloseOverlay:function(){this.headerOverlay&&this.headerOverlay.on("click",()=>{this.closeMobileMenu(!0),this.closeSearch()})},initMobileMenuKeyboardInteraction:function(){this.headerMobileMenu.off("keydown.headerMobileMenu").on("keydown.headerMobileMenu",e=>{e.key==="Escape"&&(e.preventDefault(),this.closeMobileMenu(!0))})}
1,initCloseMobileMenuOnDesktop:function(){const e=window.matchMedia("(min-width: 1200px)");e.matches&&this.closeMobileMenu(),e.addEventListener?e.addEventListener("change",i=>{i.matches&&this.closeMobileMenu()}):e.addListener(i=>{i.matches&&this.closeMobileMenu()})},initCloseMobileMenuOnFocusOut:function(){this.headerWrapper.on("focusin",e=>{let i=t(e.target);!i.closest(this.headerMobileMenu).length&&!i.closest(this.headerMobileToggleButton).length&&this.closeMobileMenu()})},initUpdateMobileMenuHeightOnResize:function(){t(window).on("resize",d.debounce(()=>{this.setMobileMenuHeight()},100))},toggleMobileMenu:function(){this.setMobileMenuHeight(),this.headerMobileMenu.hasClass("open")?(l(),this.headerMobileToggleButton.attr("aria-expanded","false"),this.headerMobileToggleButton.attr("aria-label","Open mobile menu")):(this.headerMobileMenu.prop("inert",!1).attr("aria-hidden","false"),M(this.headerMobileMenu[0]),this.headerMobileToggleButton.attr("aria-expanded","true"),this.headerMobileToggleButton.attr("aria-label","Close mobile menu")),this.headerMobileMenu.toggleClass("open"),this.header.toggleClass("menu-open"),this.headerMobileToggleButton.toggleClass("open"),this.headerMobileMenu.hasClass("open")||this.headerMobileMenu.attr("aria-hidden","true").prop("inert",!0)},closeMobileMenu:function(e=!1){const i=this.headerMobileMenu.hasClass("open");l(),this.headerMobileMenu.removeClass("open"),this.header.removeClass("menu-open"),this.headerMobileToggleButton.removeClass("open"),this.headerMobileToggleButton.attr("aria-expanded","false"),this.headerMobileToggleButton.attr("aria-label","Open mobile menu"),this.headerMobileMenu.attr("aria-hidden","true").prop("inert",!0),e&&i&&this.headerMobileToggleButton.trigger("focus")},setMobileMenuHeight:function(){if(!this.headerMobileMenu.length)return;let e=this.getViewPortElementHeight(t(this.container)),i=this.getViewPortElementHeight(t(this.announcementBar)),o=(window.innerHeight?window.innerHeight:t(window).height())-e;this.headerMobileMenu.css("max-height",o),this.headerMobileMenu.css("top",+e+ +i)},getViewPortElementHeight:function(e){if(!e.length)return;let i=e.outerHeight(),a=window.innerHeight?window.innerHeight:t(window).height(),o=e[0].getBoundingClientRect(),r=o.top,s=o.bottom;return i=Math.max(0,r>0?Math.min(i,a-r):Math.min(s,a))},initAccordions:function(){let e=t(this.container).find(n.headerMobileAccordionContainer);if(!e.length)return;e.each(function(){let o=t(this),r=o.children(n.headerMobileAccordionToggler),s=o.children(n.headerMobileAccordionContent);!r.length||!s.length||(s.attr("aria-hidden",o.hasClass("active")?"false":"true"),r.off("click.headerMobileAccordion").on("click.headerMobileAccordion",function(){o.hasClass("active")?a(o,r,s):i(o,r,s)}))});function i(o,r,s){r.attr("aria-expanded","true"),r.addClass("active"),o.addClass("active"),s.stop(!0,!0).attr("aria-hidden","false").show()}function a(o,r,s){r.attr("aria-expanded","false"),r.removeClass("active"),o.removeClass("active"),s.stop(!0,!0).hide().attr("aria-hidden","true")}},setCartCount(){const e=this.container.querySelector(n.cartCounter);e&&document.addEventListener("cart:item_count",i=>{const{detail:a}=i;let o=a.item_count;o=window.slate.utils.defaultTo(o,0);let r=this.getCartCount(o);e.innerHTML=r})},getCartCount(e){return e=parseInt(e),e>99?"99+":e===0?"":e}});

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.