1/*! 2 * Isotope PACKAGED v3.0.6 3 * 4 * Licensed GPLv3 for open source use 5 * or Isotope Commercial License for commercial use 6 * 7 * https://isotope.metafizzy.co 8 * Copyright 2010-2018 Metafizzy 9 */ 10 11!(function (t, e) { 12 'function' == typeof define && define.amd 13 ? define('jquery-bridget/jquery-bridget', ['jquery'], function (i) { 14 return e(t, i) 15 }) 16 : 'object' == typeof module && module.exports 17 ? (module.exports = e(t, require('jquery'))) 18 : (t.jQueryBridget = e(t, t.jQuery)) 19})(window, function (t, e) { 20 'use strict' 21 function i(i, s, a) { 22 function u(t, e, o) { 23 var n, 24 s = '$().' + i + '("' + e + '")' 25 return ( 26 t.each(function (t, u) { 27 var h = a.data(u, i) 28 if (!h) 29 return void r( 30 i + ' not initialized. Cannot call methods, i.e. ' + s 31 ) 32 var d = h[e] 33 if (!d || '_' == e.charAt(0)) 34 return void r(s + ' is not a valid method') 35 var l = d.apply(h, o) 36 n = void 0 === n ? l : n 37 }), 38 void 0 !== n ? n : t 39 ) 40 } 41 function h(t, e) { 42 t.each(function (t, o) { 43 var n = a.data(o, i) 44 n ? (n.option(e), n._init()) : ((n = new s(o, e)), a.data(o, i, n)) 45 }) 46 } 47 ;(a = a || e || t.jQuery), 48 a && 49 (s.prototype.option || 50 (s.prototype.option = function (t) { 51 a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) 52 }), 53 (a.fn[i] = function (t) { 54 if ('string' == typeof t) { 55 var e = n.call(arguments, 1) 56 return u(this, t, e) 57 } 58 return h(this, t), this 59 }), 60 o(a)) 61 } 62 function o(t) { 63 !t || (t && t.bridget) || (t.bridget = i) 64 } 65 var n = Array.prototype.slice, 66 s = t.console, 67 r = 68 'undefined' == typeof s 69 ? function () {} 70 : function (t) { 71 s.error(t) 72 } 73 return o(e || t.jQuery), i 74}), 75 (function (t, e) { 76 'function' == typeof define && define.amd 77 ? define('ev-emitter/ev-emitter', e) 78 : 'object' == typeof module && module.exports 79 ? (module.exports = e()) 80 : (t.EvEmitter = e()) 81 })('undefined' != typeof window ? window : this, function () { 82 function t() {} 83 var e = t.prototype 84 return ( 85 (e.on = function (t, e) { 86 if (t && e) { 87 var i = (this._events = this._events || {}), 88 o = (i[t] = i[t] || []) 89 return o.indexOf(e) == -1 && o.push(e), this 90 } 91 }), 92 (e.once = function (t, e) { 93 if (t && e) { 94 this.on(t, e) 95 var i = (this._onceEvents = this._onceEvents || {}), 96 o = (i[t] = i[t] || {}) 97 return (o[e] = !0), this 98 } 99 }), 100 (e.off = function (t, e) { 101 var i = this._events && this._events[t] 102 if (i && i.length) { 103 var o = i.indexOf(e) 104 return o != -1 && i.splice(o, 1), this 105 } 106 }), 107 (e.emitEvent = function (t, e) { 108 var i = this._events && this._events[t] 109 if (i && i.length) { 110 ;(i = i.slice(0)), (e = e || []) 111 for ( 112 var o = this._onceEvents && this._onceEvents[t], n = 0; 113 n < i.length; 114 n++ 115 ) { 116 var s = i[n], 117 r = o && o[s] 118 r && (this.off(t, s), delete o[s]), s.apply(this, e) 119 } 120 return this 121 } 122 }), 123 (e.allOff = function () { 124 delete this._events, delete this._onceEvents 125 }), 126 t 127 ) 128 }), 129 (function (t, e) { 130 'function' == typeof define && define.amd 131 ? define('get-size/get-size', e) 132 : 'object' == typeof module && module.exports 133 ? (module.exports = e()) 134 : (t.getSize = e()) 135 })(window, function () { 136 'use strict' 137 function t(t) { 138 var e = parseFloat(t), 139 i = t.indexOf('%') == -1 && !isNaN(e) 140 return i && e 141 } 142 function e() {} 143 function i() { 144 for ( 145 var t = { 146 width: 0, 147 height: 0, 148 innerWidth: 0, 149 innerHeight: 0, 150 outerWidth: 0, 151 outerHeight: 0, 152 }, 153 e = 0; 154 e < h; 155 e++ 156 ) { 157 var i = u[e] 158 t[i] = 0 159 } 160 return t 161 } 162 function o(t) { 163 var e = getComputedStyle(t) 164 return ( 165 e || 166 a( 167 'Style returned ' + 168 e + 169 '. Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1' 170 ), 171 e 172 ) 173 } 174 function n() { 175 if (!d) { 176 d = !0 177 var e = document.createElement('div') 178 ;(e.style.width = '200px'), 179 (e.style.padding = '1px 2px 3px 4px'), 180 (e.style.borderStyle = 'solid'), 181 (e.style.borderWidth = '1px 2px 3px 4px'), 182 (e.style.boxSizing = 'border-box') 183 var i = document.body || document.documentElement 184 i.appendChild(e) 185 var n = o(e) 186 ;(r = 200 == Math.round(t(n.width))), 187 (s.isBoxSizeOuter = r), 188 i.removeChild(e) 189 } 190 } 191 function s(e) { 192 if ( 193 (n(), 194 'string' == typeof e && (e = document.querySelector(e)), 195 e && 'object' == typeof e && e.nodeType) 196 ) { 197 var s = o(e) 198 if ('none' == s.display) return i() 199 var a = {} 200 ;(a.width = e.offsetWidth), (a.height = e.offsetHeight) 201 for ( 202 var d = (a.isBorderBox = 'border-box' == s.boxSizing), l = 0; 203 l < h; 204 l++ 205 ) { 206 var f = u[l], 207 c = s[f], 208 m = parseFloat(c) 209 a[f] = isNaN(m) ? 0 : m 210 } 211 var p = a.paddingLeft + a.paddingRight, 212 y = a.paddingTop + a.paddingBottom, 213 g = a.marginLeft + a.marginRight, 214 v = a.marginTop + a.marginBottom, 215 _ = a.borderLeftWidth + a.borderRightWidth, 216 z = a.borderTopWidth + a.borderBottomWidth, 217 I = d && r, 218 x = t(s.width) 219 x !== !1 && (a.width = x + (I ? 0 : p + _)) 220 var S = t(s.height) 221 return ( 222 S !== !1 && (a.height = S + (I ? 0 : y + z)), 223 (a.innerWidth = a.width - (p + _)), 224 (a.innerHeight = a.height - (y + z)), 225 (a.outerWidth = a.width + g), 226 (a.outerHeight = a.height + v), 227 a 228 ) 229 } 230 } 231 var r, 232 a = 233 'undefined' == typeof console 234 ? e 235 : function (t) { 236 console.error(t) 237 }, 238 u = [ 239 'paddingLeft', 240 'paddingRight', 241 'paddingTop', 242 'paddingBottom', 243 'marginLeft', 244 'marginRight', 245 'marginTop', 246 'marginBottom', 247 'borderLeftWidth', 248 'borderRightWidth', 249 'borderTopWidth', 250 'borderBottomWidth', 251 ], 252 h = u.length, 253 d = !1 254 return s 255 }), 256 (function (t, e) { 257 'use strict' 258 'function' == typeof define && define.amd 259 ? define('desandro-matches-selector/matches-selector', e) 260 : 'object' == typeof module && module.exports 261 ? (module.exports = e()) 262 : (t.matchesSelector = e()) 263 })(window, function () { 264 'use strict' 265 var t = (function () { 266 var t = window.Element.prototype 267 if (t.matches) return 'matches' 268 if (t.matchesSelector) return 'matchesSelector' 269 for (var e = ['webkit', 'moz', 'ms', 'o'], i = 0; i < e.length; i++) { 270 var o = e[i], 271 n = o + 'MatchesSelector' 272 if (t[n]) return n 273 } 274 })() 275 return function (e, i) { 276 return e[t](i) 277 } 278 }), 279 (function (t, e) { 280 'function' == typeof define && define.amd 281 ? define( 282 'fizzy-ui-utils/utils', 283 ['desandro-matches-selector/matches-selector'], 284 function (i) { 285 return e(t, i) 286 } 287 ) 288 : 'object' == typeof module && module.exports 289 ? (module.exports = e(t, require('desandro-matches-selector'))) 290 : (t.fizzyUIUtils = e(t, t.matchesSelector)) 291 })(window, function (t, e) { 292 var i = {} 293 ;(i.extend = function (t, e) { 294 for (var i in e) t[i] = e[i] 295 return t 296 }), 297 (i.modulo = function (t, e) { 298 return ((t % e) + e) % e 299 }) 300 var o = Array.prototype.slice 301 ;(i.makeArray = function (t) { 302 if (Array.isArray(t)) return t 303 if (null === t || void 0 === t) return [] 304 var e = 'object' == typeof t && 'number' == typeof t.length 305 return e ? o.call(t) : [t] 306 }), 307 (i.removeFrom = function (t, e) { 308 var i = t.indexOf(e) 309 i != -1 && t.splice(i, 1) 310 }), 311 (i.getParent = function (t, i) { 312 for (; t.parentNode && t != document.body; ) 313 if (((t = t.parentNode), e(t, i))) return t 314 }), 315 (i.getQueryElement = function (t) { 316 return 'string' == typeof t ? document.querySelector(t) : t 317 }), 318 (i.handleEvent = function (t) { 319 var e = 'on' + t.type 320 this[e] && this[e](t) 321 }), 322 (i.filterFindElements = function (t, o) { 323 t = i.makeArray(t) 324 var n = [] 325 return ( 326 t.forEach(function (t) { 327 if (t instanceof HTMLElement) { 328 if (!o) return void n.push(t) 329 e(t, o) && n.push(t)
330 for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) 331 n.push(i[s]) 332 } 333 }), 334 n 335 ) 336 }), 337 (i.debounceMethod = function (t, e, i) { 338 i = i || 100 339 var o = t.prototype[e], 340 n = e + 'Timeout' 341 t.prototype[e] = function () { 342 var t = this[n] 343 clearTimeout(t) 344 var e = arguments, 345 s = this 346 this[n] = setTimeout(function () { 347 o.apply(s, e), delete s[n] 348 }, i) 349 } 350 }), 351 (i.docReady = function (t) { 352 var e = document.readyState 353 'complete' == e || 'interactive' == e 354 ? setTimeout(t) 355 : document.addEventListener('DOMContentLoaded', t) 356 }), 357 (i.toDashed = function (t) { 358 return t 359 .replace(/(.)([A-Z])/g, function (t, e, i) { 360 return e + '-' + i 361 }) 362 .toLowerCase() 363 }) 364 var n = t.console 365 return ( 366 (i.htmlInit = function (e, o) { 367 i.docReady(function () { 368 var s = i.toDashed(o), 369 r = 'data-' + s, 370 a = document.querySelectorAll('[' + r + ']'), 371 u = document.querySelectorAll('.js-' + s), 372 h = i.makeArray(a).concat(i.makeArray(u)), 373 d = r + '-options', 374 l = t.jQuery 375 h.forEach(function (t) { 376 var i, 377 s = t.getAttribute(r) || t.getAttribute(d) 378 try { 379 i = s && JSON.parse(s) 380 } catch (a) { 381 return void ( 382 n && 383 n.error('Error parsing ' + r + ' on ' + t.className + ': ' + a) 384 ) 385 } 386 var u = new e(t, i) 387 l && l.data(t, o, u) 388 }) 389 }) 390 }), 391 i 392 ) 393 }), 394 (function (t, e) { 395 'function' == typeof define && define.amd 396 ? define( 397 'outlayer/item', 398 ['ev-emitter/ev-emitter', 'get-size/get-size'], 399 e 400 ) 401 : 'object' == typeof module && module.exports 402 ? (module.exports = e(require('ev-emitter'), require('get-size'))) 403 : ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize))) 404 })(window, function (t, e) { 405 'use strict' 406 function i(t) { 407 for (var e in t) return !1 408 return (e = null), !0 409 } 410 function o(t, e) { 411 t && 412 ((this.element = t), 413 (this.layout = e), 414 (this.position = { x: 0, y: 0 }), 415 this._create()) 416 } 417 function n(t) { 418 return t.replace(/([A-Z])/g, function (t) { 419 return '-' + t.toLowerCase() 420 }) 421 } 422 var s = document.documentElement.style, 423 r = 'string' == typeof s.transition ? 'transition' : 'WebkitTransition', 424 a = 'string' == typeof s.transform ? 'transform' : 'WebkitTransform', 425 u = { 426 WebkitTransition: 'webkitTransitionEnd', 427 transition: 'transitionend', 428 }[r], 429 h = { 430 transform: a, 431 transition: r, 432 transitionDuration: r + 'Duration', 433 transitionProperty: r + 'Property', 434 transitionDelay: r + 'Delay', 435 }, 436 d = (o.prototype = Object.create(t.prototype)) 437 ;(d.constructor = o), 438 (d._create = function () { 439 ;(this._transn = { ingProperties: {}, clean: {}, onEnd: {} }), 440 this.css({ position: 'absolute' }) 441 }), 442 (d.handleEvent = function (t) { 443 var e = 'on' + t.type 444 this[e] && this[e](t) 445 }), 446 (d.getSize = function () { 447 this.size = e(this.element) 448 }), 449 (d.css = function (t) { 450 var e = this.element.style 451 for (var i in t) { 452 var o = h[i] || i 453 e[o] = t[i] 454 } 455 }), 456 (d.getPosition = function () { 457 var t = getComputedStyle(this.element), 458 e = this.layout._getOption('originLeft'), 459 i = this.layout._getOption('originTop'), 460 o = t[e ? 'left' : 'right'], 461 n = t[i ? 'top' : 'bottom'], 462 s = parseFloat(o), 463 r = parseFloat(n), 464 a = this.layout.size 465 o.indexOf('%') != -1 && (s = (s / 100) * a.width), 466 n.indexOf('%') != -1 && (r = (r / 100) * a.height),
467 (s = isNaN(s) ? 0 : s), 468 (r = isNaN(r) ? 0 : r), 469 (s -= e ? a.paddingLeft : a.paddingRight), 470 (r -= i ? a.paddingTop : a.paddingBottom), 471 (this.position.x = s), 472 (this.position.y = r) 473 }), 474 (d.layoutPosition = function () { 475 var t = this.layout.size, 476 e = {}, 477 i = this.layout._getOption('originLeft'), 478 o = this.layout._getOption('originTop'), 479 n = i ? 'paddingLeft' : 'paddingRight', 480 s = i ? 'left' : 'right', 481 r = i ? 'right' : 'left', 482 a = this.position.x + t[n] 483 ;(e[s] = this.getXValue(a)), (e[r] = '') 484 var u = o ? 'paddingTop' : 'paddingBottom', 485 h = o ? 'top' : 'bottom', 486 d = o ? 'bottom' : 'top', 487 l = this.position.y + t[u] 488 ;(e[h] = this.getYValue(l)), 489 (e[d] = ''), 490 this.css(e), 491 this.emitEvent('layout', [this]) 492 }), 493 (d.getXValue = function (t) { 494 var e = this.layout._getOption('horizontal') 495 return this.layout.options.percentPosition && !e 496 ? (t / this.layout.size.width) * 100 + '%' 497 : t + 'px' 498 }), 499 (d.getYValue = function (t) { 500 var e = this.layout._getOption('horizontal') 501 return this.layout.options.percentPosition && e 502 ? (t / this.layout.size.height) * 100 + '%' 503 : t + 'px' 504 }), 505 (d._transitionTo = function (t, e) { 506 this.getPosition() 507 var i = this.position.x, 508 o = this.position.y, 509 n = t == this.position.x && e == this.position.y 510 if ((this.setPosition(t, e), n && !this.isTransitioning)) 511 return void this.layoutPosition() 512 var s = t - i, 513 r = e - o, 514 a = {} 515 ;(a.transform = this.getTranslate(s, r)), 516 this.transition({ 517 to: a, 518 onTransitionEnd: { transform: this.layoutPosition }, 519 isCleaning: !0, 520 }) 521 }), 522 (d.getTranslate = function (t, e) { 523 var i = this.layout._getOption('originLeft'), 524 o = this.layout._getOption('originTop') 525 return ( 526 (t = i ? t : -t), 527 (e = o ? e : -e), 528 'translate3d(' + t + 'px, ' + e + 'px, 0)' 529 ) 530 }), 531 (d.goTo = function (t, e) { 532 this.setPosition(t, e), this.layoutPosition() 533 }), 534 (d.moveTo = d._transitionTo), 535 (d.setPosition = function (t, e) { 536 ;(this.position.x = parseFloat(t)), (this.position.y = parseFloat(e)) 537 }), 538 (d._nonTransition = function (t) { 539 this.css(t.to), t.isCleaning && this._removeStyles(t.to) 540 for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) 541 }), 542 (d.transition = function (t) { 543 if (!parseFloat(this.layout.options.transitionDuration)) 544 return void this._nonTransition(t) 545 var e = this._transn 546 for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i] 547 for (i in t.to) 548 (e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0) 549 if (t.from) { 550 this.css(t.from) 551 var o = this.element.offsetHeight 552 o = null 553 } 554 this.enableTransition(t.to), this.css(t.to), (this.isTransitioning = !0) 555 }) 556 var l = 'opacity,' + n(a) 557 ;(d.enableTransition = function () { 558 if (!this.isTransitioning) { 559 var t = this.layout.options.transitionDuration 560 ;(t = 'number' == typeof t ? t + 'ms' : t), 561 this.css({ 562 transitionProperty: l, 563 transitionDuration: t, 564 transitionDelay: this.staggerDelay || 0, 565 }), 566 this.element.addEventListener(u, this, !1) 567 } 568 }), 569 (d.onwebkitTransitionEnd = function (t) { 570 this.ontransitionend(t) 571 }), 572 (d.onotransitionend = function (t) { 573 this.ontransitionend(t) 574 }) 575 var f = { '-webkit-transform': 'transform' } 576 ;(d.ontransitionend = function (t) { 577 if (t.target === this.element) { 578 var e = this._transn, 579 o = f[t.propertyName] || t.propertyName 580 if ( 581 (delete e.ingProperties[o], 582 i(e.ingProperties) && this.disableTransition(), 583 o in e.clean && 584 ((this.element.style[t.propertyName] = ''), delete e.clean[o]), 585 o in e.onEnd) 586 ) { 587 var n = e.onEnd[o] 588 n.call(this), delete e.onEnd[o] 589 } 590 this.emitEvent('transitionEnd', [this]) 591 } 592 }), 593 (d.disableTransition = function () { 594 this.removeTransitionStyles(), 595 this.element.removeEventListener(u, this, !1), 596 (this.isTransitioning = !1) 597 }), 598 (d._removeStyles = function (t) { 599 var e = {} 600 for (var i in t) e[i] = '' 601 this.css(e) 602 }) 603 var c = { 604 transitionProperty: '', 605 transitionDuration: '', 606 transitionDelay: '', 607 } 608 return ( 609 (d.removeTransitionStyles = function () { 610 this.css(c) 611 }), 612 (d.stagger = function (t) { 613 ;(t = isNaN(t) ? 0 : t), (this.staggerDelay = t + 'ms') 614 }), 615 (d.removeElem = function () { 616 this.element.parentNode.removeChild(this.element), 617 this.css({ display: '' }), 618 this.emitEvent('remove', [this]) 619 }), 620 (d.remove = function () { 621 return r && parseFloat(this.layout.options.transitionDuration) 622 ? (this.once('transitionEnd', function () { 623 this.removeElem() 624 }), 625 void this.hide()) 626 : void this.removeElem() 627 }), 628 (d.reveal = function () { 629 delete this.isHidden, this.css({ display: '' }) 630 var t = this.layout.options, 631 e = {}, 632 i = this.getHideRevealTransitionEndProperty('visibleStyle') 633 ;(e[i] = this.onRevealTransitionEnd), 634 this.transition({ 635 from: t.hiddenStyle, 636 to: t.visibleStyle, 637 isCleaning: !0, 638 onTransitionEnd: e, 639 }) 640 }), 641 (d.onRevealTransitionEnd = function () { 642 this.isHidden || this.emitEvent('reveal') 643 }), 644 (d.getHideRevealTransitionEndProperty = function (t) { 645 var e = this.layout.options[t] 646 if (e.opacity) return 'opacity' 647 for (var i in e) return i 648 }), 649 (d.hide = function () { 650 ;(this.isHidden = !0), this.css({ display: '' }) 651 var t = this.layout.options, 652 e = {}, 653 i = this.getHideRevealTransitionEndProperty('hiddenStyle') 654 ;(e[i] = this.onHideTransitionEnd), 655 this.transition({ 656 from: t.visibleStyle, 657 to: t.hiddenStyle, 658 isCleaning: !0, 659 onTransitionEnd: e, 660 }) 661 }), 662 (d.onHideTransitionEnd = function () { 663 this.isHidden && (this.css({ display: 'none' }), this.emitEvent('hide')) 664 }), 665 (d.destroy = function () { 666 this.css({ 667 position: '', 668 left: '', 669 right: '', 670 top: '', 671 bottom: '', 672 transition: '', 673 transform: '', 674 }) 675 }), 676 o 677 ) 678 }), 679 (function (t, e) { 680 'use strict' 681 'function' == typeof define && define.amd 682 ? define( 683 'outlayer/outlayer', 684 [ 685 'ev-emitter/ev-emitter', 686 'get-size/get-size', 687 'fizzy-ui-utils/utils', 688 './item', 689 ], 690 function (i, o, n, s) { 691 return e(t, i, o, n, s) 692 } 693 ) 694 : 'object' == typeof module && module.exports 695 ? (module.exports = e( 696 t, 697 require('ev-emitter'), 698 require('get-size'), 699 require('fizzy-ui-utils'), 700 require('./item') 701 )) 702 : (t.Outlayer = e( 703 t, 704 t.EvEmitter, 705 t.getSize, 706 t.fizzyUIUtils, 707 t.Outlayer.Item 708 )) 709 })(window, function (t, e, i, o, n) { 710 'use strict' 711 function s(t, e) { 712 var i = o.getQueryElement(t) 713 if (!i) 714 return void ( 715 u && 716 u.error( 717 'Bad element for ' + this.constructor.namespace + ': ' + (i || t) 718 ) 719 ) 720 ;(this.element = i), 721 h && (this.$element = h(this.element)), 722 (this.options = o.extend({}, this.constructor.defaults)), 723 this.option(e) 724 var n = ++l 725 ;(this.element.outlayerGUID = n), (f[n] = this), this._create() 726 var s = this._getOption('initLayout') 727 s && this.layout() 728 } 729 function r(t) { 730 function e() { 731 t.apply(this, arguments) 732 } 733 return ( 734 (e.prototype = Object.create(t.prototype)), 735 (e.prototype.constructor = e), 736 e 737 ) 738 } 739 function a(t) { 740 if ('number' == typeof t) return t 741 var e = t.match(/(^\d*\.?\d*)(\w*)/), 742 i = e && e[1], 743 o = e && e[2] 744 if (!i.length) return 0 745 i = parseFloat(i) 746 var n = m[o] || 1 747 return i * n 748 } 749 var u = t.console, 750 h = t.jQuery, 751 d = function () {}, 752 l = 0, 753 f = {} 754 ;(s.namespace = 'outlayer'), 755 (s.Item = n), 756 (s.defaults = { 757 containerStyle: { position: 'relative' }, 758 initLayout: !0, 759 originLeft: !0, 760 originTop: !0, 761 resize: !0, 762 resizeContainer: !0, 763 transitionDuration: '0.4s', 764 hiddenStyle: { opacity: 0, transform: 'scale(0.001)' }, 765 visibleStyle: { opacity: 1, transform: 'scale(1)' }, 766 }) 767 var c = s.prototype 768 o.extend(c, e.prototype), 769 (c.option = function (t) { 770 o.extend(this.options, t) 771 }), 772 (c._getOption = function (t) { 773 var e = this.constructor.compatOptions[t] 774 return e && void 0 !== this.options[e] 775 ? this.options[e] 776 : this.options[t] 777 }), 778 (s.compatOptions = { 779 initLayout: 'isInitLayout', 780 horizontal: 'isHorizontal', 781 layoutInstant: 'isLayoutInstant', 782 originLeft: 'isOriginLeft', 783 originTop: 'isOriginTop', 784 resize: 'isResizeBound', 785 resizeContainer: 'isResizingContainer', 786 }), 787 (c._create = function () { 788 this.reloadItems(), 789 (this.stamps = []), 790 this.stamp(this.options.stamp), 791 o.extend(this.element.style, this.options.containerStyle) 792 var t = this._getOption('resize') 793 t && this.bindResize() 794 }), 795 (c.reloadItems = function () { 796 this.items = this._itemize(this.element.children) 797 }), 798 (c._itemize = function (t) { 799 for ( 800 var e = this._filterFindItemElements(t), 801 i = this.constructor.Item, 802 o = [], 803 n = 0; 804 n < e.length; 805 n++ 806 ) { 807 var s = e[n], 808 r = new i(s, this) 809 o.push(r) 810 } 811 return o 812 }), 813 (c._filterFindItemElements = function (t) { 814 return o.filterFindElements(t, this.options.itemSelector) 815 }), 816 (c.getItemElements = function () { 817 return this.items.map(function (t) { 818 return t.element 819 }) 820 }), 821 (c.layout = function () { 822 this._resetLayout(), this._manageStamps() 823 var t = this._getOption('layoutInstant'), 824 e = void 0 !== t ? t : !this._isLayoutInited 825 this.layoutItems(this.items, e), (this._isLayoutInited = !0) 826 }), 827 (c._init = c.layout), 828 (c._resetLayout = function () {
829 this.getSize() 830 }), 831 (c.getSize = function () { 832 this.size = i(this.element) 833 }), 834 (c._getMeasurement = function (t, e) { 835 var o, 836 n = this.options[t] 837 n 838 ? ('string' == typeof n 839 ? (o = this.element.querySelector(n)) 840 : n instanceof HTMLElement && (o = n), 841 (this[t] = o ? i(o)[e] : n)) 842 : (this[t] = 0) 843 }), 844 (c.layoutItems = function (t, e) { 845 ;(t = this._getItemsForLayout(t)), 846 this._layoutItems(t, e), 847 this._postLayout() 848 }), 849 (c._getItemsForLayout = function (t) { 850 return t.filter(function (t) { 851 return !t.isIgnored 852 }) 853 }), 854 (c._layoutItems = function (t, e) { 855 if ((this._emitCompleteOnItems('layout', t), t && t.length)) { 856 var i = [] 857 t.forEach(function (t) { 858 var o = this._getItemLayoutPosition(t) 859 ;(o.item = t), (o.isInstant = e || t.isLayoutInstant), i.push(o) 860 }, this), 861 this._processLayoutQueue(i) 862 } 863 }), 864 (c._getItemLayoutPosition = function () { 865 return { x: 0, y: 0 } 866 }), 867 (c._processLayoutQueue = function (t) { 868 this.updateStagger(), 869 t.forEach(function (t, e) { 870 this._positionItem(t.item, t.x, t.y, t.isInstant, e) 871 }, this) 872 }), 873 (c.updateStagger = function () { 874 var t = this.options.stagger 875 return null === t || void 0 === t 876 ? void (this.stagger = 0) 877 : ((this.stagger = a(t)), this.stagger) 878 }), 879 (c._positionItem = function (t, e, i, o, n) { 880 o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)) 881 }), 882 (c._postLayout = function () { 883 this.resizeContainer() 884 }), 885 (c.resizeContainer = function () { 886 var t = this._getOption('resizeContainer') 887 if (t) { 888 var e = this._getContainerSize() 889 e && 890 (this._setContainerMeasure(e.width, !0), 891 this._setContainerMeasure(e.height, !1)) 892 } 893 }), 894 (c._getContainerSize = d), 895 (c._setContainerMeasure = function (t, e) { 896 if (void 0 !== t) { 897 var i = this.size 898 i.isBorderBox && 899 (t += e 900 ? i.paddingLeft + 901 i.paddingRight + 902 i.borderLeftWidth + 903 i.borderRightWidth 904 : i.paddingBottom + 905 i.paddingTop + 906 i.borderTopWidth + 907 i.borderBottomWidth), 908 (t = Math.max(t, 0)), 909 (this.element.style[e ? 'width' : 'height'] = t + 'px') 910 } 911 }), 912 (c._emitCompleteOnItems = function (t, e) { 913 function i() { 914 n.dispatchEvent(t + 'Complete', null, [e]) 915 } 916 function o() { 917 r++, r == s && i() 918 } 919 var n = this, 920 s = e.length 921 if (!e || !s) return void i() 922 var r = 0 923 e.forEach(function (e) { 924 e.once(t, o) 925 }) 926 }), 927 (c.dispatchEvent = function (t, e, i) { 928 var o = e ? [e].concat(i) : i 929 if ((this.emitEvent(t, o), h)) 930 if (((this.$element = this.$element || h(this.element)), e)) { 931 var n = h.Event(e) 932 ;(n.type = t), this.$element.trigger(n, i) 933 } else this.$element.trigger(t, i) 934 }), 935 (c.ignore = function (t) { 936 var e = this.getItem(t) 937 e && (e.isIgnored = !0) 938 }), 939 (c.unignore = function (t) { 940 var e = this.getItem(t) 941 e && delete e.isIgnored 942 }), 943 (c.stamp = function (t) { 944 ;(t = this._find(t)), 945 t && 946 ((this.stamps = this.stamps.concat(t)), 947 t.forEach(this.ignore, this)) 948 }), 949 (c.unstamp = function (t) { 950 ;(t = this._find(t)), 951 t && 952 t.forEach(function (t) { 953 o.removeFrom(this.stamps, t), this.unignore(t) 954 }, this) 955 }), 956 (c._find = function (t) { 957 if (t) 958 return ( 959 'string' == typeof t && (t = this.element.querySelectorAll(t)), 960 (t = o.makeArray(t)) 961 ) 962 }), 963 (c._manageStamps = function () { 964 this.stamps && 965 this.stamps.length &&
966 (this._getBoundingRect(), 967 this.stamps.forEach(this._manageStamp, this)) 968 }), 969 (c._getBoundingRect = function () { 970 var t = this.element.getBoundingClientRect(), 971 e = this.size 972 this._boundingRect = { 973 left: t.left + e.paddingLeft + e.borderLeftWidth, 974 top: t.top + e.paddingTop + e.borderTopWidth, 975 right: t.right - (e.paddingRight + e.borderRightWidth), 976 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth), 977 } 978 }), 979 (c._manageStamp = d), 980 (c._getElementOffset = function (t) { 981 var e = t.getBoundingClientRect(), 982 o = this._boundingRect, 983 n = i(t), 984 s = { 985 left: e.left - o.left - n.marginLeft, 986 top: e.top - o.top - n.marginTop, 987 right: o.right - e.right - n.marginRight, 988 bottom: o.bottom - e.bottom - n.marginBottom, 989 } 990 return s 991 }), 992 (c.handleEvent = o.handleEvent), 993 (c.bindResize = function () { 994 t.addEventListener('resize', this), (this.isResizeBound = !0) 995 }), 996 (c.unbindResize = function () { 997 t.removeEventListener('resize', this), (this.isResizeBound = !1) 998 }), 999 (c.onresize = function () { 1000 this.resize() 1001 }), 1002 o.debounceMethod(s, 'onresize', 100), 1003 (c.resize = function () { 1004 this.isResizeBound && this.needsResizeLayout() && this.layout() 1005 }), 1006 (c.needsResizeLayout = function () { 1007 var t = i(this.element), 1008 e = this.size && t 1009 return e && t.innerWidth !== this.size.innerWidth 1010 }), 1011 (c.addItems = function (t) { 1012 var e = this._itemize(t) 1013 return e.length && (this.items = this.items.concat(e)), e 1014 }), 1015 (c.appended = function (t) { 1016 var e = this.addItems(t) 1017 e.length && (this.layoutItems(e, !0), this.reveal(e)) 1018 }), 1019 (c.prepended = function (t) { 1020 var e = this._itemize(t) 1021 if (e.length) { 1022 var i = this.items.slice(0) 1023 ;(this.items = e.concat(i)), 1024 this._resetLayout(), 1025 this._manageStamps(), 1026 this.layoutItems(e, !0), 1027 this.reveal(e), 1028 this.layoutItems(i) 1029 } 1030 }), 1031 (c.reveal = function (t) { 1032 if ((this._emitCompleteOnItems('reveal', t), t && t.length)) { 1033 var e = this.updateStagger() 1034 t.forEach(function (t, i) { 1035 t.stagger(i * e), t.reveal() 1036 }) 1037 } 1038 }), 1039 (c.hide = function (t) { 1040 if ((this._emitCompleteOnItems('hide', t), t && t.length)) { 1041 var e = this.updateStagger() 1042 t.forEach(function (t, i) { 1043 t.stagger(i * e), t.hide() 1044 }) 1045 } 1046 }), 1047 (c.revealItemElements = function (t) { 1048 var e = this.getItems(t) 1049 this.reveal(e) 1050 }), 1051 (c.hideItemElements = function (t) { 1052 var e = this.getItems(t) 1053 this.hide(e) 1054 }), 1055 (c.getItem = function (t) { 1056 for (var e = 0; e < this.items.length; e++) { 1057 var i = this.items[e] 1058 if (i.element == t) return i 1059 } 1060 }), 1061 (c.getItems = function (t) { 1062 t = o.makeArray(t) 1063 var e = [] 1064 return ( 1065 t.forEach(function (t) { 1066 var i = this.getItem(t) 1067 i && e.push(i) 1068 }, this), 1069 e 1070 ) 1071 }), 1072 (c.remove = function (t) { 1073 var e = this.getItems(t) 1074 this._emitCompleteOnItems('remove', e), 1075 e && 1076 e.length && 1077 e.forEach(function (t) { 1078 t.remove(), o.removeFrom(this.items, t) 1079 }, this) 1080 }), 1081 (c.destroy = function () { 1082 var t = this.element.style 1083 ;(t.height = ''), 1084 (t.position = ''), 1085 (t.width = ''), 1086 this.items.forEach(function (t) { 1087 t.destroy() 1088 }), 1089 this.unbindResize() 1090 var e = this.element.outlayerGUID 1091 delete f[e], 1092 delete this.element.outlayerGUID, 1093 h && h.removeData(this.element, this.constructor.namespace) 1094 }), 1095 (s.data = function (t) { 1096 t = o.getQueryElement(t) 1097 var e = t && t.outlayerGUID 1098 return e && f[e] 1099 }), 1100 (s.create = function (t, e) { 1101 var i = r(s) 1102 return ( 1103 (i.defaults = o.extend({}, s.defaults)), 1104 o.extend(i.defaults, e), 1105 (i.compatOptions = o.extend({}, s.compatOptions)), 1106 (i.namespace = t), 1107 (i.data = s.data), 1108 (i.Item = r(n)), 1109 o.htmlInit(i, t), 1110 h && h.bridget && h.bridget(t, i), 1111 i 1112 ) 1113 }) 1114 var m = { ms: 1, s: 1e3 } 1115 return (s.Item = n), s 1116 }), 1117 (function (t, e) { 1118 'function' == typeof define && define.amd 1119 ? define('isotope-layout/js/item', ['outlayer/outlayer'], e) 1120 : 'object' == typeof module && module.exports 1121 ? (module.exports = e(require('outlayer'))) 1122 : ((t.Isotope = t.Isotope || {}), (t.Isotope.Item = e(t.Outlayer))) 1123 })(window, function (t) { 1124 'use strict' 1125 function e() { 1126 t.Item.apply(this, arguments) 1127 } 1128 var i = (e.prototype = Object.create(t.Item.prototype)), 1129 o = i._create 1130 ;(i._create = function () { 1131 ;(this.id = this.layout.itemGUID++), o.call(this), (this.sortData = {}) 1132 }), 1133 (i.updateSortData = function () { 1134 if (!this.isIgnored) { 1135 ;(this.sortData.id = this.id), 1136 (this.sortData['original-order'] = this.id), 1137 (this.sortData.random = Math.random()) 1138 var t = this.layout.options.getSortData, 1139 e = this.layout._sorters 1140 for (var i in t) { 1141 var o = e[i] 1142 this.sortData[i] = o(this.element, this) 1143 } 1144 } 1145 }) 1146 var n = i.destroy 1147 return ( 1148 (i.destroy = function () { 1149 n.apply(this, arguments), this.css({ display: '' }) 1150 }), 1151 e 1152 ) 1153 }), 1154 (function (t, e) { 1155 'function' == typeof define && define.amd 1156 ? define( 1157 'isotope-layout/js/layout-mode', 1158 ['get-size/get-size', 'outlayer/outlayer'], 1159 e 1160 ) 1161 : 'object' == typeof module && module.exports 1162 ? (module.exports = e(require('get-size'), require('outlayer'))) 1163 : ((t.Isotope = t.Isotope || {}), 1164 (t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))) 1165 })(window, function (t, e) { 1166 'use strict' 1167 function i(t) { 1168 ;(this.isotope = t), 1169 t && 1170 ((this.options = t.options[this.namespace]), 1171 (this.element = t.element), 1172 (this.items = t.filteredItems), 1173 (this.size = t.size)) 1174 } 1175 var o = i.prototype, 1176 n = [ 1177 '_resetLayout', 1178 '_getItemLayoutPosition', 1179 '_manageStamp', 1180 '_getContainerSize', 1181 '_getElementOffset', 1182 'needsResizeLayout', 1183 '_getOption', 1184 ] 1185 return (
1186 n.forEach(function (t) { 1187 o[t] = function () { 1188 return e.prototype[t].apply(this.isotope, arguments) 1189 } 1190 }), 1191 (o.needsVerticalResizeLayout = function () { 1192 var e = t(this.isotope.element), 1193 i = this.isotope.size && e 1194 return i && e.innerHeight != this.isotope.size.innerHeight 1195 }), 1196 (o._getMeasurement = function () { 1197 this.isotope._getMeasurement.apply(this, arguments) 1198 }), 1199 (o.getColumnWidth = function () { 1200 this.getSegmentSize('column', 'Width') 1201 }), 1202 (o.getRowHeight = function () { 1203 this.getSegmentSize('row', 'Height') 1204 }), 1205 (o.getSegmentSize = function (t, e) { 1206 var i = t + e, 1207 o = 'outer' + e 1208 if ((this._getMeasurement(i, o), !this[i])) { 1209 var n = this.getFirstItemSize() 1210 this[i] = (n && n[o]) || this.isotope.size['inner' + e] 1211 } 1212 }), 1213 (o.getFirstItemSize = function () { 1214 var e = this.isotope.filteredItems[0] 1215 return e && e.element && t(e.element) 1216 }), 1217 (o.layout = function () { 1218 this.isotope.layout.apply(this.isotope, arguments) 1219 }), 1220 (o.getSize = function () { 1221 this.isotope.getSize(), (this.size = this.isotope.size) 1222 }), 1223 (i.modes = {}), 1224 (i.create = function (t, e) { 1225 function n() { 1226 i.apply(this, arguments) 1227 } 1228 return ( 1229 (n.prototype = Object.create(o)), 1230 (n.prototype.constructor = n), 1231 e && (n.options = e), 1232 (n.prototype.namespace = t), 1233 (i.modes[t] = n), 1234 n 1235 ) 1236 }), 1237 i 1238 ) 1239 }), 1240 (function (t, e) { 1241 'function' == typeof define && define.amd 1242 ? define( 1243 'masonry-layout/masonry', 1244 ['outlayer/outlayer', 'get-size/get-size'], 1245 e 1246 ) 1247 : 'object' == typeof module && module.exports 1248 ? (module.exports = e(require('outlayer'), require('get-size'))) 1249 : (t.Masonry = e(t.Outlayer, t.getSize)) 1250 })(window, function (t, e) { 1251 var i = t.create('masonry')
1252 i.compatOptions.fitWidth = 'isFitWidth' 1253 var o = i.prototype 1254 return ( 1255 (o._resetLayout = function () { 1256 this.getSize(), 1257 this._getMeasurement('columnWidth', 'outerWidth'), 1258 this._getMeasurement('gutter', 'outerWidth'), 1259 this.measureColumns(), 1260 (this.colYs = []) 1261 for (var t = 0; t < this.cols; t++) this.colYs.push(0) 1262 ;(this.maxY = 0), (this.horizontalColIndex = 0) 1263 }), 1264 (o.measureColumns = function () { 1265 if ((this.getContainerWidth(), !this.columnWidth)) { 1266 var t = this.items[0], 1267 i = t && t.element 1268 this.columnWidth = (i && e(i).outerWidth) || this.containerWidth 1269 } 1270 var o = (this.columnWidth += this.gutter), 1271 n = this.containerWidth + this.gutter, 1272 s = n / o, 1273 r = o - (n % o), 1274 a = r && r < 1 ? 'round' : 'floor' 1275 ;(s = Math[a](s)), (this.cols = Math.max(s, 1)) 1276 }), 1277 (o.getContainerWidth = function () { 1278 var t = this._getOption('fitWidth'), 1279 i = t ? this.element.parentNode : this.element, 1280 o = e(i) 1281 this.containerWidth = o && o.innerWidth 1282 }), 1283 (o._getItemLayoutPosition = function (t) { 1284 t.getSize() 1285 var e = t.size.outerWidth % this.columnWidth, 1286 i = e && e < 1 ? 'round' : 'ceil', 1287 o = Math[i](t.size.outerWidth / this.columnWidth) 1288 o = Math.min(o, this.cols) 1289 for ( 1290 var n = this.options.horizontalOrder 1291 ? '_getHorizontalColPosition' 1292 : '_getTopColPosition', 1293 s = this[n](o, t), 1294 r = { x: this.columnWidth * s.col, y: s.y }, 1295 a = s.y + t.size.outerHeight, 1296 u = o + s.col, 1297 h = s.col; 1298 h < u; 1299 h++ 1300 ) 1301 this.colYs[h] = a 1302 return r 1303 }), 1304 (o._getTopColPosition = function (t) { 1305 var e = this._getTopColGroup(t), 1306 i = Math.min.apply(Math, e) 1307 return { col: e.indexOf(i), y: i } 1308 }), 1309 (o._getTopColGroup = function (t) { 1310 if (t < 2) return this.colYs 1311 for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) 1312 e[o] = this._getColGroupY(o, t) 1313 return e 1314 }), 1315 (o._getColGroupY = function (t, e) { 1316 if (e < 2) return this.colYs[t] 1317 var i = this.colYs.slice(t, t + e) 1318 return Math.max.apply(Math, i) 1319 }), 1320 (o._getHorizontalColPosition = function (t, e) { 1321 var i = this.horizontalColIndex % this.cols, 1322 o = t > 1 && i + t > this.cols 1323 i = o ? 0 : i 1324 var n = e.size.outerWidth && e.size.outerHeight 1325 return ( 1326 (this.horizontalColIndex = n ? i + t : this.horizontalColIndex), 1327 { col: i, y: this._getColGroupY(i, t) } 1328 ) 1329 }), 1330 (o._manageStamp = function (t) { 1331 var i = e(t), 1332 o = this._getElementOffset(t), 1333 n = this._getOption('originLeft'), 1334 s = n ? o.left : o.right, 1335 r = s + i.outerWidth, 1336 a = Math.floor(s / this.columnWidth) 1337 a = Math.max(0, a) 1338 var u = Math.floor(r / this.columnWidth) 1339 ;(u -= r % this.columnWidth ? 0 : 1), (u = Math.min(this.cols - 1, u)) 1340 for ( 1341 var h = this._getOption('originTop'), 1342 d = (h ? o.top : o.bottom) + i.outerHeight, 1343 l = a; 1344 l <= u; 1345 l++ 1346 ) 1347 this.colYs[l] = Math.max(d, this.colYs[l]) 1348 }), 1349 (o._getContainerSize = function () { 1350 this.maxY = Math.max.apply(Math, this.colYs) 1351 var t = { height: this.maxY } 1352 return ( 1353 this._getOption('fitWidth') && 1354 (t.width = this._getContainerFitWidth()), 1355 t 1356 ) 1357 }), 1358 (o._getContainerFitWidth = function () { 1359 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) t++ 1360 return (this.cols - t) * this.columnWidth - this.gutter 1361 }), 1362 (o.needsResizeLayout = function () { 1363 var t = this.containerWidth 1364 return this.getContainerWidth(), t != this.containerWidth 1365 }), 1366 i 1367 ) 1368 }), 1369 (function (t, e) { 1370 'function' == typeof define && define.amd 1371 ? define( 1372 'isotope-layout/js/layout-modes/masonry', 1373 ['../layout-mode', 'masonry-layout/masonry'], 1374 e 1375 ) 1376 : 'object' == typeof module && module.exports 1377 ? (module.exports = e( 1378 require('../layout-mode'), 1379 require('masonry-layout') 1380 )) 1381 : e(t.Isotope.LayoutMode, t.Masonry) 1382 })(window, function (t, e) { 1383 'use strict' 1384 var i = t.create('masonry'), 1385 o = i.prototype, 1386 n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 } 1387 for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]) 1388 var r = o.measureColumns 1389 o.measureColumns = function () { 1390 ;(this.items = this.isotope.filteredItems), r.call(this) 1391 } 1392 var a = o._getOption 1393 return ( 1394 (o._getOption = function (t) { 1395 return 'fitWidth' == t 1396 ? void 0 !== this.options.isFitWidth 1397 ? this.options.isFitWidth 1398 : this.options.fitWidth 1399 : a.apply(this.isotope, arguments) 1400 }), 1401 i 1402 ) 1403 }), 1404 (function (t, e) { 1405 'function' == typeof define && define.amd 1406 ? define('isotope-layout/js/layout-modes/fit-rows', ['../layout-mode'], e) 1407 : 'object' == typeof exports 1408 ? (module.exports = e(require('../layout-mode'))) 1409 : e(t.Isotope.LayoutMode) 1410 })(window, function (t) { 1411 'use strict' 1412 var e = t.create('fitRows'), 1413 i = e.prototype 1414 return ( 1415 (i._resetLayout = function () { 1416 ;(this.x = 0), 1417 (this.y = 0), 1418 (this.maxY = 0), 1419 this._getMeasurement('gutter', 'outerWidth') 1420 }), 1421 (i._getItemLayoutPosition = function (t) { 1422 t.getSize() 1423 var e = t.size.outerWidth + this.gutter, 1424 i = this.isotope.size.innerWidth + this.gutter 1425 0 !== this.x && e + this.x > i && ((this.x = 0), (this.y = this.maxY)) 1426 var o = { x: this.x, y: this.y } 1427 return ( 1428 (this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight)), 1429 (this.x += e), 1430 o 1431 ) 1432 }), 1433 (i._getContainerSize = function () { 1434 return { height: this.maxY } 1435 }), 1436 e 1437 ) 1438 }), 1439 (function (t, e) { 1440 'function' == typeof define && define.amd 1441 ? define('isotope-layout/js/layout-modes/vertical', ['../layout-mode'], e) 1442 : 'object' == typeof module && module.exports 1443 ? (module.exports = e(require('../layout-mode'))) 1444 : e(t.Isotope.LayoutMode) 1445 })(window, function (t) { 1446 'use strict' 1447 var e = t.create('vertical', { horizontalAlignment: 0 }), 1448 i = e.prototype 1449 return ( 1450 (i._resetLayout = function () { 1451 this.y = 0 1452 }), 1453 (i._getItemLayoutPosition = function (t) { 1454 t.getSize() 1455 var e = 1456 (this.isotope.size.innerWidth - t.size.outerWidth) * 1457 this.options.horizontalAlignment, 1458 i = this.y 1459 return (this.y += t.size.outerHeight), { x: e, y: i } 1460 }), 1461 (i._getContainerSize = function () { 1462 return { height: this.y } 1463 }), 1464 e 1465 ) 1466 }), 1467 (function (t, e) { 1468 'function' == typeof define && define.amd 1469 ? define( 1470 [ 1471 'outlayer/outlayer', 1472 'get-size/get-size', 1473 'desandro-matches-selector/matches-selector', 1474 'fizzy-ui-utils/utils', 1475 'isotope-layout/js/item', 1476 'isotope-layout/js/layout-mode', 1477 'isotope-layout/js/layout-modes/masonry', 1478 'isotope-layout/js/layout-modes/fit-rows', 1479 'isotope-layout/js/layout-modes/vertical', 1480 ], 1481 function (i, o, n, s, r, a) { 1482 return e(t, i, o, n, s, r, a) 1483 } 1484 ) 1485 : 'object' == typeof module && module.exports 1486 ? (module.exports = e( 1487 t, 1488 require('outlayer'), 1489 require('get-size'), 1490 require('desandro-matches-selector'), 1491 require('fizzy-ui-utils'), 1492 require('isotope-layout/js/item'), 1493 require('isotope-layout/js/layout-mode'), 1494 require('isotope-layout/js/layout-modes/masonry'), 1495 require('isotope-layout/js/layout-modes/fit-rows'), 1496 require('isotope-layout/js/layout-modes/vertical') 1497 )) 1498 : (t.Isotope = e( 1499 t, 1500 t.Outlayer, 1501 t.getSize, 1502 t.matchesSelector, 1503 t.fizzyUIUtils, 1504 t.Isotope.Item, 1505 t.Isotope.LayoutMode 1506 )) 1507 })(window, function (t, e, i, o, n, s, r) { 1508 function a(t, e) { 1509 return function (i, o) { 1510 for (var n = 0; n < t.length; n++) { 1511 var s = t[n], 1512 r = i.sortData[s], 1513 a = o.sortData[s] 1514 if (r > a || r < a) { 1515 var u = void 0 !== e[s] ? e[s] : e, 1516 h = u ? 1 : -1 1517 return (r > a ? 1 : -1) * h 1518 } 1519 } 1520 return 0 1521 } 1522 } 1523 var u = t.jQuery, 1524 h = String.prototype.trim 1525 ? function (t) { 1526 return t.trim() 1527 } 1528 : function (t) { 1529 return t.replace(/^\s+|\s+$/g, '') 1530 }, 1531 d = e.create('isotope', { 1532 layoutMode: 'masonry', 1533 isJQueryFiltering: !0, 1534 sortAscending: !0, 1535 }) 1536 ;(d.Item = s), (d.LayoutMode = r) 1537 var l = d.prototype 1538 ;(l._create = function () { 1539 ;(this.itemGUID = 0), 1540 (this._sorters = {}), 1541 this._getSorters(), 1542 e.prototype._create.call(this), 1543 (this.modes = {}), 1544 (this.filteredItems = this.items), 1545 (this.sortHistory = ['original-order']) 1546 for (var t in r.modes) this._initLayoutMode(t) 1547 }), 1548 (l.reloadItems = function () { 1549 ;(this.itemGUID = 0), e.prototype.reloadItems.call(this) 1550 }), 1551 (l._itemize = function () { 1552 for ( 1553 var t = e.prototype._itemize.apply(this, arguments), i = 0; 1554 i < t.length; 1555 i++ 1556 ) { 1557 var o = t[i] 1558 o.id = this.itemGUID++ 1559 } 1560 return this._updateItemsSortData(t), t 1561 }), 1562 (l._initLayoutMode = function (t) { 1563 var e = r.modes[t], 1564 i = this.options[t] || {} 1565 ;(this.options[t] = e.options ? n.extend(e.options, i) : i), 1566 (this.modes[t] = new e(this)) 1567 }), 1568 (l.layout = function () { 1569 return !this._isLayoutInited && this._getOption('initLayout') 1570 ? void this.arrange() 1571 : void this._layout() 1572 }), 1573 (l._layout = function () { 1574 var t = this._getIsInstant() 1575 this._resetLayout(), 1576 this._manageStamps(), 1577 this.layoutItems(this.filteredItems, t), 1578 (this._isLayoutInited = !0) 1579 }), 1580 (l.arrange = function (t) { 1581 this.option(t), this._getIsInstant() 1582 var e = this._filter(this.items) 1583 ;(this.filteredItems = e.matches), 1584 this._bindArrangeComplete(), 1585 this._isInstant 1586 ? this._noTransition(this._hideReveal, [e]) 1587 : this._hideReveal(e), 1588 this._sort(), 1589 this._layout() 1590 }), 1591 (l._init = l.arrange), 1592 (l._hideReveal = function (t) { 1593 this.reveal(t.needReveal), this.hide(t.needHide) 1594 }), 1595 (l._getIsInstant = function () { 1596 var t = this._getOption('layoutInstant'), 1597 e = void 0 !== t ? t : !this._isLayoutInited 1598 return (this._isInstant = e), e 1599 }), 1600 (l._bindArrangeComplete = function () { 1601 function t() { 1602 e && 1603 i && 1604 o && 1605 n.dispatchEvent('arrangeComplete', null, [n.filteredItems]) 1606 } 1607 var e, 1608 i, 1609 o, 1610 n = this 1611 this.once('layoutComplete', function () { 1612 ;(e = !0), t() 1613 }), 1614 this.once('hideComplete', function () { 1615 ;(i = !0), t() 1616 }), 1617 this.once('revealComplete', function () { 1618 ;
1618(o = !0), t() 1619 }) 1620 }), 1621 (l._filter = function (t) { 1622 var e = this.options.filter 1623 e = e || '*' 1624 for ( 1625 var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; 1626 r < t.length; 1627 r++ 1628 ) { 1629 var a = t[r] 1630 if (!a.isIgnored) { 1631 var u = s(a) 1632 u && i.push(a), 1633 u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a) 1634 } 1635 } 1636 return { matches: i, needReveal: o, needHide: n } 1637 }), 1638 (l._getFilterTest = function (t) { 1639 return u && this.options.isJQueryFiltering 1640 ? function (e) { 1641 return u(e.element).is(t) 1642 } 1643 : 'function' == typeof t 1644 ? function (e) { 1645 return t(e.element) 1646 } 1647 : function (e) { 1648 return o(e.element, t) 1649 } 1650 }), 1651 (l.updateSortData = function (t) { 1652 var e 1653 t ? ((t = n.makeArray(t)), (e = this.getItems(t))) : (e = this.items), 1654 this._getSorters(), 1655 this._updateItemsSortData(e) 1656 }), 1657 (l._getSorters = function () { 1658 var t = this.options.getSortData 1659 for (var e in t) { 1660 var i = t[e] 1661 this._sorters[e] = f(i) 1662 } 1663 }), 1664 (l._updateItemsSortData = function (t) { 1665 for (var e = t && t.length, i = 0; e && i < e; i++) { 1666 var o = t[i] 1667 o.updateSortData() 1668 } 1669 }) 1670 var f = (function () { 1671 function t(t) { 1672 if ('string' != typeof t) return t 1673 var i = h(t).split(' '), 1674 o = i[0], 1675 n = o.match(/^\[(.+)\]$/), 1676 s = n && n[1], 1677 r = e(s, o), 1678 a = d.sortDataParsers[i[1]] 1679 return (t = a 1680 ? function (t) { 1681 return t && a(r(t)) 1682 } 1683 : function (t) { 1684 return t && r(t) 1685 }) 1686 } 1687 function e(t, e) { 1688 return t 1689 ? function (e) { 1690 return e.getAttribute(t) 1691 } 1692 : function (t) { 1693 var i = t.querySelector(e) 1694 return i && i.textContent 1695 } 1696 } 1697 return t 1698 })() 1699 ;(d.sortDataParsers = { 1700 parseInt: function (t) { 1701 return parseInt(t, 10) 1702 }, 1703 parseFloat: function (t) { 1704 return parseFloat(t) 1705 }, 1706 }), 1707 (l._sort = function () { 1708 if (this.options.sortBy) { 1709 var t = n.makeArray(this.options.sortBy) 1710 this._getIsSameSortBy(t) || 1711 (this.sortHistory = t.concat(this.sortHistory)) 1712 var e = a(this.sortHistory, this.options.sortAscending) 1713 this.filteredItems.sort(e) 1714 } 1715 }), 1716 (l._getIsSameSortBy = function (t) { 1717 for (var e = 0; e < t.length; e++) 1718 if (t[e] != this.sortHistory[e]) return !1 1719 return !0 1720 }), 1721 (l._mode = function () { 1722 var t = this.options.layoutMode, 1723 e = this.modes[t] 1724 if (!e) throw new Error('No layout mode: ' + t) 1725 return (e.options = this.options[t]), e 1726 }), 1727 (l._resetLayout = function () { 1728 e.prototype._resetLayout.call(this), this._mode()._resetLayout() 1729 }), 1730 (l._getItemLayoutPosition = function (t) { 1731 return this._mode()._getItemLayoutPosition(t) 1732 }), 1733 (l._manageStamp = function (t) { 1734 this._mode()._manageStamp(t) 1735 }), 1736 (l._getContainerSize = function () { 1737 return this._mode()._getContainerSize() 1738 }), 1739 (l.needsResizeLayout = function () { 1740 return this._mode().needsResizeLayout() 1741 }), 1742 (l.appended = function (t) { 1743 var e = this.addItems(t) 1744 if (e.length) { 1745 var i = this._filterRevealAdded(e) 1746 this.filteredItems = this.filteredItems.concat(i) 1747 } 1748 }), 1749 (l.prepended = function (t) { 1750 var e = this._itemize(t) 1751 if (e.length) { 1752 this._resetLayout(), this._manageStamps() 1753 var i = this._filterRevealAdded(e) 1754 this.layoutItems(this.filteredItems), 1755 (this.filteredItems = i.concat(this.filteredItems)), 1756 (this.items = e.concat(this.items)) 1757 } 1758 }), 1759 (l._filterRevealAdded = function (t) { 1760 var e = this._filter(t) 1761 return ( 1762 this.hide(e.needHide), 1763 this.reveal(e.matches), 1764 this.layoutItems(e.matches, !0), 1765 e.matches 1766 ) 1767 }), 1768 (l.insert = function (t) { 1769 var e = this.addItems(t) 1770 if (e.length) { 1771 var i, 1772 o, 1773 n = e.length 1774 for (i = 0; i < n; i++) 1775 (o = e[i]), this.element.appendChild(o.element) 1776 var s = this._filter(e).matches 1777 for (i = 0; i < n; i++) e[i].isLayoutInstant = !0 1778 for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant 1779 this.reveal(s) 1780 } 1781 }) 1782 var c = l.remove 1783 return ( 1784 (l.remove = function (t) { 1785 t = n.makeArray(t) 1786 var e = this.getItems(t) 1787 c.call(this, t) 1788 for (var i = e && e.length, o = 0; i && o < i; o++) { 1789 var s = e[o] 1790 n.removeFrom(this.filteredItems, s) 1791 } 1792 }), 1793 (l.shuffle = function () { 1794 for (var t = 0; t < this.items.length; t++) { 1795 var e = this.items[t] 1796 e.sortData.random = Math.random() 1797 } 1798 ;(this.options.sortBy = 'random'), this._sort(), this._layout() 1799 }), 1800 (l._noTransition = function (t, e) { 1801 var i = this.options.transitionDuration 1802 this.options.transitionDuration = 0 1803 var o = t.apply(this, e) 1804 return (this.options.transitionDuration = i), o 1805 }), 1806 (l.getFilteredItemElements = function () { 1807 return this.filteredItems.map(function (t) { 1808 return t.element 1809 }) 1810 }), 1811 d 1812 ) 1813 })
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.