1! function(t, e) { 2 if ("function" == typeof define && define.amd) define(["module", "exports"], e); 3 else if ("undefined" != typeof exports) e(module, exports); 4 else { 5 var n = { 6 exports: {} 7 }; 8 e(n, n.exports), t.WOW = n.exports 9 } 10}(this, function(t, e) { 11 "use strict"; 12 13 function n(t, e) { 14 if (!(t instanceof e)) throw TypeError("Cannot call a class as a function") 15 } 16 Object.defineProperty(e, "__esModule", { 17 value: !0 18 }); 19 var i, s, o = function() { 20 function t(t, e) { 21 for (var n = 0; n < e.length; n++) { 22 var i = e[n]; 23 i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i) 24 } 25 } 26 return function(e, n, i) { 27 return n && t(e.prototype, n), i && t(e, i), e 28 } 29 }(); 30 31 function a(t, e) { 32 return e.indexOf(t) >= 0 33 } 34 35 function r(t, e, n) { 36 null != t.addEventListener ? t.addEventListener(e, n, !1) : null != t.attachEvent ? t.attachEvent("on" + e, n) : t[e] = n 37 } 38 39 function l(t, e, n) { 40 null != t.removeEventListener ? t.removeEventListener(e, n, !1) : null != t.detachEvent ? t.detachEvent("on" + e, n) : delete t[e] 41 } 42 var u = window.WeakMap || window.MozWeakMap || function() { 43 function t() { 44 n(this, t), this.keys = [], this.values = [] 45 } 46 return o(t, [{ 47 key: "get", 48 value: function t(e) { 49 for (var n = 0; n < this.keys.length; n++) 50 if (this.keys[n] === e) return this.values[n] 51 } 52 }, { 53 key: "set", 54 value: function t(e, n) { 55 for (var i = 0; i < this.keys.length; i++) 56 if (this.keys[i] === e) return this.values[i] = n, this; 57 return this.keys.push(e), this.values.push(n), this 58 } 59 }]), t 60 }(), 61 h = window.MutationObserver || window.WebkitMutationObserver || window.MozMutationObserver || (s = i = function() { 62 function t() { 63 n(this, t), "undefined" != typeof console && null !== console && (console.warn("MutationObserver is not supported by your browser."), console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")) 64 } 65 return o(t, [{ 66 key: "observe", 67 value: function t() {} 68 }]), t 69 }(), i.notSupported = !0, s), 70 c = window.getComputedStyle || function t(e) { 71 var n = /(\-([a-z]){1})/g; 72 return { 73 getPropertyValue: function t(i) { 74 "float" === i && (i = "styleFloat"), n.test(i) && i.replace(n, function(t, e) { 75 return e.toUpperCase() 76 }); 77 var s = e.currentStyle; 78 return (null != s ? s[i] : void 0) || null 79 } 80 } 81 }, 82 f = function() { 83 function t() { 84 var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; 85 n(this, t), this.defaults = { 86 boxClass: "wow", 87 animateClass: "animated", 88 offset: 0, 89 mobile: !0, 90 live: !0, 91 callback: null, 92 scrollContainer: null, 93 resetAnimation: !0 94 }, this.animate = "requestAnimationFrame" in window ? function(t) { 95 return window.requestAnimationFrame(t) 96 } : function(t) { 97 return t() 98 }, this.vendors = ["moz", "webkit"], this.start = this.start.bind(this), this.resetAnimation = this.resetAnimation.bind(this), this.scrollHandler = this.scrollHandler.bind(this), this.scrollCallback = this.scrollCallback.bind(this), this.scrolled = !0, this.config = function t(e, n) { 99 for (var i in n) 100 if (null == e[i]) { 101 var s = n[i]; 102 e[i] = s 103 } 104 return e 105 }
105(e, this.defaults), null != e.scrollContainer && (this.config.scrollContainer = document.querySelector(e.scrollContainer)), this.animationNameCache = new u, this.wowEvent = function t(e) { 106 var n = !(arguments.length <= 1) && void 0 !== arguments[1] && arguments[1], 107 i = !(arguments.length <= 2) && void 0 !== arguments[2] && arguments[2], 108 s = arguments.length <= 3 || void 0 === arguments[3] ? null : arguments[3], 109 o = void 0; 110 return null != document.createEvent ? (o = document.createEvent("CustomEvent")).initCustomEvent(e, n, i, s) : null != document.createEventObject ? (o = document.createEventObject()).eventType = e : o.eventName = e, o 111 }(this.config.boxClass) 112 } 113 return o(t, [{ 114 key: "init", 115 value: function t() { 116 this.element = window.document.documentElement, a(document.readyState, ["interactive", "complete"]) ? this.start() : r(document, "DOMContentLoaded", this.start), this.finished = [] 117 } 118 }, { 119 key: "start", 120 value: function t() { 121 var e = this; 122 if (this.stopped = !1, this.boxes = [].slice.call(this.element.querySelectorAll("." + this.config.boxClass)), this.all = this.boxes.slice(0), this.boxes.length) { 123 if (this.disabled()) this.resetStyle(); 124 else 125 for (var n = 0; n < this.boxes.length; n++) { 126 var i = this.boxes[n]; 127 this.applyStyle(i, !0) 128 } 129 } 130 this.disabled() || (r(this.config.scrollContainer || window, "scroll", this.scrollHandler), r(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live && new h(function(t) { 131 for (var n = 0; n < t.length; n++) 132 for (var i = t[n], s = 0; s < i.addedNodes.length; s++) { 133 var o = i.addedNodes[s]; 134 e.doSync(o) 135 } 136 }).observe(document.body, { 137 childList: !0, 138 subtree: !0 139 }) 140 } 141 }, { 142 key: "stop", 143 value: function t() { 144 this.stopped = !0, l(this.config.scrollContainer || window, "scroll", this.scrollHandler), l(window, "resize", this.scrollHandler), null != this.interval && clearInterval(this.interval) 145 } 146 }, { 147 key: "sync", 148 value: function t() { 149 h.notSupported && this.doSync(this.element) 150 } 151 }, { 152 key: "doSync", 153 value: function t(e) { 154 if (null == e && (e = this.element), 1 === e.nodeType) 155 for (var n = (e = e.parentNode || e).querySelectorAll("." + this.config.boxClass), i = 0; i < n.length; i++) { 156 var s = n[i]; 157 a(s, this.all) || (this.boxes.push(s), this.all.push(s), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(s, !0), this.scrolled = !0) 158 } 159 } 160 }, { 161 key: "show", 162 value: function t(e) { 163 var n, i; 164 return this.applyStyle(e), e.className = e.className + " " + this.config.animateClass, null != this.config.callback && this.config.callback(e), n = e, i = this.wowEvent, null != n.dispatchEvent ? n.dispatchEvent(i) : i in (null != n) ? n[i]() : "on" + i in (null != n) && n["on" + i](), this.config.resetAnimation && (r(e, "animationend", this.resetAnimation), r(e, "oanimationend", this.resetAnimation), r(e, "webkitAnimationEnd", this.resetAnimation), r(e, "MSAnimationEnd", this.resetAnimation)), e 165 } 166 }, { 167 key: "applyStyle", 168 value: function t(e, n) { 169 var i = this, 170 s = e.getAttribute("data-wow-duration"), 171 o = e.getAttribute("data-wow-delay"), 172 a = e.getAttribute("data-wow-iteration"); 173 return this.animate(function() { 174 return i.customStyle(e, n, s, o, a) 175 }) 176 } 177 }, { 178 key: "resetStyle", 179 value: function t() { 180 for (var e = 0; e < this.boxes.length; e++) this.boxes[e].style.visibility = "visible" 181 } 182 }, { 183 key: "resetAnimation", 184 value: function t(e) { 185 if (e.type.toLowerCase().indexOf("animationend") >= 0) { 186 var n = e.target || e.srcElement; 187 n.className = n.className.replace(this.config.animateClass, "").trim() 188 } 189 } 190 }, { 191 key: "customStyle", 192 value: function t(e, n, i, s, o) { 193 return n && this.cacheAnimationName(e), e.style.visibility = n ? "hidden" : "visible", i && this.vendorSet(e.style, { 194 animationDuration: i 195 }), s && this.vendorSet(e.style, { 196 animationDelay: s 197 }), o && this.vendorSet(e.style, { 198 animationIterationCount: o 199 }), this.vendorSet(e.style, { 200 animationName: n ? "none" : this.cachedAnimationName(e) 201 }), e 202 } 203 }, { 204 key: "vendorSet", 205 value: function t(e, n) { 206 for (var i in n) 207 if (n.hasOwnProperty(i)) { 208 var s = n[i]; 209 e["" + i] = s; 210 for (var o = 0; o < this.vendors.length; o++) e["" + this.vendors[o] + i.charAt(0).toUpperCase() + i.substr(1)] = s 211 } 212 } 213 }, { 214 key: "vendorCSS", 215 value: function t(e, n) { 216 for (var i = c(e), s = i.getPropertyCSSValue(n), o = 0; o < this.vendors.length; o++) { 217 var a = this.vendors[o]; 218 s = s || i.getPropertyCSSValue("-" + a + "-" + n) 219 } 220 return s 221 } 222 }, { 223 key: "animationName", 224 value: function t(e) { 225 var n = void 0; 226 try { 227 n = this.vendorCSS(e, "animation-name").cssText 228 } catch (i) { 229 n = c(e).getPropertyValue("animation-name") 230 } 231 return "none" === n ? "" : n 232 } 233 }, { 234 key: "cacheAnimationName", 235 value: function t(e) { 236 return this.animationNameCache.set(e, this.animationName(e)) 237 } 238 }, { 239 key: "cachedAnimationName", 240 value: function t(e) { 241 return this.animationNameCache.get(e) 242 } 243 }, { 244 key: "scrollHandler", 245 value: function t() { 246 this.scrolled = !0 247 } 248 }, { 249 key: "scrollCallback", 250 value: function t() { 251 if (this.scrolled) { 252 this.scrolled = !1; 253 for (var e = [], n = 0; n < this.boxes.length; n++) { 254 var i = this.boxes[n]; 255 if (i) { 256 if (this.isVisible(i)) { 257 this.show(i); 258 continue 259 } 260 e.push(i) 261 } 262 } 263 this.boxes = e, this.boxes.length || this.config.live || this.stop() 264 } 265 } 266 }, { 267 key: "offsetTop", 268 value: function t(e) { 269 for (; void 0 === e.offsetTop;) e = e.parentNode; 270 for (var n = e.offsetTop; e.offsetParent;) n += (e = e.offsetParent).offsetTop; 271 return n 272 } 273 }, { 274 key: "isVisible", 275 value: function t(e) { 276 var n = e.getAttribute("data-wow-offset") || this.config.offset,
277 i = this.config.scrollContainer && this.config.scrollContainer.scrollTop || window.pageYOffset, 278 s = i + Math.min(this.element.clientHeight, "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight) - n, 279 o = this.offsetTop(e), 280 a = o + e.clientHeight; 281 return o <= s && a >= i 282 } 283 }, { 284 key: "disabled", 285 value: function t() { 286 var e; 287 return !this.config.mobile && (e = navigator.userAgent, /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e)) 288 } 289 }]), t 290 }(); 291 e.default = f, t.exports = e.default 292});
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.