/** * Main scripts file for Build Kit theme */ jQuery(document).ready(function($) { 'use strict'; // Search popup functionality var bspopup = $('#bspopup'); var sremoveClass = $('#sremoveClass'); var besearch = $('#besearch'); var searchField = $('#search-field'); // Open search popup besearch.on('click', function(e) { e.preventDefault(); bspopup.removeClass('soff').addClass('son'); bspopup.attr('aria-hidden', 'false'); // Focus on search field when popup opens if (searchField.length) { searchField.focus(); } }); // Close search popup with close button sremoveClass.on('click', function() { bspopup.removeClass('son').addClass('soff'); bspopup.attr('aria-hidden', 'true'); // Return focus to search button besearch.focus(); }); // Close search popup with Escape key $(document).on('keydown', function(e) { if (e.key === 'Escape' && bspopup.hasClass('son')) { bspopup.removeClass('son').addClass('soff'); bspopup.attr('aria-hidden', 'true'); besearch.focus(); } }); // Close search popup when clicking outside $(document).on('click', function(e) { if (!$(e.target).closest('#bspopup, #besearch').length) { bspopup.removeClass('son').addClass('soff'); bspopup.attr('aria-hidden', 'true'); } }); // Prevent closing when clicking inside the popup bspopup.on('click', function(e) { e.stopPropagation(); }); // Add ARIA attributes to search elements if (bspopup.length) { bspopup.attr('aria-hidden', 'true'); bspopup.attr('aria-modal', 'true'); bspopup.attr('role', 'dialog'); } // Add focus management for search form if (searchField.length) { searchField.on('keydown', function(e) { if (e.key === 'Escape') { bspopup.removeClass('son').addClass('soff'); bspopup.attr('aria-hidden', 'true'); besearch.focus(); } }); } });