Move web content to dedicated content directory
This commit is contained in:
		
							
								
								
									
										402
									
								
								content/_archive/5.5/js/wow.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										402
									
								
								content/_archive/5.5/js/wow.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,402 @@ | ||||
| (function() { | ||||
|   var MutationObserver, Util, WeakMap, | ||||
|     __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, | ||||
|     __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; | ||||
|  | ||||
|   Util = (function() { | ||||
|     function Util() {} | ||||
|  | ||||
|     Util.prototype.extend = function(custom, defaults) { | ||||
|       var key, value; | ||||
|       for (key in defaults) { | ||||
|         value = defaults[key]; | ||||
|         if (custom[key] == null) { | ||||
|           custom[key] = value; | ||||
|         } | ||||
|       } | ||||
|       return custom; | ||||
|     }; | ||||
|  | ||||
|     Util.prototype.isMobile = function(agent) { | ||||
|       return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent); | ||||
|     }; | ||||
|  | ||||
|     return Util; | ||||
|  | ||||
|   })(); | ||||
|  | ||||
|   WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function() { | ||||
|     function WeakMap() { | ||||
|       this.keys = []; | ||||
|       this.values = []; | ||||
|     } | ||||
|  | ||||
|     WeakMap.prototype.get = function(key) { | ||||
|       var i, item, _i, _len, _ref; | ||||
|       _ref = this.keys; | ||||
|       for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { | ||||
|         item = _ref[i]; | ||||
|         if (item === key) { | ||||
|           return this.values[i]; | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WeakMap.prototype.set = function(key, value) { | ||||
|       var i, item, _i, _len, _ref; | ||||
|       _ref = this.keys; | ||||
|       for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { | ||||
|         item = _ref[i]; | ||||
|         if (item === key) { | ||||
|           this.values[i] = value; | ||||
|           return; | ||||
|         } | ||||
|       } | ||||
|       this.keys.push(key); | ||||
|       return this.values.push(value); | ||||
|     }; | ||||
|  | ||||
|     return WeakMap; | ||||
|  | ||||
|   })()); | ||||
|  | ||||
|   MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function() { | ||||
|     function MutationObserver() { | ||||
|       console.warn('MutationObserver is not supported by your browser.'); | ||||
|       console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.'); | ||||
|     } | ||||
|  | ||||
|     MutationObserver.notSupported = true; | ||||
|  | ||||
|     MutationObserver.prototype.observe = function() {}; | ||||
|  | ||||
|     return MutationObserver; | ||||
|  | ||||
|   })()); | ||||
|  | ||||
|   this.WOW = (function() { | ||||
|     WOW.prototype.defaults = { | ||||
|       boxClass: 'wow', | ||||
|       animateClass: 'animated', | ||||
|       offset: 0, | ||||
|       mobile: true, | ||||
|       live: true | ||||
|     }; | ||||
|  | ||||
|     function WOW(options) { | ||||
|       if (options == null) { | ||||
|         options = {}; | ||||
|       } | ||||
|       this.scrollCallback = __bind(this.scrollCallback, this); | ||||
|       this.scrollHandler = __bind(this.scrollHandler, this); | ||||
|       this.start = __bind(this.start, this); | ||||
|       this.scrolled = true; | ||||
|       this.config = this.util().extend(options, this.defaults); | ||||
|       this.animationNameCache = new WeakMap(); | ||||
|     } | ||||
|  | ||||
|     WOW.prototype.init = function() { | ||||
|       var _ref; | ||||
|       this.element = window.document.documentElement; | ||||
|       if ((_ref = document.readyState) === "interactive" || _ref === "complete") { | ||||
|         this.start(); | ||||
|       } else { | ||||
|         document.addEventListener('DOMContentLoaded', this.start); | ||||
|       } | ||||
|       return this.finished = []; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.start = function() { | ||||
|       var box, _i, _len, _ref; | ||||
|       this.stopped = false; | ||||
|       this.boxes = (function() { | ||||
|         var _i, _len, _ref, _results; | ||||
|         _ref = this.element.getElementsByClassName(this.config.boxClass); | ||||
|         _results = []; | ||||
|         for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|           box = _ref[_i]; | ||||
|           _results.push(box); | ||||
|         } | ||||
|         return _results; | ||||
|       }).call(this); | ||||
|       this.all = (function() { | ||||
|         var _i, _len, _ref, _results; | ||||
|         _ref = this.boxes; | ||||
|         _results = []; | ||||
|         for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|           box = _ref[_i]; | ||||
|           _results.push(box); | ||||
|         } | ||||
|         return _results; | ||||
|       }).call(this); | ||||
|       if (this.boxes.length) { | ||||
|         if (this.disabled()) { | ||||
|           this.resetStyle(); | ||||
|         } else { | ||||
|           _ref = this.boxes; | ||||
|           for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|             box = _ref[_i]; | ||||
|             this.applyStyle(box, true); | ||||
|           } | ||||
|           window.addEventListener('scroll', this.scrollHandler, false); | ||||
|           window.addEventListener('resize', this.scrollHandler, false); | ||||
|           this.interval = setInterval(this.scrollCallback, 50); | ||||
|         } | ||||
|       } | ||||
|       if (this.config.live) { | ||||
|         return new MutationObserver((function(_this) { | ||||
|           return function(records) { | ||||
|             var node, record, _j, _len1, _results; | ||||
|             _results = []; | ||||
|             for (_j = 0, _len1 = records.length; _j < _len1; _j++) { | ||||
|               record = records[_j]; | ||||
|               _results.push((function() { | ||||
|                 var _k, _len2, _ref1, _results1; | ||||
|                 _ref1 = record.addedNodes || []; | ||||
|                 _results1 = []; | ||||
|                 for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { | ||||
|                   node = _ref1[_k]; | ||||
|                   _results1.push(this.doSync(node)); | ||||
|                 } | ||||
|                 return _results1; | ||||
|               }).call(_this)); | ||||
|             } | ||||
|             return _results; | ||||
|           }; | ||||
|         })(this)).observe(document.body, { | ||||
|           childList: true, | ||||
|           subtree: true | ||||
|         }); | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.stop = function() { | ||||
|       this.stopped = true; | ||||
|       window.removeEventListener('scroll', this.scrollHandler, false); | ||||
|       window.removeEventListener('resize', this.scrollHandler, false); | ||||
|       if (this.interval != null) { | ||||
|         return clearInterval(this.interval); | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.sync = function(element) { | ||||
|       if (MutationObserver.notSupported) { | ||||
|         return this.doSync(this.element); | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.doSync = function(element) { | ||||
|       var box, _i, _len, _ref, _results; | ||||
|       if (!this.stopped) { | ||||
|         if (element == null) { | ||||
|           element = this.element; | ||||
|         } | ||||
|         if (element.nodeType !== 1) { | ||||
|           return; | ||||
|         } | ||||
|         element = element.parentNode || element; | ||||
|         _ref = element.getElementsByClassName(this.config.boxClass); | ||||
|         _results = []; | ||||
|         for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|           box = _ref[_i]; | ||||
|           if (__indexOf.call(this.all, box) < 0) { | ||||
|             this.applyStyle(box, true); | ||||
|             this.boxes.push(box); | ||||
|             this.all.push(box); | ||||
|             _results.push(this.scrolled = true); | ||||
|           } else { | ||||
|             _results.push(void 0); | ||||
|           } | ||||
|         } | ||||
|         return _results; | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.show = function(box) { | ||||
|       this.applyStyle(box); | ||||
|       return box.className = "" + box.className + " " + this.config.animateClass; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.applyStyle = function(box, hidden) { | ||||
|       var delay, duration, iteration; | ||||
|       duration = box.getAttribute('data-wow-duration'); | ||||
|       delay = box.getAttribute('data-wow-delay'); | ||||
|       iteration = box.getAttribute('data-wow-iteration'); | ||||
|       return this.animate((function(_this) { | ||||
|         return function() { | ||||
|           return _this.customStyle(box, hidden, duration, delay, iteration); | ||||
|         }; | ||||
|       })(this)); | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.animate = (function() { | ||||
|       if ('requestAnimationFrame' in window) { | ||||
|         return function(callback) { | ||||
|           return window.requestAnimationFrame(callback); | ||||
|         }; | ||||
|       } else { | ||||
|         return function(callback) { | ||||
|           return callback(); | ||||
|         }; | ||||
|       } | ||||
|     })(); | ||||
|  | ||||
|     WOW.prototype.resetStyle = function() { | ||||
|       var box, _i, _len, _ref, _results; | ||||
|       _ref = this.boxes; | ||||
|       _results = []; | ||||
|       for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|         box = _ref[_i]; | ||||
|         _results.push(box.setAttribute('style', 'visibility: visible;')); | ||||
|       } | ||||
|       return _results; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.customStyle = function(box, hidden, duration, delay, iteration) { | ||||
|       if (hidden) { | ||||
|         this.cacheAnimationName(box); | ||||
|       } | ||||
|       box.style.visibility = hidden ? 'hidden' : 'visible'; | ||||
|       if (duration) { | ||||
|         this.vendorSet(box.style, { | ||||
|           animationDuration: duration | ||||
|         }); | ||||
|       } | ||||
|       if (delay) { | ||||
|         this.vendorSet(box.style, { | ||||
|           animationDelay: delay | ||||
|         }); | ||||
|       } | ||||
|       if (iteration) { | ||||
|         this.vendorSet(box.style, { | ||||
|           animationIterationCount: iteration | ||||
|         }); | ||||
|       } | ||||
|       this.vendorSet(box.style, { | ||||
|         animationName: hidden ? 'none' : this.cachedAnimationName(box) | ||||
|       }); | ||||
|       return box; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.vendors = ["moz", "webkit"]; | ||||
|  | ||||
|     WOW.prototype.vendorSet = function(elem, properties) { | ||||
|       var name, value, vendor, _results; | ||||
|       _results = []; | ||||
|       for (name in properties) { | ||||
|         value = properties[name]; | ||||
|         elem["" + name] = value; | ||||
|         _results.push((function() { | ||||
|           var _i, _len, _ref, _results1; | ||||
|           _ref = this.vendors; | ||||
|           _results1 = []; | ||||
|           for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|             vendor = _ref[_i]; | ||||
|             _results1.push(elem["" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value); | ||||
|           } | ||||
|           return _results1; | ||||
|         }).call(this)); | ||||
|       } | ||||
|       return _results; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.vendorCSS = function(elem, property) { | ||||
|       var result, style, vendor, _i, _len, _ref; | ||||
|       style = window.getComputedStyle(elem); | ||||
|       result = style.getPropertyCSSValue(property); | ||||
|       _ref = this.vendors; | ||||
|       for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|         vendor = _ref[_i]; | ||||
|         result = result || style.getPropertyCSSValue("-" + vendor + "-" + property); | ||||
|       } | ||||
|       return result; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.animationName = function(box) { | ||||
|       var animationName; | ||||
|       try { | ||||
|         animationName = this.vendorCSS(box, 'animation-name').cssText; | ||||
|       } catch (_error) { | ||||
|         animationName = window.getComputedStyle(box).getPropertyValue('animation-name'); | ||||
|       } | ||||
|       if (animationName === 'none') { | ||||
|         return ''; | ||||
|       } else { | ||||
|         return animationName; | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.cacheAnimationName = function(box) { | ||||
|       return this.animationNameCache.set(box, this.animationName(box)); | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.cachedAnimationName = function(box) { | ||||
|       return this.animationNameCache.get(box); | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.scrollHandler = function() { | ||||
|       return this.scrolled = true; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.scrollCallback = function() { | ||||
|       var box; | ||||
|       if (this.scrolled) { | ||||
|         this.scrolled = false; | ||||
|         this.boxes = (function() { | ||||
|           var _i, _len, _ref, _results; | ||||
|           _ref = this.boxes; | ||||
|           _results = []; | ||||
|           for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||||
|             box = _ref[_i]; | ||||
|             if (!(box)) { | ||||
|               continue; | ||||
|             } | ||||
|             if (this.isVisible(box)) { | ||||
|               this.show(box); | ||||
|               continue; | ||||
|             } | ||||
|             _results.push(box); | ||||
|           } | ||||
|           return _results; | ||||
|         }).call(this); | ||||
|         if (!(this.boxes.length || this.config.live)) { | ||||
|           return this.stop(); | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.offsetTop = function(element) { | ||||
|       var top; | ||||
|       while (element.offsetTop === void 0) { | ||||
|         element = element.parentNode; | ||||
|       } | ||||
|       top = element.offsetTop; | ||||
|       while (element = element.offsetParent) { | ||||
|         top += element.offsetTop; | ||||
|       } | ||||
|       return top; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.isVisible = function(box) { | ||||
|       var bottom, offset, top, viewBottom, viewTop; | ||||
|       offset = box.getAttribute('data-wow-offset') || this.config.offset; | ||||
|       viewTop = window.pageYOffset; | ||||
|       viewBottom = viewTop + Math.min(this.element.clientHeight, innerHeight) - offset; | ||||
|       top = this.offsetTop(box); | ||||
|       bottom = top + box.clientHeight; | ||||
|       return top <= viewBottom && bottom >= viewTop; | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.util = function() { | ||||
|       return this._util != null ? this._util : this._util = new Util(); | ||||
|     }; | ||||
|  | ||||
|     WOW.prototype.disabled = function() { | ||||
|       return !this.config.mobile && this.util().isMobile(navigator.userAgent); | ||||
|     }; | ||||
|  | ||||
|     return WOW; | ||||
|  | ||||
|   })(); | ||||
|  | ||||
| }).call(this); | ||||
		Reference in New Issue
	
	Block a user