PageSourceSearch

https://www.collingwood.ca/themes/contrib/upanupbase/js/nav/keyNavMenus/jquery.keyNavMenus.min.js?v=1.x

js collingwood.ca collected 2026-10-02 07:06:39 UTC 5,154 bytes, 1 lines download raw bytes

1!function(){var e;(e=jQuery).fn.keyNavMenus=function(n){var r=e.extend({open:40,close:38,next:39,prev:37,click:[32,13],menuSelector:".menu",menuItemSelector:".menu__item",menuLinkWrapperSelector:".menu__item-link-wrapper",menuLinkSelector:"a",triggerSelector:".submenu-trigger",openClass:"is-open",tabClose:!0,singleLevel:!1},n);return this.each((function(){var n=e(this);n.bind("keydown",(function(a){var l,i=a.which;-1==e.inArray(i,r.open)&&i!==r.open||(a.preventDefault(),(l=n).each((function(){0==r.singleLevel&&l.parent(r.menuLinkWrapperSelector).siblings(r.menuSelector).length&&(l.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).addClass(r.openClass).find("> "+r.menuSelector).find("> "+r.menuItemSelector+":first-child > "+r.menuLinkWrapperSelector+" "+r.menuLinkSelector).focus(),l.siblings(r.triggerClass).attr("aria-expanded",!0).attr("aria-label",(function(e,n){return n.replace("Open the","Close the")})),function(n){var r=e(n);r.offset().left+r.outerWidth()>e(window).width()?(r.addClass("is-overflowing"),r.siblings(".menu__item-link-wrapper").find("> .submenu-trigger").length&&r.siblings(".menu__item-link-wrapper").addClass("has-overflow")):(r.removeClass("is-overflowing"),r.siblings(".menu__item-link-wrapper").find("> .submenu-trigger").length&&r.siblings(".menu__item-link-wrapper").removeClass("has-overflow"))}(l.parent(r.menuLinkWrapperSelector).siblings(r.menuSelector)))}))),-1==e.inArray(i,r.close)&&i!==r.close||(a.preventDefault(),t(n)),-1==e.inArray(i,r.next)&&i!==r.next||(a.preventDefault(),function(e){e.each((function(){0==r.singleLevel?(e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).next().find("> "+r.menuLinkWrapperSelector).find(r.menuLinkSelector).focus(),e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).removeClass(r.openClass).find(r.triggerSelector).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")})),e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).find(r.triggerSelector).length&&e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).find(r.triggerSelector).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")}))):1==r.singleLevel&&e.parent(r.menuItemSelector).next().find("> "+r.menuLinkSelector).focus()}))}(n)),-1==e.inArray(i,r.prev)&&i!==r.prev||(a.preventDefault(),function(e){e.each((function(){0==r.singleLevel?(e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).prev().find("> "+r.menuLinkWrapperSelector).find(r.menuLinkSelector).focus(),e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).removeClass(r.openClass).find(r.triggerSelector).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")})),e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).find(r.triggerSelector).length&&e.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).find(r.triggerSelector).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")}))):1==r.singleLevel&&e.parent(r.menuItemSelector).prev().find("> "+r.menuLinkSelector).focus()}))}(n)),-1==e.inArray(i,r.click)&&i!==r.click||(a.preventDefault(),function(e){e.each((function(){this.click()}))}(n)),a.shiftKey&&9===a.which&&r.tabClose&&t(n)}))}));function t(n){return n.each((function(){0==r.singleLevel&&(n.parent(r.menuLinkWrapperSelector).siblings(r.menuSelector).length?(n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).parent(".menu--level-0").length?n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).removeClass(r.openClass).show():n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).removeClass(r.openClass),n.siblings(r.triggerClass).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")}))):(n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).parent(r.menuSelector).parent(r.menuItemSelector).parent(r.menuSelector).parent("nav").length<1||1==n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).parent(r.menuSelector).parent(r.menuItemSelector).parent(r.menuSelector).parent("nav").length&&n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).parent(r.menuSelector).parent(r.menuItemSelector).parent(".menu--level-0").length<1)&&n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).removeClass(r.openClass).parent(r.menuSelector).siblings(r.menuLinkWrapperSelector).find("> "+r.menuLinkSelector).focus().siblings(r.triggerClass).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")})),n.parent(r.menuLinkWrapperSelector).siblings(r.menuSelector).removeClass("is-overflowing")),e(this).closest(r.menuItemSelector).is(":first-child")&&e(this).parentsUntil("nav").length>3&&n.parent(r.menuLinkWrapperSelector).parent(r.menuItemSelector).parent(r.menuSelector).siblings(r.menuLinkWrapperSelector).removeClass(r.openClass).find("> "+r.menuLinkSelector).focus().siblings(r.triggerClass).attr("aria-expanded",!1).attr("aria-label",(function(e,n){return n.replace("Close the","Open the")}))}))}}}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.