Created
November 25, 2016 02:49
-
-
Save dancingsoda/b79818ce0b9883d9a9f3f7a2f20000b5 to your computer and use it in GitHub Desktop.
the unminified version of the js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
} | |
function _classCallCheck(t, e) { | |
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") | |
}! function(t) { | |
"use strict"; | |
function e(t) { | |
if (void 0 === Function.prototype.name) { | |
var e = /function\s([^(]{1,})\(/, | |
i = e.exec(t.toString()); | |
return i && i.length > 1 ? i[1].trim() : "" | |
} | |
return void 0 === t.prototype ? t.constructor.name : t.prototype.constructor.name | |
} | |
function i(t) { | |
return /true/.test(t) ? !0 : /false/.test(t) ? !1 : isNaN(1 * t) ? t : parseFloat(t) | |
} | |
function n(t) { | |
return t.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase() | |
} | |
var s = "6.2.3", | |
o = { | |
version: s, | |
_plugins: {}, | |
_uuids: [], | |
rtl: function() { | |
return "rtl" === t("html").attr("dir") | |
}, | |
plugin: function(t, i) { | |
var s = i || e(t), | |
o = n(s); | |
this._plugins[o] = this[s] = t | |
}, | |
registerPlugin: function(t, i) { | |
var s = i ? n(i) : e(t.constructor).toLowerCase(); | |
t.uuid = this.GetYoDigits(6, s), t.$element.attr("data-" + s) || t.$element.attr("data-" + s, t.uuid), t.$element.data("zfPlugin") || t.$element.data("zfPlugin", t), t.$element.trigger("init.zf." + s), this._uuids.push(t.uuid) | |
}, | |
unregisterPlugin: function(t) { | |
var i = n(e(t.$element.data("zfPlugin").constructor)); | |
this._uuids.splice(this._uuids.indexOf(t.uuid), 1), t.$element.removeAttr("data-" + i).removeData("zfPlugin").trigger("destroyed.zf." + i); | |
for (var s in t) t[s] = null | |
}, | |
reInit: function(e) { | |
var i = e instanceof t; | |
try { | |
if (i) e.each(function() { | |
t(this).data("zfPlugin")._init() | |
}); | |
else { | |
var s = typeof e, | |
o = this, | |
a = { | |
object: function(e) { | |
e.forEach(function(e) { | |
e = n(e), t("[data-" + e + "]").foundation("_init") | |
}) | |
}, | |
string: function() { | |
e = n(e), t("[data-" + e + "]").foundation("_init") | |
}, | |
undefined: function() { | |
this.object(Object.keys(o._plugins)) | |
} | |
}; | |
a[s](e) | |
} | |
} catch (r) { | |
console.error(r) | |
} finally { | |
return e | |
} | |
}, | |
GetYoDigits: function(t, e) { | |
return t = t || 6, Math.round(Math.pow(36, t + 1) - Math.random() * Math.pow(36, t)).toString(36).slice(1) + (e ? "-" + e : "") | |
}, | |
reflow: function(e, n) { | |
"undefined" == typeof n ? n = Object.keys(this._plugins) : "string" == typeof n && (n = [n]); | |
var s = this; | |
t.each(n, function(n, o) { | |
var a = s._plugins[o], | |
r = t(e).find("[data-" + o + "]").addBack("[data-" + o + "]"); | |
r.each(function() { | |
var e = t(this), | |
n = {}; | |
if (e.data("zfPlugin")) return void console.warn("Tried to initialize " + o + " on an element that already has a Foundation plugin."); | |
if (e.attr("data-options")) { | |
e.attr("data-options").split(";").forEach(function(t, e) { | |
var s = t.split(":").map(function(t) { | |
return t.trim() | |
}); | |
s[0] && (n[s[0]] = i(s[1])) | |
}) | |
} | |
try { | |
e.data("zfPlugin", new a(t(this), n)) | |
} catch (s) { | |
console.error(s) | |
} finally { | |
return | |
} | |
}) | |
}) | |
}, | |
getFnName: e, | |
transitionend: function(t) { | |
var e, i = { | |
transition: "transitionend", | |
WebkitTransition: "webkitTransitionEnd", | |
MozTransition: "transitionend", | |
OTransition: "otransitionend" | |
}, | |
n = document.createElement("div"); | |
for (var s in i) "undefined" != typeof n.style[s] && (e = i[s]); | |
return e ? e : (e = setTimeout(function() { | |
t.triggerHandler("transitionend", [t]) | |
}, 1), "transitionend") | |
} | |
}; | |
o.util = { | |
throttle: function(t, e) { | |
var i = null; | |
return function() { | |
var n = this, | |
s = arguments; | |
null === i && (i = setTimeout(function() { | |
t.apply(n, s), i = null | |
}, e)) | |
} | |
} | |
}; | |
var a = function(i) { | |
var n = typeof i, | |
s = t("meta.foundation-mq"), | |
a = t(".no-js"); | |
if (s.length || t('<meta class="foundation-mq">').appendTo(document.head), a.length && a.removeClass("no-js"), "undefined" === n) o.MediaQuery._init(), o.reflow(this); | |
else { | |
if ("string" !== n) throw new TypeError("We're sorry, " + n + " is not a valid parameter. You must use a string representing the method you wish to invoke."); | |
var r = Array.prototype.slice.call(arguments, 1), | |
l = this.data("zfPlugin"); | |
if (void 0 === l || void 0 === l[i]) throw new ReferenceError("We're sorry, '" + i + "' is not an available method for " + (l ? e(l) : "this element") + "."); | |
1 === this.length ? l[i].apply(l, r) : this.each(function(e, n) { | |
l[i].apply(t(n).data("zfPlugin"), r) | |
}) | |
} | |
return this | |
}; | |
window.Foundation = o, t.fn.foundation = a, | |
function() { | |
Date.now && window.Date.now || (window.Date.now = Date.now = function() { | |
return (new Date).getTime() | |
}); | |
for (var t = ["webkit", "moz"], e = 0; e < t.length && !window.requestAnimationFrame; ++e) { | |
var i = t[e]; | |
window.requestAnimationFrame = window[i + "RequestAnimationFrame"], window.cancelAnimationFrame = window[i + "CancelAnimationFrame"] || window[i + "CancelRequestAnimationFrame"] | |
} | |
if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) { | |
var n = 0; | |
window.requestAnimationFrame = function(t) { | |
var e = Date.now(), | |
i = Math.max(n + 16, e); | |
return setTimeout(function() { | |
t(n = i) | |
}, i - e) | |
}, window.cancelAnimationFrame = clearTimeout | |
} | |
window.performance && window.performance.now || (window.performance = { | |
start: Date.now(), | |
now: function() { | |
return Date.now() - this.start | |
} | |
}) | |
}(), Function.prototype.bind || (Function.prototype.bind = function(t) { | |
if ("function" != typeof this) throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); | |
var e = Array.prototype.slice.call(arguments, 1), | |
i = this, | |
n = function() {}, | |
s = function() { | |
return i.apply(this instanceof n ? this : t, e.concat(Array.prototype.slice.call(arguments))) | |
}; | |
return this.prototype && (n.prototype = this.prototype), s.prototype = new n, s | |
}) | |
}(jQuery), ! function(t) { | |
function e(t, e, n, s) { | |
var o, a, r, l, u = i(t); | |
if (e) { | |
var d = i(e); | |
a = u.offset.top + u.height <= d.height + d.offset.top, o = u.offset.top >= d.offset.top, r = u.offset.left >= d.offset.left, l = u.offset.left + u.width <= d.width + d.offset.left | |
} else a = u.offset.top + u.height <= u.windowDims.height + u.windowDims.offset.top, o = u.offset.top >= u.windowDims.offset.top, r = u.offset.left >= u.windowDims.offset.left, l = u.offset.left + u.width <= u.windowDims.width; | |
var h = [a, o, r, l]; | |
return n ? r === l == !0 : s ? o === a == !0 : -1 === h.indexOf(!1) | |
} | |
function i(t, e) { | |
if (t = t.length ? t[0] : t, t === window || t === document) throw new Error("I'm sorry, Dave. I'm afraid I can't do that."); | |
var i = t.getBoundingClientRect(), | |
n = t.parentNode.getBoundingClientRect(), | |
s = document.body.getBoundingClientRect(), | |
o = window.pageYOffset, | |
a = window.pageXOffset; | |
return { | |
width: i.width, | |
height: i.height, | |
offset: { | |
top: i.top + o, | |
left: i.left + a | |
}, | |
parentDims: { | |
width: n.width, | |
height: n.height, | |
offset: { | |
top: n.top + o, | |
left: n.left + a | |
} | |
}, | |
windowDims: { | |
width: s.width, | |
height: s.height, | |
offset: { | |
top: o, | |
left: a | |
} | |
} | |
} | |
} | |
function n(t, e, n, s, o, a) { | |
var r = i(t), | |
l = e ? i(e) : null; | |
switch (n) { | |
case "top": | |
return { | |
left: Foundation.rtl() ? l.offset.left - r.width + l.width : l.offset.left, | |
top: l.offset.top - (r.height + s) | |
}; | |
case "left": | |
return { | |
left: l.offset.left - (r.width + o), | |
top: l.offset.top | |
}; | |
case "right": | |
return { | |
left: l.offset.left + l.width + o, | |
top: l.offset.top | |
}; | |
case "center top": | |
return { | |
left: l.offset.left + l.width / 2 - r.width / 2, | |
top: l.offset.top - (r.height + s) | |
}; | |
case "center bottom": | |
return { | |
left: a ? o : l.offset.left + l.width / 2 - r.width / 2, | |
top: l.offset.top + l.height + s | |
}; | |
case "center left": | |
return { | |
left: l.offset.left - (r.width + o), | |
top: l.offset.top + l.height / 2 - r.height / 2 | |
}; | |
case "center right": | |
return { | |
left: l.offset.left + l.width + o + 1, | |
top: l.offset.top + l.height / 2 - r.height / 2 | |
}; | |
case "center": | |
return { | |
left: r.windowDims.offset.left + r.windowDims.width / 2 - r.width / 2, | |
top: r.windowDims.offset.top + r.windowDims.height / 2 - r.height / 2 | |
}; | |
case "reveal": | |
return { | |
left: (r.windowDims.width - r.width) / 2, | |
top: r.windowDims.offset.top + s | |
}; | |
case "reveal full": | |
return { | |
left: r.windowDims.offset.left, | |
top: r.windowDims.offset.top | |
}; | |
case "left bottom": | |
return { | |
left: l.offset.left - (r.width + o), | |
top: l.offset.top + l.height | |
}; | |
case "right bottom": | |
return { | |
left: l.offset.left + l.width + o - r.width, | |
top: l.offset.top + l.height | |
}; | |
default: | |
return { | |
left: Foundation.rtl() ? l.offset.left - r.width + l.width : l.offset.left, | |
top: l.offset.top + l.height + s | |
} | |
} | |
} | |
Foundation.Box = { | |
ImNotTouchingYou: e, | |
GetDimensions: i, | |
GetOffsets: n | |
} | |
}(jQuery), ! function(t) { | |
function e(t) { | |
var e = {}; | |
for (var i in t) e[t[i]] = t[i]; | |
return e | |
} | |
var i = { | |
9: "TAB", | |
13: "ENTER", | |
27: "ESCAPE", | |
32: "SPACE", | |
37: "ARROW_LEFT", | |
38: "ARROW_UP", | |
39: "ARROW_RIGHT", | |
40: "ARROW_DOWN" | |
}, | |
n = {}, | |
s = { | |
keys: e(i), | |
parseKey: function(t) { | |
var e = i[t.which || t.keyCode] || String.fromCharCode(t.which).toUpperCase(); | |
return t.shiftKey && (e = "SHIFT_" + e), t.ctrlKey && (e = "CTRL_" + e), t.altKey && (e = "ALT_" + e), e | |
}, | |
handleKey: function(e, i, s) { | |
var o, a, r, l = n[i], | |
u = this.parseKey(e); | |
if (!l) return console.warn("Component not defined!"); | |
if (o = "undefined" == typeof l.ltr ? l : Foundation.rtl() ? t.extend({}, l.ltr, l.rtl) : t.extend({}, l.rtl, l.ltr), a = o[u], r = s[a], r && "function" == typeof r) { | |
var d = r.apply(); | |
(s.handled || "function" == typeof s.handled) && s.handled(d) | |
} else(s.unhandled || "function" == typeof s.unhandled) && s.unhandled() | |
}, | |
findFocusable: function(e) { | |
return e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function() { | |
return t(this).is(":visible") && !(t(this).attr("tabindex") < 0) | |
}) | |
}, | |
register: function(t, e) { | |
n[t] = e | |
} | |
}; | |
Foundation.Keyboard = s | |
}(jQuery), ! function(t) { | |
function e(t) { | |
var e = {}; | |
return "string" != typeof t ? e : (t = t.trim().slice(1, -1)) ? e = t.split("&").reduce(function(t, e) { | |
var i = e.replace(/\+/g, " ").split("="), | |
n = i[0], | |
s = i[1]; | |
return n = decodeURIComponent(n), s = void 0 === s ? null : decodeURIComponent(s), t.hasOwnProperty(n) ? Array.isArray(t[n]) ? t[n].push(s) : t[n] = [t[n], s] : t[n] = s, t | |
}, {}) : e | |
} | |
var i = { | |
queries: [], | |
current: "", | |
_init: function() { | |
var i, n = this, | |
s = t(".foundation-mq").css("font-family"); | |
i = e(s); | |
for (var o in i) i.hasOwnProperty(o) && n.queries.push({ | |
name: o, | |
value: "only screen and (min-width: " + i[o] + ")" | |
}); | |
this.current = this._getCurrentSize(), this._watcher() | |
}, | |
atLeast: function(t) { | |
var e = this.get(t); | |
return e ? window.matchMedia(e).matches : !1 | |
}, | |
get: function(t) { | |
for (var e in this.queries) | |
if (this.queries.hasOwnProperty(e)) { | |
var i = this.queries[e]; | |
if (t === i.name) return i.value | |
} | |
return null | |
}, | |
_getCurrentSize: function() { | |
for (var t, e = 0; e < this.queries.length; e++) { | |
var i = this.queries[e]; | |
window.matchMedia(i.value).matches && (t = i) | |
} | |
return "object" == typeof t ? t.name : t | |
}, | |
_watcher: function() { | |
var e = this; | |
t(window).on("resize.zf.mediaquery", function() { | |
var i = e._getCurrentSize(), | |
n = e.current; | |
i !== n && (e.current = i, t(window).trigger("changed.zf.mediaquery", [i, n])) | |
}) | |
} | |
}; | |
Foundation.MediaQuery = i, window.matchMedia || (window.matchMedia = function() { | |
"use strict"; | |
var t = window.styleMedia || window.media; | |
if (!t) { | |
var e = document.createElement("style"), | |
i = document.getElementsByTagName("script")[0], | |
n = null; | |
e.type = "text/css", e.id = "matchmediajs-test", i.parentNode.insertBefore(e, i), n = "getComputedStyle" in window && window.getComputedStyle(e, null) || e.currentStyle, t = { | |
matchMedium: function(t) { | |
var i = "@media " + t + "{ #matchmediajs-test { width: 1px; } }"; | |
return e.styleSheet ? e.styleSheet.cssText = i : e.textContent = i, "1px" === n.width | |
} | |
} | |
} | |
return function(e) { | |
return { | |
matches: t.matchMedium(e || "all"), | |
media: e || "all" | |
} | |
} | |
}()), Foundation.MediaQuery = i | |
}(jQuery), ! function(t) { | |
function e(t, e, i) { | |
function n(r) { | |
a || (a = window.performance.now()), o = r - a, i.apply(e), t > o ? s = window.requestAnimationFrame(n, e) : (window.cancelAnimationFrame(s), e.trigger("finished.zf.animate", [e]).triggerHandler("finished.zf.animate", [e])) | |
} | |
var s, o, a = null; | |
s = window.requestAnimationFrame(n) | |
} | |
function i(e, i, o, a) { | |
function r() { | |
e || i.hide(), l(), a && a.apply(i) | |
} | |
function l() { | |
i[0].style.transitionDuration = 0, i.removeClass(u + " " + d + " " + o) | |
} | |
if (i = t(i).eq(0), i.length) { | |
var u = e ? n[0] : n[1], | |
d = e ? s[0] : s[1]; | |
l(), i.addClass(o).css("transition", "none"), requestAnimationFrame(function() { | |
i.addClass(u), e && i.show() | |
}), requestAnimationFrame(function() { | |
i[0].offsetWidth, i.css("transition", "").addClass(d) | |
}), i.one(Foundation.transitionend(i), r) | |
} | |
} | |
var n = ["mui-enter", "mui-leave"], | |
s = ["mui-enter-active", "mui-leave-active"], | |
o = { | |
animateIn: function(t, e, n) { | |
i(!0, t, e, n) | |
}, | |
animateOut: function(t, e, n) { | |
i(!1, t, e, n) | |
} | |
}; | |
Foundation.Move = e, Foundation.Motion = o | |
}(jQuery), ! function(t) { | |
var e = { | |
Feather: function(e) { | |
var i = arguments.length <= 1 || void 0 === arguments[1] ? "zf" : arguments[1]; | |
e.attr("role", "menubar"); | |
var n = e.find("li").attr({ | |
role: "menuitem" | |
}), | |
s = "is-" + i + "-submenu", | |
o = s + "-item", | |
a = "is-" + i + "-submenu-parent"; | |
e.find("a:first").attr("tabindex", 0), n.each(function() { | |
var e = t(this), | |
i = e.children("ul"); | |
i.length && (e.addClass(a).attr({ | |
"aria-haspopup": !0, | |
"aria-expanded": !1, | |
"aria-label": e.children("a:first").text() | |
}), i.addClass("submenu " + s).attr({ | |
"data-submenu": "", | |
"aria-hidden": !0, | |
role: "menu" | |
})), e.parent("[data-submenu]").length && e.addClass("is-submenu-item " + o) | |
}) | |
}, | |
Burn: function(t, e) { | |
var i = (t.find("li").removeAttr("tabindex"), "is-" + e + "-submenu"), | |
n = i + "-item", | |
s = "is-" + e + "-submenu-parent"; | |
t.find("*").removeClass(i + " " + n + " " + s + " is-submenu-item submenu is-active").removeAttr("data-submenu").css("display", "") | |
} | |
}; | |
Foundation.Nest = e | |
}(jQuery), ! function(t) { | |
function e(t, e, i) { | |
var n, s, o = this, | |
a = e.duration, | |
r = Object.keys(t.data())[0] || "timer", | |
l = -1; | |
this.isPaused = !1, this.restart = function() { | |
l = -1, clearTimeout(s), this.start() | |
}, this.start = function() { | |
this.isPaused = !1, clearTimeout(s), l = 0 >= l ? a : l, t.data("paused", !1), n = Date.now(), s = setTimeout(function() { | |
e.infinite && o.restart(), i() | |
}, l), t.trigger("timerstart.zf." + r) | |
}, this.pause = function() { | |
this.isPaused = !0, clearTimeout(s), t.data("paused", !0); | |
var e = Date.now(); | |
l -= e - n, t.trigger("timerpaused.zf." + r) | |
} | |
} | |
function i(e, i) { | |
function n() { | |
s--, 0 === s && i() | |
} | |
var s = e.length; | |
0 === s && i(), e.each(function() { | |
this.complete ? n() : "undefined" != typeof this.naturalWidth && this.naturalWidth > 0 ? n() : t(this).one("load", function() { | |
n() | |
}) | |
}) | |
} | |
Foundation.Timer = e, Foundation.onImagesLoaded = i | |
}(jQuery), | |
function(t) { | |
function e() { | |
this.removeEventListener("touchmove", i), this.removeEventListener("touchend", e), u = !1 | |
} | |
function i(i) { | |
if (t.spotSwipe.preventDefault && i.preventDefault(), u) { | |
var n, s = i.touches[0].pageX, | |
a = (i.touches[0].pageY, o - s); | |
l = (new Date).getTime() - r, Math.abs(a) >= t.spotSwipe.moveThreshold && l <= t.spotSwipe.timeThreshold && (n = a > 0 ? "left" : "right"), n && (i.preventDefault(), e.call(this), t(this).trigger("swipe", n).trigger("swipe" + n)) | |
} | |
} | |
function n(t) { | |
1 == t.touches.length && (o = t.touches[0].pageX, a = t.touches[0].pageY, u = !0, r = (new Date).getTime(), this.addEventListener("touchmove", i, !1), this.addEventListener("touchend", e, !1)) | |
} | |
function s() { | |
this.addEventListener && this.addEventListener("touchstart", n, !1) | |
} | |
t.spotSwipe = { | |
version: "1.0.0", | |
enabled: "ontouchstart" in document.documentElement, | |
preventDefault: !1, | |
moveThreshold: 75, | |
timeThreshold: 200 | |
}; | |
var o, a, r, l, u = !1; | |
t.event.special.swipe = { | |
setup: s | |
}, t.each(["left", "up", "down", "right"], function() { | |
t.event.special["swipe" + this] = { | |
setup: function() { | |
t(this).on("swipe", t.noop) | |
} | |
} | |
}) | |
}(jQuery), ! function(t) { | |
t.fn.addTouch = function() { | |
this.each(function(i, n) { | |
t(n).bind("touchstart touchmove touchend touchcancel", function() { | |
e(event) | |
}) | |
}); | |
var e = function(t) { | |
var e, i = t.changedTouches, | |
n = i[0], | |
s = { | |
touchstart: "mousedown", | |
touchmove: "mousemove", | |
touchend: "mouseup" | |
}, | |
o = s[t.type]; | |
"MouseEvent" in window && "function" == typeof window.MouseEvent ? e = new window.MouseEvent(o, { | |
bubbles: !0, | |
cancelable: !0, | |
screenX: n.screenX, | |
screenY: n.screenY, | |
clientX: n.clientX, | |
clientY: n.clientY | |
}) : (e = document.createEvent("MouseEvent"), e.initMouseEvent(o, !0, !0, window, 1, n.screenX, n.screenY, n.clientX, n.clientY, !1, !1, !1, !1, 0, null)), n.target.dispatchEvent(e) | |
} | |
} | |
}(jQuery), ! function(t) { | |
function e() { | |
o(), n(), s(), i() | |
} | |
function i(e) { | |
var i = t("[data-yeti-box]"), | |
n = ["dropdown", "tooltip", "reveal"]; | |
if (e && ("string" == typeof e ? n.push(e) : "object" == typeof e && "string" == typeof e[0] ? n.concat(e) : console.error("Plugin names must be strings")), i.length) { | |
var s = n.map(function(t) { | |
return "closeme.zf." + t | |
}).join(" "); | |
t(window).off(s).on(s, function(e, i) { | |
var n = e.namespace.split(".")[0], | |
s = t("[data-" + n + "]").not('[data-yeti-box="' + i + '"]'); | |
s.each(function() { | |
var e = t(this); | |
e.triggerHandler("close.zf.trigger", [e]) | |
}) | |
}) | |
} | |
} | |
function n(e) { | |
var i = void 0, | |
n = t("[data-resize]"); | |
n.length && t(window).off("resize.zf.trigger").on("resize.zf.trigger", function(s) { | |
i && clearTimeout(i), i = setTimeout(function() { | |
a || n.each(function() { | |
t(this).triggerHandler("resizeme.zf.trigger") | |
}), n.attr("data-events", "resize") | |
}, e || 10) | |
}) | |
} | |
function s(e) { | |
var i = void 0, | |
n = t("[data-scroll]"); | |
n.length && t(window).off("scroll.zf.trigger").on("scroll.zf.trigger", function(s) { | |
i && clearTimeout(i), i = setTimeout(function() { | |
a || n.each(function() { | |
t(this).triggerHandler("scrollme.zf.trigger") | |
}), n.attr("data-events", "scroll") | |
}, e || 10) | |
}) | |
} | |
function o() { | |
if (!a) return !1; | |
var e = document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]"), | |
i = function(e) { | |
var i = t(e[0].target); | |
switch (i.attr("data-events")) { | |
case "resize": | |
i.triggerHandler("resizeme.zf.trigger", [i]); | |
break; | |
case "scroll": | |
i.triggerHandler("scrollme.zf.trigger", [i, window.pageYOffset]); | |
break; | |
default: | |
return !1 | |
} | |
}; | |
if (e.length) | |
for (var n = 0; n <= e.length - 1; n++) { | |
var s = new a(i); | |
s.observe(e[n], { | |
attributes: !0, | |
childList: !1, | |
characterData: !1, | |
subtree: !1, | |
attributeFilter: ["data-events"] | |
}) | |
} | |
} | |
var a = function() { | |
for (var t = ["WebKit", "Moz", "O", "Ms", ""], e = 0; e < t.length; e++) | |
if (t[e] + "MutationObserver" in window) return window[t[e] + "MutationObserver"]; | |
return !1 | |
}(), | |
r = function(e, i) { | |
e.data(i).split(" ").forEach(function(n) { | |
t("#" + n)["close" === i ? "trigger" : "triggerHandler"](i + ".zf.trigger", [e]) | |
}) | |
}; | |
t(document).on("click.zf.trigger", "[data-open]", function() { | |
r(t(this), "open") | |
}), t(document).on("click.zf.trigger", "[data-close]", function() { | |
var e = t(this).data("close"); | |
e ? r(t(this), "close") : t(this).trigger("close.zf.trigger") | |
}), t(document).on("click.zf.trigger", "[data-toggle]", function() { | |
r(t(this), "toggle") | |
}), t(document).on("close.zf.trigger", "[data-closable]", function(e) { | |
e.stopPropagation(); | |
var i = t(this).data("closable"); | |
"" !== i ? Foundation.Motion.animateOut(t(this), i, function() { | |
t(this).trigger("closed.zf") | |
}) : t(this).fadeOut().trigger("closed.zf") | |
}), t(document).on("focus.zf.trigger blur.zf.trigger", "[data-toggle-focus]", function() { | |
var e = t(this).data("toggle-focus"); | |
t("#" + e).triggerHandler("toggle.zf.trigger", [t(this)]) | |
}), t(window).load(function() { | |
e() | |
}), Foundation.IHearYou = e | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i) { | |
var n = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1]; | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Abide") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this.$inputs = this.$element.find("input, textarea, select"), this._events() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
this.$element.off(".abide").on("reset.zf.abide", function() { | |
e.resetForm() | |
}).on("submit.zf.abide", function() { | |
return e.validateForm() | |
}), "fieldChange" === this.options.validateOn && this.$inputs.off("change.zf.abide").on("change.zf.abide", function(i) { | |
e.validateInput(t(i.target)) | |
}), this.options.liveValidate && this.$inputs.off("input.zf.abide").on("input.zf.abide", function(i) { | |
e.validateInput(t(i.target)) | |
}) | |
} | |
}, { | |
key: "_reflow", | |
value: function() { | |
this._init() | |
} | |
}, { | |
key: "requiredCheck", | |
value: function(t) { | |
if (!t.attr("required")) return !0; | |
var e = !0; | |
switch (t[0].type) { | |
case "checkbox": | |
e = t[0].checked; | |
break; | |
case "select": | |
case "select-one": | |
case "select-multiple": | |
var i = t.find("option:selected"); | |
i.length && i.val() || (e = !1); | |
break; | |
default: | |
t.val() && t.val().length || (e = !1) | |
} | |
return e | |
} | |
}, { | |
key: "findFormError", | |
value: function(t) { | |
var e = t.siblings(this.options.formErrorSelector); | |
return e.length || (e = t.parent().find(this.options.formErrorSelector)), e | |
} | |
}, { | |
key: "findLabel", | |
value: function(t) { | |
var e = t[0].id, | |
i = this.$element.find('label[for="' + e + '"]'); | |
return i.length ? i : t.closest("label") | |
} | |
}, { | |
key: "findRadioLabels", | |
value: function(e) { | |
var i = this, | |
n = e.map(function(e, n) { | |
var s = n.id, | |
o = i.$element.find('label[for="' + s + '"]'); | |
return o.length || (o = t(n).closest("label")), o[0] | |
}); | |
return t(n) | |
} | |
}, { | |
key: "addErrorClasses", | |
value: function(t) { | |
var e = this.findLabel(t), | |
i = this.findFormError(t); | |
e.length && e.addClass(this.options.labelErrorClass), i.length && i.addClass(this.options.formErrorClass), t.addClass(this.options.inputErrorClass).attr("data-invalid", "") | |
} | |
}, { | |
key: "removeRadioErrorClasses", | |
value: function(t) { | |
var e = this.$element.find(':radio[name="' + t + '"]'), | |
i = this.findRadioLabels(e), | |
n = this.findFormError(e); | |
i.length && i.removeClass(this.options.labelErrorClass), n.length && n.removeClass(this.options.formErrorClass), e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid") | |
} | |
}, { | |
key: "removeErrorClasses", | |
value: function(t) { | |
if ("radio" == t[0].type) return this.removeRadioErrorClasses(t.attr("name")); | |
var e = this.findLabel(t), | |
i = this.findFormError(t); | |
e.length && e.removeClass(this.options.labelErrorClass), i.length && i.removeClass(this.options.formErrorClass), t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid") | |
} | |
}, { | |
key: "validateInput", | |
value: function(t) { | |
var e = this.requiredCheck(t), | |
i = !1, | |
n = !0, | |
s = t.attr("data-validator"), | |
o = !0; | |
if (t.is("[data-abide-ignore]") || t.is('[type="hidden"]')) return !0; | |
switch (t[0].type) { | |
case "radio": | |
i = this.validateRadio(t.attr("name")); | |
break; | |
case "checkbox": | |
i = e; | |
break; | |
case "select": | |
case "select-one": | |
case "select-multiple": | |
i = e; | |
break; | |
default: | |
i = this.validateText(t) | |
} | |
s && (n = this.matchValidation(t, s, t.attr("required"))), t.attr("data-equalto") && (o = this.options.validators.equalTo(t)); | |
var a = -1 === [e, i, n, o].indexOf(!1), | |
r = (a ? "valid" : "invalid") + ".zf.abide"; | |
return this[a ? "removeErrorClasses" : "addErrorClasses"](t), t.trigger(r, [t]), a | |
} | |
}, { | |
key: "validateForm", | |
value: function() { | |
var e = [], | |
i = this; | |
this.$inputs.each(function() { | |
e.push(i.validateInput(t(this))) | |
}); | |
var n = -1 === e.indexOf(!1); | |
return this.$element.find("[data-abide-error]").css("display", n ? "none" : "block"), this.$element.trigger((n ? "formvalid" : "forminvalid") + ".zf.abide", [this.$element]), n | |
} | |
}, { | |
key: "validateText", | |
value: function(t, e) { | |
e = e || t.attr("pattern") || t.attr("type"); | |
var i = t.val(), | |
n = !1; | |
return i.length ? n = this.options.patterns.hasOwnProperty(e) ? this.options.patterns[e].test(i) : e !== t.attr("type") ? new RegExp(e).test(i) : !0 : t.prop("required") || (n = !0), n | |
} | |
}, { | |
key: "validateRadio", | |
value: function(e) { | |
var i = this.$element.find(':radio[name="' + e + '"]'), | |
n = !1, | |
s = !1; | |
return i.each(function(e, i) { | |
t(i).attr("required") && (s = !0) | |
}), s || (n = !0), n || i.each(function(e, i) { | |
t(i).prop("checked") && (n = !0) | |
}), n | |
} | |
}, { | |
key: "matchValidation", | |
value: function(t, e, i) { | |
var n = this; | |
i = !!i; | |
var s = e.split(" ").map(function(e) { | |
return n.options.validators[e](t, i, t.parent()) | |
}); | |
return -1 === s.indexOf(!1) | |
} | |
}, { | |
key: "resetForm", | |
value: function() { | |
var e = this.$element, | |
i = this.options; | |
t("." + i.labelErrorClass, e).not("small").removeClass(i.labelErrorClass), t("." + i.inputErrorClass, e).not("small").removeClass(i.inputErrorClass), t(i.formErrorSelector + "." + i.formErrorClass).removeClass(i.formErrorClass), e.find("[data-abide-error]").css("display", "none"), t(":input", e).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"), t(":input:radio", e).not("[data-abide-ignore]").prop("checked", !1).removeAttr("data-invalid"), t(":input:checkbox", e).not("[data-abide-ignore]").prop("checked", !1).removeAttr("data-invalid"), e.trigger("formreset.zf.abide", [e]) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
var e = this; | |
this.$element.off(".abide").find("[data-abide-error]").css("display", "none"), this.$inputs.off(".abide").each(function() { | |
e.removeErrorClasses(t(this)) | |
}), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
validateOn: "fieldChange", | |
labelErrorClass: "is-invalid-label", | |
inputErrorClass: "is-invalid-input", | |
formErrorSelector: ".form-error", | |
formErrorClass: "is-visible", | |
liveValidate: !1, | |
patterns: { | |
alpha: /^[a-zA-Z]+$/, | |
alpha_numeric: /^[a-zA-Z0-9]+$/, | |
integer: /^[-+]?\d+$/, | |
number: /^[-+]?\d*(?:[\.\,]\d+)?$/, | |
card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, | |
cvv: /^([0-9]){3,4}$/, | |
email: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, | |
url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/, | |
domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/, | |
datetime: /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, | |
date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/, | |
time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, | |
dateISO: /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, | |
month_day_year: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, | |
day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, | |
color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ | |
}, | |
validators: { | |
equalTo: function(e, i, n) { | |
return t("#" + e.attr("data-equalto")).val() === e.val() | |
} | |
} | |
}, Foundation.plugin(e, "Abide") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Accordion"), Foundation.Keyboard.register("Accordion", { | |
ENTER: "toggle", | |
SPACE: "toggle", | |
ARROW_DOWN: "next", | |
ARROW_UP: "previous" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this.$element.attr("role", "tablist"), this.$tabs = this.$element.children("li, [data-accordion-item]"), this.$tabs.each(function(e, i) { | |
var n = t(i), | |
s = n.children("[data-tab-content]"), | |
o = s[0].id || Foundation.GetYoDigits(6, "accordion"), | |
a = i.id || o + "-label"; | |
n.find("a:first").attr({ | |
"aria-controls": o, | |
role: "tab", | |
id: a, | |
"aria-expanded": !1, | |
"aria-selected": !1 | |
}), s.attr({ | |
role: "tabpanel", | |
"aria-labelledby": a, | |
"aria-hidden": !0, | |
id: o | |
}) | |
}); | |
var e = this.$element.find(".is-active").children("[data-tab-content]"); | |
e.length && this.down(e, !0), this._events() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
this.$tabs.each(function() { | |
var i = t(this), | |
n = i.children("[data-tab-content]"); | |
n.length && i.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion", function(t) { | |
t.preventDefault(), i.hasClass("is-active") ? (e.options.allowAllClosed || i.siblings().hasClass("is-active")) && e.up(n) : e.down(n) | |
}).on("keydown.zf.accordion", function(t) { | |
Foundation.Keyboard.handleKey(t, "Accordion", { | |
toggle: function() { | |
e.toggle(n) | |
}, | |
next: function() { | |
var t = i.next().find("a").focus(); | |
e.options.multiExpand || t.trigger("click.zf.accordion") | |
}, | |
previous: function() { | |
var t = i.prev().find("a").focus(); | |
e.options.multiExpand || t.trigger("click.zf.accordion") | |
}, | |
handled: function() { | |
t.preventDefault(), t.stopPropagation() | |
} | |
}) | |
}) | |
}) | |
} | |
}, { | |
key: "toggle", | |
value: function(t) { | |
if (t.parent().hasClass("is-active")) { | |
if (!this.options.allowAllClosed && !t.parent().siblings().hasClass("is-active")) return; | |
this.up(t) | |
} else this.down(t) | |
} | |
}, { | |
key: "down", | |
value: function(e, i) { | |
var n = this; | |
if (!this.options.multiExpand && !i) { | |
var s = this.$element.children(".is-active").children("[data-tab-content]"); | |
s.length && this.up(s) | |
} | |
e.attr("aria-hidden", !1).parent("[data-tab-content]").addBack().parent().addClass("is-active"), e.slideDown(this.options.slideSpeed, function() { | |
n.$element.trigger("down.zf.accordion", [e]) | |
}), t("#" + e.attr("aria-labelledby")).attr({ | |
"aria-expanded": !0, | |
"aria-selected": !0 | |
}) | |
} | |
}, { | |
key: "up", | |
value: function(e) { | |
var i = e.parent().siblings(), | |
n = this, | |
s = this.options.multiExpand ? i.hasClass("is-active") : e.parent().hasClass("is-active"); | |
(this.options.allowAllClosed || s) && (e.slideUp(n.options.slideSpeed, function() { | |
n.$element.trigger("up.zf.accordion", [e]) | |
}), e.attr("aria-hidden", !0).parent().removeClass("is-active"), t("#" + e.attr("aria-labelledby")).attr({ | |
"aria-expanded": !1, | |
"aria-selected": !1 | |
})) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display", ""), this.$element.find("a").off(".zf.accordion"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
slideSpeed: 250, | |
multiExpand: !1, | |
allowAllClosed: !1 | |
}, Foundation.plugin(e, "Accordion") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), Foundation.Nest.Feather(this.$element, "accordion"), this._init(), Foundation.registerPlugin(this, "AccordionMenu"), Foundation.Keyboard.register("AccordionMenu", { | |
ENTER: "toggle", | |
SPACE: "toggle", | |
ARROW_RIGHT: "open", | |
ARROW_UP: "up", | |
ARROW_DOWN: "down", | |
ARROW_LEFT: "close", | |
ESCAPE: "closeAll", | |
TAB: "down", | |
SHIFT_TAB: "up" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this.$element.find("[data-submenu]").not(".is-active").slideUp(0), this.$element.attr({ | |
role: "tablist", | |
"aria-multiselectable": this.options.multiOpen | |
}), this.$menuLinks = this.$element.find(".is-accordion-submenu-parent"), this.$menuLinks.each(function() { | |
var e = this.id || Foundation.GetYoDigits(6, "acc-menu-link"), | |
i = t(this), | |
n = i.children("[data-submenu]"), | |
s = n[0].id || Foundation.GetYoDigits(6, "acc-menu"), | |
o = n.hasClass("is-active"); | |
i.attr({ | |
"aria-controls": s, | |
"aria-expanded": o, | |
role: "tab", | |
id: e | |
}), n.attr({ | |
"aria-labelledby": e, | |
"aria-hidden": !o, | |
role: "tabpanel", | |
id: s | |
}) | |
}); | |
var e = this.$element.find(".is-active"); | |
if (e.length) { | |
var i = this; | |
e.each(function() { | |
i.down(t(this)) | |
}) | |
} | |
this._events() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
this.$element.find("li").each(function() { | |
var i = t(this).children("[data-submenu]"); | |
i.length && t(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu", function(t) { | |
t.preventDefault(), e.toggle(i) | |
}) | |
}).on("keydown.zf.accordionmenu", function(i) { | |
var n, s, o = t(this), | |
a = o.parent("ul").children("li"), | |
r = o.children("[data-submenu]"); | |
a.each(function(e) { | |
return t(this).is(o) ? (n = a.eq(Math.max(0, e - 1)).find("a").first(), | |
s = a.eq(Math.min(e + 1, a.length - 1)).find("a").first(), t(this).children("[data-submenu]:visible").length && (s = o.find("li:first-child").find("a").first()), t(this).is(":first-child") ? n = o.parents("li").first().find("a").first() : n.children("[data-submenu]:visible").length && (n = n.find("li:last-child").find("a").first()), void(t(this).is(":last-child") && (s = o.parents("li").first().next("li").find("a").first()))) : void 0 | |
}), Foundation.Keyboard.handleKey(i, "AccordionMenu", { | |
open: function() { | |
r.is(":hidden") && (e.down(r), r.find("li").first().find("a").first().focus()) | |
}, | |
close: function() { | |
r.length && !r.is(":hidden") ? e.up(r) : o.parent("[data-submenu]").length && (e.up(o.parent("[data-submenu]")), o.parents("li").first().find("a").first().focus()) | |
}, | |
up: function() { | |
return n.attr("tabindex", -1).focus(), !0 | |
}, | |
down: function() { | |
return s.attr("tabindex", -1).focus(), !0 | |
}, | |
toggle: function() { | |
o.children("[data-submenu]").length && e.toggle(o.children("[data-submenu]")) | |
}, | |
closeAll: function() { | |
e.hideAll() | |
}, | |
handled: function(t) { | |
t && i.preventDefault(), i.stopImmediatePropagation() | |
} | |
}) | |
}) | |
} | |
}, { | |
key: "hideAll", | |
value: function() { | |
this.$element.find("[data-submenu]").slideUp(this.options.slideSpeed) | |
} | |
}, { | |
key: "toggle", | |
value: function(t) { | |
t.is(":animated") || (t.is(":hidden") ? this.down(t) : this.up(t)) | |
} | |
}, { | |
key: "down", | |
value: function(t) { | |
var e = this; | |
this.options.multiOpen || this.up(this.$element.find(".is-active").not(t.parentsUntil(this.$element).add(t))), t.addClass("is-active").attr({ | |
"aria-hidden": !1 | |
}).parent(".is-accordion-submenu-parent").attr({ | |
"aria-expanded": !0 | |
}), t.slideDown(e.options.slideSpeed, function() { | |
e.$element.trigger("down.zf.accordionMenu", [t]) | |
}) | |
} | |
}, { | |
key: "up", | |
value: function(t) { | |
var e = this; | |
t.slideUp(e.options.slideSpeed, function() { | |
e.$element.trigger("up.zf.accordionMenu", [t]) | |
}); | |
var i = t.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden", !0); | |
i.parent(".is-accordion-submenu-parent").attr("aria-expanded", !1) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.find("[data-submenu]").slideDown(0).css("display", ""), this.$element.find("a").off("click.zf.accordionMenu"), Foundation.Nest.Burn(this.$element, "accordion"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
slideSpeed: 250, | |
multiOpen: !0 | |
}, Foundation.plugin(e, "AccordionMenu") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), Foundation.Nest.Feather(this.$element, "drilldown"), this._init(), Foundation.registerPlugin(this, "Drilldown"), Foundation.Keyboard.register("Drilldown", { | |
ENTER: "open", | |
SPACE: "open", | |
ARROW_RIGHT: "next", | |
ARROW_UP: "up", | |
ARROW_DOWN: "down", | |
ARROW_LEFT: "previous", | |
ESCAPE: "close", | |
TAB: "down", | |
SHIFT_TAB: "up" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this.$submenuAnchors = this.$element.find("li.is-drilldown-submenu-parent").children("a"), this.$submenus = this.$submenuAnchors.parent("li").children("[data-submenu]"), this.$menuItems = this.$element.find("li").not(".js-drilldown-back").attr("role", "menuitem").find("a"), this._prepareMenu(), this._keyboardEvents() | |
} | |
}, { | |
key: "_prepareMenu", | |
value: function() { | |
var e = this; | |
this.$submenuAnchors.each(function() { | |
var i = t(this), | |
n = i.parent(); | |
e.options.parentLink && i.clone().prependTo(n.children("[data-submenu]")).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>'), i.data("savedHref", i.attr("href")).removeAttr("href"), i.children("[data-submenu]").attr({ | |
"aria-hidden": !0, | |
tabindex: 0, | |
role: "menu" | |
}), e._events(i) | |
}), this.$submenus.each(function() { | |
var i = t(this), | |
n = i.find(".js-drilldown-back"); | |
n.length || i.prepend(e.options.backButton), e._back(i) | |
}), this.$element.parent().hasClass("is-drilldown") || (this.$wrapper = t(this.options.wrapper).addClass("is-drilldown"), this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims())) | |
} | |
}, { | |
key: "_events", | |
value: function(e) { | |
var i = this; | |
e.off("click.zf.drilldown").on("click.zf.drilldown", function(n) { | |
if (t(n.target).parentsUntil("ul", "li").hasClass("is-drilldown-submenu-parent") && (n.stopImmediatePropagation(), n.preventDefault()), i._show(e.parent("li")), i.options.closeOnClick) { | |
var s = t("body"); | |
s.off(".zf.drilldown").on("click.zf.drilldown", function(e) { | |
e.target === i.$element[0] || t.contains(i.$element[0], e.target) || (e.preventDefault(), i._hideAll(), s.off(".zf.drilldown")) | |
}) | |
} | |
}) | |
} | |
}, { | |
key: "_keyboardEvents", | |
value: function() { | |
var e = this; | |
this.$menuItems.add(this.$element.find(".js-drilldown-back > a")).on("keydown.zf.drilldown", function(i) { | |
var n, s, o = t(this), | |
a = o.parent("li").parent("ul").children("li").children("a"); | |
a.each(function(e) { | |
return t(this).is(o) ? (n = a.eq(Math.max(0, e - 1)), void(s = a.eq(Math.min(e + 1, a.length - 1)))) : void 0 | |
}), Foundation.Keyboard.handleKey(i, "Drilldown", { | |
next: function() { | |
return o.is(e.$submenuAnchors) ? (e._show(o.parent("li")), o.parent("li").one(Foundation.transitionend(o), function() { | |
o.parent("li").find("ul li a").filter(e.$menuItems).first().focus() | |
}), !0) : void 0 | |
}, | |
previous: function() { | |
return e._hide(o.parent("li").parent("ul")), o.parent("li").parent("ul").one(Foundation.transitionend(o), function() { | |
setTimeout(function() { | |
o.parent("li").parent("ul").parent("li").children("a").first().focus() | |
}, 1) | |
}), !0 | |
}, | |
up: function() { | |
return n.focus(), !0 | |
}, | |
down: function() { | |
return s.focus(), !0 | |
}, | |
close: function() { | |
e._back() | |
}, | |
open: function() { | |
return o.is(e.$menuItems) ? o.is(e.$submenuAnchors) && (e._show(o.parent("li")), o.parent("li").one(Foundation.transitionend(o), function() { | |
o.parent("li").find("ul li a").filter(e.$menuItems).first().focus() | |
})) : (e._hide(o.parent("li").parent("ul")), o.parent("li").parent("ul").one(Foundation.transitionend(o), function() { | |
setTimeout(function() { | |
o.parent("li").parent("ul").parent("li").children("a").first().focus() | |
}, 1) | |
})), !0 | |
}, | |
handled: function(t) { | |
t && i.preventDefault(), i.stopImmediatePropagation() | |
} | |
}) | |
}) | |
} | |
}, { | |
key: "_hideAll", | |
value: function() { | |
var t = this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing"); | |
t.one(Foundation.transitionend(t), function(e) { | |
t.removeClass("is-active is-closing") | |
}), this.$element.trigger("closed.zf.drilldown") | |
} | |
}, { | |
key: "_back", | |
value: function(t) { | |
var e = this; | |
t.off("click.zf.drilldown"), t.children(".js-drilldown-back").on("click.zf.drilldown", function(i) { | |
i.stopImmediatePropagation(), e._hide(t) | |
}) | |
} | |
}, { | |
key: "_menuLinkEvents", | |
value: function() { | |
var t = this; | |
this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown", function(e) { | |
setTimeout(function() { | |
t._hideAll() | |
}, 0) | |
}) | |
} | |
}, { | |
key: "_show", | |
value: function(t) { | |
t.children("[data-submenu]").addClass("is-active"), this.$element.trigger("open.zf.drilldown", [t]) | |
} | |
}, { | |
key: "_hide", | |
value: function(t) { | |
t.addClass("is-closing").one(Foundation.transitionend(t), function() { | |
t.removeClass("is-active is-closing"), t.blur() | |
}), t.trigger("hide.zf.drilldown", [t]) | |
} | |
}, { | |
key: "_getMaxDims", | |
value: function() { | |
var e = 0, | |
i = {}; | |
return this.$submenus.add(this.$element).each(function() { | |
var i = t(this).children("li").length; | |
e = i > e ? i : e | |
}), i["min-height"] = e * this.$menuItems[0].getBoundingClientRect().height + "px", i["max-width"] = this.$element[0].getBoundingClientRect().width + "px", i | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this._hideAll(), Foundation.Nest.Burn(this.$element, "drilldown"), this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"), this.$submenuAnchors.each(function() { | |
t(this).off(".zf.drilldown") | |
}), this.$element.find("a").each(function() { | |
var e = t(this); | |
e.data("savedHref") && e.attr("href", e.data("savedHref")).removeData("savedHref") | |
}), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>', | |
wrapper: "<div></div>", | |
parentLink: !1, | |
closeOnClick: !1 | |
}, Foundation.plugin(e, "Drilldown") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Dropdown"), Foundation.Keyboard.register("Dropdown", { | |
ENTER: "open", | |
SPACE: "open", | |
ESCAPE: "close", | |
TAB: "tab_forward", | |
SHIFT_TAB: "tab_backward" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element.attr("id"); | |
this.$anchor = t('[data-toggle="' + e + '"]') || t('[data-open="' + e + '"]'), this.$anchor.attr({ | |
"aria-controls": e, | |
"data-is-focus": !1, | |
"data-yeti-box": e, | |
"aria-haspopup": !0, | |
"aria-expanded": !1 | |
}), this.options.positionClass = this.getPositionClass(), this.counter = 4, this.usedPositions = [], this.$element.attr({ | |
"aria-hidden": "true", | |
"data-yeti-box": e, | |
"data-resize": e, | |
"aria-labelledby": this.$anchor[0].id || Foundation.GetYoDigits(6, "dd-anchor") | |
}), this._events() | |
} | |
}, { | |
key: "getPositionClass", | |
value: function() { | |
var t = this.$element[0].className.match(/(top|left|right|bottom)/g); | |
t = t ? t[0] : ""; | |
var e = /float-(\S+)\s/.exec(this.$anchor[0].className); | |
e = e ? e[1] : ""; | |
var i = e ? e + " " + t : t; | |
return i | |
} | |
}, { | |
key: "_reposition", | |
value: function(t) { | |
this.usedPositions.push(t ? t : "bottom"), !t && this.usedPositions.indexOf("top") < 0 ? this.$element.addClass("top") : "top" === t && this.usedPositions.indexOf("bottom") < 0 ? this.$element.removeClass(t) : "left" === t && this.usedPositions.indexOf("right") < 0 ? this.$element.removeClass(t).addClass("right") : "right" === t && this.usedPositions.indexOf("left") < 0 ? this.$element.removeClass(t).addClass("left") : !t && this.usedPositions.indexOf("top") > -1 && this.usedPositions.indexOf("left") < 0 ? this.$element.addClass("left") : "top" === t && this.usedPositions.indexOf("bottom") > -1 && this.usedPositions.indexOf("left") < 0 ? this.$element.removeClass(t).addClass("left") : "left" === t && this.usedPositions.indexOf("right") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.$element.removeClass(t) : "right" === t && this.usedPositions.indexOf("left") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.$element.removeClass(t) : this.$element.removeClass(t), this.classChanged = !0, this.counter-- | |
} | |
}, { | |
key: "_setPosition", | |
value: function() { | |
if ("false" === this.$anchor.attr("aria-expanded")) return !1; | |
var t = this.getPositionClass(), | |
e = Foundation.Box.GetDimensions(this.$element), | |
i = (Foundation.Box.GetDimensions(this.$anchor), "left" === t ? "left" : "right" === t ? "left" : "top"), | |
n = "top" === i ? "height" : "width"; | |
"height" === n ? this.options.vOffset : this.options.hOffset; | |
if (e.width >= e.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element)) return this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, "center bottom", this.options.vOffset, this.options.hOffset, !0)).css({ | |
width: e.windowDims.width - 2 * this.options.hOffset, | |
height: "auto" | |
}), this.classChanged = !0, !1; | |
for (this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, t, this.options.vOffset, this.options.hOffset)); !Foundation.Box.ImNotTouchingYou(this.$element, !1, !0) && this.counter;) this._reposition(t), this._setPosition() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
this.$element.on({ | |
"open.zf.trigger": this.open.bind(this), | |
"close.zf.trigger": this.close.bind(this), | |
"toggle.zf.trigger": this.toggle.bind(this), | |
"resizeme.zf.trigger": this._setPosition.bind(this) | |
}), this.options.hover && (this.$anchor.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown", function() { | |
clearTimeout(e.timeout), e.timeout = setTimeout(function() { | |
e.open(), e.$anchor.data("hover", !0) | |
}, e.options.hoverDelay) | |
}).on("mouseleave.zf.dropdown", function() { | |
clearTimeout(e.timeout), e.timeout = setTimeout(function() { | |
e.close(), e.$anchor.data("hover", !1) | |
}, e.options.hoverDelay) | |
}), this.options.hoverPane && this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown", function() { | |
clearTimeout(e.timeout) | |
}).on("mouseleave.zf.dropdown", function() { | |
clearTimeout(e.timeout), e.timeout = setTimeout(function() { | |
e.close(), e.$anchor.data("hover", !1) | |
}, e.options.hoverDelay) | |
})), this.$anchor.add(this.$element).on("keydown.zf.dropdown", function(i) { | |
var n = t(this), | |
s = Foundation.Keyboard.findFocusable(e.$element); | |
Foundation.Keyboard.handleKey(i, "Dropdown", { | |
tab_forward: function() { | |
e.$element.find(":focus").is(s.eq(-1)) && (e.options.trapFocus ? (s.eq(0).focus(), i.preventDefault()) : e.close()) | |
}, | |
tab_backward: function() { | |
(e.$element.find(":focus").is(s.eq(0)) || e.$element.is(":focus")) && (e.options.trapFocus ? (s.eq(-1).focus(), i.preventDefault()) : e.close()) | |
}, | |
open: function() { | |
n.is(e.$anchor) && (e.open(), e.$element.attr("tabindex", -1).focus(), i.preventDefault()) | |
}, | |
close: function() { | |
e.close(), e.$anchor.focus() | |
} | |
}) | |
}) | |
} | |
}, { | |
key: "_addBodyHandler", | |
value: function() { | |
var e = t(document.body).not(this.$element), | |
i = this; | |
e.off("click.zf.dropdown").on("click.zf.dropdown", function(t) { | |
i.$anchor.is(t.target) || i.$anchor.find(t.target).length || i.$element.find(t.target).length || (i.close(), e.off("click.zf.dropdown")) | |
}) | |
} | |
}, { | |
key: "open", | |
value: function() { | |
if (this.$element.trigger("closeme.zf.dropdown", this.$element.attr("id")), this.$anchor.addClass("hover").attr({ | |
"aria-expanded": !0 | |
}), this._setPosition(), this.$element.addClass("is-open").attr({ | |
"aria-hidden": !1 | |
}), this.options.autoFocus) { | |
var t = Foundation.Keyboard.findFocusable(this.$element); | |
t.length && t.eq(0).focus() | |
} | |
this.options.closeOnClick && this._addBodyHandler(), this.$element.trigger("show.zf.dropdown", [this.$element]) | |
} | |
}, { | |
key: "close", | |
value: function() { | |
if (!this.$element.hasClass("is-open")) return !1; | |
if (this.$element.removeClass("is-open").attr({ | |
"aria-hidden": !0 | |
}), this.$anchor.removeClass("hover").attr("aria-expanded", !1), this.classChanged) { | |
var t = this.getPositionClass(); | |
t && this.$element.removeClass(t), this.$element.addClass(this.options.positionClass).css({ | |
height: "", | |
width: "" | |
}), this.classChanged = !1, this.counter = 4, this.usedPositions.length = 0 | |
} | |
this.$element.trigger("hide.zf.dropdown", [this.$element]) | |
} | |
}, { | |
key: "toggle", | |
value: function() { | |
if (this.$element.hasClass("is-open")) { | |
if (this.$anchor.data("hover")) return; | |
this.close() | |
} else this.open() | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.off(".zf.trigger").hide(), this.$anchor.off(".zf.dropdown"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
hoverDelay: 250, | |
hover: !1, | |
hoverPane: !1, | |
vOffset: 1, | |
hOffset: 1, | |
positionClass: "", | |
trapFocus: !1, | |
autoFocus: !1, | |
closeOnClick: !1 | |
}, Foundation.plugin(e, "Dropdown") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), Foundation.Nest.Feather(this.$element, "dropdown"), this._init(), Foundation.registerPlugin(this, "DropdownMenu"), Foundation.Keyboard.register("DropdownMenu", { | |
ENTER: "open", | |
SPACE: "open", | |
ARROW_RIGHT: "next", | |
ARROW_UP: "up", | |
ARROW_DOWN: "down", | |
ARROW_LEFT: "previous", | |
ESCAPE: "close" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var t = this.$element.find("li.is-dropdown-submenu-parent"); | |
this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub"), this.$menuItems = this.$element.find('[role="menuitem"]'), this.$tabs = this.$element.children('[role="menuitem"]'), this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass), this.$element.hasClass(this.options.rightClass) || "right" === this.options.alignment || Foundation.rtl() || this.$element.parents(".top-bar-right").is("*") ? (this.options.alignment = "right", t.addClass("opens-left")) : t.addClass("opens-right"), this.changed = !1, this._events() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this, | |
i = "ontouchstart" in window || "undefined" != typeof window.ontouchstart, | |
n = "is-dropdown-submenu-parent", | |
s = function(s) { | |
var o = t(s.target).parentsUntil("ul", "." + n), | |
a = o.hasClass(n), | |
r = "true" === o.attr("data-is-click"); | |
o.children(".is-dropdown-submenu"); | |
if (a) | |
if (r) { | |
if (!e.options.closeOnClick || !e.options.clickOpen && !i || e.options.forceFollow && i) return; | |
s.stopImmediatePropagation(), s.preventDefault(), e._hide(o) | |
} else s.preventDefault(), s.stopImmediatePropagation(), e._show(o.children(".is-dropdown-submenu")), o.add(o.parentsUntil(e.$element, "." + n)).attr("data-is-click", !0) | |
}; | |
(this.options.clickOpen || i) && this.$menuItems.on("click.zf.dropdownmenu touchstart.zf.dropdownmenu", s), this.options.disableHover || this.$menuItems.on("mouseenter.zf.dropdownmenu", function(i) { | |
var s = t(this), | |
o = s.hasClass(n); | |
o && (clearTimeout(e.delay), e.delay = setTimeout(function() { | |
e._show(s.children(".is-dropdown-submenu")) | |
}, e.options.hoverDelay)) | |
}).on("mouseleave.zf.dropdownmenu", function(i) { | |
var s = t(this), | |
o = s.hasClass(n); | |
if (o && e.options.autoclose) { | |
if ("true" === s.attr("data-is-click") && e.options.clickOpen) return !1; | |
clearTimeout(e.delay), e.delay = setTimeout(function() { | |
e._hide(s) | |
}, e.options.closingTime) | |
} | |
}), this.$menuItems.on("keydown.zf.dropdownmenu", function(i) { | |
var n, s, o = t(i.target).parentsUntil("ul", '[role="menuitem"]'), | |
a = e.$tabs.index(o) > -1, | |
r = a ? e.$tabs : o.siblings("li").add(o); | |
r.each(function(e) { | |
return t(this).is(o) ? (n = r.eq(e - 1), void(s = r.eq(e + 1))) : void 0 | |
}); | |
var l = function() { | |
o.is(":last-child") || (s.children("a:first").focus(), i.preventDefault()) | |
}, | |
u = function() { | |
n.children("a:first").focus(), i.preventDefault() | |
}, | |
d = function() { | |
var t = o.children("ul.is-dropdown-submenu"); | |
t.length && (e._show(t), o.find("li > a:first").focus(), i.preventDefault()) | |
}, | |
h = function() { | |
var t = o.parent("ul").parent("li"); | |
t.children("a:first").focus(), e._hide(t), i.preventDefault() | |
}, | |
c = { | |
open: d, | |
close: function() { | |
e._hide(e.$element), e.$menuItems.find("a:first").focus(), i.preventDefault() | |
}, | |
handled: function() { | |
i.stopImmediatePropagation() | |
} | |
}; | |
a ? e.$element.hasClass(e.options.verticalClass) ? "left" === e.options.alignment ? t.extend(c, { | |
down: l, | |
up: u, | |
next: d, | |
previous: h | |
}) : t.extend(c, { | |
down: l, | |
up: u, | |
next: h, | |
previous: d | |
}) : t.extend(c, { | |
next: l, | |
previous: u, | |
down: d, | |
up: h | |
}) : "left" === e.options.alignment ? t.extend(c, { | |
next: d, | |
previous: h, | |
down: l, | |
up: u | |
}) : t.extend(c, { | |
next: h, | |
previous: d, | |
down: l, | |
up: u | |
}), Foundation.Keyboard.handleKey(i, "DropdownMenu", c) | |
}) | |
} | |
}, { | |
key: "_addBodyHandler", | |
value: function() { | |
var e = t(document.body), | |
i = this; | |
e.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu", function(t) { | |
var n = i.$element.find(t.target); | |
n.length || (i._hide(), e.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu")) | |
}) | |
} | |
}, { | |
key: "_show", | |
value: function(e) { | |
var i = this.$tabs.index(this.$tabs.filter(function(i, n) { | |
return t(n).find(e).length > 0 | |
})), | |
n = e.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent"); | |
this._hide(n, i), e.css("visibility", "hidden").addClass("js-dropdown-active").attr({ | |
"aria-hidden": !1 | |
}).parent("li.is-dropdown-submenu-parent").addClass("is-active").attr({ | |
"aria-expanded": !0 | |
}); | |
var s = Foundation.Box.ImNotTouchingYou(e, null, !0); | |
if (!s) { | |
var o = "left" === this.options.alignment ? "-right" : "-left", | |
a = e.parent(".is-dropdown-submenu-parent"); | |
a.removeClass("opens" + o).addClass("opens-" + this.options.alignment), s = Foundation.Box.ImNotTouchingYou(e, null, !0), s || a.removeClass("opens-" + this.options.alignment).addClass("opens-inner"), this.changed = !0 | |
} | |
e.css("visibility", ""), this.options.closeOnClick && this._addBodyHandler(), this.$element.trigger("show.zf.dropdownmenu", [e]) | |
} | |
}, { | |
key: "_hide", | |
value: function(t, e) { | |
var i; | |
i = t && t.length ? t : void 0 !== e ? this.$tabs.not(function(t, i) { | |
return t === e | |
}) : this.$element; | |
var n = i.hasClass("is-active") || i.find(".is-active").length > 0; | |
if (n) { | |
if (i.find("li.is-active").add(i).attr({ | |
"aria-expanded": !1, | |
"data-is-click": !1 | |
}).removeClass("is-active"), i.find("ul.js-dropdown-active").attr({ | |
"aria-hidden": !0 | |
}).removeClass("js-dropdown-active"), this.changed || i.find("opens-inner").length) { | |
var s = "left" === this.options.alignment ? "right" : "left"; | |
i.find("li.is-dropdown-submenu-parent").add(i).removeClass("opens-inner opens-" + this.options.alignment).addClass("opens-" + s), this.changed = !1 | |
} | |
this.$element.trigger("hide.zf.dropdownmenu", [i]) | |
} | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"), t(document.body).off(".zf.dropdownmenu"), Foundation.Nest.Burn(this.$element, "dropdown"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
disableHover: !1, | |
autoclose: !0, | |
hoverDelay: 50, | |
clickOpen: !1, | |
closingTime: 500, | |
alignment: "left", | |
closeOnClick: !0, | |
verticalClass: "vertical", | |
rightClass: "align-right", | |
forceFollow: !0 | |
}, Foundation.plugin(e, "DropdownMenu") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Equalizer") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element.attr("data-equalizer") || "", | |
i = this.$element.find('[data-equalizer-watch="' + e + '"]'); | |
this.$watched = i.length ? i : this.$element.find("[data-equalizer-watch]"), this.$element.attr("data-resize", e || Foundation.GetYoDigits(6, "eq")), this.hasNested = this.$element.find("[data-equalizer]").length > 0, this.isNested = this.$element.parentsUntil(document.body, "[data-equalizer]").length > 0, this.isOn = !1, this._bindHandler = { | |
onResizeMeBound: this._onResizeMe.bind(this), | |
onPostEqualizedBound: this._onPostEqualized.bind(this) | |
}; | |
var n, s = this.$element.find("img"); | |
this.options.equalizeOn ? (n = this._checkMQ(), t(window).on("changed.zf.mediaquery", this._checkMQ.bind(this))) : this._events(), (void 0 !== n && n === !1 || void 0 === n) && (s.length ? Foundation.onImagesLoaded(s, this._reflow.bind(this)) : this._reflow()) | |
} | |
}, { | |
key: "_pauseEvents", | |
value: function() { | |
this.isOn = !1, this.$element.off({ | |
".zf.equalizer": this._bindHandler.onPostEqualizedBound, | |
"resizeme.zf.trigger": this._bindHandler.onResizeMeBound | |
}) | |
} | |
}, { | |
key: "_onResizeMe", | |
value: function(t) { | |
this._reflow() | |
} | |
}, { | |
key: "_onPostEqualized", | |
value: function(t) { | |
t.target !== this.$element[0] && this._reflow() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
this._pauseEvents(), this.hasNested ? this.$element.on("postequalized.zf.equalizer", this._bindHandler.onPostEqualizedBound) : this.$element.on("resizeme.zf.trigger", this._bindHandler.onResizeMeBound), this.isOn = !0 | |
} | |
}, { | |
key: "_checkMQ", | |
value: function() { | |
var t = !Foundation.MediaQuery.atLeast(this.options.equalizeOn); | |
return t ? this.isOn && (this._pauseEvents(), this.$watched.css("height", "auto")) : this.isOn || this._events(), t | |
} | |
}, { | |
key: "_killswitch", | |
value: function() {} | |
}, { | |
key: "_reflow", | |
value: function() { | |
return !this.options.equalizeOnStack && this._isStacked() ? (this.$watched.css("height", "auto"), !1) : void(this.options.equalizeByRow ? this.getHeightsByRow(this.applyHeightByRow.bind(this)) : this.getHeights(this.applyHeight.bind(this))) | |
} | |
}, { | |
key: "_isStacked", | |
value: function() { | |
return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top | |
} | |
}, { | |
key: "getHeights", | |
value: function(t) { | |
for (var e = [], i = 0, n = this.$watched.length; n > i; i++) this.$watched[i].style.height = "auto", e.push(this.$watched[i].offsetHeight); | |
t(e) | |
} | |
}, { | |
key: "getHeightsByRow", | |
value: function(e) { | |
var i = this.$watched.length ? this.$watched.first().offset().top : 0, | |
n = [], | |
s = 0; | |
n[s] = []; | |
for (var o = 0, a = this.$watched.length; a > o; o++) { | |
this.$watched[o].style.height = "auto"; | |
var r = t(this.$watched[o]).offset().top; | |
r != i && (s++, n[s] = [], i = r), n[s].push([this.$watched[o], this.$watched[o].offsetHeight]) | |
} | |
for (var l = 0, u = n.length; u > l; l++) { | |
var d = t(n[l]).map(function() { | |
return this[1] | |
}).get(), | |
h = Math.max.apply(null, d); | |
n[l].push(h) | |
} | |
e(n) | |
} | |
}, { | |
key: "applyHeight", | |
value: function(t) { | |
var e = Math.max.apply(null, t); | |
this.$element.trigger("preequalized.zf.equalizer"), this.$watched.css("height", e), this.$element.trigger("postequalized.zf.equalizer") | |
} | |
}, { | |
key: "applyHeightByRow", | |
value: function(e) { | |
this.$element.trigger("preequalized.zf.equalizer"); | |
for (var i = 0, n = e.length; n > i; i++) { | |
var s = e[i].length, | |
o = e[i][s - 1]; | |
if (2 >= s) t(e[i][0][0]).css({ | |
height: "auto" | |
}); | |
else { | |
this.$element.trigger("preequalizedrow.zf.equalizer"); | |
for (var a = 0, r = s - 1; r > a; a++) t(e[i][a][0]).css({ | |
height: o | |
}); | |
this.$element.trigger("postequalizedrow.zf.equalizer") | |
} | |
} | |
this.$element.trigger("postequalized.zf.equalizer") | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this._pauseEvents(), this.$watched.css("height", "auto"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
equalizeOnStack: !0, | |
equalizeByRow: !1, | |
equalizeOn: "" | |
}, Foundation.plugin(e, "Equalizer") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, n), this.rules = [], this.currentPath = "", this._init(), this._events(), Foundation.registerPlugin(this, "Interchange") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this._addBreakpoints(), this._generateRules(), this._reflow() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
t(window).on("resize.zf.interchange", Foundation.util.throttle(this._reflow.bind(this), 50)) | |
} | |
}, { | |
key: "_reflow", | |
value: function() { | |
var t; | |
for (var e in this.rules) | |
if (this.rules.hasOwnProperty(e)) { | |
var i = this.rules[e]; | |
window.matchMedia(i.query).matches && (t = i) | |
} | |
t && this.replace(t.path) | |
} | |
}, { | |
key: "_addBreakpoints", | |
value: function() { | |
for (var t in Foundation.MediaQuery.queries) | |
if (Foundation.MediaQuery.queries.hasOwnProperty(t)) { | |
var i = Foundation.MediaQuery.queries[t]; | |
e.SPECIAL_QUERIES[i.name] = i.value | |
} | |
} | |
}, { | |
key: "_generateRules", | |
value: function(t) { | |
var i, n = []; | |
i = this.options.rules ? this.options.rules : this.$element.data("interchange").match(/\[.*?\]/g); | |
for (var s in i) | |
if (i.hasOwnProperty(s)) { | |
var o = i[s].slice(1, -1).split(", "), | |
a = o.slice(0, -1).join(""), | |
r = o[o.length - 1]; | |
e.SPECIAL_QUERIES[r] && (r = e.SPECIAL_QUERIES[r]), n.push({ | |
path: a, | |
query: r | |
}) | |
} | |
this.rules = n | |
} | |
}, { | |
key: "replace", | |
value: function(e) { | |
if (this.currentPath !== e) { | |
var i = this, | |
n = "replaced.zf.interchange"; | |
"IMG" === this.$element[0].nodeName ? this.$element.attr("src", e).load(function() { | |
i.currentPath = e | |
}).trigger(n) : e.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i) ? this.$element.css({ | |
"background-image": "url(" + e + ")" | |
}).trigger(n) : t.get(e, function(s) { | |
i.$element.html(s).trigger(n), t(s).foundation(), i.currentPath = e | |
}) | |
} | |
} | |
}, { | |
key: "destroy", | |
value: function() {} | |
}]), e | |
}(); | |
e.defaults = { | |
rules: null | |
}, e.SPECIAL_QUERIES = { | |
landscape: "screen and (orientation: landscape)", | |
portrait: "screen and (orientation: portrait)", | |
retina: "only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)" | |
}, Foundation.plugin(e, "Interchange") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Magellan") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element[0].id || Foundation.GetYoDigits(6, "magellan"); | |
this.$targets = t("[data-magellan-target]"), this.$links = this.$element.find("a"), this.$element.attr({ | |
"data-resize": e, | |
"data-scroll": e, | |
id: e | |
}), this.$active = t(), this.scrollPos = parseInt(window.pageYOffset, 10), this._events() | |
} | |
}, { | |
key: "calcPoints", | |
value: function() { | |
var e = this, | |
i = document.body, | |
n = document.documentElement; | |
this.points = [], this.winHeight = Math.round(Math.max(window.innerHeight, n.clientHeight)), this.docHeight = Math.round(Math.max(i.scrollHeight, i.offsetHeight, n.clientHeight, n.scrollHeight, n.offsetHeight)), this.$targets.each(function() { | |
var i = t(this), | |
n = Math.round(i.offset().top - e.options.threshold); | |
i.targetPoint = n, e.points.push(n) | |
}) | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
t("html, body"), { | |
duration: e.options.animationDuration, | |
easing: e.options.animationEasing | |
}; | |
t(window).one("load", function() { | |
e.options.deepLinking && location.hash && e.scrollToLoc(location.hash), e.calcPoints(), e._updateActive() | |
}), this.$element.on({ | |
"resizeme.zf.trigger": this.reflow.bind(this), | |
"scrollme.zf.trigger": this._updateActive.bind(this) | |
}).on("click.zf.magellan", 'a[href^="#"]', function(t) { | |
t.preventDefault(); | |
var i = this.getAttribute("href"); | |
e.scrollToLoc(i) | |
}) | |
} | |
}, { | |
key: "scrollToLoc", | |
value: function(e) { | |
var i = Math.round(t(e).offset().top - this.options.threshold / 2 - this.options.barOffset); | |
t("html, body").stop(!0).animate({ | |
scrollTop: i | |
}, this.options.animationDuration, this.options.animationEasing) | |
} | |
}, { | |
key: "reflow", | |
value: function() { | |
this.calcPoints(), this._updateActive() | |
} | |
}, { | |
key: "_updateActive", | |
value: function() { | |
var t, e = parseInt(window.pageYOffset, 10); | |
if (e + this.winHeight === this.docHeight) t = this.points.length - 1; | |
else if (e < this.points[0]) t = 0; | |
else { | |
var i = this.scrollPos < e, | |
n = this, | |
s = this.points.filter(function(t, s) { | |
return i ? t - n.options.barOffset <= e : t - n.options.barOffset - n.options.threshold <= e | |
}); | |
t = s.length ? s.length - 1 : 0 | |
} | |
if (this.$active.removeClass(this.options.activeClass), this.$active = this.$links.eq(t).addClass(this.options.activeClass), this.options.deepLinking) { | |
var o = this.$active[0].getAttribute("href"); | |
window.history.pushState ? window.history.pushState(null, null, o) : window.location.hash = o | |
} | |
this.scrollPos = e, this.$element.trigger("update.zf.magellan", [this.$active]) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
if (this.$element.off(".zf.trigger .zf.magellan").find("." + this.options.activeClass).removeClass(this.options.activeClass), this.options.deepLinking) { | |
var t = this.$active[0].getAttribute("href"); | |
window.location.hash.replace(t, "") | |
} | |
Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
animationDuration: 500, | |
animationEasing: "linear", | |
threshold: 50, | |
activeClass: "active", | |
deepLinking: !1, | |
barOffset: 0 | |
}, Foundation.plugin(e, "Magellan") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this.$lastTrigger = t(), this.$triggers = t(), this._init(), this._events(), Foundation.registerPlugin(this, "OffCanvas") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element.attr("id"); | |
if (this.$element.attr("aria-hidden", "true"), this.$triggers = t(document).find('[data-open="' + e + '"], [data-close="' + e + '"], [data-toggle="' + e + '"]').attr("aria-expanded", "false").attr("aria-controls", e), this.options.closeOnClick) | |
if (t(".js-off-canvas-exit").length) this.$exiter = t(".js-off-canvas-exit"); | |
else { | |
var i = document.createElement("div"); | |
i.setAttribute("class", "js-off-canvas-exit"), t("[data-off-canvas-content]").append(i), this.$exiter = t(i) | |
} | |
this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, "g").test(this.$element[0].className), this.options.isRevealed && (this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split("-")[2], this._setMQChecker()), this.options.transitionTime || (this.options.transitionTime = 1e3 * parseFloat(window.getComputedStyle(t("[data-off-canvas-wrapper]")[0]).transitionDuration)) | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
this.$element.off(".zf.trigger .zf.offcanvas").on({ | |
"open.zf.trigger": this.open.bind(this), | |
"close.zf.trigger": this.close.bind(this), | |
"toggle.zf.trigger": this.toggle.bind(this), | |
"keydown.zf.offcanvas": this._handleKeyboard.bind(this) | |
}), this.options.closeOnClick && this.$exiter.length && this.$exiter.on({ | |
"click.zf.offcanvas": this.close.bind(this) | |
}) | |
} | |
}, { | |
key: "_setMQChecker", | |
value: function() { | |
var e = this; | |
t(window).on("changed.zf.mediaquery", function() { | |
Foundation.MediaQuery.atLeast(e.options.revealOn) ? e.reveal(!0) : e.reveal(!1) | |
}).one("load.zf.offcanvas", function() { | |
Foundation.MediaQuery.atLeast(e.options.revealOn) && e.reveal(!0) | |
}) | |
} | |
}, { | |
key: "reveal", | |
value: function(t) { | |
var e = this.$element.find("[data-close]"); | |
t ? (this.close(), this.isRevealed = !0, this.$element.off("open.zf.trigger toggle.zf.trigger"), e.length && e.hide()) : (this.isRevealed = !1, this.$element.on({ | |
"open.zf.trigger": this.open.bind(this), | |
"toggle.zf.trigger": this.toggle.bind(this) | |
}), e.length && e.show()) | |
} | |
}, { | |
key: "open", | |
value: function(e, i) { | |
if (!this.$element.hasClass("is-open") && !this.isRevealed) { | |
var n = this; | |
t(document.body); | |
this.options.forceTop && t("body").scrollTop(0), Foundation.Move(this.options.transitionTime, this.$element, function() { | |
t("[data-off-canvas-wrapper]").addClass("is-off-canvas-open is-open-" + n.options.position), n.$element.addClass("is-open") | |
}), this.$triggers.attr("aria-expanded", "true"), this.$element.attr("aria-hidden", "false").trigger("opened.zf.offcanvas"), this.options.closeOnClick && this.$exiter.addClass("is-visible"), i && (this.$lastTrigger = i), this.options.autoFocus && this.$element.one(Foundation.transitionend(this.$element), function() { | |
n.$element.find("a, button").eq(0).focus() | |
}), this.options.trapFocus && (t("[data-off-canvas-content]").attr("tabindex", "-1"), this._trapFocus()) | |
} | |
} | |
}, { | |
key: "_trapFocus", | |
value: function() { | |
var t = Foundation.Keyboard.findFocusable(this.$element), | |
e = t.eq(0), | |
i = t.eq(-1); | |
t.off(".zf.offcanvas").on("keydown.zf.offcanvas", function(t) { | |
9 !== t.which && 9 !== t.keycode || (t.target !== i[0] || t.shiftKey || (t.preventDefault(), e.focus()), t.target === e[0] && t.shiftKey && (t.preventDefault(), i.focus())) | |
}) | |
} | |
}, { | |
key: "close", | |
value: function(e) { | |
if (this.$element.hasClass("is-open") && !this.isRevealed) { | |
var i = this; | |
t("[data-off-canvas-wrapper]").removeClass("is-off-canvas-open is-open-" + i.options.position), i.$element.removeClass("is-open"), this.$element.attr("aria-hidden", "true").trigger("closed.zf.offcanvas"), this.options.closeOnClick && this.$exiter.removeClass("is-visible"), this.$triggers.attr("aria-expanded", "false"), this.options.trapFocus && t("[data-off-canvas-content]").removeAttr("tabindex") | |
} | |
} | |
}, { | |
key: "toggle", | |
value: function(t, e) { | |
this.$element.hasClass("is-open") ? this.close(t, e) : this.open(t, e) | |
} | |
}, { | |
key: "_handleKeyboard", | |
value: function(t) { | |
27 === t.which && (t.stopPropagation(), t.preventDefault(), this.close(), this.$lastTrigger.focus()) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.close(), this.$element.off(".zf.trigger .zf.offcanvas"), this.$exiter.off(".zf.offcanvas"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
closeOnClick: !0, | |
transitionTime: 0, | |
position: "left", | |
forceTop: !0, | |
isRevealed: !1, | |
revealOn: null, | |
autoFocus: !0, | |
revealClass: "reveal-for-", | |
trapFocus: !1 | |
}, Foundation.plugin(e, "OffCanvas") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Orbit"), Foundation.Keyboard.register("Orbit", { | |
ltr: { | |
ARROW_RIGHT: "next", | |
ARROW_LEFT: "previous" | |
}, | |
rtl: { | |
ARROW_LEFT: "next", | |
ARROW_RIGHT: "previous" | |
} | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this.$wrapper = this.$element.find("." + this.options.containerClass), this.$slides = this.$element.find("." + this.options.slideClass); | |
var t = this.$element.find("img"), | |
e = this.$slides.filter(".is-active"); | |
e.length || this.$slides.eq(0).addClass("is-active"), this.options.useMUI || this.$slides.addClass("no-motionui"), t.length ? Foundation.onImagesLoaded(t, this._prepareForOrbit.bind(this)) : this._prepareForOrbit(), this.options.bullets && this._loadBullets(), this._events(), this.options.autoPlay && this.$slides.length > 1 && this.geoSync(), this.options.accessible && this.$wrapper.attr("tabindex", 0) | |
} | |
}, { | |
key: "_loadBullets", | |
value: function() { | |
this.$bullets = this.$element.find("." + this.options.boxOfBullets).find("button") | |
} | |
}, { | |
key: "geoSync", | |
value: function() { | |
var t = this; | |
this.timer = new Foundation.Timer(this.$element, { | |
duration: this.options.timerDelay, | |
infinite: !1 | |
}, function() { | |
t.changeSlide(!0) | |
}), this.timer.start() | |
} | |
}, { | |
key: "_prepareForOrbit", | |
value: function() { | |
var t = this; | |
this._setWrapperHeight(function(e) { | |
t._setSlideHeight(e) | |
}) | |
} | |
}, { | |
key: "_setWrapperHeight", | |
value: function(e) { | |
var i, n = 0, | |
s = 0; | |
this.$slides.each(function() { | |
i = this.getBoundingClientRect().height, t(this).attr("data-slide", s), s && t(this).css({ | |
position: "relative", | |
display: "none" | |
}), n = i > n ? i : n, s++ | |
}), s === this.$slides.length && (this.$wrapper.css({ | |
height: n | |
}), e(n)) | |
} | |
}, { | |
key: "_setSlideHeight", | |
value: function(e) { | |
this.$slides.each(function() { | |
t(this).css("max-height", e) | |
}) | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
if (this.$slides.length > 1) { | |
if (this.options.swipe && this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit", function(t) { | |
t.preventDefault(), e.changeSlide(!0) | |
}).on("swiperight.zf.orbit", function(t) { | |
t.preventDefault(), e.changeSlide(!1) | |
}), this.options.autoPlay && (this.$slides.on("click.zf.orbit", function() { | |
e.$element.data("clickedOn", !e.$element.data("clickedOn")), e.timer[e.$element.data("clickedOn") ? "pause" : "start"]() | |
}), this.options.pauseOnHover && this.$element.on("mouseenter.zf.orbit", function() { | |
e.timer.pause() | |
}).on("mouseleave.zf.orbit", function() { | |
e.$element.data("clickedOn") || e.timer.start() | |
})), this.options.navButtons) { | |
var i = this.$element.find("." + this.options.nextClass + ", ." + this.options.prevClass); | |
i.attr("tabindex", 0).on("click.zf.orbit touchend.zf.orbit", function(i) { | |
i.preventDefault(), e.changeSlide(t(this).hasClass(e.options.nextClass)) | |
}) | |
} | |
this.options.bullets && this.$bullets.on("click.zf.orbit touchend.zf.orbit", function() { | |
if (/is-active/g.test(this.className)) return !1; | |
var i = t(this).data("slide"), | |
n = i > e.$slides.filter(".is-active").data("slide"), | |
s = e.$slides.eq(i); | |
e.changeSlide(n, s, i) | |
}), this.$wrapper.add(this.$bullets).on("keydown.zf.orbit", function(i) { | |
Foundation.Keyboard.handleKey(i, "Orbit", { | |
next: function() { | |
e.changeSlide(!0) | |
}, | |
previous: function() { | |
e.changeSlide(!1) | |
}, | |
handled: function() { | |
t(i.target).is(e.$bullets) && e.$bullets.filter(".is-active").focus() | |
} | |
}) | |
}) | |
} | |
} | |
}, { | |
key: "changeSlide", | |
value: function(t, e, i) { | |
var n = this.$slides.filter(".is-active").eq(0); | |
if (/mui/g.test(n[0].className)) return !1; | |
var s, o = this.$slides.first(), | |
a = this.$slides.last(), | |
r = t ? "Right" : "Left", | |
l = t ? "Left" : "Right", | |
u = this; | |
s = e ? e : t ? this.options.infiniteWrap ? n.next("." + this.options.slideClass).length ? n.next("." + this.options.slideClass) : o : n.next("." + this.options.slideClass) : this.options.infiniteWrap ? n.prev("." + this.options.slideClass).length ? n.prev("." + this.options.slideClass) : a : n.prev("." + this.options.slideClass), s.length && (this.options.bullets && (i = i || this.$slides.index(s), this._updateBullets(i)), this.options.useMUI ? (Foundation.Motion.animateIn(s.addClass("is-active").css({ | |
position: "absolute", | |
top: 0 | |
}), this.options["animInFrom" + r], function() { | |
s.css({ | |
position: "relative", | |
display: "block" | |
}).attr("aria-live", "polite") | |
}), Foundation.Motion.animateOut(n.removeClass("is-active"), this.options["animOutTo" + l], function() { | |
n.removeAttr("aria-live"), u.options.autoPlay && !u.timer.isPaused && u.timer.restart() | |
})) : (n.removeClass("is-active is-in").removeAttr("aria-live").hide(), s.addClass("is-active is-in").attr("aria-live", "polite").show(), this.options.autoPlay && !this.timer.isPaused && this.timer.restart()), this.$element.trigger("slidechange.zf.orbit", [s])) | |
} | |
}, { | |
key: "_updateBullets", | |
value: function(t) { | |
var e = this.$element.find("." + this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(), | |
i = e.find("span:last").detach(); | |
this.$bullets.eq(t).addClass("is-active").append(i) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide(), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
bullets: !0, | |
navButtons: !0, | |
animInFromRight: "slide-in-right", | |
animOutToRight: "slide-out-right", | |
animInFromLeft: "slide-in-left", | |
animOutToLeft: "slide-out-left", | |
autoPlay: !0, | |
timerDelay: 5e3, | |
infiniteWrap: !0, | |
swipe: !0, | |
pauseOnHover: !0, | |
accessible: !0, | |
containerClass: "orbit-container", | |
slideClass: "orbit-slide", | |
boxOfBullets: "orbit-bullets", | |
nextClass: "orbit-next", | |
prevClass: "orbit-previous", | |
useMUI: !0 | |
}, Foundation.plugin(e, "Orbit") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = t(i), this.rules = this.$element.data("responsive-menu"), this.currentMq = null, this.currentPlugin = null, this._init(), this._events(), Foundation.registerPlugin(this, "ResponsiveMenu") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
if ("string" == typeof this.rules) { | |
for (var e = {}, n = this.rules.split(" "), s = 0; s < n.length; s++) { | |
var o = n[s].split("-"), | |
a = o.length > 1 ? o[0] : "small", | |
r = o.length > 1 ? o[1] : o[0]; | |
null !== i[r] && (e[a] = i[r]) | |
} | |
this.rules = e | |
} | |
t.isEmptyObject(this.rules) || this._checkMediaQueries() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this; | |
t(window).on("changed.zf.mediaquery", function() { | |
e._checkMediaQueries() | |
}) | |
} | |
}, { | |
key: "_checkMediaQueries", | |
value: function() { | |
var e, n = this; | |
t.each(this.rules, function(t) { | |
Foundation.MediaQuery.atLeast(t) && (e = t) | |
}), e && (this.currentPlugin instanceof this.rules[e].plugin || (t.each(i, function(t, e) { | |
n.$element.removeClass(e.cssClass) | |
}), this.$element.addClass(this.rules[e].cssClass), this.currentPlugin && this.currentPlugin.destroy(), this.currentPlugin = new this.rules[e].plugin(this.$element, {}))) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.currentPlugin.destroy(), t(window).off(".zf.ResponsiveMenu"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = {}; | |
var i = { | |
dropdown: { | |
cssClass: "dropdown", | |
plugin: Foundation._plugins["dropdown-menu"] || null | |
}, | |
drilldown: { | |
cssClass: "drilldown", | |
plugin: Foundation._plugins.drilldown || null | |
}, | |
accordion: { | |
cssClass: "accordion-menu", | |
plugin: Foundation._plugins["accordion-menu"] || null | |
} | |
}; | |
Foundation.plugin(e, "ResponsiveMenu") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = t(i), this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), this._events(), Foundation.registerPlugin(this, "ResponsiveToggle") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element.data("responsive-toggle"); | |
e || console.error("Your tab bar needs an ID of a Menu as the value of data-tab-bar."), this.$targetMenu = t("#" + e), this.$toggler = this.$element.find("[data-toggle]"), this._update() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
this._updateMqHandler = this._update.bind(this), t(window).on("changed.zf.mediaquery", this._updateMqHandler), this.$toggler.on("click.zf.responsiveToggle", this.toggleMenu.bind(this)) | |
} | |
}, { | |
key: "_update", | |
value: function() { | |
Foundation.MediaQuery.atLeast(this.options.hideFor) ? (this.$element.hide(), this.$targetMenu.show()) : (this.$element.show(), this.$targetMenu.hide()) | |
} | |
}, { | |
key: "toggleMenu", | |
value: function() { | |
Foundation.MediaQuery.atLeast(this.options.hideFor) || (this.$targetMenu.toggle(0), this.$element.trigger("toggled.zf.responsiveToggle")) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.off(".zf.responsiveToggle"), this.$toggler.off(".zf.responsiveToggle"), t(window).off("changed.zf.mediaquery", this._updateMqHandler), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
hideFor: "medium" | |
}, Foundation.plugin(e, "ResponsiveToggle") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
function e() { | |
return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent) | |
} | |
function i() { | |
return /Android/.test(window.navigator.userAgent) | |
} | |
function n() { | |
return e() || i() | |
} | |
var s = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Reveal"), Foundation.Keyboard.register("Reveal", { | |
ENTER: "open", | |
SPACE: "open", | |
ESCAPE: "close", | |
TAB: "tab_forward", | |
SHIFT_TAB: "tab_backward" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
this.id = this.$element.attr("id"), this.isActive = !1, this.cached = { | |
mq: Foundation.MediaQuery.current | |
}, this.isMobile = n(), this.$anchor = t(t('[data-open="' + this.id + '"]').length ? '[data-open="' + this.id + '"]' : '[data-toggle="' + this.id + '"]'), this.$anchor.attr({ | |
"aria-controls": this.id, | |
"aria-haspopup": !0, | |
tabindex: 0 | |
}), (this.options.fullScreen || this.$element.hasClass("full")) && (this.options.fullScreen = !0, this.options.overlay = !1), this.options.overlay && !this.$overlay && (this.$overlay = this._makeOverlay(this.id)), this.$element.attr({ | |
role: "dialog", | |
"aria-hidden": !0, | |
"data-yeti-box": this.id, | |
"data-resize": this.id | |
}), this.$overlay ? this.$element.detach().appendTo(this.$overlay) : (this.$element.detach().appendTo(t("body")), this.$element.addClass("without-overlay")), this._events(), this.options.deepLink && window.location.hash === "#" + this.id && t(window).one("load.zf.reveal", this.open.bind(this)) | |
} | |
}, { | |
key: "_makeOverlay", | |
value: function(e) { | |
var i = t("<div></div>").addClass("reveal-overlay").appendTo("body"); | |
return i | |
} | |
}, { | |
key: "_updatePosition", | |
value: function() { | |
var e, i, n = this.$element.outerWidth(), | |
s = t(window).width(), | |
o = this.$element.outerHeight(), | |
a = t(window).height(); | |
e = "auto" === this.options.hOffset ? parseInt((s - n) / 2, 10) : parseInt(this.options.hOffset, 10), i = "auto" === this.options.vOffset ? o > a ? parseInt(Math.min(100, a / 10), 10) : parseInt((a - o) / 4, 10) : parseInt(this.options.vOffset, 10), this.$element.css({ | |
top: i + "px" | |
}), this.$overlay && "auto" === this.options.hOffset || (this.$element.css({ | |
left: e + "px" | |
}), this.$element.css({ | |
margin: "0px" | |
})) | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var e = this, | |
i = this; | |
this.$element.on({ | |
"open.zf.trigger": this.open.bind(this), | |
"close.zf.trigger": function(n, s) { | |
return n.target === i.$element[0] || t(n.target).parents("[data-closable]")[0] === s ? e.close.apply(e) : void 0 | |
}, | |
"toggle.zf.trigger": this.toggle.bind(this), | |
"resizeme.zf.trigger": function() { | |
i._updatePosition() | |
} | |
}), this.$anchor.length && this.$anchor.on("keydown.zf.reveal", function(t) { | |
13 !== t.which && 32 !== t.which || (t.stopPropagation(), t.preventDefault(), i.open()) | |
}), this.options.closeOnClick && this.options.overlay && this.$overlay.off(".zf.reveal").on("click.zf.reveal", function(e) { | |
e.target === i.$element[0] || t.contains(i.$element[0], e.target) || i.close() | |
}), this.options.deepLink && t(window).on("popstate.zf.reveal:" + this.id, this._handleState.bind(this)) | |
} | |
}, { | |
key: "_handleState", | |
value: function(t) { | |
window.location.hash !== "#" + this.id || this.isActive ? this.close() : this.open() | |
} | |
}, { | |
key: "open", | |
value: function() { | |
var e = this; | |
if (this.options.deepLink) { | |
var i = "#" + this.id; | |
window.history.pushState ? window.history.pushState(null, null, i) : window.location.hash = i | |
} | |
if (this.isActive = !0, this.$element.css({ | |
visibility: "hidden" | |
}).show().scrollTop(0), this.options.overlay && this.$overlay.css({ | |
visibility: "hidden" | |
}).show(), this._updatePosition(), this.$element.hide().css({ | |
visibility: "" | |
}), this.$overlay && (this.$overlay.css({ | |
visibility: "" | |
}).hide(), this.$element.hasClass("fast") ? this.$overlay.addClass("fast") : this.$element.hasClass("slow") && this.$overlay.addClass("slow")), this.options.multipleOpened || this.$element.trigger("closeme.zf.reveal", this.id), this.options.animationIn) { | |
var n; | |
! function() { | |
var t = function() { | |
n.$element.attr({ | |
"aria-hidden": !1, | |
tabindex: -1 | |
}).focus(), console.log("focus") | |
}; | |
n = e, e.options.overlay && Foundation.Motion.animateIn(e.$overlay, "fade-in"), Foundation.Motion.animateIn(e.$element, e.options.animationIn, function() { | |
e.focusableElements = Foundation.Keyboard.findFocusable(e.$element), t() | |
}) | |
}() | |
} else this.options.overlay && this.$overlay.show(0), this.$element.show(this.options.showDelay); | |
this.$element.attr({ | |
"aria-hidden": !1, | |
tabindex: -1 | |
}).focus(), this.$element.trigger("open.zf.reveal"), this.isMobile ? (this.originalScrollPos = window.pageYOffset, t("html, body").addClass("is-reveal-open")) : t("body").addClass("is-reveal-open"), setTimeout(function() { | |
e._extraHandlers() | |
}, 0) | |
} | |
}, { | |
key: "_extraHandlers", | |
value: function() { | |
var e = this; | |
this.focusableElements = Foundation.Keyboard.findFocusable(this.$element), this.options.overlay || !this.options.closeOnClick || this.options.fullScreen || t("body").on("click.zf.reveal", function(i) { | |
i.target === e.$element[0] || t.contains(e.$element[0], i.target) || e.close() | |
}), this.options.closeOnEsc && t(window).on("keydown.zf.reveal", function(t) { | |
Foundation.Keyboard.handleKey(t, "Reveal", { | |
close: function() { | |
e.options.closeOnEsc && (e.close(), e.$anchor.focus()) | |
} | |
}) | |
}), this.$element.on("keydown.zf.reveal", function(i) { | |
var n = t(this); | |
Foundation.Keyboard.handleKey(i, "Reveal", { | |
tab_forward: function() { | |
return e.$element.find(":focus").is(e.focusableElements.eq(-1)) ? (e.focusableElements.eq(0).focus(), !0) : 0 === e.focusableElements.length ? !0 : void 0 | |
}, | |
tab_backward: function() { | |
return e.$element.find(":focus").is(e.focusableElements.eq(0)) || e.$element.is(":focus") ? (e.focusableElements.eq(-1).focus(), !0) : 0 === e.focusableElements.length ? !0 : void 0 | |
}, | |
open: function() { | |
e.$element.find(":focus").is(e.$element.find("[data-close]")) ? setTimeout(function() { | |
e.$anchor.focus() | |
}, 1) : n.is(e.focusableElements) && e.open() | |
}, | |
close: function() { | |
e.options.closeOnEsc && (e.close(), e.$anchor.focus()) | |
}, | |
handled: function(t) { | |
t && i.preventDefault() | |
} | |
}) | |
}) | |
} | |
}, { | |
key: "close", | |
value: function() { | |
function e() { | |
i.isMobile ? (t("html, body").removeClass("is-reveal-open"), i.originalScrollPos && (t("body").scrollTop(i.originalScrollPos), i.originalScrollPos = null)) : t("body").removeClass("is-reveal-open"), i.$element.attr("aria-hidden", !0), i.$element.trigger("closed.zf.reveal") | |
} | |
if (!this.isActive || !this.$element.is(":visible")) return !1; | |
var i = this; | |
this.options.animationOut ? (this.options.overlay ? Foundation.Motion.animateOut(this.$overlay, "fade-out", e) : e(), Foundation.Motion.animateOut(this.$element, this.options.animationOut)) : (this.options.overlay ? this.$overlay.hide(0, e) : e(), this.$element.hide(this.options.hideDelay)), this.options.closeOnEsc && t(window).off("keydown.zf.reveal"), !this.options.overlay && this.options.closeOnClick && t("body").off("click.zf.reveal"), this.$element.off("keydown.zf.reveal"), this.options.resetOnClose && this.$element.html(this.$element.html()), this.isActive = !1, i.options.deepLink && (window.history.replaceState ? window.history.replaceState("", document.title, window.location.pathname) : window.location.hash = "") | |
} | |
}, { | |
key: "toggle", | |
value: function() { | |
this.isActive ? this.close() : this.open() | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.options.overlay && (this.$element.appendTo(t("body")), this.$overlay.hide().off().remove()), this.$element.hide().off(), this.$anchor.off(".zf"), t(window).off(".zf.reveal:" + this.id), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
s.defaults = { | |
animationIn: "", | |
animationOut: "", | |
showDelay: 0, | |
hideDelay: 0, | |
closeOnClick: !0, | |
closeOnEsc: !0, | |
multipleOpened: !1, | |
vOffset: "auto", | |
hOffset: "auto", | |
fullScreen: !1, | |
btmOffsetPct: 10, | |
overlay: !0, | |
resetOnClose: !1, | |
deepLink: !1 | |
}, Foundation.plugin(s, "Reveal") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
function e(t, e) { | |
return t / e | |
} | |
function i(t, e, i, n) { | |
return Math.abs(t.position()[e] + t[n]() / 2 - i) | |
} | |
var n = function() { | |
function n(e, i) { | |
_classCallCheck(this, n), this.$element = e, this.options = t.extend({}, n.defaults, this.$element.data(), i), this._init(), Foundation.registerPlugin(this, "Slider"), Foundation.Keyboard.register("Slider", { | |
ltr: { | |
ARROW_RIGHT: "increase", | |
ARROW_UP: "increase", | |
ARROW_DOWN: "decrease", | |
ARROW_LEFT: "decrease", | |
SHIFT_ARROW_RIGHT: "increase_fast", | |
SHIFT_ARROW_UP: "increase_fast", | |
SHIFT_ARROW_DOWN: "decrease_fast", | |
SHIFT_ARROW_LEFT: "decrease_fast" | |
}, | |
rtl: { | |
ARROW_LEFT: "increase", | |
ARROW_RIGHT: "decrease", | |
SHIFT_ARROW_LEFT: "increase_fast", | |
SHIFT_ARROW_RIGHT: "decrease_fast" | |
} | |
}) | |
} | |
return _createClass(n, [{ | |
key: "_init", | |
value: function() { | |
this.inputs = this.$element.find("input"), this.handles = this.$element.find("[data-slider-handle]"), this.$handle = this.handles.eq(0), this.$input = this.inputs.length ? this.inputs.eq(0) : t("#" + this.$handle.attr("aria-controls")), this.$fill = this.$element.find("[data-slider-fill]").css(this.options.vertical ? "height" : "width", 0); | |
var e = !1, | |
i = this; | |
(this.options.disabled || this.$element.hasClass(this.options.disabledClass)) && (this.options.disabled = !0, this.$element.addClass(this.options.disabledClass)), this.inputs.length || (this.inputs = t().add(this.$input), this.options.binding = !0), this._setInitAttr(0), this._events(this.$handle), this.handles[1] && (this.options.doubleSided = !0, this.$handle2 = this.handles.eq(1), this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : t("#" + this.$handle2.attr("aria-controls")), this.inputs[1] || (this.inputs = this.inputs.add(this.$input2)), e = !0, this._setHandlePos(this.$handle, this.options.initialStart, !0, function() { | |
i._setHandlePos(i.$handle2, i.options.initialEnd, !0) | |
}), this._setInitAttr(1), this._events(this.$handle2)), e || this._setHandlePos(this.$handle, this.options.initialStart, !0) | |
} | |
}, { | |
key: "_setHandlePos", | |
value: function(t, i, n, s) { | |
if (!this.$element.hasClass(this.options.disabledClass)) { | |
i = parseFloat(i), i < this.options.start ? i = this.options.start : i > this.options.end && (i = this.options.end); | |
var o = this.options.doubleSided; | |
if (o) | |
if (0 === this.handles.index(t)) { | |
var a = parseFloat(this.$handle2.attr("aria-valuenow")); | |
i = i >= a ? a - this.options.step : i | |
} else { | |
var r = parseFloat(this.$handle.attr("aria-valuenow")); | |
i = r >= i ? r + this.options.step : i | |
} | |
this.options.vertical && !n && (i = this.options.end - i); | |
var l = this, | |
u = this.options.vertical, | |
d = u ? "height" : "width", | |
h = u ? "top" : "left", | |
c = t[0].getBoundingClientRect()[d], | |
f = this.$element[0].getBoundingClientRect()[d], | |
p = e(i - this.options.start, this.options.end - this.options.start).toFixed(2), | |
m = (f - c) * p, | |
v = (100 * e(m, f)).toFixed(this.options.decimal); | |
i = parseFloat(i.toFixed(this.options.decimal)); | |
var g = {}; | |
if (this._setValues(t, i), o) { | |
var w, y = 0 === this.handles.index(t), | |
b = ~~(100 * e(c, f)); | |
if (y) g[h] = v + "%", w = parseFloat(this.$handle2[0].style[h]) - v + b, s && "function" == typeof s && s(); | |
else { | |
var $ = parseFloat(this.$handle[0].style[h]); | |
w = v - (isNaN($) ? this.options.initialStart / ((this.options.end - this.options.start) / 100) : $) + b | |
} | |
g["min-" + d] = w + "%" | |
} | |
this.$element.one("finished.zf.animate", function() { | |
l.$element.trigger("moved.zf.slider", [t]) | |
}); | |
var C = this.$element.data("dragging") ? 1e3 / 60 : this.options.moveTime; | |
Foundation.Move(C, t, function() { | |
t.css(h, v + "%"), l.options.doubleSided ? l.$fill.css(g) : l.$fill.css(d, 100 * p + "%") | |
}), clearTimeout(l.timeout), l.timeout = setTimeout(function() { | |
l.$element.trigger("changed.zf.slider", [t]) | |
}, l.options.changedDelay) | |
} | |
} | |
}, { | |
key: "_setInitAttr", | |
value: function(t) { | |
var e = this.inputs.eq(t).attr("id") || Foundation.GetYoDigits(6, "slider"); | |
this.inputs.eq(t).attr({ | |
id: e, | |
max: this.options.end, | |
min: this.options.start, | |
step: this.options.step | |
}), this.handles.eq(t).attr({ | |
role: "slider", | |
"aria-controls": e, | |
"aria-valuemax": this.options.end, | |
"aria-valuemin": this.options.start, | |
"aria-valuenow": 0 === t ? this.options.initialStart : this.options.initialEnd, | |
"aria-orientation": this.options.vertical ? "vertical" : "horizontal", | |
tabindex: 0 | |
}) | |
} | |
}, { | |
key: "_setValues", | |
value: function(t, e) { | |
var i = this.options.doubleSided ? this.handles.index(t) : 0; | |
this.inputs.eq(i).val(e), t.attr("aria-valuenow", e) | |
} | |
}, { | |
key: "_handleEvent", | |
value: function(n, s, o) { | |
var a, r; | |
if (o) a = this._adjustValue(null, o), r = !0; | |
else { | |
n.preventDefault(); | |
var l = this, | |
u = this.options.vertical, | |
d = u ? "height" : "width", | |
h = u ? "top" : "left", | |
c = u ? n.pageY : n.pageX, | |
f = (this.$handle[0].getBoundingClientRect()[d] / 2, this.$element[0].getBoundingClientRect()[d]), | |
p = u ? t(window).scrollTop() : t(window).scrollLeft(), | |
m = this.$element.offset()[h]; | |
n.clientY === n.pageY && (c += p); | |
var v, g = c - m; | |
if (v = 0 > g ? 0 : g > f ? f : g, offsetPct = e(v, f), a = (this.options.end - this.options.start) * offsetPct + this.options.start, Foundation.rtl() && !this.options.vertical && (a = this.options.end - a), a = l._adjustValue(null, a), r = !1, !s) { | |
var w = i(this.$handle, h, v, d), | |
y = i(this.$handle2, h, v, d); | |
s = y >= w ? this.$handle : this.$handle2 | |
} | |
} | |
this._setHandlePos(s, a, r) | |
} | |
}, { | |
key: "_adjustValue", | |
value: function(t, e) { | |
var i, n, s, o, a = this.options.step, | |
r = parseFloat(a / 2); | |
return i = t ? parseFloat(t.attr("aria-valuenow")) : e, n = i % a, s = i - n, o = s + a, 0 === n ? i : i = i >= s + r ? o : s | |
} | |
}, { | |
key: "_events", | |
value: function(e) { | |
var i, n = this; | |
if (this.inputs.off("change.zf.slider").on("change.zf.slider", function(e) { | |
var i = n.inputs.index(t(this)); | |
n._handleEvent(e, n.handles.eq(i), t(this).val()) | |
}), this.options.clickSelect && this.$element.off("click.zf.slider").on("click.zf.slider", function(e) { | |
return n.$element.data("dragging") ? !1 : void(t(e.target).is("[data-slider-handle]") || (n.options.doubleSided ? n._handleEvent(e) : n._handleEvent(e, n.$handle))) | |
}), this.options.draggable) { | |
this.handles.addTouch(); | |
var s = t("body"); | |
e.off("mousedown.zf.slider").on("mousedown.zf.slider", function(o) { | |
e.addClass("is-dragging"), n.$fill.addClass("is-dragging"), n.$element.data("dragging", !0), i = t(o.currentTarget), s.on("mousemove.zf.slider", function(t) { | |
t.preventDefault(), n._handleEvent(t, i) | |
}).on("mouseup.zf.slider", function(t) { | |
n._handleEvent(t, i), e.removeClass("is-dragging"), n.$fill.removeClass("is-dragging"), n.$element.data("dragging", !1), s.off("mousemove.zf.slider mouseup.zf.slider") | |
}) | |
}).on("selectstart.zf.slider touchmove.zf.slider", function(t) { | |
t.preventDefault() | |
}) | |
} | |
e.off("keydown.zf.slider").on("keydown.zf.slider", function(e) { | |
var i, s = t(this), | |
o = n.options.doubleSided ? n.handles.index(s) : 0, | |
a = parseFloat(n.inputs.eq(o).val()); | |
Foundation.Keyboard.handleKey(e, "Slider", { | |
decrease: function() { | |
i = a - n.options.step | |
}, | |
increase: function() { | |
i = a + n.options.step | |
}, | |
decrease_fast: function() { | |
i = a - 10 * n.options.step | |
}, | |
increase_fast: function() { | |
i = a + 10 * n.options.step | |
}, | |
handled: function() { | |
e.preventDefault(), n._setHandlePos(s, i, !0) | |
} | |
}) | |
}) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.handles.off(".zf.slider"), this.inputs.off(".zf.slider"), this.$element.off(".zf.slider"), Foundation.unregisterPlugin(this) | |
} | |
}]), n | |
}(); | |
n.defaults = { | |
start: 0, | |
end: 100, | |
step: 1, | |
initialStart: 0, | |
initialEnd: 100, | |
binding: !1, | |
clickSelect: !0, | |
vertical: !1, | |
draggable: !0, | |
disabled: !1, | |
doubleSided: !1, | |
decimal: 2, | |
moveTime: 200, | |
disabledClass: "disabled", | |
invertVertical: !1, | |
changedDelay: 500 | |
}, Foundation.plugin(n, "Slider") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
function e(t) { | |
return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * t | |
} | |
var i = function() { | |
function i(e, n) { | |
_classCallCheck(this, i), this.$element = e, this.options = t.extend({}, i.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Sticky") | |
} | |
return _createClass(i, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element.parent("[data-sticky-container]"), | |
i = this.$element[0].id || Foundation.GetYoDigits(6, "sticky"), | |
n = this; | |
e.length || (this.wasWrapped = !0), this.$container = e.length ? e : t(this.options.container).wrapInner(this.$element), this.$container.addClass(this.options.containerClass), this.$element.addClass(this.options.stickyClass).attr({ | |
"data-resize": i | |
}), this.scrollCount = this.options.checkEvery, this.isStuck = !1, t(window).one("load.zf.sticky", function() { | |
"" !== n.options.anchor ? n.$anchor = t("#" + n.options.anchor) : n._parsePoints(), n._setSizes(function() { | |
n._calc(!1) | |
}), n._events(i.split("-").reverse().join("-")) | |
}) | |
} | |
}, { | |
key: "_parsePoints", | |
value: function() { | |
for (var e = "" == this.options.topAnchor ? 1 : this.options.topAnchor, i = "" == this.options.btmAnchor ? document.documentElement.scrollHeight : this.options.btmAnchor, n = [e, i], s = {}, o = 0, a = n.length; a > o && n[o]; o++) { | |
var r; | |
if ("number" == typeof n[o]) r = n[o]; | |
else { | |
var l = n[o].split(":"), | |
u = t("#" + l[0]); | |
r = u.offset().top, l[1] && "bottom" === l[1].toLowerCase() && (r += u[0].getBoundingClientRect().height) | |
} | |
s[o] = r | |
} | |
this.points = s | |
} | |
}, { | |
key: "_events", | |
value: function(e) { | |
var i = this, | |
n = this.scrollListener = "scroll.zf." + e; | |
this.isOn || (this.canStick && (this.isOn = !0, t(window).off(n).on(n, function(t) { | |
0 === i.scrollCount ? (i.scrollCount = i.options.checkEvery, i._setSizes(function() { | |
i._calc(!1, window.pageYOffset) | |
})) : (i.scrollCount--, i._calc(!1, window.pageYOffset)) | |
})), this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger", function(t, s) { | |
i._setSizes(function() { | |
i._calc(!1), i.canStick ? i.isOn || i._events(e) : i.isOn && i._pauseListeners(n) | |
}) | |
})) | |
} | |
}, { | |
key: "_pauseListeners", | |
value: function(e) { | |
this.isOn = !1, t(window).off(e), this.$element.trigger("pause.zf.sticky") | |
} | |
}, { | |
key: "_calc", | |
value: function(t, e) { | |
return t && this._setSizes(), this.canStick ? (e || (e = window.pageYOffset), void(e >= this.topPoint ? e <= this.bottomPoint ? this.isStuck || this._setSticky() : this.isStuck && this._removeSticky(!1) : this.isStuck && this._removeSticky(!0))) : (this.isStuck && this._removeSticky(!0), !1) | |
} | |
}, { | |
key: "_setSticky", | |
value: function() { | |
var t = this, | |
e = this.options.stickTo, | |
i = "top" === e ? "marginTop" : "marginBottom", | |
n = "top" === e ? "bottom" : "top", | |
s = {}; | |
s[i] = this.options[i] + "em", s[e] = 0, s[n] = "auto", s.left = this.$container.offset().left + parseInt(window.getComputedStyle(this.$container[0])["padding-left"], 10), this.isStuck = !0, this.$element.removeClass("is-anchored is-at-" + n).addClass("is-stuck is-at-" + e).css(s).trigger("sticky.zf.stuckto:" + e), this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function() { | |
t._setSizes() | |
}) | |
} | |
}, { | |
key: "_removeSticky", | |
value: function(t) { | |
var e = this.options.stickTo, | |
i = "top" === e, | |
n = {}, | |
s = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight, | |
o = i ? "marginTop" : "marginBottom", | |
a = t ? "top" : "bottom"; | |
n[o] = 0, n.bottom = "auto", t ? n.top = 0 : n.top = s, n.left = "", this.isStuck = !1, this.$element.removeClass("is-stuck is-at-" + e).addClass("is-anchored is-at-" + a).css(n).trigger("sticky.zf.unstuckfrom:" + a) | |
} | |
}, { | |
key: "_setSizes", | |
value: function(t) { | |
this.canStick = Foundation.MediaQuery.atLeast(this.options.stickyOn), this.canStick || t(); | |
var e = this.$container[0].getBoundingClientRect().width, | |
i = window.getComputedStyle(this.$container[0]), | |
n = parseInt(i["padding-right"], 10); | |
this.$anchor && this.$anchor.length ? this.anchorHeight = this.$anchor[0].getBoundingClientRect().height : this._parsePoints(), this.$element.css({ | |
"max-width": e - n + "px" | |
}); | |
var s = this.$element[0].getBoundingClientRect().height || this.containerHeight; | |
"none" == this.$element.css("display") && (s = 0), this.containerHeight = s, this.$container.css({ | |
height: s | |
}), this.elemHeight = s, this.isStuck && this.$element.css({ | |
left: this.$container.offset().left + parseInt(i["padding-left"], 10) | |
}), this._setBreakPoints(s, function() { | |
t && t() | |
}) | |
} | |
}, { | |
key: "_setBreakPoints", | |
value: function(t, i) { | |
if (!this.canStick) { | |
if (!i) return !1; | |
i() | |
} | |
var n = e(this.options.marginTop), | |
s = e(this.options.marginBottom), | |
o = this.points ? this.points[0] : this.$anchor.offset().top, | |
a = this.points ? this.points[1] : o + this.anchorHeight, | |
r = window.innerHeight; | |
"top" === this.options.stickTo ? (o -= n, a -= t + n) : "bottom" === this.options.stickTo && (o -= r - (t + s), a -= r - s), this.topPoint = o, this.bottomPoint = a, i && i() | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this._removeSticky(!0), this.$element.removeClass(this.options.stickyClass + " is-anchored is-at-top").css({ | |
height: "", | |
top: "", | |
bottom: "", | |
"max-width": "" | |
}).off("resizeme.zf.trigger"), this.$anchor && this.$anchor.length && this.$anchor.off("change.zf.sticky"), t(window).off(this.scrollListener), this.wasWrapped ? this.$element.unwrap() : this.$container.removeClass(this.options.containerClass).css({ | |
height: "" | |
}), Foundation.unregisterPlugin(this) | |
} | |
}]), i | |
}(); | |
i.defaults = { | |
container: "<div data-sticky-container></div>", | |
stickTo: "top", | |
anchor: "", | |
topAnchor: "", | |
btmAnchor: "", | |
marginTop: 1, | |
marginBottom: 1, | |
stickyOn: "medium", | |
stickyClass: "sticky", | |
containerClass: "sticky-container", | |
checkEvery: -1 | |
}, Foundation.plugin(i, "Sticky") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n); | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this._init(), Foundation.registerPlugin(this, "Tabs"), Foundation.Keyboard.register("Tabs", { | |
ENTER: "open", | |
SPACE: "open", | |
ARROW_RIGHT: "next", | |
ARROW_UP: "previous", | |
ARROW_DOWN: "next", | |
ARROW_LEFT: "previous" | |
}) | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this; | |
if (this.$tabTitles = this.$element.find("." + this.options.linkClass), this.$tabContent = t('[data-tabs-content="' + this.$element[0].id + '"]'), this.$tabTitles.each(function() { | |
var i = t(this), | |
n = i.find("a"), | |
s = i.hasClass("is-active"), | |
o = n[0].hash.slice(1), | |
a = n[0].id ? n[0].id : o + "-label", | |
r = t("#" + o); | |
i.attr({ | |
role: "presentation" | |
}), n.attr({ | |
role: "tab", | |
"aria-controls": o, | |
"aria-selected": s, | |
id: a | |
}), r.attr({ | |
role: "tabpanel", | |
"aria-hidden": !s, | |
"aria-labelledby": a | |
}), s && e.options.autoFocus && n.focus() | |
}), this.options.matchHeight) { | |
var i = this.$tabContent.find("img"); | |
i.length ? Foundation.onImagesLoaded(i, this._setHeight.bind(this)) : this._setHeight() | |
} | |
this._events() | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
this._addKeyHandler(), this._addClickHandler(), this._setHeightMqHandler = null, this.options.matchHeight && (this._setHeightMqHandler = this._setHeight.bind(this), t(window).on("changed.zf.mediaquery", this._setHeightMqHandler)) | |
} | |
}, { | |
key: "_addClickHandler", | |
value: function() { | |
var e = this; | |
this.$element.off("click.zf.tabs").on("click.zf.tabs", "." + this.options.linkClass, function(i) { | |
i.preventDefault(), i.stopPropagation(), t(this).hasClass("is-active") || e._handleTabChange(t(this)) | |
}) | |
} | |
}, { | |
key: "_addKeyHandler", | |
value: function() { | |
var e = this; | |
e.$element.find("li:first-of-type"), e.$element.find("li:last-of-type"); | |
this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs", function(i) { | |
if (9 !== i.which) { | |
var n, s, o = t(this), | |
a = o.parent("ul").children("li"); | |
a.each(function(i) { | |
return t(this).is(o) ? void(e.options.wrapOnKeys ? (n = 0 === i ? a.last() : a.eq(i - 1), s = i === a.length - 1 ? a.first() : a.eq(i + 1)) : (n = a.eq(Math.max(0, i - 1)), s = a.eq(Math.min(i + 1, a.length - 1)))) : void 0 | |
}), Foundation.Keyboard.handleKey(i, "Tabs", { | |
open: function() { | |
o.find('[role="tab"]').focus(), e._handleTabChange(o) | |
}, | |
previous: function() { | |
n.find('[role="tab"]').focus(), e._handleTabChange(n) | |
}, | |
next: function() { | |
s.find('[role="tab"]').focus(), e._handleTabChange(s) | |
}, | |
handled: function() { | |
i.stopPropagation(), i.preventDefault() | |
} | |
}) | |
} | |
}) | |
} | |
}, { | |
key: "_handleTabChange", | |
value: function(e) { | |
var i = e.find('[role="tab"]'), | |
n = i[0].hash, | |
s = this.$tabContent.find(n), | |
o = this.$element.find("." + this.options.linkClass + ".is-active").removeClass("is-active").find('[role="tab"]').attr({ | |
"aria-selected": "false" | |
}); | |
t("#" + o.attr("aria-controls")).removeClass("is-active").attr({ | |
"aria-hidden": "true" | |
}), e.addClass("is-active"), i.attr({ | |
"aria-selected": "true" | |
}), s.addClass("is-active").attr({ | |
"aria-hidden": "false" | |
}), this.$element.trigger("change.zf.tabs", [e]) | |
} | |
}, { | |
key: "selectTab", | |
value: function(t) { | |
var e; | |
e = "object" == typeof t ? t[0].id : t, e.indexOf("#") < 0 && (e = "#" + e); | |
var i = this.$tabTitles.find('[href="' + e + '"]').parent("." + this.options.linkClass); | |
this._handleTabChange(i) | |
} | |
}, { | |
key: "_setHeight", | |
value: function() { | |
var e = 0; | |
this.$tabContent.find("." + this.options.panelClass).css("height", "").each(function() { | |
var i = t(this), | |
n = i.hasClass("is-active"); | |
n || i.css({ | |
visibility: "hidden", | |
display: "block" | |
}); | |
var s = this.getBoundingClientRect().height; | |
n || i.css({ | |
visibility: "", | |
display: "" | |
}), e = s > e ? s : e | |
}).css("height", e + "px") | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.find("." + this.options.linkClass).off(".zf.tabs").hide().end().find("." + this.options.panelClass).hide(), this.options.matchHeight && null != this._setHeightMqHandler && t(window).off("changed.zf.mediaquery", this._setHeightMqHandler), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
autoFocus: !1, | |
wrapOnKeys: !0, | |
matchHeight: !1, | |
linkClass: "tabs-title", | |
panelClass: "tabs-panel" | |
}, Foundation.plugin(e, "Tabs") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, i.data(), n), this.className = "", this._init(), this._events(), Foundation.registerPlugin(this, "Toggler") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e; | |
this.options.animate ? (e = this.options.animate.split(" "), this.animationIn = e[0], this.animationOut = e[1] || null) : (e = this.$element.data("toggler"), this.className = "." === e[0] ? e.slice(1) : e); | |
var i = this.$element[0].id; | |
t('[data-open="' + i + '"], [data-close="' + i + '"], [data-toggle="' + i + '"]').attr("aria-controls", i), this.$element.attr("aria-expanded", !this.$element.is(":hidden")) | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger", this.toggle.bind(this)) | |
} | |
}, { | |
key: "toggle", | |
value: function() { | |
this[this.options.animate ? "_toggleAnimate" : "_toggleClass"]() | |
} | |
}, { | |
key: "_toggleClass", | |
value: function() { | |
this.$element.toggleClass(this.className); | |
var t = this.$element.hasClass(this.className); | |
t ? this.$element.trigger("on.zf.toggler") : this.$element.trigger("off.zf.toggler"), this._updateARIA(t) | |
} | |
}, { | |
key: "_toggleAnimate", | |
value: function() { | |
var t = this; | |
this.$element.is(":hidden") ? Foundation.Motion.animateIn(this.$element, this.animationIn, function() { | |
t._updateARIA(!0), this.trigger("on.zf.toggler") | |
}) : Foundation.Motion.animateOut(this.$element, this.animationOut, function() { | |
t._updateARIA(!1), this.trigger("off.zf.toggler") | |
}) | |
} | |
}, { | |
key: "_updateARIA", | |
value: function(t) { | |
this.$element.attr("aria-expanded", !!t) | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.off(".zf.toggler"), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
animate: !1 | |
}, Foundation.plugin(e, "Toggler") | |
}(jQuery); | |
var _createClass = function() { | |
function t(t, e) { | |
for (var i = 0; i < e.length; i++) { | |
var n = e[i]; | |
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) | |
} | |
} | |
return function(e, i, n) { | |
return i && t(e.prototype, i), n && t(e, n), e | |
} | |
}(); | |
! function(t) { | |
var e = function() { | |
function e(i, n) { | |
_classCallCheck(this, e), this.$element = i, this.options = t.extend({}, e.defaults, this.$element.data(), n), this.isActive = !1, this.isClick = !1, this._init(), Foundation.registerPlugin(this, "Tooltip") | |
} | |
return _createClass(e, [{ | |
key: "_init", | |
value: function() { | |
var e = this.$element.attr("aria-describedby") || Foundation.GetYoDigits(6, "tooltip"); | |
this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element), this.options.tipText = this.options.tipText || this.$element.attr("title"), this.template = this.options.template ? t(this.options.template) : this._buildTemplate(e), this.template.appendTo(document.body).text(this.options.tipText).hide(), this.$element.attr({ | |
title: "", | |
"aria-describedby": e, | |
"data-yeti-box": e, | |
"data-toggle": e, | |
"data-resize": e | |
}).addClass(this.triggerClass), this.usedPositions = [], this.counter = 4, this.classChanged = !1, this._events() | |
} | |
}, { | |
key: "_getPositionClass", | |
value: function(t) { | |
if (!t) return ""; | |
var e = t[0].className.match(/\b(top|left|right)\b/g); | |
return e = e ? e[0] : "" | |
} | |
}, { | |
key: "_buildTemplate", | |
value: function(e) { | |
var i = (this.options.tooltipClass + " " + this.options.positionClass + " " + this.options.templateClasses).trim(), | |
n = t("<div></div>").addClass(i).attr({ | |
role: "tooltip", | |
"aria-hidden": !0, | |
"data-is-active": !1, | |
"data-is-focus": !1, | |
id: e | |
}); | |
return n | |
} | |
}, { | |
key: "_reposition", | |
value: function(t) { | |
this.usedPositions.push(t ? t : "bottom"), !t && this.usedPositions.indexOf("top") < 0 ? this.template.addClass("top") : "top" === t && this.usedPositions.indexOf("bottom") < 0 ? this.template.removeClass(t) : "left" === t && this.usedPositions.indexOf("right") < 0 ? this.template.removeClass(t).addClass("right") : "right" === t && this.usedPositions.indexOf("left") < 0 ? this.template.removeClass(t).addClass("left") : !t && this.usedPositions.indexOf("top") > -1 && this.usedPositions.indexOf("left") < 0 ? this.template.addClass("left") : "top" === t && this.usedPositions.indexOf("bottom") > -1 && this.usedPositions.indexOf("left") < 0 ? this.template.removeClass(t).addClass("left") : "left" === t && this.usedPositions.indexOf("right") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.template.removeClass(t) : "right" === t && this.usedPositions.indexOf("left") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.template.removeClass(t) : this.template.removeClass(t), this.classChanged = !0, this.counter-- | |
} | |
}, { | |
key: "_setPosition", | |
value: function() { | |
var t = this._getPositionClass(this.template), | |
e = Foundation.Box.GetDimensions(this.template), | |
i = Foundation.Box.GetDimensions(this.$element), | |
n = "left" === t ? "left" : "right" === t ? "left" : "top", | |
s = "top" === n ? "height" : "width"; | |
"height" === s ? this.options.vOffset : this.options.hOffset; | |
if (e.width >= e.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) return this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, "center bottom", this.options.vOffset, this.options.hOffset, !0)).css({ | |
width: i.windowDims.width - 2 * this.options.hOffset, | |
height: "auto" | |
}), !1; | |
for (this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, "center " + (t || "bottom"), this.options.vOffset, this.options.hOffset)); !Foundation.Box.ImNotTouchingYou(this.template) && this.counter;) this._reposition(t), this._setPosition() | |
} | |
}, { | |
key: "show", | |
value: function() { | |
if ("all" !== this.options.showOn && !Foundation.MediaQuery.atLeast(this.options.showOn)) return !1; | |
var t = this; | |
this.template.css("visibility", "hidden").show(), this._setPosition(), this.$element.trigger("closeme.zf.tooltip", this.template.attr("id")), this.template.attr({ | |
"data-is-active": !0, | |
"aria-hidden": !1 | |
}), t.isActive = !0, this.template.stop().hide().css("visibility", "").fadeIn(this.options.fadeInDuration, function() {}), this.$element.trigger("show.zf.tooltip") | |
} | |
}, { | |
key: "hide", | |
value: function() { | |
var t = this; | |
this.template.stop().attr({ | |
"aria-hidden": !0, | |
"data-is-active": !1 | |
}).fadeOut(this.options.fadeOutDuration, function() { | |
t.isActive = !1, t.isClick = !1, t.classChanged && (t.template.removeClass(t._getPositionClass(t.template)).addClass(t.options.positionClass), t.usedPositions = [], t.counter = 4, t.classChanged = !1) | |
}), this.$element.trigger("hide.zf.tooltip") | |
} | |
}, { | |
key: "_events", | |
value: function() { | |
var t = this, | |
e = (this.template, !1); | |
this.options.disableHover || this.$element.on("mouseenter.zf.tooltip", function(e) { | |
t.isActive || (t.timeout = setTimeout(function() { | |
t.show() | |
}, t.options.hoverDelay)) | |
}).on("mouseleave.zf.tooltip", function(i) { | |
clearTimeout(t.timeout), (!e || t.isClick && !t.options.clickOpen) && t.hide() | |
}), this.options.clickOpen ? this.$element.on("mousedown.zf.tooltip", function(e) { | |
e.stopImmediatePropagation(), t.isClick || (t.isClick = !0, !t.options.disableHover && t.$element.attr("tabindex") || t.isActive || t.show()) | |
}) : this.$element.on("mousedown.zf.tooltip", function(e) { | |
e.stopImmediatePropagation(), t.isClick = !0 | |
}), this.options.disableForTouch || this.$element.on("tap.zf.tooltip touchend.zf.tooltip", function(e) { | |
t.isActive ? t.hide() : t.show() | |
}), this.$element.on({ | |
"close.zf.trigger": this.hide.bind(this) | |
}), this.$element.on("focus.zf.tooltip", function(i) { | |
return e = !0, t.isClick ? (t.options.clickOpen || (e = !1), !1) : void t.show() | |
}).on("focusout.zf.tooltip", function(i) { | |
e = !1, t.isClick = !1, t.hide() | |
}).on("resizeme.zf.trigger", function() { | |
t.isActive && t._setPosition() | |
}) | |
} | |
}, { | |
key: "toggle", | |
value: function() { | |
this.isActive ? this.hide() : this.show() | |
} | |
}, { | |
key: "destroy", | |
value: function() { | |
this.$element.attr("title", this.template.text()).off(".zf.trigger .zf.tootip").removeAttr("aria-describedby").removeAttr("data-yeti-box").removeAttr("data-toggle").removeAttr("data-resize"), this.template.remove(), Foundation.unregisterPlugin(this) | |
} | |
}]), e | |
}(); | |
e.defaults = { | |
disableForTouch: !1, | |
hoverDelay: 200, | |
fadeInDuration: 150, | |
fadeOutDuration: 150, | |
disableHover: !1, | |
templateClasses: "", | |
tooltipClass: "tooltip", | |
triggerClass: "has-tip", | |
showOn: "small", | |
template: "", | |
tipText: "", | |
touchCloseText: "Tap to close.", | |
clickOpen: !0, | |
positionClass: "", | |
vOffset: 10, | |
hOffset: 12 | |
}, Foundation.plugin(e, "Tooltip") | |
}(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment