Jake Vanderwerf
2026-06-22 715e26a9eb219808d5c899d418e1d596f9318f61
assets/js/concise/Tabs.js
@@ -61,6 +61,9 @@
         console.error('No tab navigation or section found');
         return false;
      }
      if (ui.nav.previousElementSibling && ui.nav.previousElementSibling.classList.contains('form-progress')) {
      }
      let tabsId = window.generateID('tab');
      container.dataset.tabsId = tabsId;
@@ -82,6 +85,9 @@
         ui: ui,
         updateURL: options.updateURL ?? true
      };
      if (Object.hasOwn(options, 'preCheck')) {
         config.preCheck = options.preCheck;
      }
      //Add listeners
      ui.nav.addEventListener('click', this.clickHandler);
@@ -148,11 +154,15 @@
      if (!config) return;
      let activeTab = config.ui.sections.filter(section => section.classList.contains('active'));
      if (Object.hasOwn(config, 'preCheck') && !config.preCheck(activeTab[0], config)) return;
      if (Object.hasOwn(config, 'preCheck') && !config.preCheck(activeTab[0], tab, config)) return;
      if (document.activeElement && this.isInTabs(document.activeElement, config)) document.activeElement.blur();
      config.ui.buttons.forEach((btn, index) => {
      config.ui.buttons.forEach(btn => {
         btn.classList.remove('active', 'previous', 'next');
      });
      config.ui.buttons.forEach((btn, index) => {
         let isActive = btn.dataset.tab === tab;
         btn.setAttribute('aria-selected', isActive);
         if (isActive) {