1/* 2 * jQuery Superfish Menu Plugin - v1.7.4 3 * Copyright (c) 2013 Joel Birch 4 * 5 * Dual licensed under the MIT and GPL licenses: 6 * http://www.opensource.org/licenses/mit-license.php 7 * http://www.gnu.org/licenses/gpl.html 8 */ 9; 10(function(e) { 11 "use strict"; 12 var s = function() { 13 var s = { 14 bcClass: "sf-breadcrumb", 15 menuClass: "sf-js-enabled", 16 anchorClass: "sf-with-ul", 17 menuArrowClass: "sf-arrows" 18 }, 19 o = function() { 20 var s = /iPhone|iPad|iPod/i.test(navigator.userAgent); 21 return s && e(window).load(function() { 22 e("body").children().on("click", e.noop) 23 }), s 24 }(), 25 n = function() { 26 var e = document.documentElement.style; 27 return "behavior" in e && "fill" in e && /iemobile/i.test(navigator.userAgent) 28 }(), 29 t = function(e, o) { 30 var n = s.menuClass; 31 o.cssArrows && (n += " " + s.menuArrowClass), e.toggleClass(n) 32 }, 33 i = function(o, n) { 34 return o.find("li." + n.pathClass).slice(0, n.pathLevels).addClass(n.hoverClass + " " + s.bcClass).filter(function() { 35 return e(this).children(n.popUpSelector).hide().show().length 36 }).removeClass(n.pathClass) 37 }, 38 r = function(e) { 39 e.children("a").toggleClass(s.anchorClass) 40 }, 41 a = function(e) { 42 var s = e.css("ms-touch-action"); 43 s = "pan-y" === s ? "auto" : "pan-y", e.css("ms-touch-action", s) 44 }, 45 l = function(s, t) { 46 var i = "li:has(" + t.popUpSelector + ")"; 47 e.fn.hoverIntent && !t.disableHI ? s.hoverIntent(u, p, i) : s.on("mouseenter.superfish", i, u).on("mouseleave.superfish", i, p); 48 var r = "MSPointerDown.superfish"; 49 o || (r += " touchend.superfish"), n && (r += " mousedown.superfish"), s.on("focusin.superfish", "li", u).on("focusout.superfish", "li", p).on(r, "a", t, h) 50 }, 51 h = function(s) { 52 var o = e(this), 53 n = o.siblings(s.data.popUpSelector); 54 n.length >
54 0 && n.is(":hidden") && (o.one("click.superfish", !1), "MSPointerDown" === s.type ? o.trigger("focus") : e.proxy(u, o.parent("li"))()) 55 }, 56 u = function() { 57 var s = e(this), 58 o = d(s); 59 clearTimeout(o.sfTimer), s.siblings().superfish("hide").end().superfish("show") 60 }, 61 p = function() { 62 var s = e(this), 63 n = d(s); 64 o ? e.proxy(f, s, n)() : (clearTimeout(n.sfTimer), n.sfTimer = setTimeout(e.proxy(f, s, n), n.delay)) 65 }, 66 f = function(s) { 67 s.retainPath = e.inArray(this[0], s.$path) > -1, this.superfish("hide"), this.parents("." + s.hoverClass).length || (s.onIdle.call(c(this)), s.$path.length && e.proxy(u, s.$path)()) 68 }, 69 c = function(e) { 70 return e.closest("." + s.menuClass) 71 }, 72 d = function(e) { 73 return c(e).data("sf-options") 74 }; 75 return { 76 hide: function(s) { 77 if (this.length) { 78 var o = this, 79 n = d(o); 80 if (!n) return this; 81 var t = n.retainPath === !0 ? n.$path : "", 82 i = o.find("li." + n.hoverClass).add(this).not(t).removeClass(n.hoverClass).children(n.popUpSelector), 83 r = n.speedOut; 84 s && (i.show(), r = 0), n.retainPath = !1, n.onBeforeHide.call(i), i.stop(!0, !0).animate(n.animationOut, r, function() { 85 var s = e(this); 86 n.onHide.call(s) 87 }) 88 } 89 return this 90 }, 91 show: function() { 92 var e = d(this); 93 if (!e) return this; 94 var s = this.addClass(e.hoverClass), 95 o = s.children(e.popUpSelector); 96 return e.onBeforeShow.call(o), o.stop(!0, !0).animate(e.animation, e.speed, function() { 97 e.onShow.call(o) 98 }), this 99 }, 100 destroy: function() { 101 return this.each(function() { 102 var o, n = e(this), 103 i = n.data("sf-options"); 104 return i ? (o = n.find(i.popUpSelector).parent("li"), clearTimeout(i.sfTimer), t(n, i), r(o), a(n), n.off(".superfish").off(".hoverIntent"), o.children(i.popUpSelector).attr("style", function(e, s) { 105 return s.replace(/display[^;]+;?/g, "") 106 }), i.$path.removeClass(i.hoverClass + " " + s.bcClass).addClass(i.pathClass), n.find("." + i.hoverClass).removeClass(i.hoverClass), i.onDestroy.call(n), n.removeData("sf-options"), void 0) : !1 107 }) 108 }, 109 init: function(o) { 110 return this.each(function() { 111 var n = e(this); 112 if (n.data("sf-options")) return !1; 113 var h = e.extend({}, e.fn.superfish.defaults, o), 114 u = n.find(h.popUpSelector).parent("li"); 115 h.$path = i(n, h), n.data("sf-options", h), t(n, h), r(u), a(n), l(n, h), u.not("." + s.bcClass).superfish("hide", !0), h.onInit.call(this) 116 }) 117 } 118 } 119 }(); 120 e.fn.superfish = function(o) { 121 return s[o] ? s[o].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof o && o ? e.error("Method " + o + " does not exist on jQuery.fn.superfish") : s.init.apply(this, arguments) 122 }, e.fn.superfish.defaults = { 123 popUpSelector: "ul,.sf-mega", 124 hoverClass: "sfHover", 125 pathClass: "overrideThisToUse", 126 pathLevels: 1, 127 delay: 568, 128 animation: { 129 opacity: "show" 130 }, 131 animationOut: { 132 opacity: "hide" 133 }, 134 speed: "normal", 135 speedOut: "fast", 136 cssArrows: !0, 137 disableHI: !1, 138 onInit: e.noop, 139 onBeforeShow: e.noop, 140 onShow: e.noop, 141 onBeforeHide: e.noop, 142 onHide: e.noop, 143 onIdle: e.noop, 144 onDestroy: e.noop 145 }, e.fn.extend({ 146 hideSuperfishUl: s.hide, 147 showSuperfishUl: s.show 148 }) 149})(jQuery);
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.