vendor: 10,021 bytes, lines 1-246
1/*! 2 * Flickity PACKAGED v2.2.1 3 * Touch, responsive, flickable carousels 4 * 5 * Licensed GPLv3 for open source use 6 * or Flickity Commercial License for commercial use 7 * 8 * https://flickity.metafizzy.co 9 * Copyright 2015-2019 Metafizzy 10 */ 11 12! function(e, i) { 13 "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function(t) { 14 return i(e, t) 15 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("jquery")) : e.jQueryBridget = i(e, e.jQuery) 16}(window, function(t, e) { 17 "use strict"; 18 var i = Array.prototype.slice, 19 n = t.console, 20 d = void 0 === n ? function() {} : function(t) { 21 n.error(t) 22 }; 23 24 function s(h, s, c) { 25 (c = c || e || t.jQuery) && (s.prototype.option || (s.prototype.option = function(t) { 26 c.isPlainObject(t) && (this.options = c.extend(!0, this.options, t)) 27 }), c.fn[h] = function(t) { 28 return "string" == typeof t ? function(t, o, r) { 29 var a, l = "$()." + h + '("' + o + '")'; 30 return t.each(function(t, e) { 31 var i = c.data(e, h); 32 if (i) { 33 var n = i[o]; 34 if (n && "_" != o.charAt(0)) { 35 var s = n.apply(i, r); 36 a = void 0 === a ? s : a 37 } else d(l + " is not a valid method") 38 } else d(h + " not initialized. Cannot call methods, i.e. " + l) 39 }), void 0 !== a ? a : t 40 }(this, t, i.call(arguments, 1)) : (function(t, n) { 41 t.each(function(t, e) { 42 var i = c.data(e, h); 43 i ? (i.option(n), i._init()) : (i = new s(e, n), c.data(e, h, i)) 44 }) 45 }(this, t), this) 46 }, o(c)) 47 } 48 49 function o(t) { 50 !t || t && t.bridget || (t.bridget = s) 51 } 52 return o(e || t.jQuery), s 53}), 54function(t, e) { 55 "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() 56}("undefined" != typeof window ? window : this, function() { 57 function t() {} 58 var e = t.prototype; 59 return e.on = function(t, e) { 60 if (t && e) { 61 var i = this._events = this._events || {}, 62 n = i[t] = i[t] || []; 63 return -1 == n.indexOf(e) && n.push(e), this 64 } 65 }, e.once = function(t, e) { 66 if (t && e) { 67 this.on(t, e); 68 var i = this._onceEvents = this._onceEvents || {}; 69 return (i[t] = i[t] || {})[e] = !0, this 70 } 71 }, e.off = function(t, e) { 72 var i = this._events && this._events[t]; 73 if (i && i.length) { 74 var n = i.indexOf(e); 75 return -1 != n && i.splice(n, 1), this 76 } 77 }, e.emitEvent = function(t, e) { 78 var i = this._events && this._events[t]; 79 if (i && i.length) { 80 i = i.slice(0), e = e || []; 81 for (var n = this._onceEvents && this._onceEvents[t], s = 0; s < i.length; s++) { 82 var o = i[s]; 83 n && n[o] && (this.off(t, o), delete n[o]), o.apply(this, e) 84 } 85 return this 86 } 87 }, e.allOff = function() { 88 delete this._events, delete this._onceEvents 89 }, t 90}), 91function(t, e) { 92 "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() 93}(window, function() { 94 "use strict"; 95 96 function m(t) { 97 var e = parseFloat(t); 98 return -1 == t.indexOf("%") && !isNaN(e) && e 99 } 100 var i = "undefined" == typeof console ? function() {} : function(t) { 101 console.error(t) 102 }, 103 y = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], 104 b = y.length; 105 106 function E(t) { 107 var e = getComputedStyle(t); 108 return e || i("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e 109 } 110 var S, C = !1; 111 112 function x(t) { 113 if (function() { 114 if (!C) { 115 C = !0; 116 var t = document.createElement("div"); 117 t.style.width = "200px", t.style.padding = "1px 2px 3px 4px", t.style.borderStyle = "solid", t.style.borderWidth = "1px 2px 3px 4px", t.style.boxSizing = "border-box"; 118 var e = document.body || document.documentElement; 119 e.appendChild(t); 120 var i = E(t); 121 S = 200 == Math.round(m(i.width)), x.isBoxSizeOuter = S, e.removeChild(t) 122 } 123 }(), "string" == typeof t && (t = document.querySelector(t)), t && "object" == typeof t && t.nodeType) { 124 var e = E(t); 125 if ("none" == e.display) return function() { 126 for (var t = { 127 width: 0, 128 height: 0, 129 innerWidth: 0, 130 innerHeight: 0, 131 outerWidth: 0, 132 outerHeight: 0 133 }, e = 0; e < b; e++) { 134 t[y[e]] = 0 135 } 136 return t 137 }(); 138 var i = {}; 139 i.width = t.offsetWidth, i.height = t.offsetHeight; 140 for (var n = i.isBorderBox = "border-box" == e.boxSizing, s = 0; s < b; s++) { 141 var o = y[s], 142 r = e[o], 143 a = parseFloat(r); 144 i[o] = isNaN(a) ? 0 : a 145 } 146 var l = i.paddingLeft + i.paddingRight, 147 h = i.paddingTop + i.paddingBottom, 148 c = i.marginLeft + i.marginRight, 149 d = i.marginTop + i.marginBottom, 150 u = i.borderLeftWidth + i.borderRightWidth, 151 f = i.borderTopWidth + i.borderBottomWidth, 152 p = n && S, 153 g = m(e.width); 154 !1 !== g && (i.width = g + (p ? 0 : l + u)); 155 var v = m(e.height); 156 return !1 !== v && (i.height = v + (p ? 0 : h + f)), i.innerWidth = i.width - (l + u), i.innerHeight = i.height - (h + f), i.outerWidth = i.width + c, i.outerHeight = i.height + d, i 157 } 158 } 159 return x 160}), 161function(t, e) { 162 "use strict"; 163 "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() 164}(window, function() { 165 "use strict"; 166 var i = function() { 167 var t = window.Element.prototype; 168 if (t.matches) return "matches"; 169 if (t.matchesSelector) return "matchesSelector"; 170 for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { 171 var n = e[i] + "MatchesSelector"; 172 if (t[n]) return n 173 } 174 }(); 175 return function(t, e) { 176 return t[i](e) 177 } 178}), 179function(e, i) { 180 "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function(t) { 181 return i(e, t) 182 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("desandro-matches-selector")) : e.fizzyUIUtils = i(e, e.matchesSelector) 183}(window, function(h, o) { 184 var c = { 185 extend: function(t, e) { 186 for (var i in e) t[i] = e[i]; 187 return t 188 }, 189 modulo: function(t, e) { 190 return (t % e + e) % e 191 } 192 }, 193 e = Array.prototype.slice; 194 c.makeArray = function(t) { 195 return Array.isArray(t) ? t : null == t ? [] : "object" == typeof t && "number" == typeof t.length ? e.call(t) : [t] 196 }, c.removeFrom = function(t, e) { 197 var i = t.indexOf(e); - 1 != i && t.splice(i, 1) 198 }, c.getParent = function(t, e) { 199 for (; t.parentNode && t != document.body;) 200 if (t = t.parentNode, o(t, e)) return t 201 }, c.getQueryElement = function(t) { 202 return "string" == typeof t ? document.querySelector(t) : t 203 }, c.handleEvent = function(t) { 204 var e = "on" + t.type; 205 this[e] && this[e](t) 206 }, c.filterFindElements = function(t, n) { 207 t = c.makeArray(t); 208 var s = []; 209 return t.forEach(function(t) { 210 if (t instanceof HTMLElement) 211 if (n) { 212 o(t, n) && s.push(t); 213 for (var e = t.querySelectorAll(n), i = 0; i < e.length; i++) s.push(e[i]) 214 } else s.push(t) 215 }), s 216 }, c.debounceMethod = function(t, e, n) { 217 n = n || 100; 218 var s = t.prototype[e], 219 o = e + "Timeout"; 220 t.prototype[e] = function() { 221 var t = this[o]; 222 clearTimeout(t); 223 var e = arguments, 224 i = this; 225 this[o] = setTimeout(function() { 226 s.apply(i, e), delete i[o] 227 }, n) 228 } 229 }, c.docReady = function(t) { 230 var e = document.readyState; 231 "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) 232 }, c.toDashed = function(t) { 233 return t.replace(/(.)([A-Z])/g, function(t, e, i) { 234 return e + "-" + i 235 }).toLowerCase() 236 }; 237 var d = h.console; 238 return c.htmlInit = function(a, l) { 239 c.docReady(function() { 240 var t = c.toDashed(l), 241 s = "data-" + t, 242 e = document.querySelectorAll("[" + s + "]"), 243 i = document.querySelectorAll(".js-" + t), 244 n = c.makeArray(e).concat(c.makeArray(i)), 245 o = s + "-options", 246 r = h.jQuery;
vendor: 49,715 bytes, lines 247-1233
247 n.forEach(function(e) { 248 var t, i = e.getAttribute(s) || e.getAttribute(o); 249 try { 250 t = i && JSON.parse(i) 251 } catch (t) { 252 return void(d && d.error("Error parsing " + s + " on " + e.className + ": " + t)) 253 } 254 var n = new a(e, t); 255 r && r.data(e, l, n) 256 }) 257 }) 258 }, c 259}), 260function(e, i) { 261 "function" == typeof define && define.amd ? define("flickity/js/cell", ["get-size/get-size"], function(t) { 262 return i(e, t) 263 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("get-size")) : (e.Flickity = e.Flickity || {}, e.Flickity.Cell = i(e, e.getSize)) 264}(window, function(t, e) { 265 function i(t, e) { 266 this.element = t, this.parent = e, this.create() 267 } 268 var n = i.prototype; 269 return n.create = function() { 270 this.element.style.position = "absolute", this.element.setAttribute("aria-hidden", "true"), this.x = 0, this.shift = 0 271 }, n.destroy = function() { 272 this.unselect(), this.element.style.position = ""; 273 var t = this.parent.originSide; 274 this.element.style[t] = "" 275 }, n.getSize = function() { 276 this.size = e(this.element) 277 }, n.setPosition = function(t) { 278 this.x = t, this.updateTarget(), this.renderPosition(t) 279 }, n.updateTarget = n.setDefaultTarget = function() { 280 var t = "left" == this.parent.originSide ? "marginLeft" : "marginRight"; 281 this.target = this.x + this.size[t] + this.size.width * this.parent.cellAlign 282 }, n.renderPosition = function(t) { 283 var e = this.parent.originSide; 284 this.element.style[e] = this.parent.getPositionValue(t) 285 }, n.select = function() { 286 this.element.classList.add("is-selected"), this.element.removeAttribute("aria-hidden") 287 }, n.unselect = function() { 288 this.element.classList.remove("is-selected"), this.element.setAttribute("aria-hidden", "true") 289 }, n.wrapShift = function(t) { 290 this.shift = t, this.renderPosition(this.x + this.parent.slideableWidth * t) 291 }, n.remove = function() { 292 this.element.parentNode.removeChild(this.element) 293 }, i 294}), 295function(t, e) { 296 "function" == typeof define && define.amd ? define("flickity/js/slide", e) : "object" == typeof module && module.exports ? module.exports = e() : (t.Flickity = t.Flickity || {}, t.Flickity.Slide = e()) 297}(window, function() { 298 "use strict"; 299 300 function t(t) { 301 this.parent = t, this.isOriginLeft = "left" == t.originSide, this.cells = [], this.outerWidth = 0, this.height = 0 302 } 303 var e = t.prototype; 304 return e.addCell = function(t) { 305 if (this.cells.push(t), this.outerWidth += t.size.outerWidth, this.height = Math.max(t.size.outerHeight, this.height), 1 == this.cells.length) { 306 this.x = t.x; 307 var e = this.isOriginLeft ? "marginLeft" : "marginRight"; 308 this.firstMargin = t.size[e] 309 } 310 }, e.updateTarget = function() { 311 var t = this.isOriginLeft ? "marginRight" : "marginLeft", 312 e = this.getLastCell(), 313 i = e ? e.size[t] : 0, 314 n = this.outerWidth - (this.firstMargin + i); 315 this.target = this.x + this.firstMargin + n * this.parent.cellAlign 316 }, e.getLastCell = function() { 317 return this.cells[this.cells.length - 1] 318 }, e.select = function() { 319 this.cells.forEach(function(t) { 320 t.select() 321 }) 322 }, e.unselect = function() { 323 this.cells.forEach(function(t) { 324 t.unselect() 325 }) 326 }, e.getCellElements = function() { 327 return this.cells.map(function(t) { 328 return t.element 329 }) 330 }, t 331}), 332function(e, i) { 333 "function" == typeof define && define.amd ? define("flickity/js/animate", ["fizzy-ui-utils/utils"], function(t) { 334 return i(e, t) 335 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("fizzy-ui-utils")) : (e.Flickity = e.Flickity || {}, e.Flickity.animatePrototype = i(e, e.fizzyUIUtils)) 336}(window, function(t, e) { 337 var i = { 338 startAnimation: function() { 339 this.isAnimating || (this.isAnimating = !0, this.restingFrames = 0, this.animate()) 340 }, 341 animate: function() { 342 this.applyDragForce(), this.applySelectedAttraction(); 343 var t = this.x; 344 if (this.integratePhysics(), this.positionSlider(), this.settle(t), this.isAnimating) { 345 var e = this; 346 requestAnimationFrame(function() { 347 e.animate() 348 }) 349 } 350 }, 351 positionSlider: function() { 352 var t = this.x; 353 this.options.wrapAround && 1 < this.cells.length && (t = e.modulo(t, this.slideableWidth), t -= this.slideableWidth, this.shiftWrapCells(t)), this.setTranslateX(t, this.isAnimating), this.dispatchScrollEvent() 354 }, 355 setTranslateX: function(t, e) { 356 t += this.cursorPosition, t = this.options.rightToLeft ? -t : t; 357 var i = this.getPositionValue(t); 358 this.slider.style.transform = e ? "translate3d(" + i + ",0,0)" : "translateX(" + i + ")" 359 }, 360 dispatchScrollEvent: function() { 361 var t = this.slides[0]; 362 if (t) { 363 var e = -this.x - t.target, 364 i = e / this.slidesWidth; 365 this.dispatchEvent("scroll", null, [i, e]) 366 } 367 }, 368 positionSliderAtSelected: function() { 369 this.cells.length && (this.x = -this.selectedSlide.target, this.velocity = 0, this.positionSlider()) 370 }, 371 getPositionValue: function(t) { 372 return this.options.percentPosition ? .01 * Math.round(t / this.size.innerWidth * 1e4) + "%" : Math.round(t) + "px" 373 }, 374 settle: function(t) { 375 this.isPointerDown || Math.round(100 * this.x) != Math.round(100 * t) || this.restingFrames++, 2 < this.restingFrames && (this.isAnimating = !1, delete this.isFreeScrolling, this.positionSlider(), this.dispatchEvent("settle", null, [this.selectedIndex])) 376 }, 377 shiftWrapCells: function(t) { 378 var e = this.cursorPosition + t; 379 this._shiftCells(this.beforeShiftCells, e, -1); 380 var i = this.size.innerWidth - (t + this.slideableWidth + this.cursorPosition); 381 this._shiftCells(this.afterShiftCells, i, 1) 382 }, 383 _shiftCells: function(t, e, i) { 384 for (var n = 0; n < t.length; n++) { 385 var s = t[n], 386 o = 0 < e ? i : 0; 387 s.wrapShift(o), e -= s.size.outerWidth 388 } 389 }, 390 _unshiftCells: function(t) { 391 if (t && t.length) 392 for (var e = 0; e < t.length; e++) t[e].wrapShift(0) 393 }, 394 integratePhysics: function() { 395 this.x += this.velocity, this.velocity *= this.getFrictionFactor() 396 }, 397 applyForce: function(t) { 398 this.velocity += t 399 }, 400 getFrictionFactor: function() { 401 return 1 - this.options[this.isFreeScrolling ? "freeScrollFriction" : "friction"] 402 }, 403 getRestingPosition: function() { 404 return this.x + this.velocity / (1 - this.getFrictionFactor()) 405 }, 406 applyDragForce: function() { 407 if (this.isDraggable && this.isPointerDown) { 408 var t = this.dragX - this.x - this.velocity; 409 this.applyForce(t) 410 } 411 }, 412 applySelectedAttraction: function() { 413 if (!(this.isDraggable && this.isPointerDown) && !this.isFreeScrolling && this.slides.length) { 414 var t = (-1 * this.selectedSlide.target - this.x) * this.options.selectedAttraction; 415 this.applyForce(t) 416 } 417 } 418 }; 419 return i 420}), 421function(r, a) { 422 if ("function" == typeof define && define.amd) define("flickity/js/flickity", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./cell", "./slide", "./animate"], function(t, e, i, n, s, o) { 423 return a(r, t, e, i, n, s, o) 424 }); 425 else if ("object" == typeof module && module.exports) module.exports = a(r, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./cell"), require("./slide"), require("./animate")); 426 else { 427 var t = r.Flickity; 428 r.Flickity = a(r, r.EvEmitter, r.getSize, r.fizzyUIUtils, t.Cell, t.Slide, t.animatePrototype) 429 } 430}(window, function(n, t, e, a, i, r, s) { 431 var l = n.jQuery, 432 o = n.getComputedStyle, 433 h = n.console; 434 435 function c(t, e) { 436 for (t = a.makeArray(t); t.length;) e.appendChild(t.shift()) 437 } 438 var d = 0, 439 u = {}; 440 441 function f(t, e) { 442 var i = a.getQueryElement(t); 443 if (i) { 444 if (this.element = i, this.element.flickityGUID) { 445 var n = u[this.element.flickityGUID]; 446 return n.option(e), n 447 } 448 l && (this.$element = l(this.element)), this.options = a.extend({}, this.constructor.defaults), this.option(e), this._create() 449 } else h && h.error("Bad element for Flickity: " + (i || t)) 450 } 451 f.defaults = { 452 accessibility: !0, 453 cellAlign: "center", 454 freeScrollFriction: .075, 455 friction: .28, 456 namespaceJQueryEvents: !0, 457 percentPosition: !0, 458 resize: !0, 459 selectedAttraction: .025, 460 setGallerySize: !0 461 }, f.createMethods = []; 462 var p = f.prototype; 463 a.extend(p, t.prototype), p._create = function() { 464 var t = this.guid = ++d; 465 for (var e in this.element.flickityGUID = t, (u[t] = this).selectedIndex = 0, this.restingFrames = 0, this.x = 0, this.velocity = 0, this.originSide = this.options.rightToLeft ? "right" : "left", this.viewport = document.createElement("div"), this.viewport.className = "flickity-viewport", this._createSlider(), (this.options.resize || this.options.watchCSS) && n.addEventListener("resize", this), this.options.on) { 466 var i = this.options.on[e]; 467 this.on(e, i) 468 } 469 f.createMethods.forEach(function(t) { 470 this[t]() 471 }, this), this.options.watchCSS ? this.watchCSS() : this.activate() 472 }, p.option = function(t) { 473 a.extend(this.options, t) 474 }, p.activate = function() { 475 this.isActive || (this.isActive = !0, this.element.classList.add("flickity-enabled"), this.options.rightToLeft && this.element.classList.add("flickity-rtl"), this.getSize(), c(this._filterFindCellElements(this.element.children), this.slider), this.viewport.appendChild(this.slider), this.element.appendChild(this.viewport), this.reloadCells(), this.options.accessibility && (this.element.tabIndex = 0, this.element.addEventListener("keydown", this)), this.emitEvent("activate"), this.selectInitialIndex(), this.isInitActivated = !0, this.dispatchEvent("ready")) 476 }, p._createSlider = function() { 477 var t = document.createElement("div"); 478 t.className = "flickity-slider", t.style[this.originSide] = 0, this.slider = t 479 }, p._filterFindCellElements = function(t) { 480 return a.filterFindElements(t, this.options.cellSelector) 481 }, p.reloadCells = function() { 482 this.cells = this._makeCells(this.slider.children), this.positionCells(), this._getWrapShiftCells(), this.setGallerySize() 483 }, p._makeCells = function(t) { 484 return this._filterFindCellElements(t).map(function(t) { 485 return new i(t, this) 486 }, this) 487 }, p.getLastCell = function() { 488 return this.cells[this.cells.length - 1] 489 }, p.getLastSlide = function() { 490 return this.slides[this.slides.length - 1] 491 }, p.positionCells = function() { 492 this._sizeCells(this.cells), this._positionCells(0) 493 }, p._positionCells = function(t) { 494 t = t || 0, this.maxCellHeight = t && this.maxCellHeight || 0; 495 var e = 0; 496 if (0 < t) { 497 var i = this.cells[t - 1]; 498 e = i.x + i.size.outerWidth 499 } 500 for (var n = this.cells.length, s = t; s < n; s++) { 501 var o = this.cells[s]; 502 o.setPosition(e), e += o.size.outerWidth, this.maxCellHeight = Math.max(o.size.outerHeight, this.maxCellHeight) 503 } 504 this.slideableWidth = e, this.updateSlides(), this._containSlides(), this.slidesWidth = n ? this.getLastSlide().target - this.slides[0].target : 0 505 }, p._sizeCells = function(t) { 506 t.forEach(function(t) { 507 t.getSize() 508 }) 509 }, p.updateSlides = function() { 510 if (this.slides = [], this.cells.length) { 511 var n = new r(this); 512 this.slides.push(n); 513 var s = "left" == this.originSide ? "marginRight" : "marginLeft", 514 o = this._getCanCellFit(); 515 this.cells.forEach(function(t, e) { 516 if (n.cells.length) { 517 var i = n.outerWidth - n.firstMargin + (t.size.outerWidth - t.size[s]); 518 o.call(this, e, i) || (n.updateTarget(), n = new r(this), this.slides.push(n)), n.addCell(t) 519 } else n.addCell(t) 520 }, this), n.updateTarget(), this.updateSelectedSlide() 521 } 522 }, p._getCanCellFit = function() { 523 var t = this.options.groupCells; 524 if (!t) return function() { 525 return !1 526 }; 527 if ("number" == typeof t) { 528 var e = parseInt(t, 10); 529 return function(t) { 530 return t % e != 0 531 } 532 } 533 var i = "string" == typeof t && t.match(/^(\d+)%$/), 534 n = i ? parseInt(i[1], 10) / 100 : 1; 535 return function(t, e) { 536 return e <= (this.size.innerWidth + 1) * n 537 } 538 }, p._init = p.reposition = function() { 539 this.positionCells(), this.positionSliderAtSelected() 540 }, p.getSize = function() { 541 this.size = e(this.element), this.setCellAlign(), this.cursorPosition = this.size.innerWidth * this.cellAlign 542 }; 543 var g = { 544 center: { 545 left: .5, 546 right: .5 547 }, 548 left: { 549 left: 0, 550 right: 1 551 }, 552 right: { 553 right: 0, 554 left: 1 555 } 556 }; 557 return p.setCellAlign = function() { 558 var t = g[this.options.cellAlign]; 559 this.cellAlign = t ? t[this.originSide] : this.options.cellAlign 560 }, p.setGallerySize = function() { 561 if (this.options.setGallerySize) { 562 var t = this.options.adaptiveHeight && this.selectedSlide ? this.selectedSlide.height : this.maxCellHeight; 563 this.viewport.style.height = t + "px" 564 } 565 }, p._getWrapShiftCells = function() { 566 if (this.options.wrapAround) { 567 this._unshiftCells(this.beforeShiftCells), this._unshiftCells(this.afterShiftCells); 568 var t = this.cursorPosition, 569 e = this.cells.length - 1; 570 this.beforeShiftCells = this._getGapCells(t, e, -1), t = this.size.innerWidth - this.cursorPosition, this.afterShiftCells = this._getGapCells(t, 0, 1) 571 } 572 }, p._getGapCells = function(t, e, i) { 573 for (var n = []; 0 < t;) { 574 var s = this.cells[e]; 575 if (!s) break; 576 n.push(s), e += i, t -= s.size.outerWidth 577 } 578 return n 579 }, p._containSlides = function() { 580 if (this.options.contain && !this.options.wrapAround && this.cells.length) { 581 var t = this.options.rightToLeft, 582 e = t ? "marginRight" : "marginLeft", 583 i = t ? "marginLeft" : "marginRight", 584 n = this.slideableWidth - this.getLastCell().size[i], 585 s = n < this.size.innerWidth, 586 o = this.cursorPosition + this.cells[0].size[e], 587 r = n - this.size.innerWidth * (1 - this.cellAlign); 588 this.slides.forEach(function(t) { 589 s ? t.target = n * this.cellAlign : (t.target = Math.max(t.target, o), t.target = Math.min(t.target, r)) 590 }, this) 591 } 592 }, p.dispatchEvent = function(t, e, i) { 593 var n = e ? [e].concat(i) : i; 594 if (this.emitEvent(t, n), l && this.$element) { 595 var s = t += this.options.namespaceJQueryEvents ? ".flickity" : ""; 596 if (e) { 597 var o = l.Event(e); 598 o.type = t, s = o 599 } 600 this.$element.trigger(s, i) 601 } 602 }, p.select = function(t, e, i) { 603 if (this.isActive && (t = parseInt(t, 10), this._wrapSelect(t), (this.options.wrapAround || e) && (t = a.modulo(t, this.slides.length)), this.slides[t])) { 604 var n = this.selectedIndex; 605 this.selectedIndex = t, this.updateSelectedSlide(), i ? this.positionSliderAtSelected() : this.startAnimation(), this.options.adaptiveHeight && this.setGallerySize(), this.dispatchEvent("select", null, [t]), t != n && this.dispatchEvent("change", null, [t]), this.dispatchEvent("cellSelect") 606 } 607 }, p._wrapSelect = function(t) { 608 var e = this.slides.length; 609 if (!(this.options.wrapAround && 1 < e)) return t; 610 var i = a.modulo(t, e), 611 n = Math.abs(i - this.selectedIndex), 612 s = Math.abs(i + e - this.selectedIndex), 613 o = Math.abs(i - e - this.selectedIndex); 614 !this.isDragSelect && s < n ? t += e : !this.isDragSelect && o < n && (t -= e), t < 0 ? this.x -= this.slideableWidth : e <= t && (this.x += this.slideableWidth) 615 }, p.previous = function(t, e) { 616 this.select(this.selectedIndex - 1, t, e) 617 }, p.next = function(t, e) { 618 this.select(this.selectedIndex + 1, t, e) 619 }, p.updateSelectedSlide = function() { 620 var t = this.slides[this.selectedIndex]; 621 t && (this.unselectSelectedSlide(), (this.selectedSlide = t).select(), this.selectedCells = t.cells, this.selectedElements = t.getCellElements(), this.selectedCell = t.cells[0], this.selectedElement = this.selectedElements[0]) 622 }, p.unselectSelectedSlide = function() { 623 this.selectedSlide && this.selectedSlide.unselect() 624 }, p.selectInitialIndex = function() { 625 var t = this.options.initialIndex; 626 if (this.isInitActivated) this.select(this.selectedIndex, !1, !0); 627 else { 628 if (t && "string" == typeof t) 629 if (this.queryCell(t)) return void this.selectCell(t, !1, !0); 630 var e = 0; 631 t && this.slides[t] && (e = t), this.select(e, !1, !0) 632 } 633 }, p.selectCell = function(t, e, i) { 634 var n = this.queryCell(t); 635 if (n) { 636 var s = this.getCellSlideIndex(n); 637 this.select(s, e, i) 638 } 639 }, p.getCellSlideIndex = function(t) { 640 for (var e = 0; e < this.slides.length; e++) { 641 if (-1 != this.slides[e].cells.indexOf(t)) return e 642 } 643 }, p.getCell = function(t) { 644 for (var e = 0; e < this.cells.length; e++) { 645 var i = this.cells[e]; 646 if (i.element == t) return i 647 } 648 }, p.getCells = function(t) { 649 t = a.makeArray(t); 650 var i = []; 651 return t.forEach(function(t) { 652 var e = this.getCell(t); 653 e && i.push(e) 654 }, this), i 655 }, p.getCellElements = function() { 656 return this.cells.map(function(t) { 657 return t.element 658 }) 659 }, p.getParentCell = function(t) { 660 var e = this.getCell(t); 661 return e || (t = a.getParent(t, ".flickity-slider > *"), this.getCell(t)) 662 }, p.getAdjacentCellElements = function(t, e) { 663 if (!t) return this.selectedSlide.getCellElements(); 664 e = void 0 === e ? this.selectedIndex : e; 665 var i = this.slides.length; 666 if (i <= 1 + 2 * t) return this.getCellElements(); 667 for (var n = [], s = e - t; s <= e + t; s++) { 668 var o = this.options.wrapAround ? a.modulo(s, i) : s, 669 r = this.slides[o]; 670 r && (n = n.concat(r.getCellElements())) 671 } 672 return n 673 }, p.queryCell = function(t) { 674 if ("number" == typeof t) return this.cells[t]; 675 if ("string" == typeof t) { 676 if (t.match(/^[#\.]?[\d\/]/)) return; 677 t = this.element.querySelector(t) 678 } 679 return this.getCell(t) 680 }, p.uiChange = function() { 681 this.emitEvent("uiChange") 682 }, p.childUIPointerDown = function(t) { 683 "touchstart" != t.type && t.preventDefault(), this.focus() 684 }, p.onresize = function() { 685 this.watchCSS(), this.resize() 686 }, a.debounceMethod(f, "onresize", 150), p.resize = function() { 687 if (this.isActive) { 688 this.getSize(), this.options.wrapAround && (this.x = a.modulo(this.x, this.slideableWidth)), this.positionCells(), this._getWrapShiftCells(), this.setGallerySize(), this.emitEvent("resize"); 689 var t = this.selectedElements && this.selectedElements[0]; 690 this.selectCell(t, !1, !0) 691 } 692 }, p.watchCSS = function() { 693 this.options.watchCSS && (-1 != o(this.element, ":after").content.indexOf("flickity") ? this.activate() : this.deactivate()) 694 }, p.onkeydown = function(t) { 695 var e = document.activeElement && document.activeElement != this.element; 696 if (this.options.accessibility && !e) { 697 var i = f.keyboardHandlers[t.keyCode]; 698 i && i.call(this) 699 } 700 }, f.keyboardHandlers = { 701 37: function() { 702 var t = this.options.rightToLeft ? "next" : "previous"; 703 this.uiChange(), this[t]() 704 }, 705 39: function() { 706 var t = this.options.rightToLeft ? "previous" : "next"; 707 this.uiChange(), this[t]() 708 } 709 }, p.focus = function() { 710 var t = n.pageYOffset; 711 this.element.focus({ 712 preventScroll: !0 713 }), n.pageYOffset != t && n.scrollTo(n.pageXOffset, t) 714 }, p.deactivate = function() { 715 this.isActive && (this.element.classList.remove("flickity-enabled"), this.element.classList.remove("flickity-rtl"), this.unselectSelectedSlide(), this.cells.forEach(function(t) { 716 t.destroy() 717 }), this.element.removeChild(this.viewport), c(this.slider.children, this.element), this.options.accessibility && (this.element.removeAttribute("tabIndex"), this.element.removeEventListener("keydown", this)), this.isActive = !1, this.emitEvent("deactivate")) 718 }, p.destroy = function() { 719 this.deactivate(), n.removeEventListener("resize", this), this.allOff(), this.emitEvent("destroy"), l && this.$element && l.removeData(this.element, "flickity"), delete this.element.flickityGUID, delete u[this.guid] 720 }, a.extend(p, s), f.data = function(t) { 721 var e = (t = a.getQueryElement(t)) && t.flickityGUID; 722 return e && u[e] 723 }, a.htmlInit(f, "flickity"), l && l.bridget && l.bridget("flickity", f), f.setJQuery = function(t) { 724 l = t 725 }, f.Cell = i, f.Slide = r, f 726}), 727function(e, i) { 728 "function" == typeof define && define.amd ? define("unipointer/unipointer", ["ev-emitter/ev-emitter"], function(t) { 729 return i(e, t) 730 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("ev-emitter")) : e.Unipointer = i(e, e.EvEmitter) 731}(window, function(s, t) { 732 function e() {} 733 var i = e.prototype = Object.create(t.prototype); 734 i.bindStartEvent = function(t) { 735 this._bindStartEvent(t, !0) 736 }, i.unbindStartEvent = function(t) { 737 this._bindStartEvent(t, !1) 738 }, i._bindStartEvent = function(t, e) { 739 var i = (e = void 0 === e || e) ? "addEventListener" : "removeEventListener", 740 n = "mousedown"; 741 s.PointerEvent ? n = "pointerdown" : "ontouchstart" in s && (n = "touchstart"), t[i](n, this) 742 }, i.handleEvent = function(t) { 743 var e = "on" + t.type; 744 this[e] && this[e](t) 745 }, i.getTouch = function(t) { 746 for (var e = 0; e < t.length; e++) { 747 var i = t[e]; 748 if (i.identifier == this.pointerIdentifier) return i 749 } 750 }, i.onmousedown = function(t) { 751 var e = t.button; 752 e && 0 !== e && 1 !== e || this._pointerDown(t, t) 753 }, i.ontouchstart = function(t) { 754 this._pointerDown(t, t.changedTouches[0]) 755 }, i.onpointerdown = function(t) { 756 this._pointerDown(t, t) 757 }, i._pointerDown = function(t, e) { 758 t.button || this.isPointerDown || (this.isPointerDown = !0, this.pointerIdentifier = void 0 !== e.pointerId ? e.pointerId : e.identifier, this.pointerDown(t, e)) 759 }, i.pointerDown = function(t, e) { 760 this._bindPostStartEvents(t), this.emitEvent("pointerDown", [t, e]) 761 }; 762 var n = { 763 mousedown: ["mousemove", "mouseup"], 764 touchstart: ["touchmove", "touchend", "touchcancel"], 765 pointerdown: ["pointermove", "pointerup", "pointercancel"] 766 }; 767 return i._bindPostStartEvents = function(t) { 768 if (t) { 769 var e = n[t.type]; 770 e.forEach(function(t) { 771 s.addEventListener(t, this) 772 }, this), this._boundPointerEvents = e 773 } 774 }, i._unbindPostStartEvents = function() { 775 this._boundPointerEvents && (this._boundPointerEvents.forEach(function(t) { 776 s.removeEventListener(t, this) 777 }, this), delete this._boundPointerEvents) 778 }, i.onmousemove = function(t) { 779 this._pointerMove(t, t) 780 }, i.onpointermove = function(t) { 781 t.pointerId == this.pointerIdentifier && this._pointerMove(t, t) 782 }, i.ontouchmove = function(t) { 783 var e = this.getTouch(t.changedTouches); 784 e && this._pointerMove(t, e) 785 }, i._pointerMove = function(t, e) { 786 this.pointerMove(t, e) 787 }, i.pointerMove = function(t, e) { 788 this.emitEvent("pointerMove", [t, e]) 789 }, i.onmouseup = function(t) { 790 this._pointerUp(t, t) 791 }, i.onpointerup = function(t) { 792 t.pointerId == this.pointerIdentifier && this._pointerUp(t, t) 793 }, i.ontouchend = function(t) { 794 var e = this.getTouch(t.changedTouches); 795 e && this._pointerUp(t, e) 796 }, i._pointerUp = function(t, e) { 797 this._pointerDone(), this.pointerUp(t, e) 798 }, i.pointerUp = function(t, e) { 799 this.emitEvent("pointerUp", [t, e]) 800 }, i._pointerDone = function() { 801 this._pointerReset(), this._unbindPostStartEvents(), this.pointerDone() 802 }, i._pointerReset = function() { 803 this.isPointerDown = !1, delete this.pointerIdentifier 804 }, i.pointerDone = function() {}, i.onpointercancel = function(t) { 805 t.pointerId == this.pointerIdentifier && this._pointerCancel(t, t) 806 }, i.ontouchcancel = function(t) { 807 var e = this.getTouch(t.changedTouches); 808 e && this._pointerCancel(t, e) 809 }, i._pointerCancel = function(t, e) { 810 this._pointerDone(), this.pointerCancel(t, e) 811 }, i.pointerCancel = function(t, e) { 812 this.emitEvent("pointerCancel", [t, e]) 813 }, e.getPointerPoint = function(t) { 814 return { 815 x: t.pageX, 816 y: t.pageY 817 } 818 }, e 819}), 820function(e, i) { 821 "function" == typeof define && define.amd ? define("unidragger/unidragger", ["unipointer/unipointer"], function(t) { 822 return i(e, t) 823 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("unipointer")) : e.Unidragger = i(e, e.Unipointer) 824}(window, function(o, t) { 825 function e() {} 826 var i = e.prototype = Object.create(t.prototype); 827 i.bindHandles = function() { 828 this._bindHandles(!0) 829 }, i.unbindHandles = function() { 830 this._bindHandles(!1) 831 }, i._bindHandles = function(t) { 832 for (var e = (t = void 0 === t || t) ? "addEventListener" : "removeEventListener", i = t ? this._touchActionValue : "", n = 0; n < this.handles.length; n++) { 833 var s = this.handles[n]; 834 this._bindStartEvent(s, t), s[e]("click", this), o.PointerEvent && (s.style.touchAction = i) 835 } 836 }, i._touchActionValue = "none", i.pointerDown = function(t, e) { 837 this.okayPointerDown(t) && (this.pointerDownPointer = e, t.preventDefault(), this.pointerDownBlur(), this._bindPostStartEvents(t), this.emitEvent("pointerDown", [t, e])) 838 }; 839 var s = { 840 TEXTAREA: !0, 841 INPUT: !0, 842 SELECT: !0, 843 OPTION: !0 844 }, 845 r = { 846 radio: !0, 847 checkbox: !0, 848 button: !0, 849 submit: !0, 850 image: !0, 851 file: !0 852 }; 853 return i.okayPointerDown = function(t) { 854 var e = s[t.target.nodeName], 855 i = r[t.target.type], 856 n = !e || i; 857 return n || this._pointerReset(), n 858 }, i.pointerDownBlur = function() { 859 var t = document.activeElement; 860 t && t.blur && t != document.body && t.blur() 861 }, i.pointerMove = function(t, e) { 862 var i = this._dragPointerMove(t, e); 863 this.emitEvent("pointerMove", [t, e, i]), this._dragMove(t, e, i) 864 }, i._dragPointerMove = function(t, e) { 865 var i = { 866 x: e.pageX - this.pointerDownPointer.pageX, 867 y: e.pageY - this.pointerDownPointer.pageY 868 }; 869 return !this.isDragging && this.hasDragStarted(i) && this._dragStart(t, e), i 870 }, i.hasDragStarted = function(t) { 871 return 3 < Math.abs(t.x) || 3 < Math.abs(t.y) 872 }, i.pointerUp = function(t, e) { 873 this.emitEvent("pointerUp", [t, e]), this._dragPointerUp(t, e) 874 }, i._dragPointerUp = function(t, e) { 875 this.isDragging ? this._dragEnd(t, e) : this._staticClick(t, e) 876 }, i._dragStart = function(t, e) { 877 this.isDragging = !0, this.isPreventingClicks = !0, this.dragStart(t, e) 878 }, i.dragStart = function(t, e) { 879 this.emitEvent("dragStart", [t, e]) 880 }, i._dragMove = function(t, e, i) { 881 this.isDragging && this.dragMove(t, e, i) 882 }, i.dragMove = function(t, e, i) { 883 t.preventDefault(), this.emitEvent("dragMove", [t, e, i]) 884 }, i._dragEnd = function(t, e) { 885 this.isDragging = !1, setTimeout(function() { 886 delete this.isPreventingClicks 887 }.bind(this)), this.dragEnd(t, e) 888 }, i.dragEnd = function(t, e) { 889 this.emitEvent("dragEnd", [t, e]) 890 }, i.onclick = function(t) { 891 this.isPreventingClicks && t.preventDefault() 892 }, i._staticClick = function(t, e) { 893 this.isIgnoringMouseUp && "mouseup" == t.type || (this.staticClick(t, e), "mouseup" != t.type && (this.isIgnoringMouseUp = !0, setTimeout(function() { 894 delete this.isIgnoringMouseUp 895 }.bind(this), 400))) 896 }, i.staticClick = function(t, e) { 897 this.emitEvent("staticClick", [t, e]) 898 }, e.getPointerPoint = t.getPointerPoint, e 899}), 900function(n, s) { 901 "function" == typeof define && define.amd ? define("flickity/js/drag", ["./flickity", "unidragger/unidragger", "fizzy-ui-utils/utils"], function(t, e, i) { 902 return s(n, t, e, i) 903 }) : "object" == typeof module && module.exports ? module.exports = s(n, require("./flickity"), require("unidragger"), require("fizzy-ui-utils")) : n.Flickity = s(n, n.Flickity, n.Unidragger, n.fizzyUIUtils) 904}(window, function(i, t, e, a) { 905 a.extend(t.defaults, { 906 draggable: ">1", 907 dragThreshold: 3 908 }), t.createMethods.push("_createDrag"); 909 var n = t.prototype; 910 a.extend(n, e.prototype), n._touchActionValue = "pan-y"; 911 var s = "createTouch" in document, 912 o = !1; 913 n._createDrag = function() { 914 this.on("activate", this.onActivateDrag), this.on("uiChange", this._uiChangeDrag), this.on("deactivate", this.onDeactivateDrag), this.on("cellChange", this.updateDraggable), s && !o && (i.addEventListener("touchmove", function() {}), o = !0) 915 }, n.onActivateDrag = function() { 916 this.handles = [this.viewport], this.bindHandles(), this.updateDraggable() 917 }, n.onDeactivateDrag = function() { 918 this.unbindHandles(), this.element.classList.remove("is-draggable") 919 }, n.updateDraggable = function() { 920 ">1" == this.options.draggable ? this.isDraggable = 1 < this.slides.length : this.isDraggable = this.options.draggable, this.isDraggable ? this.element.classList.add("is-draggable") : this.element.classList.remove("is-draggable") 921 }, n.bindDrag = function() { 922 this.options.draggable = !0, this.updateDraggable() 923 }, n.unbindDrag = function() { 924 this.options.draggable = !1, this.updateDraggable() 925 }, n._uiChangeDrag = function() { 926 delete this.isFreeScrolling 927 }, n.pointerDown = function(t, e) { 928 this.isDraggable ? this.okayPointerDown(t) && (this._pointerDownPreventDefault(t), this.pointerDownFocus(t), document.activeElement != this.element && this.pointerDownBlur(), this.dragX = this.x, this.viewport.classList.add("is-pointer-down"), this.pointerDownScroll = l(), i.addEventListener("scroll", this), this._pointerDownDefault(t, e)) : this._pointerDownDefault(t, e) 929 }, n._pointerDownDefault = function(t, e) { 930 this.pointerDownPointer = { 931 pageX: e.pageX, 932 pageY: e.pageY 933 }, this._bindPostStartEvents(t), this.dispatchEvent("pointerDown", t, [e]) 934 }; 935 var r = { 936 INPUT: !0, 937 TEXTAREA: !0, 938 SELECT: !0 939 }; 940 941 function l() { 942 return { 943 x: i.pageXOffset, 944 y: i.pageYOffset 945 } 946 } 947 return n.pointerDownFocus = function(t) { 948 r[t.target.nodeName] || this.focus() 949 }, n._pointerDownPreventDefault = function(t) { 950 var e = "touchstart" == t.type, 951 i = "touch" == t.pointerType, 952 n = r[t.target.nodeName]; 953 e || i || n || t.preventDefault() 954 }, n.hasDragStarted = function(t) { 955 return Math.abs(t.x) > this.options.dragThreshold 956 }, n.pointerUp = function(t, e) { 957 delete this.isTouchScrolling, this.viewport.classList.remove("is-pointer-down"), this.dispatchEvent("pointerUp", t, [e]), this._dragPointerUp(t, e) 958 }, n.pointerDone = function() { 959 i.removeEventListener("scroll", this), delete this.pointerDownScroll 960 }, n.dragStart = function(t, e) { 961 this.isDraggable && (this.dragStartPosition = this.x, this.startAnimation(), i.removeEventListener("scroll", this), this.dispatchEvent("dragStart", t, [e])) 962 }, n.pointerMove = function(t, e) { 963 var i = this._dragPointerMove(t, e); 964 this.dispatchEvent("pointerMove", t, [e, i]), this._dragMove(t, e, i) 965 }, n.dragMove = function(t, e, i) { 966 if (this.isDraggable) { 967 t.preventDefault(), this.previousDragX = this.dragX; 968 var n = this.options.rightToLeft ? -1 : 1; 969 this.options.wrapAround && (i.x = i.x % this.slideableWidth); 970 var s = this.dragStartPosition + i.x * n; 971 if (!this.options.wrapAround && this.slides.length) { 972 var o = Math.max(-this.slides[0].target, this.dragStartPosition); 973 s = o < s ? .5 * (s + o) : s; 974 var r = Math.min(-this.getLastSlide().target, this.dragStartPosition); 975 s = s < r ? .5 * (s + r) : s 976 } 977 this.dragX = s, this.dragMoveTime = new Date, this.dispatchEvent("dragMove", t, [e, i]) 978 } 979 }, n.dragEnd = function(t, e) { 980 if (this.isDraggable) { 981 this.options.freeScroll && (this.isFreeScrolling = !0); 982 var i = this.dragEndRestingSelect(); 983 if (this.options.freeScroll && !this.options.wrapAround) { 984 var n = this.getRestingPosition(); 985 this.isFreeScrolling = -n > this.slides[0].target && -n < this.getLastSlide().target 986 } else this.options.freeScroll || i != this.selectedIndex || (i += this.dragEndBoostSelect()); 987 delete this.previousDragX, this.isDragSelect = this.options.wrapAround, this.select(i), delete this.isDragSelect, this.dispatchEvent("dragEnd", t, [e]) 988 } 989 }, n.dragEndRestingSelect = function() { 990 var t = this.getRestingPosition(), 991 e = Math.abs(this.getSlideDistance(-t, this.selectedIndex)), 992 i = this._getClosestResting(t, e, 1), 993 n = this._getClosestResting(t, e, -1); 994 return i.distance < n.distance ? i.index : n.index 995 }, n._getClosestResting = function(t, e, i) { 996 for (var n = this.selectedIndex, s = 1 / 0, o = this.options.contain && !this.options.wrapAround ? function(t, e) { 997 return t <= e 998 } : function(t, e) { 999 return t < e 1000 }; o(e, s) && (n += i, s = e, null !== (e = this.getSlideDistance(-t, n)));) e = Math.abs(e); 1001 return { 1002 distance: s, 1003 index: n - i 1004 } 1005 }, n.getSlideDistance = function(t, e) { 1006 var i = this.slides.length, 1007 n = this.options.wrapAround && 1 < i, 1008 s = n ? a.modulo(e, i) : e, 1009 o = this.slides[s]; 1010 if (!o) return null; 1011 var r = n ? this.slideableWidth * Math.floor(e / i) : 0; 1012 return t - (o.target + r) 1013 }, n.dragEndBoostSelect = function() { 1014 if (void 0 === this.previousDragX || !this.dragMoveTime || 100 < new Date - this.dragMoveTime) return 0; 1015 var t = this.getSlideDistance(-this.dragX, this.selectedIndex), 1016 e = this.previousDragX - this.dragX; 1017 return 0 < t && 0 < e ? 1 : t < 0 && e < 0 ? -1 : 0 1018 }, n.staticClick = function(t, e) { 1019 var i = this.getParentCell(t.target), 1020 n = i && i.element, 1021 s = i && this.cells.indexOf(i); 1022 this.dispatchEvent("staticClick", t, [e, n, s]) 1023 }, n.onscroll = function() { 1024 var t = l(), 1025 e = this.pointerDownScroll.x - t.x, 1026 i = this.pointerDownScroll.y - t.y; 1027 (3 < Math.abs(e) || 3 < Math.abs(i)) && this._pointerDone() 1028 }, t 1029}), 1030function(n, s) { 1031 "function" == typeof define && define.amd ? define("flickity/js/prev-next-button", ["./flickity", "unipointer/unipointer", "fizzy-ui-utils/utils"], function(t, e, i) { 1032 return s(n, t, e, i) 1033 }) : "object" == typeof module && module.exports ? module.exports = s(n, require("./flickity"), require("unipointer"), require("fizzy-ui-utils")) : s(n, n.Flickity, n.Unipointer, n.fizzyUIUtils) 1034}(window, function(t, e, i, n) { 1035 "use strict"; 1036 var s = "http://www.w3.org/2000/svg"; 1037 1038 function o(t, e) { 1039 this.direction = t, this.parent = e, this._create() 1040 }(o.prototype = Object.create(i.prototype))._create = function() { 1041 this.isEnabled = !0, this.isPrevious = -1 == this.direction; 1042 var t = this.parent.options.rightToLeft ? 1 : -1; 1043 this.isLeft = this.direction == t; 1044 var e = this.element = document.createElement("button"); 1045 e.className = "flickity-button flickity-prev-next-button", e.className += this.isPrevious ? " previous" : " next", e.setAttribute("type", "button"), this.disable(), e.setAttribute("aria-label", this.isPrevious ? "Previous" : "Next"); 1046 var i = this.createSVG(); 1047 e.appendChild(i), this.parent.on("select", this.update.bind(this)), this.on("pointerDown", this.parent.childUIPointerDown.bind(this.parent)) 1048 }, o.prototype.activate = function() { 1049 this.bindStartEvent(this.element), this.element.addEventListener("click", this), this.parent.element.appendChild(this.element) 1050 }, o.prototype.deactivate = function() { 1051 this.parent.element.removeChild(this.element), this.unbindStartEvent(this.element), this.element.removeEventListener("click", this) 1052 }, o.prototype.createSVG = function() { 1053 var t = document.createElementNS(s, "svg"); 1054 t.setAttribute("class", "flickity-button-icon"), t.setAttribute("viewBox", "0 0 100 100"); 1055 var e = document.createElementNS(s, "path"), 1056 i = function(t) { 1057 return "string" != typeof t ? "M " + t.x0 + ",50 L " + t.x1 + "," + (t.y1 + 50) + " L " + t.x2 + "," + (t.y2 + 50) + " L " + t.x3 + ",50 L " + t.x2 + "," + (50 - t.y2) + " L " + t.x1 + "," + (50 - t.y1) + " Z" : t 1058 }(this.parent.options.arrowShape); 1059 return e.setAttribute("d", i), e.setAttribute("class", "arrow"), this.isLeft || e.setAttribute("transform", "translate(100, 100) rotate(180) "), t.appendChild(e), t 1060 }, o.prototype.handleEvent = n.handleEvent, o.prototype.onclick = function() { 1061 if (this.isEnabled) { 1062 this.parent.uiChange(); 1063 var t = this.isPrevious ? "previous" : "next"; 1064 this.parent[t]() 1065 } 1066 }, o.prototype.enable = function() { 1067 this.isEnabled || (this.element.disabled = !1, this.isEnabled = !0) 1068 }, o.prototype.disable = function() { 1069 this.isEnabled && (this.element.disabled = !0, this.isEnabled = !1) 1070 }, o.prototype.update = function() { 1071 var t = this.parent.slides; 1072 if (this.parent.options.wrapAround && 1 < t.length) this.enable(); 1073 else { 1074 var e = t.length ? t.length - 1 : 0, 1075 i = this.isPrevious ? 0 : e; 1076 this[this.parent.selectedIndex == i ? "disable" : "enable"]() 1077 } 1078 }, o.prototype.destroy = function() { 1079 this.deactivate(), this.allOff() 1080 }, n.extend(e.defaults, { 1081 prevNextButtons: !0, 1082 arrowShape: { 1083 x0: 10, 1084 x1: 60, 1085 y1: 50, 1086 x2: 70, 1087 y2: 40, 1088 x3: 30 1089 } 1090 }), e.createMethods.push("_createPrevNextButtons"); 1091 var r = e.prototype; 1092 return r._createPrevNextButtons = function() { 1093 this.options.prevNextButtons && (this.prevButton = new o(-1, this), this.nextButton = new o(1, this), this.on("activate", this.activatePrevNextButtons)) 1094 }, r.activatePrevNextButtons = function() { 1095 this.prevButton.activate(), this.nextButton.activate(), this.on("deactivate", this.deactivatePrevNextButtons) 1096 }, r.deactivatePrevNextButtons = function() { 1097 this.prevButton.deactivate(), this.nextButton.deactivate(), this.off("deactivate", this.deactivatePrevNextButtons) 1098 }, e.PrevNextButton = o, e 1099}), 1100function(n, s) { 1101 "function" == typeof define && define.amd ? define("flickity/js/page-dots", ["./flickity", "unipointer/unipointer", "fizzy-ui-utils/utils"], function(t, e, i) { 1102 return s(n, t, e, i) 1103 }) : "object" == typeof module && module.exports ? module.exports = s(n, require("./flickity"), require("unipointer"), require("fizzy-ui-utils")) : s(n, n.Flickity, n.Unipointer, n.fizzyUIUtils) 1104}(window, function(t, e, i, n) { 1105 function s(t) { 1106 this.parent = t, this._create() 1107 }(s.prototype = Object.create(i.prototype))._create = function() { 1108 this.holder = document.createElement("ol"), this.holder.className = "flickity-page-dots", this.dots = [], this.handleClick = this.onClick.bind(this), this.on("pointerDown", this.parent.childUIPointerDown.bind(this.parent)) 1109 }, s.prototype.activate = function() { 1110 this.setDots(), this.holder.addEventListener("click", this.handleClick), this.bindStartEvent(this.holder), this.parent.element.appendChild(this.holder) 1111 }, s.prototype.deactivate = function() { 1112 this.holder.removeEventListener("click", this.handleClick), this.unbindStartEvent(this.holder), this.parent.element.removeChild(this.holder) 1113 }, s.prototype.setDots = function() { 1114 var t = this.parent.slides.length - this.dots.length; 1115 0 < t ? this.addDots(t) : t < 0 && this.removeDots(-t) 1116 }, s.prototype.addDots = function(t) { 1117 for (var e = document.createDocumentFragment(), i = [], n = this.dots.length, s = n + t, o = n; o < s; o++) { 1118 var r = document.createElement("li"); 1119 r.className = "dot", r.setAttribute("aria-label", "Page dot " + (o + 1)), e.appendChild(r), i.push(r) 1120 } 1121 this.holder.appendChild(e), this.dots = this.dots.concat(i) 1122 }, s.prototype.removeDots = function(t) { 1123 this.dots.splice(this.dots.length - t, t).forEach(function(t) { 1124 this.holder.removeChild(t) 1125 }, this) 1126 }, s.prototype.updateSelected = function() { 1127 this.selectedDot && (this.selectedDot.className = "dot", this.selectedDot.removeAttribute("aria-current")), this.dots.length && (this.selectedDot = this.dots[this.parent.selectedIndex], this.selectedDot.className = "dot is-selected", this.selectedDot.setAttribute("aria-current", "step")) 1128 }, s.prototype.onTap = s.prototype.onClick = function(t) { 1129 var e = t.target; 1130 if ("LI" == e.nodeName) { 1131 this.parent.uiChange(); 1132 var i = this.dots.indexOf(e); 1133 this.parent.select(i) 1134 } 1135 }, s.prototype.destroy = function() { 1136 this.deactivate(), this.allOff() 1137 }, e.PageDots = s, n.extend(e.defaults, { 1138 pageDots: !0 1139 }), e.createMethods.push("_createPageDots"); 1140 var o = e.prototype; 1141 return o._createPageDots = function() { 1142 this.options.pageDots && (this.pageDots = new s(this), this.on("activate", this.activatePageDots), this.on("select", this.updateSelectedPageDots), this.on("cellChange", this.updatePageDots), this.on("resize", this.updatePageDots), this.on("deactivate", this.deactivatePageDots)) 1143 }, o.activatePageDots = function() { 1144 this.pageDots.activate() 1145 }, o.updateSelectedPageDots = function() { 1146 this.pageDots.updateSelected() 1147 }, o.updatePageDots = function() { 1148 this.pageDots.setDots() 1149 }, o.deactivatePageDots = function() { 1150 this.pageDots.deactivate() 1151 }, e.PageDots = s, e 1152}), 1153function(t, n) { 1154 "function" == typeof define && define.amd ? define("flickity/js/player", ["ev-emitter/ev-emitter", "fizzy-ui-utils/utils", "./flickity"], function(t, e, i) { 1155 return n(t, e, i) 1156 }) : "object" == typeof module && module.exports ? module.exports = n(require("ev-emitter"), require("fizzy-ui-utils"), require("./flickity")) : n(t.EvEmitter, t.fizzyUIUtils, t.Flickity) 1157}(window, function(t, e, i) { 1158 function n(t) { 1159 this.parent = t, this.state = "stopped", this.onVisibilityChange = this.visibilityChange.bind(this), this.onVisibilityPlay = this.visibilityPlay.bind(this) 1160 }(n.prototype = Object.create(t.prototype)).play = function() { 1161 "playing" != this.state && (document.hidden ? document.addEventListener("visibilitychange", this.onVisibilityPlay) : (this.state = "playing", document.addEventListener("visibilitychange", this.onVisibilityChange), this.tick())) 1162 }, n.prototype.tick = function() { 1163 if ("playing" == this.state) { 1164 var t = this.parent.options.autoPlay; 1165 t = "number" == typeof t ? t : 3e3; 1166 var e = this; 1167 this.clear(), this.timeout = setTimeout(function() { 1168 e.parent.next(!0), e.tick() 1169 }, t) 1170 } 1171 }, n.prototype.stop = function() { 1172 this.state = "stopped", this.clear(), document.removeEventListener("visibilitychange", this.onVisibilityChange) 1173 }, n.prototype.clear = function() { 1174 clearTimeout(this.timeout) 1175 }, n.prototype.pause = function() { 1176 "playing" == this.state && (this.state = "paused", this.clear()) 1177 }, n.prototype.unpause = function() { 1178 "paused" == this.state && this.play() 1179 }, n.prototype.visibilityChange = function() { 1180 this[document.hidden ? "pause" : "unpause"]() 1181 }, n.prototype.visibilityPlay = function() { 1182 this.play(), document.removeEventListener("visibilitychange", this.onVisibilityPlay) 1183 }, e.extend(i.defaults, { 1184 pauseAutoPlayOnHover: !0 1185 }), i.createMethods.push("_createPlayer"); 1186 var s = i.prototype; 1187 return s._createPlayer = function() { 1188 this.player = new n(this), this.on("activate", this.activatePlayer), this.on("uiChange", this.stopPlayer), this.on("pointerDown", this.stopPlayer), this.on("deactivate", this.deactivatePlayer) 1189 }, s.activatePlayer = function() { 1190 this.options.autoPlay && (this.player.play(), this.element.addEventListener("mouseenter", this)) 1191 }, s.playPlayer = function() { 1192 this.player.play() 1193 }, s.stopPlayer = function() { 1194 this.player.stop() 1195 }, s.pausePlayer = function() { 1196 this.player.pause() 1197 }, s.unpausePlayer = function() { 1198 this.player.unpause() 1199 }, s.deactivatePlayer = function() { 1200 this.player.stop(), this.element.removeEventListener("mouseenter", this) 1201 }, s.onmouseenter = function() { 1202 this.options.pauseAutoPlayOnHover && (this.player.pause(), this.element.addEventListener("mouseleave", this)) 1203 }, s.onmouseleave = function() { 1204 this.player.unpause(), this.element.removeEventListener("mouseleave", this) 1205 }, i.Player = n, i 1206}), 1207function(i, n) { 1208 "function" == typeof define && define.amd ? define("flickity/js/add-remove-cell", ["./flickity", "fizzy-ui-utils/utils"], function(t, e) { 1209 return n(i, t, e) 1210 }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./flickity"), require("fizzy-ui-utils")) : n(i, i.Flickity, i.fizzyUIUtils) 1211}(window, function(t, e, n) { 1212 var i = e.prototype; 1213 return i.insert = function(t, e) { 1214 var i = this._makeCells(t); 1215 if (i && i.length) { 1216 var n = this.cells.length; 1217 e = void 0 === e ? n : e; 1218 var s = function(t) { 1219 var e = document.createDocumentFragment(); 1220 return t.forEach(function(t) { 1221 e.appendChild(t.element) 1222 }), e 1223 }(i), 1224 o = e == n; 1225 if (o) this.slider.appendChild(s); 1226 else { 1227 var r = this.cells[e].element; 1228 this.slider.insertBefore(s, r) 1229 } 1230 if (0 === e) this.cells = i.concat(this.cells); 1231 else if (o) this.cells = this.cells.concat(i); 1232 else { 1233 var a = this.cells.splice(e, n - e);
1234 this.cells = this.cells.concat(i).concat(a) 1235 } 1236 this._sizeCells(i), this.cellChange(e, !0) 1237 } 1238 }, i.append = function(t) { 1239 this.insert(t, this.cells.length) 1240 }, i.prepend = function(t) { 1241 this.insert(t, 0) 1242 }, i.remove = function(t) { 1243 var e = this.getCells(t); 1244 if (e && e.length) { 1245 var i = this.cells.length - 1; 1246 e.forEach(function(t) { 1247 t.remove(); 1248 var e = this.cells.indexOf(t); 1249 i = Math.min(e, i), n.removeFrom(this.cells, t) 1250 }, this), this.cellChange(i, !0) 1251 } 1252 }, i.cellSizeChange = function(t) { 1253 var e = this.getCell(t); 1254 if (e) { 1255 e.getSize(); 1256 var i = this.cells.indexOf(e); 1257 this.cellChange(i) 1258 } 1259 }, i.cellChange = function(t, e) { 1260 var i = this.selectedElement; 1261 this._positionCells(t), this._getWrapShiftCells(), this.setGallerySize(); 1262 var n = this.getCell(i); 1263 n && (this.selectedIndex = this.getCellSlideIndex(n)), this.selectedIndex = Math.min(this.slides.length - 1, this.selectedIndex), this.emitEvent("cellChange", [t]), this.select(this.selectedIndex), e && this.positionSliderAtSelected() 1264 }, e 1265}), 1266function(i, n) { 1267 "function" == typeof define && define.amd ? define("flickity/js/lazyload", ["./flickity", "fizzy-ui-utils/utils"], function(t, e) { 1268 return n(i, t, e) 1269 }) : "object" == typeof module && module.exports ? module.exports = n(i, require("./flickity"), require("fizzy-ui-utils")) : n(i, i.Flickity, i.fizzyUIUtils) 1270}(window, function(t, e, o) { 1271 "use strict"; 1272 e.createMethods.push("_createLazyload"); 1273 var i = e.prototype; 1274 1275 function s(t, e) { 1276 this.img = t, this.flickity = e, this.load() 1277 } 1278 return i._createLazyload = function() { 1279 this.on("select", this.lazyLoad) 1280 }, i.lazyLoad = function() { 1281 var t = this.options.lazyLoad; 1282 if (t) { 1283 var e = "number" == typeof t ? t : 0, 1284 i = this.getAdjacentCellElements(e), 1285 n = []; 1286 i.forEach(function(t) { 1287 var e = function(t) { 1288 if ("IMG" == t.nodeName) { 1289 var e = t.getAttribute("data-flickity-lazyload"), 1290 i = t.getAttribute("data-flickity-lazyload-src"), 1291 n = t.getAttribute("data-flickity-lazyload-srcset"); 1292 if (e || i || n) return [t] 1293 } 1294 var s = t.querySelectorAll("img[data-flickity-lazyload], img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]"); 1295 return o.makeArray(s) 1296 }(t); 1297 n = n.concat(e) 1298 }), n.forEach(function(t) { 1299 new s(t, this) 1300 }, this) 1301 } 1302 }, s.prototype.handleEvent = o.handleEvent, s.prototype.load = function() { 1303 this.img.addEventListener("load", this), this.img.addEventListener("error", this); 1304 var t = this.img.getAttribute("data-flickity-lazyload") || this.img.getAttribute("data-flickity-lazyload-src"), 1305 e = this.img.getAttribute("data-flickity-lazyload-srcset"); 1306 this.img.src = t, e && this.img.setAttribute("srcset", e), this.img.removeAttribute("data-flickity-lazyload"), this.img.removeAttribute("data-flickity-lazyload-src"), this.img.removeAttribute("data-flickity-lazyload-srcset") 1307 }, s.prototype.onload = function(t) { 1308 this.complete(t, "flickity-lazyloaded") 1309 }, s.prototype.onerror = function(t) { 1310 this.complete(t, "flickity-lazyerror") 1311 }, s.prototype.complete = function(t, e) { 1312 this.img.removeEventListener("load", this), this.img.removeEventListener("error", this); 1313 var i = this.flickity.getParentCell(this.img), 1314 n = i && i.element; 1315 this.flickity.cellSizeChange(n), this.img.classList.add(e), this.flickity.dispatchEvent("lazyLoad", t, n) 1316 }, e.LazyLoader = s, e 1317}), 1318function(t, e) { 1319 "function" == typeof define && define.amd ? define("flickity/js/index", ["./flickity", "./drag", "./prev-next-button", "./page-dots", "./player", "./add-remove-cell", "./lazyload"], e) : "object" == typeof module && module.exports && (module.exports = e(require("./flickity"), require("./drag"), require("./prev-next-button"), require("./page-dots"), require("./player"), require("./add-remove-cell"), require("./lazyload"))) 1320}(window, function(t) { 1321 return t 1322}), 1323function(t, e) { 1324 "function" == typeof define && define.amd ? define("flickity-as-nav-for/as-nav-for", ["flickity/js/index", "fizzy-ui-utils/utils"], e) : "object" == typeof module && module.exports ? module.exports = e(require("flickity"), require("fizzy-ui-utils")) : t.Flickity = e(t.Flickity, t.fizzyUIUtils) 1325}(window, function(n, s) { 1326 n.createMethods.push("_createAsNavFor"); 1327 var t = n.prototype; 1328 return t._createAsNavFor = function() { 1329 this.on("activate", this.activateAsNavFor), this.on("deactivate", this.deactivateAsNavFor), this.on("destroy", this.destroyAsNavFor); 1330 var t = this.options.asNavFor; 1331 if (t) { 1332 var e = this; 1333 setTimeout(function() { 1334 e.setNavCompanion(t) 1335 }) 1336 } 1337 }, t.setNavCompanion = function(t) { 1338 t = s.getQueryElement(t); 1339 var e = n.data(t); 1340 if (e && e != this) { 1341 this.navCompanion = e; 1342 var i = this; 1343 this.onNavCompanionSelect = function() { 1344 i.navCompanionSelect() 1345 }, e.on("select", this.onNavCompanionSelect), this.on("staticClick", this.onNavStaticClick), this.navCompanionSelect(!0) 1346 } 1347 }, t.navCompanionSelect = function(t) { 1348 var e = this.navCompanion && this.navCompanion.selectedCells; 1349 if (e) { 1350 var i = e[0], 1351 n = this.navCompanion.cells.indexOf(i), 1352 s = n + e.length - 1, 1353 o = Math.floor(function(t, e, i) { 1354 return (e - t) * i + t 1355 }(n, s, this.navCompanion.cellAlign)); 1356 if (this.selectCell(o, !1, t), this.removeNavSelectedElements(), !(o >= this.cells.length)) { 1357 var r = this.cells.slice(n, 1 + s); 1358 this.navSelectedElements = r.map(function(t) { 1359 return t.element 1360 }), this.changeNavSelectedClass("add") 1361 } 1362 } 1363 }, t.changeNavSelectedClass = function(e) {
vendor: 7,505 bytes, lines 1364-1510
1364 this.navSelectedElements.forEach(function(t) { 1365 t.classList[e]("is-nav-selected") 1366 }) 1367 }, t.activateAsNavFor = function() { 1368 this.navCompanionSelect(!0) 1369 }, t.removeNavSelectedElements = function() { 1370 this.navSelectedElements && (this.changeNavSelectedClass("remove"), delete this.navSelectedElements) 1371 }, t.onNavStaticClick = function(t, e, i, n) { 1372 "number" == typeof n && this.navCompanion.selectCell(n) 1373 }, t.deactivateAsNavFor = function() { 1374 this.removeNavSelectedElements() 1375 }, t.destroyAsNavFor = function() { 1376 this.navCompanion && (this.navCompanion.off("select", this.onNavCompanionSelect), this.off("staticClick", this.onNavStaticClick), delete this.navCompanion) 1377 }, n 1378}), 1379function(e, i) { 1380 "use strict"; 1381 "function" == typeof define && define.amd ? define("imagesloaded/imagesloaded", ["ev-emitter/ev-emitter"], function(t) { 1382 return i(e, t) 1383 }) : "object" == typeof module && module.exports ? module.exports = i(e, require("ev-emitter")) : e.imagesLoaded = i(e, e.EvEmitter) 1384}("undefined" != typeof window ? window : this, function(e, t) { 1385 var s = e.jQuery, 1386 o = e.console; 1387 1388 function r(t, e) { 1389 for (var i in e) t[i] = e[i]; 1390 return t 1391 } 1392 var a = Array.prototype.slice; 1393 1394 function l(t, e, i) { 1395 if (!(this instanceof l)) return new l(t, e, i); 1396 var n = t; 1397 "string" == typeof t && (n = document.querySelectorAll(t)), n ? (this.elements = function(t) { 1398 return Array.isArray(t) ? t : "object" == typeof t && "number" == typeof t.length ? a.call(t) : [t] 1399 }(n), this.options = r({}, this.options), "function" == typeof e ? i = e : r(this.options, e), i && this.on("always", i), this.getImages(), s && (this.jqDeferred = new s.Deferred), setTimeout(this.check.bind(this))) : o.error("Bad element for imagesLoaded " + (n || t)) 1400 }(l.prototype = Object.create(t.prototype)).options = {}, l.prototype.getImages = function() { 1401 this.images = [], this.elements.forEach(this.addElementImages, this) 1402 }, l.prototype.addElementImages = function(t) { 1403 "IMG" == t.nodeName && this.addImage(t), !0 === this.options.background && this.addElementBackgroundImages(t); 1404 var e = t.nodeType; 1405 if (e && h[e]) { 1406 for (var i = t.querySelectorAll("img"), n = 0; n < i.length; n++) { 1407 var s = i[n]; 1408 this.addImage(s) 1409 } 1410 if ("string" == typeof this.options.background) { 1411 var o = t.querySelectorAll(this.options.background); 1412 for (n = 0; n < o.length; n++) { 1413 var r = o[n]; 1414 this.addElementBackgroundImages(r) 1415 } 1416 } 1417 } 1418 }; 1419 var h = { 1420 1: !0, 1421 9: !0, 1422 11: !0 1423 }; 1424 1425 function i(t) { 1426 this.img = t 1427 } 1428 1429 function n(t, e) { 1430 this.url = t, this.element = e, this.img = new Image 1431 } 1432 return l.prototype.addElementBackgroundImages = function(t) { 1433 var e = getComputedStyle(t); 1434 if (e) 1435 for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(e.backgroundImage); null !== n;) { 1436 var s = n && n[2]; 1437 s && this.addBackground(s, t), n = i.exec(e.backgroundImage) 1438 } 1439 }, l.prototype.addImage = function(t) { 1440 var e = new i(t); 1441 this.images.push(e) 1442 }, l.prototype.addBackground = function(t, e) { 1443 var i = new n(t, e); 1444 this.images.push(i) 1445 }, l.prototype.check = function() { 1446 var n = this; 1447 1448 function e(t, e, i) { 1449 setTimeout(function() { 1450 n.progress(t, e, i) 1451 }) 1452 } 1453 this.progressedCount = 0, this.hasAnyBroken = !1, this.images.length ? this.images.forEach(function(t) { 1454 t.once("progress", e), t.check() 1455 }) : this.complete() 1456 }, l.prototype.progress = function(t, e, i) { 1457 this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount == this.images.length && this.complete(), this.options.debug && o && o.log("progress: " + i, t, e) 1458 }, l.prototype.complete = function() { 1459 var t = this.hasAnyBroken ? "fail" : "done"; 1460 if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) { 1461 var e = this.hasAnyBroken ? "reject" : "resolve"; 1462 this.jqDeferred[e](this) 1463 } 1464 }, (i.prototype = Object.create(t.prototype)).check = function() { 1465 this.getIsImageComplete() ? this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.proxyImage.src = this.img.src) 1466 }, i.prototype.getIsImageComplete = function() { 1467 return this.img.complete && this.img.naturalWidth 1468 }, i.prototype.confirm = function(t, e) { 1469 this.isLoaded = t, this.emitEvent("progress", [this, this.img, e]) 1470 }, i.prototype.handleEvent = function(t) { 1471 var e = "on" + t.type; 1472 this[e] && this[e](t) 1473 }, i.prototype.onload = function() { 1474 this.confirm(!0, "onload"), this.unbindEvents() 1475 }, i.prototype.onerror = function() { 1476 this.confirm(!1, "onerror"), this.unbindEvents() 1477 }, i.prototype.unbindEvents = function() { 1478 this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) 1479 }, (n.prototype = Object.create(i.prototype)).check = function() { 1480 this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url, this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents()) 1481 }, n.prototype.unbindEvents = function() { 1482 this.img.removeEventListener("load", this), this.img.removeEventListener("error", this) 1483 }, n.prototype.confirm = function(t, e) { 1484 this.isLoaded = t, this.emitEvent("progress", [this, this.element, e]) 1485 }, l.makeJQueryPlugin = function(t) { 1486 (t = t || e.jQuery) && ((s = t).fn.imagesLoaded = function(t, e) { 1487 return new l(this, t, e).jqDeferred.promise(s(this)) 1488 }) 1489 }, l.makeJQueryPlugin(), l 1490}), 1491function(i, n) { 1492 "function" == typeof define && define.amd ? define(["flickity/js/index", "imagesloaded/imagesloaded"], function(t, e) { 1493 return n(i, t, e) 1494 }) : "object" == typeof module && module.exports ? module.exports = n(i, require("flickity"), require("imagesloaded")) : i.Flickity = n(i, i.Flickity, i.imagesLoaded) 1495}(window, function(t, e, i) { 1496 "use strict"; 1497 e.createMethods.push("_createImagesLoaded"); 1498 var n = e.prototype; 1499 return n._createImagesLoaded = function() { 1500 this.on("activate", this.imagesLoaded) 1501 }, n.imagesLoaded = function() { 1502 if (this.options.imagesLoaded) { 1503 var n = this; 1504 i(this.slider).on("progress", function(t, e) { 1505 var i = n.getParentCell(e.img); 1506 n.cellSizeChange(i && i.element), n.options.freeScroll || n.positionSliderAtSelected() 1507 }) 1508 } 1509 }, e 1510});
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.