/** * DO NOT EDIT THIS FILE. * See the following change record for more information, * https://www.drupal.org/node/2815083 * @preserve **/ (function ($, Drupal) { function init(i, tab) { var $tab = $(tab); var $target = $tab.find('[data-drupal-nav-tabs-target]'); var $active = $target.find('.js-active-tab'); var openMenu = function openMenu() { $target.toggleClass('is-open'); }; var toggleOrder = function toggleOrder(reset) { var current = $active.index(); var original = $active.data('original-order'); if (original === 0 || reset === (current === original)) { return; } var siblings = { first: '[data-original-order="0"]', previous: '[data-original-order="' + (original - 1) + '"]' }; var $first = $target.find(siblings.first); var $previous = $target.find(siblings.previous); if (reset && current !== original) { $active.insertAfter($previous); } else if (!reset && current === original) { $active.insertBefore($first); } }; var toggleCollapsed = function toggleCollapsed() { if (window.matchMedia('(min-width: 48em)').matches) { if ($tab.hasClass('is-horizontal') && !$tab.attr('data-width')) { var width = 0; $target.find('.js-tabs-link').each(function (index, value) { width += $(value).outerWidth(); }); $tab.attr('data-width', width); } var isHorizontal = $tab.attr('data-width') <= $tab.outerWidth(); $tab.toggleClass('is-horizontal', isHorizontal); toggleOrder(isHorizontal); } else { toggleOrder(false); } }; $tab.addClass('position-container is-horizontal-enabled'); $target.find('.js-tab').each(function (index, element) { var $item = $(element); $item.attr('data-original-order', $item.index()); }); $tab.on('click.tabs', '[data-drupal-nav-tabs-trigger]', openMenu); $(window).on('resize.tabs', Drupal.debounce(toggleCollapsed, 150)).trigger('resize.tabs'); } Drupal.behaviors.navTabs = { attach: function attach(context) { $(context).find('[data-drupal-nav-tabs].is-collapsible').once('nav-tabs').each(function (i, value) { $(value).each(init); }); } }; })(jQuery, Drupal);