1/*! 2 * Isotope PACKAGED v2.2.0 3 * 4 * Licensed GPLv3 for open source use 5 * or Isotope Commercial License for commercial use 6 * 7 * http://isotope.metafizzy.co 8 * Copyright 2015 Metafizzy 9 */ 10 11(function (t) { 12 function e() { 13 } 14 15 function i(t) { 16 function i(e) { 17 e.prototype.option || (e.prototype.option = function (e) { 18 t.isPlainObject(e) && (this.options = t.extend(!0, this.options, e)) 19 }) 20 } 21 22 function n(e, i) { 23 t.fn[e] = function (n) { 24 if ("string" == typeof n) { 25 for (var s = o.call(arguments, 1), a = 0, u = this.length; u > a; a++) { 26 var p = this[a], h = t.data(p, e); 27 if (h)if (t.isFunction(h[n]) && "_" !== n.charAt(0)) { 28 var f = h[n].apply(h, s); 29 if (void 0 !== f)return f 30 } else r("no such method '" + n + "' for " + e + " instance"); else r("cannot call methods on " + e + " prior to initialization; " + "attempted to call '" + n + "'") 31 } 32 return this 33 } 34 return this.each(function () { 35 var o = t.data(this, e); 36 o ? (o.option(n), o._init()) : (o = new i(this, n), t.data(this, e, o)) 37 }) 38 } 39 } 40 41 if (t) { 42 var r = "undefined" == typeof console ? e : function (t) { 43 console.error(t) 44 }; 45 return t.bridget = function (t, e) { 46 i(e), n(t, e) 47 }, t.bridget 48 } 49 } 50 51 var o = Array.prototype.slice; 52 "function" == typeof define && define.amd ? define("jquery-bridget/jquery.bridget", ["jquery"], i) : "object" == typeof exports ? i(require("jquery")) : i(t.jQuery) 53})(window), function (t) { 54 function e(e) { 55 var i = t.event; 56 return i.target = i.target || i.srcElement || e, i 57 } 58 59 var i = document.documentElement, o = function () { 60 }; 61 i.addEventListener ? o = function (t, e, i) { 62 t.addEventListener(e, i, !1) 63 } : i.attachEvent && (o = function (t, i, o) { 64 t[i + o] = o.handleEvent ? function () { 65 var i = e(t); 66 o.handleEvent.call(o, i) 67 } : function () { 68 var i = e(t); 69 o.call(t, i) 70 }, t.attachEvent("on" + i, t[i + o]) 71 }); 72 var n = function () { 73 }; 74 i.removeEventListener ? n = function (t, e, i) { 75 t.removeEventListener(e, i, !1) 76 } : i.detachEvent && (n = function (t, e, i) { 77 t.detachEvent("on" + e, t[e + i]); 78 try { 79 delete t[e + i] 80 } catch (o) { 81 t[e + i] = void 0 82 } 83 }); 84 var r = {bind: o, unbind: n}; 85 "function" == typeof define && define.amd ? define("eventie/eventie", r) : "object" == typeof exports ? module.exports = r : t.eventie = r 86}(window), function () { 87 function t() { 88 } 89 90 function e(t, e) { 91 for (var i = t.length; i--;)if (t[i].listener === e)return i; 92 return -1 93 } 94 95 function i(t) { 96 return function () { 97 return this[t].apply(this, arguments) 98 } 99 } 100 101 var o = t.prototype, n = this, r = n.EventEmitter; 102 o.getListeners = function (t) { 103 var e, i, o = this._getEvents(); 104 if (t instanceof RegExp) { 105 e = {}; 106 for (i in o)o.hasOwnProperty(i) && t.test(i) && (e[i] = o[i]) 107 } else e = o[t] || (o[t] = []); 108 return e 109 }, o.flattenListeners = function (t) { 110 var e, i = []; 111 for (e = 0; t.length > e; e += 1)i.push(t[e].listener); 112 return i 113 }, o.getListenersAsObject = function (t) { 114 var e, i = this.getListeners(t); 115 return i instanceof Array && (e = {}, e[t] = i), e || i 116 }, o.addListener = function (t, i) { 117 var o, n = this.getListenersAsObject(t), r = "object" == typeof i; 118 for (o in n)n.hasOwnProperty(o) && -1 === e(n[o], i) && n[o].push(r ? i : {listener: i, once: !1}); 119 return this 120 }, o.on = i("addListener"), o.addOnceListener = function (t, e) { 121 return this.addListener(t, {listener: e, once: !0}) 122 }, o.once = i("addOnceListener"), o.defineEvent = function (t) { 123 return this.getListeners(t), this 124 }, o.defineEvents = function (t) { 125 for (var e = 0; t.length > e; e += 1)this.defineEvent(t[e]); 126 return this 127 }, o.removeListener = function (t, i) { 128 var o, n, r = this.getListenersAsObject(t); 129 for (n in r)r.hasOwnProperty(n) && (o = e(r[n], i), -1 !== o && r[n].splice(o, 1)); 130 return this 131 }, o.off = i("removeListener"), o.addListeners = function (t, e) { 132 return this.manipulateListeners(!1, t, e) 133 }, o.removeListeners = function (t, e) { 134 return this.manipulateListeners(!0, t, e) 135 }, o.manipulateListeners = function (t, e, i) { 136 var o, n, r = t ? this.removeListener : this.addListener, s = t ? this.removeListeners : this.addListeners; 137 if ("object" != typeof e || e instanceof RegExp)for (o = i.length; o--;)r.call(this, e, i[o]); else for (o in e)e.hasOwnProperty(o) && (n = e[o]) && ("function" == typeof n ? r.call(this, o, n) : s.call(this, o, n)); 138 return this 139 }, o.removeEvent = function (t) { 140 var e, i = typeof t, o = this._getEvents(); 141 if ("string" === i)delete o[t]; else if (t instanceof RegExp)for (e in o)o.hasOwnProperty(e) && t.test(e) && delete o[e]; else delete this._events; 142 return this 143 }, o.removeAllListeners = i("removeEvent"), o.emitEvent = function (t, e) { 144 var i, o, n, r, s = this.getListenersAsObject(t); 145 for (n in s)if (s.hasOwnProperty(n))for (o = s[n].length; o--;
145)i = s[n][o], i.once === !0 && this.removeListener(t, i.listener), r = i.listener.apply(this, e || []), r === this._getOnceReturnValue() && this.removeListener(t, i.listener); 146 return this 147 }, o.trigger = i("emitEvent"), o.emit = function (t) { 148 var e = Array.prototype.slice.call(arguments, 1); 149 return this.emitEvent(t, e) 150 }, o.setOnceReturnValue = function (t) { 151 return this._onceReturnValue = t, this 152 }, o._getOnceReturnValue = function () { 153 return this.hasOwnProperty("_onceReturnValue") ? this._onceReturnValue : !0 154 }, o._getEvents = function () { 155 return this._events || (this._events = {}) 156 }, t.noConflict = function () { 157 return n.EventEmitter = r, t 158 }, "function" == typeof define && define.amd ? define("eventEmitter/EventEmitter", [], function () { 159 return t 160 }) : "object" == typeof module && module.exports ? module.exports = t : n.EventEmitter = t 161}.call(this), function (t) { 162 function e(t) { 163 if (t) { 164 if ("string" == typeof o[t])return t; 165 t = t.charAt(0).toUpperCase() + t.slice(1); 166 for (var e, n = 0, r = i.length; r > n; n++)if (e = i[n] + t, "string" == typeof o[e])return e 167 } 168 } 169 170 var i = "Webkit Moz ms Ms O".split(" "), o = document.documentElement.style; 171 "function" == typeof define && define.amd ? define("get-style-property/get-style-property", [], function () { 172 return e 173 }) : "object" == typeof exports ? module.exports = e : t.getStyleProperty = e 174}(window), function (t) { 175 function e(t) { 176 var e = parseFloat(t), i = -1 === t.indexOf("%") && !isNaN(e); 177 return i && e 178 } 179 180 function i() { 181 } 182 183 function o() { 184 for (var t = { 185 width: 0, 186 height: 0, 187 innerWidth: 0, 188 innerHeight: 0, 189 outerWidth: 0, 190 outerHeight: 0 191 }, e = 0, i = s.length; i > e; e++) { 192 var o = s[e]; 193 t[o] = 0 194 } 195 return t 196 } 197 198 function n(i) { 199 function n() { 200 if (!d) { 201 d = !0; 202 var o = t.getComputedStyle; 203 if (p = function () { 204 var t = o ? function (t) { 205 return o(t, null) 206 } : function (t) { 207 return t.currentStyle 208 }; 209 return function (e) { 210 var i = t(e); 211 return i || r("Style returned " + i + ". Are you running this code in a hidden iframe on Firefox? " + "See http://bit.ly/getsizebug1"), i 212 } 213 }(), h = i("boxSizing")) { 214 var n = document.createElement("div"); 215 n.style.width = "200px", n.style.padding = "1px 2px 3px 4px", n.style.borderStyle = "solid", n.style.borderWidth = "1px 2px 3px 4px", n.style[h] = "border-box"; 216 var s = document.body || document.documentElement; 217 s.appendChild(n); 218 var a = p(n); 219 f = 200 === e(a.width), s.removeChild(n) 220 } 221 } 222 } 223 224 function a(t) { 225 if (n(), "string" == typeof t && (t = document.querySelector(t)), t && "object" == typeof t && t.nodeType) { 226 var i = p(t); 227 if ("none" === i.display)return o(); 228 var r = {}; 229 r.width = t.offsetWidth, r.height = t.offsetHeight; 230 for (var a = r.isBorderBox = !(!h || !i[h] || "border-box" !== i[h]), d = 0, l = s.length; l > d; d++) { 231 var c = s[d], m = i[c]; 232 m = u(t, m); 233 var y = parseFloat(m); 234 r[c] = isNaN(y) ? 0 : y 235 } 236 var g = r.paddingLeft + r.paddingRight, v = r.paddingTop + r.paddingBottom, _ = r.marginLeft + r.marginRight, I = r.marginTop + r.marginBottom, z = r.borderLeftWidth + r.borderRightWidth, L = r.borderTopWidth + r.borderBottomWidth, x = a && f, E = e(i.width); 237 E !== !1 && (r.width = E + (x ? 0 : g + z)); 238 var b = e(i.height); 239 return b !== !1 && (r.height = b + (x ? 0 : v + L)), r.innerWidth = r.width - (g + z), r.innerHe
239ight = r.height - (v + L), r.outerWidth = r.width + _, r.outerHeight = r.height + I, r 240 } 241 } 242 243 function u(e, i) { 244 if (t.getComputedStyle || -1 === i.indexOf("%"))return i; 245 var o = e.style, n = o.left, r = e.runtimeStyle, s = r && r.left; 246 return s && (r.left = e.currentStyle.left), o.left = i, i = o.pixelLeft, o.left = n, s && (r.left = s), i 247 } 248 249 var p, h, f, d = !1; 250 return a 251 } 252 253 var r = "undefined" == typeof console ? i : function (t) { 254 console.error(t) 255 }, s = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"]; 256 "function" == typeof define && define.amd ? define("get-size/get-size", ["get-style-property/get-style-property"], n) : "object" == typeof exports ? module.exports = n(require("desandro-get-style-property")) : t.getSize = n(t.getStyleProperty) 257}(window), function (t) { 258 function e(t) { 259 "function" == typeof t && (e.isReady ? t() : s.push(t)) 260 } 261 262 function i(t) { 263 var i = "readystatechange" === t.type && "complete" !== r.readyState; 264 e.isReady || i || o() 265 } 266 267 function o() { 268 e.isReady = !0; 269 for (var t = 0, i = s.length; i > t; t++) { 270 var o = s[t]; 271 o() 272 } 273 } 274 275 function n(n) { 276 return "complete" === r.readyState ? o() : (n.bind(r, "DOMContentLoaded", i), n.bind(r, "readystatechange", i), n.bind(t, "load", i)), e 277 } 278 279 var r = t.document, s = []; 280 e.isReady = !1, "function" == typeof define && define.amd ? define("doc-ready/doc-ready", ["eventie/eventie"], n) : "object" == typeof exports ? module.exports = n(require("eventie")) : t.docReady = n(t.eventie) 281}(window), function (t) { 282 function e(t, e) { 283 return t[s](e) 284 } 285 286 function i(t) { 287 if (!t.parentNode) { 288 var e = document.createDocumentFragment(); 289 e.appendChild(t) 290 } 291 } 292 293 function o(t, e) { 294 i(t); 295 for (var o = t.parentNode.querySelectorAll(e), n = 0, r = o.length; r > n; n++)if (o[n] === t)return !0; 296 return !1 297 } 298 299 function n(t, o) { 300 return i(t), e(t, o) 301 } 302 303 var r, s = function () { 304 if (t.matches)return "matches"; 305 if (t.matchesSelector)return "matchesSelector"; 306 for (var e = ["webkit", "moz", "ms", "o"], i = 0, o = e.length; o > i; i++) { 307 var n = e[i], r = n + "MatchesSelector"; 308 if (t[r])return r 309 } 310 }(); 311 if (s) { 312 var a = document.createElement("div"), u = e(a, "div"); 313 r = u ? e : n 314 } else r = o; 315 "function" == typeof define && define.amd ? define("matches-selector/matches-selector", [], function () { 316 return r 317 }) : "object" == typeof exports ? module.exports = r : window.matchesSelector = r 318}(Element.prototype), function (t, e) { 319 "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["doc-ready/doc-ready", "matches-selector/matches-selector"], function (i, o) { 320 return e(t, i, o) 321 }) : "object" == typeof exports ? module.exports = e(t, require("doc-ready"), require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.docReady, t.matchesSelector) 322}(window, function (t, e, i) { 323 var o = {}; 324 o.extend = function (t, e) { 325 for (var i in e)t[i] = e[i]; 326 return t 327 }, o.modulo = function (t, e) { 328 return (t % e + e) % e 329 }; 330 var n = Object.prototype.toString; 331 o.isArray = function (t) { 332 return "[object Array]" == n.call(t) 333 }, o.makeArray = function (t) { 334 var e = []; 335 if (o.isArray(t))e = t; else if (t && "number" == typeof t.length)for (var i = 0, n = t.length; n > i; i++)e.push(t[i]); else e.push(t); 336 return e 337 }, o.indexOf = Array.prototype.indexOf ? function (t, e) { 338 return t.indexOf(e) 339 } : function (t, e) { 340 for (var i = 0, o = t.length; o > i; i++)if (t[i] === e)return i; 341 return -1 342 }, o.removeFrom = function (t, e) { 343 var i = o.indexOf(t, e); 344 -1 != i && t.splice(i, 1) 345 }, o.isElement = "function" == typeof HTMLElement || "object" == typeof HTMLElement ? function (t) { 346 return t instanceof HTMLElement 347 } : function (t) { 348 return t && "object" == typeof t && 1 == t.nodeType && "string" == typeof t.nodeName 349 }, o.setText = function () { 350 function t(t, i) { 351 e = e || (void 0 !== document.documentElement.textContent ? "textContent" : "innerText"), t[e] = i 352 } 353 354 var e; 355 return t 356 }(), o.getParent = function (t, e) { 357 for (; t != document.body;)if (t = t.parentNode, i(t, e))return t 358 }, o.getQueryElement = function (t) { 359 return "string" == typeof t ? document.querySelector(t) : t 360 }, o.handleEvent = function (t) { 361 var e = "on" + t.type; 362 this[e] && this[e](t) 363 }, o.filterFindElements = function (t, e) { 364 t = o.makeArray(t); 365 for (var n = [], r = 0, s = t.length; s > r; r++) { 366 var a = t[r]; 367 if (o.isElement(a))if (e) { 368 i(a, e) && n.push(a); 369 for (var u = a.querySelectorAll(e), p = 0, h = u.length; h > p; p++)n.push(u[p]) 370 } else n.push(a) 371 } 372 return n 373 }, o.debounceMethod = function (t, e, i) { 374 var o = t.prototype[e], n = e + "Timeout"; 375 t.prototype[e] = function () { 376 var t = this[n]; 377 t && clearTimeout(t); 378 var e = arguments, r = this; 379 this[n] = setTimeout(function () { 380 o.apply(r, e), delete r[n] 381 }, i || 100) 382 } 383 }, o.toDashed = function (t) { 384 return t.replace(/(.)([A-Z])/g, function (t, e, i) { 385 return e + "-" + i 386 }).toLowerCase() 387 }; 388 var r = t.console; 389 return o.htmlInit = function (i, n) { 390 e(function () { 391 for (var e = o.toDashed(n), s = document.querySelectorAll(".js-" + e), a = "data-" + e + "-options", u = 0, p = s.length; p > u; u++) { 392 var h, f = s[u], d = f.getAttribute(a); 393 try { 394 h = d && JSON.parse(d) 395 } catch (l) { 396 r && r.error("Error parsing " + a + " on " + f.nodeName.toLowerCase() + (f.id ? "#" + f.id : "") + ": " + l); 397 continue 398 } 399 var c = new i(f, h), m = t.jQuery;
400 m && m.data(f, n, c) 401 } 402 }) 403 }, o 404}), function (t, e) { 405 "function" == typeof define && define.amd ? define("outlayer/item", ["eventEmitter/EventEmitter", "get-size/get-size", "get-style-property/get-style-property", "fizzy-ui-utils/utils"], function (i, o, n, r) { 406 return e(t, i, o, n, r) 407 }) : "object" == typeof exports ? module.exports = e(t, require("wolfy87-eventemitter"), require("get-size"), require("desandro-get-style-property"), require("fizzy-ui-utils")) : (t.Outlayer = {}, t.Outlayer.Item = e(t, t.EventEmitter, t.getSize, t.getStyleProperty, t.fizzyUIUtils)) 408}(window, function (t, e, i, o, n) { 409 function r(t) { 410 for (var e in t)return !1; 411 return e = null, !0 412 } 413 414 function s(t, e) { 415 t && (this.element = t, this.layout = e, this.position = {x: 0, y: 0}, this._create()) 416 } 417 418 var a = t.getComputedStyle, u = a ? function (t) { 419 return a(t, null) 420 } : function (t) { 421 return t.currentStyle 422 }, p = o("transition"), h = o("transform"), f = p && h, d = !!o("perspective"), l = { 423 WebkitTransition: "webkitTransitionEnd", 424 MozTransition: "transitionend", 425 OTransition: "otransitionend", 426 transition: "transitionend" 427 }[p], c = ["transform", "transition", "transitionDuration", "transitionProperty"], m = function () { 428 for (var t = {}, e = 0, i = c.length; i > e; e++) { 429 var n = c[e], r = o(n); 430 r && r !== n && (t[n] = r) 431 } 432 return t 433 }(); 434 n.extend(s.prototype, e.prototype), s.prototype._create = function () { 435 this._transn = {ingProperties: {}, clean: {}, onEnd: {}}, this.css({position: "absolute"}) 436 }, s.prototype.handleEvent = function (t) { 437 var e = "on" + t.type; 438 this[e] && this[e](t) 439 }, s.prototype.getSize = function () { 440 this.size = i(this.element) 441 }, s.prototype.css = function (t) { 442 var e = this.element.style; 443 for (var i in t) { 444 var o = m[i] || i; 445 e[o] = t[i] 446 } 447 }, s.prototype.getPosition = function () { 448 var t = u(this.element), e = this.layout.options, i = e.isOriginLeft, o = e.isOriginTop, n = parseInt(t[i ? "left" : "right"], 10), r = parseInt(t[o ? "top" : "bottom"], 10); 449 n = isNaN(n) ? 0 : n, r = isNaN(r) ? 0 : r; 450 var s = this.layout.size; 451 n -= i ? s.paddingLeft : s.paddingRight, r -= o ? s.paddingTop : s.paddingBottom, this.position.x = n, this.position.y = r 452 }, s.prototype.layoutPosition = function () { 453 var t = this.layout.size, e = this.layout.options, i = {}, o = e.isOriginLeft ? "paddingLeft" : "paddingRight", n = e.isOriginLeft ? "left" : "right", r = e.isOriginLeft ? "right" : "left", s = this.position.x + t[o]; 454 s = e.percentPosition && !e.isHorizontal ? 100 * (s / t.width) + "%" : s + "px", i[n] = s, i[r] = ""; 455 var a = e.isOriginTop ? "paddingTop" : "paddingBottom", u = e.isOriginTop ? "top" : "bottom", p = e.isOriginTop ? "bottom" : "top", h = this.position.y + t[a]; 456 h = e.percentPosition && e.isHorizontal ? 100 * (h / t.height) + "%" : h + "px", i[u] = h, i[p] = "", this.css(i), this.emitEvent("layout", [this]) 457 }; 458 var y = d ? function (t, e) { 459 return "translate3d(" + t + "px, " + e + "px, 0)" 460 } : function (t, e) { 461 return "translate(" + t + "px, " + e + "px)" 462 }; 463 s.prototype._transitionTo = function (t, e) { 464 this.getPosition(); 465 var i = this.position.x, o = this.position.y, n = parseInt(t, 10), r = parseInt(e, 10), s = n === this.position.x && r === this.position.y; 466 if (this.setPosition(t, e), s && !this.isTransitioning)return this.layoutPosition(), void 0; 467 var a = t - i, u = e - o, p = {}, h = this.layout.options; 468 a = h.isOriginLeft ? a : -a, u = h.isOriginTop ? u : -u, p.transform = y(a, u), this.transition({ 469 to: p, 470 onTransitionEnd: {transform: this.layoutPosition}, 471 isCleaning: !0 472 }) 473 }, s.prototype.goTo = function (t, e) { 474 this.setPosition(t, e), this.layoutPosition() 475 }, s.prototype.moveTo = f ? s.prototype._transitionTo : s.prototype.goTo, s.prototype.setPosition = function (t, e) { 476 this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10) 477 }, s.prototype._nonTransition = function (t) { 478 this.css(t.to), t.isCleaning && this._removeStyles(t.to); 479 for (var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this) 480 }, s.prototype._transition = function (t) { 481 if (!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t), void 0; 482 var e = this._transn; 483 for (var i in t.onTransitionEnd)e.onEnd[i] = t.onTransitionEnd[i]; 484 for (i in t.to)e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); 485 if (t.from) { 486 this.css(t.from); 487 var o = this.element.offsetHeight; 488 o = null 489 } 490 this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 491 }; 492 var g = h && n.toDashed(h) + ",opacity"; 493 s.prototype.enableTransition = function () { 494 this.isTransitioning || (this.css({ 495 transitionProperty: g, 496 transitionDuration: this.layout.options.transitionDuration 497 }), this.element.addEventListener(l, this, !1)) 498 }, s.prototype.transition = s.prototype[p ? "_transition" : "_nonTransition"], s.prototype.onwebkitTransitionEnd = function (t) { 499 this.ontransitionend(t) 500 }, s.prototype.onotransitionend = function (t) { 501 this.ontransitionend(t) 502 }; 503 var v = {"-webkit-transform": "transform", "-moz-transform": "transform", "-o-transform": "transform"}; 504 s.prototype.ontransitionend = function (t) { 505 if (t.target === this.element) { 506 var e = this._transn, i = v[t.propertyName] || t.propertyName; 507 if (delete e.ingProperties[i], r(e.ingProperties) && this.disableTransition(), i in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[i]), i in e.onEnd) { 508 var o = e.onEnd[i]; 509 o.call(this), delete e.onEnd[i] 510 } 511 this.emitEvent("transitionEnd", [this]) 512 } 513 }, s.prototype.disableTransition = function () { 514 this.removeTransitionStyles(), this.element.removeEventListener(l, this, !1), this.isTransitioning = !1 515 }, s.prototype._removeStyles = function (t) { 516 var e = {}; 517 for (var i in t)e[i] = ""; 518 this.css(e) 519 }; 520 var _ = {transitionProperty: "", transitionDuration: ""}; 521 return s.prototype.removeTransitionStyles = function () { 522 this.css(_) 523 }, s.prototype.removeElem = function () { 524 this.element.parentNode.removeChild(this.element), this.css({display: ""}), this.emitEvent("remove", [this]) 525 }, s.prototype.remove = function () { 526 if (!p || !parseFloat(this.layout.options.transitionDuration))return this.removeElem(), void 0; 527 var t = this; 528 this.once("transitionEnd", function () { 529 t.removeElem() 530 }), this.hide() 531 }, s.prototype.reveal = function () { 532 delete this.isHidden, this.css({display: ""}); 533 var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("visibleStyle"); 534 e[i] = this.onRevealTransitionEnd, this.transition({ 535 from: t.hiddenStyle, 536 to: t.visibleStyle, 537 isCleaning: !0, 538 onTransitionEnd: e 539 }) 540 }, s.prototype.onRevealTransitionEnd = function () { 541 this.isHidden || this.emitEvent("reveal") 542 }, s.prototype.getHideRevealTransitionEndProperty = function (t) { 543 var e = this.layout.options[t]; 544 if (e.opacity)return "opacity"; 545 for (var i in e)return i 546 }, s.prototype.hide = function () { 547 this.isHidden = !0, this.css({display: ""}); 548 var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 549 e[i] = this.onHideTransitionEnd, this.transition({ 550 from: t.visibleStyle, 551 to: t.hiddenStyle, 552 isCleaning: !0, 553 onTransitionEnd: e 554 }) 555 }, s.prototype.onHideTransitionEnd = function () { 556 this.isHidden && (this.css({display: "none"}), this.emitEvent("hide")) 557 }, s.prototype.destroy = function () { 558 this.css({position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: ""}) 559 }, s 560}), function (t, e) { 561 "function" == typeof define && define.amd ? define("outlayer/outlayer", ["eventie/eventie", "eventEmitter/EventEmitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, o, n, r, s) { 562 return e(t, i, o, n, r, s) 563 }) : "object" == typeof exports ? module.exports = e(t, require("eventie"), require("wolfy87-eventemitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.eventie, t.EventEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) 564}(window, function (t, e, i, o, n, r) { 565 function s(t, e) { 566 var i = n.getQueryElement(t); 567 if (!i)return a && a.error("Bad element for " + this.constructor.namespace + ": " + (i || t)), void 0; 568 this.element = i, u && (this.$element = u(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e); 569 var o = ++h; 570 this.element.outlayerGUID = o, f[o] = this, this._create(), this.options.isInitLayout && this.layout() 571 } 572 573 var a = t.console, u = t.jQuery, p = function () { 574 }, h = 0, f = {}; 575 return s.namespace = "outlayer", s.Item = r, s.defaults = { 576 containerStyle: {position: "relative"}, 577 isInitLayout: !0, 578 isOriginLeft: !0, 579 isOriginTop: !0, 580 isResizeBound: !0, 581 isResizingContainer: !0, 582 transitionDuration: "0.4s", 583 hiddenStyle: {opacity: 0, transform: "scale(0.001)"}, 584 visibleStyle: {opacity: 1, transform: "scale(1)"} 585 }, n.extend(s.prototype, i.prototype), s.prototype.option = function (t) { 586 n.extend(this.options, t) 587 }, s.prototype._create = function () { 588 this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle), this.options.isResizeBound && this.bindResize() 589 }, s.prototype.reloadItems = function () { 590 this.items = this._itemize(this.element.children) 591 }, s.prototype._itemize = function (t) { 592 for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0, r = e.length; r > n; n++) { 593 var s = e[n], a = new i(s, this); 594 o.push(a) 595 } 596 return o 597 }, s.prototype._filterFindItemElements = function (t) { 598 return n.filterFindElements(t, this.options.itemSelector) 599 }, s.prototype.getItemElements = function () { 600 for (var t = [], e = 0, i = this.items.length; i > e; e++)t.push(this.items[e].element); 601 return t 602 }, s.prototype.layout = function () { 603 this._resetLayout(), this._manageStamps(); 604 var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited; 605 this.layoutItems(this.items, t), this._isLayoutInited = !0 606 }, s.prototype._init = s.prototype.layout, s.prototype._resetLayout = function () {
607 this.getSize() 608 }, s.prototype.getSize = function () { 609 this.size = o(this.element) 610 }, s.prototype._getMeasurement = function (t, e) { 611 var i, r = this.options[t]; 612 r ? ("string" == typeof r ? i = this.element.querySelector(r) : n.isElement(r) && (i = r), this[t] = i ? o(i)[e] : r) : this[t] = 0 613 }, s.prototype.layoutItems = function (t, e) { 614 t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() 615 }, s.prototype._getItemsForLayout = function (t) { 616 for (var e = [], i = 0, o = t.length; o > i; i++) { 617 var n = t[i]; 618 n.isIgnored || e.push(n) 619 } 620 return e 621 }, s.prototype._layoutItems = function (t, e) { 622 if (this._emitCompleteOnItems("layout", t), t && t.length) { 623 for (var i = [], o = 0, n = t.length; n > o; o++) { 624 var r = t[o], s = this._getItemLayoutPosition(r); 625 s.item = r, s.isInstant = e || r.isLayoutInstant, i.push(s) 626 } 627 this._processLayoutQueue(i) 628 } 629 }, s.prototype._getItemLayoutPosition = function () { 630 return {x: 0, y: 0} 631 }, s.prototype._processLayoutQueue = function (t) { 632 for (var e = 0, i = t.length; i > e; e++) { 633 var o = t[e]; 634 this._positionItem(o.item, o.x, o.y, o.isInstant) 635 } 636 }, s.prototype._positionItem = function (t, e, i, o) { 637 o ? t.goTo(e, i) : t.moveTo(e, i) 638 }, s.prototype._postLayout = function () { 639 this.resizeContainer() 640 }, s.prototype.resizeContainer = function () { 641 if (this.options.isResizingContainer) { 642 var t = this._getContainerSize(); 643 t && (this._setContainerMeasure(t.width, !0), this._setContainerMeasure(t.height, !1)) 644 } 645 }, s.prototype._getContainerSize = p, s.prototype._setContainerMeasure = function (t, e) { 646 if (void 0 !== t) { 647 var i = this.size; 648 i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" 649 } 650 }, s.prototype._emitCompleteOnItems = function (t, e) { 651 function i() { 652 n.emitEvent(t + "Complete", [e]) 653 } 654 655 function o() { 656 s++, s === r && i() 657 } 658 659 var n = this, r = e.length; 660 if (!e || !r)return i(), void 0; 661 for (var s = 0, a = 0, u = e.length; u > a; a++) { 662 var p = e[a]; 663 p.once(t, o) 664 } 665 }, s.prototype.ignore = function (t) { 666 var e = this.getItem(t); 667 e && (e.isIgnored = !0) 668 }, s.prototype.unignore = function (t) { 669 var e = this.getItem(t); 670 e && delete e.isIgnored 671 }, s.prototype.stamp = function (t) { 672 if (t = this._find(t)) { 673 this.stamps = this.stamps.concat(t); 674 for (var e = 0, i = t.length; i > e; e++) { 675 var o = t[e]; 676 this.ignore(o) 677 } 678 } 679 }, s.prototype.unstamp = function (t) { 680 if (t = this._find(t))for (var e = 0, i = t.length; i > e; e++) { 681 var o = t[e]; 682 n.removeFrom(this.stamps, o), this.unignore(o) 683 } 684 }, s.prototype._find = function (t) { 685 return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), t = n.makeArray(t)) : void 0 686 }, s.prototype._manageStamps = function () { 687 if (this.stamps && this.stamps.length) { 688 this._getBoundingRect(); 689 for (var t = 0, e = this.stamps.length; e > t; t++) { 690 var i = this.stamps[t]; 691 this._manageStamp(i) 692 } 693 } 694 }, s.prototype._getBoundingRect = function () { 695 var t = this.element.getBoundingClientRect(), e = this.size; 696 this._boundingRect = { 697 left: t.left + e.paddingLeft + e.borderLeftWidth, 698 top: t.top + e.paddingTop + e.borderTopWidth, 699 right: t.right - (e.paddingRight + e.borderRightWidth), 700 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) 701 } 702 }, s.prototype._manageStamp = p, s.prototype._getElementOffset = function (t) { 703 var e = t.getBoundingClientRect(), i = this._boundingRect, n = o(t), r = { 704 left: e.left - i.left - n.marginLeft, 705 top: e.top - i.top - n.marginTop, 706 right: i.right - e.right - n.marginRight, 707 bottom: i.bottom - e.bottom - n.marginBottom 708 }; 709 return r 710 }, s.prototype.handleEvent = function (t) { 711 var e = "on" + t.type; 712 this[e] && this[e](t) 713 }, s.prototype.bindResize = function () { 714 this.isResizeBound || (e.bind(t, "resize", this), this.isResizeBound = !0) 715 }, s.prototype.unbindResize = function () { 716 this.isResizeBound && e.unbind(t, "resize", this), this.isResizeBound = !1 717 }, s.prototype.onresize = function () { 718 function t() { 719 e.resize(), delete e.resizeTimeout 720 } 721 722 this.resizeTimeout && clearTimeout(this.resizeTimeout); 723 var e = this; 724 this.resizeTimeout = setTimeout(t, 100) 725 }, s.prototype.resize = function () { 726 this.isResizeBound && this.needsResizeLayout() && this.layout() 727 }, s.prototype.needsResizeLayout = function () { 728 var t = o(this.element), e = this.size && t; 729 return e && t.innerWidth !== this.size.innerWidth 730 }, s.prototype.addItems = function (t) { 731 var e = this._itemize(t); 732 return e.length && (this.items = this.items.concat(e)), e 733 }, s.prototype.appended = function (t) { 734 var e = this.addItems(t); 735 e.length && (this.layoutItems(e, !0), this.reveal(e)) 736 }, s.prototype.prepended = function (t) { 737 var e = this._itemize(t); 738 if (e.length) { 739 var i = this.items.slice(0); 740 this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) 741 } 742 }, s.prototype.reveal = function (t) { 743 this._emitCompleteOnItems("reveal", t); 744 for (var e = t && t.length, i = 0; e && e > i; i++) { 745 var o = t[i]; 746 o.reveal() 747 } 748 }, s.prototype.hide = function (t) { 749 this._emitCompleteOnItems("hide", t); 750 for (var e = t && t.length, i = 0; e && e > i; i++) { 751 var o = t[i]; 752 o.hide() 753 } 754 }, s.prototype.revealItemElements = function (t) { 755 var e = this.getItems(t); 756 this.reveal(e) 757 }, s.prototype.hideItemElements = function (t) { 758 var e = this.getItems(t); 759 this.hide(e) 760 }, s.prototype.getItem = function (t) { 761 for (var e = 0, i = this.items.length; i > e; e++) { 762 var o = this.items[e]; 763 if (o.element === t)return o 764 } 765 }, s.prototype.getItems = function (t) { 766 t = n.makeArray(t); 767 for (var e = [], i = 0, o = t.length; o > i; i++) { 768 var r = t[i], s = this.getItem(r); 769 s && e.push(s) 770 } 771 return e 772 }, s.prototype.remove = function (t) { 773 var e = this.getItems(t); 774 if (this._emitCompleteOnItems("remove", e), e && e.length)for (var i = 0, o = e.length; o > i; i++) { 775 var r = e[i]; 776 r.remove(), n.removeFrom(this.items, r) 777 } 778 }, s.prototype.destroy = function () { 779 var t = this.element.style; 780 t.height = "", t.position = "", t.width = ""; 781 for (var e = 0, i = this.items.length; i > e; e++) { 782 var o = this.items[e]; 783 o.destroy() 784 } 785 this.unbindResize(); 786 var n = this.element.outlayerGUID; 787 delete f[n], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace) 788 }, s.data = function (t) { 789 t = n.getQueryElement(t); 790 var e = t && t.outlayerGUID; 791 return e && f[e] 792 }, s.create = function (t, e) { 793 function i() { 794 s.apply(this, arguments) 795 } 796 797 return Object.create ? i.prototype = Object.create(s.prototype) : n.extend(i.prototype, s.prototype), i.prototype.constructor = i, i.defaults = n.extend({}, s.defaults), n.extend(i.defaults, e), i.prototype.settings = {}, i.namespace = t, i.data = s.data, i.Item = function () { 798 r.apply(this, arguments) 799 }, i.Item.prototype = new r, n.htmlInit(i, t), u && u.bridget && u.bridget(t, i), i 800 }, s.Item = r, s 801}
801), function (t, e) { 802 "function" == typeof define && define.amd ? define("isotope/js/item", ["outlayer/outlayer"], e) : "object" == typeof exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) 803}(window, function (t) { 804 function e() { 805 t.Item.apply(this, arguments) 806 } 807 808 e.prototype = new t.Item, e.prototype._create = function () { 809 this.id = this.layout.itemGUID++, t.Item.prototype._create.call(this), this.sortData = {} 810 }, e.prototype.updateSortData = function () { 811 if (!this.isIgnored) { 812 this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random(); 813 var t = this.layout.options.getSortData, e = this.layout._sorters; 814 for (var i in t) { 815 var o = e[i]; 816 this.sortData[i] = o(this.element, this) 817 } 818 } 819 }; 820 var i = e.prototype.destroy; 821 return e.prototype.destroy = function () { 822 i.apply(this, arguments), this.css({display: ""}) 823 }, e 824}), function (t, e) { 825 "function" == typeof define && define.amd ? define("isotope/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) 826}(window, function (t, e) { 827 function i(t) { 828 this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) 829 } 830 831 return function () { 832 function t(t) { 833 return function () { 834 return e.prototype[t].apply(this.isotope, arguments) 835 } 836 } 837 838 for (var o = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout"], n = 0, r = o.length; r > n; n++) { 839 var s = o[n]; 840 i.prototype[s] = t(s) 841 } 842 }(), i.prototype.needsVerticalResizeLayout = function () { 843 var e = t(this.isotope.element), i = this.isotope.size && e; 844 return i && e.innerHeight != this.isotope.size.innerHeight 845 }, i.prototype._getMeasurement = function () { 846 this.isotope._getMeasurement.apply(this, arguments) 847 }, i.prototype.getColumnWidth = function () {
vendor: 16,453 bytes, lines 848-1176
848 this.getSegmentSize("column", "Width") 849 }, i.prototype.getRowHeight = function () { 850 this.getSegmentSize("row", "Height") 851 }, i.prototype.getSegmentSize = function (t, e) { 852 var i = t + e, o = "outer" + e; 853 if (this._getMeasurement(i, o), !this[i]) { 854 var n = this.getFirstItemSize(); 855 this[i] = n && n[o] || this.isotope.size["inner" + e] 856 } 857 }, i.prototype.getFirstItemSize = function () { 858 var e = this.isotope.filteredItems[0]; 859 return e && e.element && t(e.element) 860 }, i.prototype.layout = function () { 861 this.isotope.layout.apply(this.isotope, arguments) 862 }, i.prototype.getSize = function () { 863 this.isotope.getSize(), this.size = this.isotope.size 864 }, i.modes = {}, i.create = function (t, e) { 865 function o() { 866 i.apply(this, arguments) 867 } 868 869 return o.prototype = new i, e && (o.options = e), o.prototype.namespace = t, i.modes[t] = o, o 870 }, i 871}), function (t, e) { 872 "function" == typeof define && define.amd ? define("masonry/masonry", ["outlayer/outlayer", "get-size/get-size", "fizzy-ui-utils/utils"], e) : "object" == typeof exports ? module.exports = e(require("outlayer"), require("get-size"), require("fizzy-ui-utils")) : t.Masonry = e(t.Outlayer, t.getSize, t.fizzyUIUtils) 873}(window, function (t, e, i) { 874 var o = t.create("masonry"); 875 return o.prototype._resetLayout = function () { 876 this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(); 877 var t = this.cols; 878 for (this.colYs = []; t--;)this.colYs.push(0); 879 this.maxY = 0 880 }, o.prototype.measureColumns = function () { 881 if (this.getContainerWidth(), !this.columnWidth) { 882 var t = this.items[0], i = t && t.element; 883 this.columnWidth = i && e(i).outerWidth || this.containerWidth 884 } 885 var o = this.columnWidth += this.gutter, n = this.containerWidth + this.gutter, r = n / o, s = o - n % o, a = s && 1 > s ? "round" : "floor"; 886 r = Math[a](r), this.cols = Math.max(r, 1) 887 }, o.prototype.getContainerWidth = function () { 888 var t = this.options.isFitWidth ? this.element.parentNode : this.element, i = e(t); 889 this.containerWidth = i && i.innerWidth 890 }, o.prototype._getItemLayoutPosition = function (t) { 891 t.getSize(); 892 var e = t.size.outerWidth % this.columnWidth, o = e && 1 > e ? "round" : "ceil", n = Math[o](t.size.outerWidth / this.columnWidth); 893 n = Math.min(n, this.cols); 894 for (var r = this._getColGroup(n), s = Math.min.apply(Math, r), a = i.indexOf(r, s), u = { 895 x: this.columnWidth * a, 896 y: s 897 }, p = s + t.size.outerHeight, h = this.cols + 1 - r.length, f = 0; h > f; f++)this.colYs[a + f] = p; 898 return u 899 }, o.prototype._getColGroup = function (t) { 900 if (2 > t)return this.colYs; 901 for (var e = [], i = this.cols + 1 - t, o = 0; i > o; o++) { 902 var n = this.colYs.slice(o, o + t); 903 e[o] = Math.max.apply(Math, n) 904 } 905 return e 906 }, o.prototype._manageStamp = function (t) { 907 var i = e(t), o = this._getElementOffset(t), n = this.options.isOriginLeft ? o.left : o.right, r = n + i.outerWidth, s = Math.floor(n / this.columnWidth); 908 s = Math.max(0, s); 909 var a = Math.floor(r / this.columnWidth); 910 a -= r % this.columnWidth ? 0 : 1, a = Math.min(this.cols - 1, a); 911 for (var u = (this.options.isOriginTop ? o.top : o.bottom) + i.outerHeight, p = s; a >= p; p++)this.colYs[p] = Math.max(u, this.colYs[p]) 912 }, o.prototype._getContainerSize = function () { 913 this.maxY = Math.max.apply(Math, this.colYs); 914 var t = {height: this.maxY}; 915 return this.options.isFitWidth && (t.width = this._getContainerFitWidth()), t 916 }, o.prototype._getContainerFitWidth = function () { 917 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];)t++; 918 return (this.cols - t) * this.columnWidth - this.gutter 919 }, o.prototype.needsResizeLayout = function () { 920 var t = this.containerWidth; 921 return this.getContainerWidth(), t !== this.containerWidth 922 }, o 923}), function (t, e) { 924 "function" == typeof define && define.amd ? define("isotope/js/layout-modes/masonry", ["../layout-mode", "masonry/masonry"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry) 925}(window, function (t, e) { 926 function i(t, e) { 927 for (var i in e)t[i] = e[i]; 928 return t 929 } 930 931 var o = t.create("masonry"), n = o.prototype._getElementOffset, r = o.prototype.layout, s = o.prototype._getMeasurement; 932 i(o.prototype, e.prototype), o.prototype._getElementOffset = n, o.prototype.layout = r, o.prototype._getMeasurement = s; 933 var a = o.prototype.measureColumns; 934 o.prototype.measureColumns = function () { 935 this.items = this.isotope.filteredItems, a.call(this) 936 }; 937 var u = o.prototype._manageStamp; 938 return o.prototype._manageStamp = function () { 939 this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, u.apply(this, arguments) 940 }, o 941}), function (t, e) { 942 "function" == typeof define && define.amd ? define("isotope/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) 943}(window, function (t) { 944 var e = t.create("fitRows"); 945 return e.prototype._resetLayout = function () { 946 this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth") 947 }, e.prototype._getItemLayoutPosition = function (t) { 948 t.getSize(); 949 var e = t.size.outerWidth + this.gutter, i = this.isotope.size.innerWidth + this.gutter; 950 0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY); 951 var o = {x: this.x, y: this.y}; 952 return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o 953 }, e.prototype._getContainerSize = function () { 954 return {height: this.maxY} 955 }, e 956}), function (t, e) { 957 "function" == typeof define && define.amd ? define("isotope/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) 958}(window, function (t) { 959 var e = t.create("vertical", {horizontalAlignment: 0}); 960 return e.prototype._resetLayout = function () { 961 this.y = 0 962 }, e.prototype._getItemLayoutPosition = function (t) { 963 t.getSize(); 964 var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, i = this.y; 965 return this.y += t.size.outerHeight, {x: e, y: i} 966 }, e.prototype._getContainerSize = function () { 967 return {height: this.y} 968 }, e 969}), function (t, e) { 970 "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope/js/item", "isotope/js/layout-mode", "isotope/js/layout-modes/masonry", "isotope/js/layout-modes/fit-rows", "isotope/js/layout-modes/vertical"], function (i, o, n, r, s, a) { 971 return e(t, i, o, n, r, s, a) 972 }) : "object" == typeof exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("./item"), require("./layout-mode"), require("./layout-modes/masonry"), require("./layout-modes/fit-rows"), require("./layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode) 973}(window, function (t, e, i, o, n, r, s) { 974 function a(t, e) { 975 return function (i, o) { 976 for (var n = 0, r = t.length; r > n; n++) { 977 var s = t[n], a = i.sortData[s], u = o.sortData[s]; 978 if (a > u || u > a) { 979 var p = void 0 !== e[s] ? e[s] : e, h = p ? 1 : -1; 980 return (a > u ? 1 : -1) * h 981 } 982 } 983 return 0 984 } 985 } 986 987 var u = t.jQuery, p = String.prototype.trim ? function (t) { 988 return t.trim() 989 } : function (t) { 990 return t.replace(/^\s+|\s+$/g, "") 991 }, h = document.documentElement, f = h.textContent ? function (t) { 992 return t.textContent 993 } : function (t) { 994 return t.innerText 995 }, d = e.create("isotope", {layoutMode: "masonry", isJQueryFiltering: !0, sortAscending: !0}); 996 d.Item = r, d.LayoutMode = s, d.prototype._create = function () { 997 this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"]; 998 for (var t in s.modes)this._initLayoutMode(t) 999 }, d.prototype.reloadItems = function () { 1000 this.itemGUID = 0, e.prototype.reloadItems.call(this) 1001 }, d.prototype._itemize = function () { 1002 for (var t = e.prototype._itemize.apply(this, arguments), i = 0, o = t.length; o > i; i++) { 1003 var n = t[i]; 1004 n.id = this.itemGUID++ 1005 } 1006 return this._updateItemsSortData(t), t 1007 }, d.prototype._initLayoutMode = function (t) { 1008 var e = s.modes[t], i = this.options[t] || {}; 1009 this.options[t] = e.options ? n.extend(e.options, i) : i, this.modes[t] = new e(this) 1010 }, d.prototype.layout = function () { 1011 return !this._isLayoutInited && this.options.isInitLayout ? (this.arrange(), void 0) : (this._layout(), void 0) 1012 }, d.prototype._layout = function () { 1013 var t = this._getIsInstant(); 1014 this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 1015 }, d.prototype.arrange = function (t) { 1016 function e() { 1017 o.reveal(i.needReveal), o.hide(i.needHide) 1018 } 1019 1020 this.option(t), this._getIsInstant(); 1021 var i = this._filter(this.items); 1022 this.filteredItems = i.matches; 1023 var o = this; 1024 this._bindArrangeComplete(), this._isInstant ? this._noTransition(e) : e(), this._sort(), this._layout() 1025 }, d.prototype._init = d.prototype.arrange, d.prototype._getIsInstant = function () { 1026 var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited; 1027 return this._isInstant = t, t 1028 }, d.prototype._bindArrangeComplete = function () { 1029 function t() { 1030 e && i && o && n.emitEvent("arrangeComplete", [n.filteredItems]) 1031 } 1032 1033 var e, i, o, n = this; 1034 this.once("layoutComplete", function () { 1035 e = !0, t() 1036 }), this.once("hideComplete", function () { 1037 i = !0, t() 1038 }), this.once("revealComplete", function () { 1039 o = !0, t() 1040 }) 1041 }, d.prototype._filter = function (t) { 1042 var e = this.options.filter; 1043 e = e || "*"; 1044 for (var i = [], o = [], n = [], r = this._getFilterTest(e), s = 0, a = t.length; a > s; s++) { 1045 var u = t[s]; 1046 if (!u.isIgnored) { 1047 var p = r(u); 1048 p && i.push(u), p && u.isHidden ? o.push(u) : p || u.isHidden || n.push(u) 1049 } 1050 } 1051 return {matches: i, needReveal: o, needHide: n} 1052 }, d.prototype._getFilterTest = function (t) { 1053 return u && this.options.isJQueryFiltering ? function (e) { 1054 return u(e.element).is(t) 1055 } : "function" == typeof t ? function (e) { 1056 return t(e.element) 1057 } : function (e) { 1058 return o(e.element, t) 1059 } 1060 }, d.prototype.updateSortData = function (t) { 1061 var e; 1062 t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, this._getSorters(), this._updateItemsSortData(e) 1063 }, d.prototype._getSorters = function () { 1064 var t = this.options.getSortData; 1065 for (var e in t) { 1066 var i = t[e]; 1067 this._sorters[e] = l(i) 1068 } 1069 }, d.prototype._updateItemsSortData = function (t) { 1070 for (var e = t && t.length, i = 0; e && e > i; i++) { 1071 var o = t[i]; 1072 o.updateSortData() 1073 } 1074 }; 1075 var l = function () { 1076 function t(t) { 1077 if ("string" != typeof t)return t; 1078 var i = p(t).split(" "), o = i[0], n = o.match(/^\[(.+)\]$/), r = n && n[1], s = e(r, o), a = d.sortDataParsers[i[1]]; 1079 return t = a ? function (t) { 1080 return t && a(s(t)) 1081 } : function (t) { 1082 return t && s(t) 1083 } 1084 } 1085 1086 function e(t, e) { 1087 var i; 1088 return i = t ? function (e) { 1089 return e.getAttribute(t) 1090 } : function (t) { 1091 var i = t.querySelector(e); 1092 return i && f(i) 1093 } 1094 } 1095 1096 return t 1097 }(); 1098 d.sortDataParsers = { 1099 parseInt: function (t) { 1100 return parseInt(t, 10) 1101 }, parseFloat: function (t) { 1102 return parseFloat(t) 1103 } 1104 }, d.prototype._sort = function () { 1105 var t = this.options.sortBy; 1106 if (t) { 1107 var e = [].concat.apply(t, this.sortHistory), i = a(e, this.options.sortAscending); 1108 this.filteredItems.sort(i), t != this.sortHistory[0] && this.sortHistory.unshift(t) 1109 } 1110 }, d.prototype._mode = function () { 1111 var t = this.options.layoutMode, e = this.modes[t]; 1112 if (!e)throw Error("No layout mode: " + t); 1113 return e.options = this.options[t], e 1114 }, d.prototype._resetLayout = function () { 1115 e.prototype._resetLayout.call(this), this._mode()._resetLayout() 1116 }, d.prototype._getItemLayoutPosition = function (t) { 1117 return this._mode()._getItemLayoutPosition(t) 1118 }, d.prototype._manageStamp = function (t) { 1119 this._mode()._manageStamp(t) 1120 }, d.prototype._getContainerSize = function () { 1121 return this._mode()._getContainerSize() 1122 }, d.prototype.needsResizeLayout = function () { 1123 return this._mode().needsResizeLayout() 1124 }, d.prototype.appended = function (t) { 1125 var e = this.addItems(t); 1126 if (e.length) { 1127 var i = this._filterRevealAdded(e); 1128 this.filteredItems = this.filteredItems.concat(i) 1129 } 1130 }, d.prototype.prepended = function (t) { 1131 var e = this._itemize(t); 1132 if (e.length) { 1133 this._resetLayout(), this._manageStamps(); 1134 var i = this._filterRevealAdded(e); 1135 this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items) 1136 } 1137 }, d.prototype._filterRevealAdded = function (t) { 1138 var e = this._filter(t); 1139 return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches 1140 }, d.prototype.insert = function (t) { 1141 var e = this.addItems(t); 1142 if (e.length) { 1143 var i, o, n = e.length; 1144 for (i = 0; n > i; i++)o = e[i], this.element.appendChild(o.element); 1145 var r = this._filter(e).matches; 1146 for (i = 0; n > i; i++)e[i].isLayoutInstant = !0; 1147 for (this.arrange(), i = 0; n > i; i++)delete e[i].isLayoutInstant; 1148 this.reveal(r) 1149 } 1150 }; 1151 var c = d.prototype.remove; 1152 return d.prototype.remove = function (t) { 1153 t = n.makeArray(t); 1154 var e = this.getItems(t); 1155 c.call(this, t); 1156 var i = e && e.length; 1157 if (i)for (var o = 0; i > o; o++) { 1158 var r = e[o]; 1159 n.removeFrom(this.filteredItems, r) 1160 } 1161 }, d.prototype.shuffle = function () { 1162 for (var t = 0, e = this.items.length; e > t; t++) { 1163 var i = this.items[t]; 1164 i.sortData.random = Math.random() 1165 } 1166 this.options.sortBy = "random", this._sort(), this._layout() 1167 }, d.prototype._noTransition = function (t) { 1168 var e = this.options.transitionDuration; 1169 this.options.transitionDuration = 0; 1170 var i = t.call(this); 1171 return this.options.transitionDuration = e, i 1172 }, d.prototype.getFilteredItemElements = function () { 1173 for (var t = [], e = 0, i = this.filteredItems.length; i > e; e++)t.push(this.filteredItems[e].element); 1174 return t 1175 }, d 1176});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.