diff --git a/core/themes/claro/js/nav-tabs.js b/core/themes/claro/js/nav-tabs.js index 1601e788b68edf2f2c7056e911f887f8d9f710b7..023acfefe49621a4c467b340efc0c8e904dffcf1 100644 --- a/core/themes/claro/js/nav-tabs.js +++ b/core/themes/claro/js/nav-tabs.js @@ -39,8 +39,8 @@ } }; - const toggleCollapsed = () => { - if (window.matchMedia('(min-width: 48em)').matches) { + const toggleCollapsed = ({ matches }) => { + if (matches) { if ($tab.hasClass('is-horizontal') && !$tab.attr('data-width')) { let width = 0; @@ -68,10 +68,9 @@ }); $tab.on('click.tabs', '[data-drupal-nav-tabs-trigger]', openMenu); - $(window) - // @todo use a media query event listener https://www.drupal.org/project/drupal/issues/3225621 - .on('resize.tabs', Drupal.debounce(toggleCollapsed, 150)) - .trigger('resize.tabs'); + const mql = window.matchMedia('(min-width: 48em)'); + mql.addEventListener('change', toggleCollapsed); + toggleCollapsed(mql); } /** * Initialize the tabs JS.