Skip to content

Instantly share code, notes, and snippets.

@dancingsoda
Created November 25, 2016 02:49
Show Gist options
  • Save dancingsoda/b79818ce0b9883d9a9f3f7a2f20000b5 to your computer and use it in GitHub Desktop.
Save dancingsoda/b79818ce0b9883d9a9f3f7a2f20000b5 to your computer and use it in GitHub Desktop.
the unminified version of the js
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