packages/components/bolt-nav-indicator/nav-indicator.js
function activateGumshoeLink() {
            const originalTarget = nav.nav;
            let originalTargetHref;
            let normalizedTarget;

            if (originalTarget) {
              originalTargetHref = originalTarget.getAttribute('href');
            } else {
              originalTargetHref = nav.nav.getAttribute('href');
            }

            // Need to target via document vs this custom element reference since only one gumshoe instance is shared across every component instance to better optimize for performance
            const matchedTargetLinks = document.querySelectorAll(
              `bolt-navlink > [href*="${originalTargetHref}"]`,
            );

            for (var i = 0, len = matchedTargetLinks.length; i < len; i++) {
              const linkInstance = matchedTargetLinks[i];

              // Stop if normalizedTarget already set.
              if (normalizedTarget) {
                break;
              }

              // Prefer visible links over hidden links
              if (isVisible(linkInstance)) {
                normalizedTarget = linkInstance;

                // Prefer dropdown links over non-dropdown links if the link is hidden
              } else if (linkInstance.parentNode.isDropdownLink) {
                normalizedTarget = linkInstance;

                // otherwise default to what was originally selected.
              } else if (i === len - 1) {
                normalizedTarget = originalTarget;
              }
            }

            const normalizedParent = normalizedTarget.parentNode;

            normalizedParent.activate();
          }
function activateGumshoeLink() {
            const originalTarget = nav.nav;
            let originalTargetHref;
            let normalizedTarget;

            if (originalTarget) {
              originalTargetHref = originalTarget.getAttribute('href');
            } else {
              originalTargetHref = nav.nav.getAttribute('href');
            }

            // Need to target via document vs this custom element reference since only one gumshoe instance is shared across every component instance to better optimize for performance
            const matchedTargetLinks = document.querySelectorAll(
              `bolt-navlink > [href*="${originalTargetHref}"]`,
            );

            for (var i = 0, len = matchedTargetLinks.length; i < len; i++) {
              const linkInstance = matchedTargetLinks[i];

              // Stop if normalizedTarget already set.
              if (normalizedTarget) {
                break;
              }

              // Prefer visible links over hidden links
              if (isVisible(linkInstance)) {
                normalizedTarget = linkInstance;

                // Prefer dropdown links over non-dropdown links if the link is hidden
              } else if (linkInstance.parentNode.isDropdownLink) {
                normalizedTarget = linkInstance;

                // otherwise default to what was originally selected.
              } else if (i === len - 1) {
                normalizedTarget = originalTarget;
              }
            }

            const normalizedParent = normalizedTarget.parentNode;

            normalizedParent.activate();
          }
function activateGumshoeLink ( ) { const originalTarget = nav . nav ; let originalTargetHref ; let normalizedTarget ; if ( originalTarget ) { originalTargetHref = originalTarget . getAttribute ( 'href' ) ; } else { originalTargetHref = nav . nav . getAttribute ( 'href' ) ; } // Need to target via document vs this custom element reference since only one gumshoe instance is shared across every component instance to better optimize for performance const matchedTargetLinks = document . querySelectorAll ( ` ${ originalTargetHref } ` , ) ; for ( var i = 0 , len = matchedTargetLinks . length ; i < len ; i ++ ) { const linkInstance = matchedTargetLinks [ i ] ; // Stop if normalizedTarget already set. if ( normalizedTarget ) { break ; } // Prefer visible links over hidden links if ( isVisible ( linkInstance ) ) { normalizedTarget = linkInstance ; // Prefer dropdown links over non-dropdown links if the link is hidden } else if ( linkInstance . parentNode . isDropdownLink ) { normalizedTarget = linkInstance ; // otherwise default to what was originally selected. } else if ( i === len - 1 ) { normalizedTarget = originalTarget ; } } const normalizedParent = normalizedTarget . parentNode ; normalizedParent . activate ( ) ; }
logic once we know we should try to animate in a gumshoe-activated link
logic once we know we should try to animate in a gumshoe - activated link