{"version":3,"sources":["force.js"],"names":["window","document","undefined","force","currentJumpLoop","transitionTimeout","hashLinkElements","scrollCache","isAnimating","animationCache","isScrolling","jsEasing","swing","t","b","c","d","this","easeOutQuad","easeInQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","Math","cos","PI","easeOutSine","sin","easeInOutSine","easeInExpo","pow","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInElastic","s","p","a","abs","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","cssEasing","opt","hashLinkPattern","frames","valueUnitRegEx","moveDuration","moveEasing","jumpDuration","scrollEasing","cacheJumps","cssTransitions","hasTransitionSupport","documentElement","style","webkitTransition","MozTransition","OTransition","MsTransition","transition","setTransition","element","trans","toJsStyle","value","replace","match","slice","toUpperCase","move","target","options","duration","done","callback","isJump","clearInterval","push","length","nextEvent","shift","jump","next","el","querySelector","o","properties","easing","isStyle","Object","keys","forEach","key","clearTimeout","setTimeout","anims","finished","val","parseInt","suffix","rawValue","anim","valueObj","currentFrame","loopId","initValue","scrollY","change","currentTime","timeSteps","ceil","setInterval","v","scrollTo","scrollTop","offsetTop","setHash","location","hash","id","body","config","bindHashes","querySelectorAll","call","addEventListener","ev","pathname","hostname","getElementById","preventDefault","unbindHashes","removeEventListener","jq","$","jQuery","fn","extend","each","module","exports","define","amd"],"mappings":"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","file":"force.min.js","sourcesContent":["/*\n Copyright (c) 2015 Rene Tanczos \n*/\n;(function(window, document, undefined) {\nvar force = function() {\n 'use strict';\n\n var scrollCache = [],\n isAnimating = false,\n animationCache = [],\n isScrolling = false,\n currentJumpLoop,\n transitionTimeout,\n hashLinkElements,\n jsEasing = {\n \tswing: function (t, b, c, d) {\n // default\n \t\treturn this.easeOutQuad(t, b, c, d);\n \t},\n \teaseInQuad: function (t, b, c, d) {\n \t\treturn c*(t/=d)*t + b;\n \t},\n \teaseOutQuad: function (t, b, c, d) {\n \t\treturn -c *(t/=d)*(t-2) + b;\n \t},\n \teaseInOutQuad: function (t, b, c, d) {\n \t\tif ((t/=d/2) < 1) return c/2*t*t + b;\n \t\treturn -c/2 * ((--t)*(t-2) - 1) + b;\n \t},\n \teaseInCubic: function (t, b, c, d) {\n \t\treturn c*(t/=d)*t*t + b;\n \t},\n \teaseOutCubic: function (t, b, c, d) {\n \t\treturn c*((t=t/d-1)*t*t + 1) + b;\n \t},\n \teaseInOutCubic: function (t, b, c, d) {\n \t\tif ((t/=d/2) < 1) return c/2*t*t*t + b;\n \t\treturn c/2*((t-=2)*t*t + 2) + b;\n \t},\n \teaseInQuart: function (t, b, c, d) {\n \t\treturn c*(t/=d)*t*t*t + b;\n \t},\n \teaseOutQuart: function (t, b, c, d) {\n \t\treturn -c * ((t=t/d-1)*t*t*t - 1) + b;\n \t},\n \teaseInOutQuart: function (t, b, c, d) {\n \t\tif ((t/=d/2) < 1) return c/2*t*t*t*t + b;\n \t\treturn -c/2 * ((t-=2)*t*t*t - 2) + b;\n \t},\n \teaseInQuint: function (t, b, c, d) {\n \t\treturn c*(t/=d)*t*t*t*t + b;\n \t},\n \teaseOutQuint: function (t, b, c, d) {\n \t\treturn c*((t=t/d-1)*t*t*t*t + 1) + b;\n \t},\n \teaseInOutQuint: function (t, b, c, d) {\n \t\tif ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;\n \t\treturn c/2*((t-=2)*t*t*t*t + 2) + b;\n \t},\n \teaseInSine: function (t, b, c, d) {\n \t\treturn -c * Math.cos(t/d * (Math.PI/2)) + c + b;\n \t},\n \teaseOutSine: function (t, b, c, d) {\n \t\treturn c * Math.sin(t/d * (Math.PI/2)) + b;\n \t},\n \teaseInOutSine: function (t, b, c, d) {\n \t\treturn -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;\n \t},\n \teaseInExpo: function (t, b, c, d) {\n \t\treturn (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;\n \t},\n \teaseOutExpo: function (t, b, c, d) {\n \t\treturn (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;\n \t},\n \teaseInOutExpo: function (t, b, c, d) {\n \t\tif (t==0) return b;\n \t\tif (t==d) return b+c;\n \t\tif ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;\n \t\treturn c/2 * (-Math.pow(2, -10 * --t) + 2) + b;\n \t},\n \teaseInCirc: function (t, b, c, d) {\n \t\treturn -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;\n \t},\n \teaseOutCirc: function (t, b, c, d) {\n \t\treturn c * Math.sqrt(1 - (t=t/d-1)*t) + b;\n \t},\n \teaseInOutCirc: function (t, b, c, d) {\n \t\tif ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;\n \t\treturn c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;\n \t},\n \teaseInElastic: function (t, b, c, d) {\n \t\tvar s=1.70158;var p=0;var a=c;\n \t\tif (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;\n \t\tif (a < Math.abs(c)) { a=c; var s=p/4; }\n \t\telse var s = p/(2*Math.PI) * Math.asin (c/a);\n \t\treturn -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;\n \t},\n \teaseOutElastic: function (t, b, c, d) {\n \t\tvar s=1.70158;var p=0;var a=c;\n \t\tif (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;\n \t\tif (a < Math.abs(c)) { a=c; var s=p/4; }\n \t\telse var s = p/(2*Math.PI) * Math.asin (c/a);\n \t\treturn a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;\n \t},\n \teaseInOutElastic: function (t, b, c, d) {\n \t\tvar s=1.70158;var p=0;var a=c;\n \t\tif (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);\n \t\tif (a < Math.abs(c)) { a=c; var s=p/4; }\n \t\telse var s = p/(2*Math.PI) * Math.asin (c/a);\n \t\tif (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;\n \t\treturn a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;\n \t},\n \teaseInBack: function (t, b, c, d, s) {\n \t\tif (s == undefined) s = 1.70158;\n \t\treturn c*(t/=d)*t*((s+1)*t - s) + b;\n \t},\n \teaseOutBack: function (t, b, c, d, s) {\n \t\tif (s == undefined) s = 1.70158;\n \t\treturn c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;\n \t},\n \teaseInOutBack: function (t, b, c, d, s) {\n \t\tif (s == undefined) s = 1.70158;\n \t\tif ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;\n \t\treturn c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;\n \t},\n \teaseInBounce: function (t, b, c, d) {\n \t\treturn c - this.easeOutBounce (d-t, 0, c, d) + b;\n \t},\n \teaseOutBounce: function (t, b, c, d) {\n \t\tif ((t/=d) < (1/2.75)) {\n \t\t\treturn c*(7.5625*t*t) + b;\n \t\t} else if (t < (2/2.75)) {\n \t\t\treturn c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;\n \t\t} else if (t < (2.5/2.75)) {\n \t\t\treturn c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;\n \t\t} else {\n \t\t\treturn c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;\n \t\t}\n \t},\n \teaseInOutBounce: function (t, b, c, d) {\n \t\tif (t < d/2) return this.easeInBounce (t*2, 0, c, d) * .5 + b;\n \t\treturn this.easeOutBounce (t*2-d, 0, c, d) * .5 + c*.5 + b;\n \t}\n },\n\n cssEasing = {\n \tswing: function () {\n // default\n \t\treturn this.easeOutQuad();\n \t},\n \teaseInQuad: function () {\n \t\treturn '0.55, 0.085, 0.68, 0.53';\n \t},\n \teaseOutQuad: function () {\n \t\treturn '0.25, 0.46, 0.45, 0.94';\n \t},\n \teaseInOutQuad: function () {\n \t\treturn '0.455, 0.03, 0.515, 0.955';\n \t},\n \teaseInCubic: function () {\n \t\treturn '0.55, 0.055, 0.675, 0.19';\n \t},\n \teaseOutCubic: function () {\n \t\treturn '0.215, 0.61, 0.355, 1';\n \t},\n \teaseInOutCubic: function () {\n \t\treturn '0.645, 0.045, 0.355, 1';\n \t},\n \teaseInQuart: function () {\n \t\treturn '0.895, 0.03, 0.685, 0.22';\n \t},\n \teaseOutQuart: function () {\n \t\treturn '0.165, 0.84, 0.44, 1';\n \t},\n \teaseInOutQuart: function () {\n \t\treturn '0.77, 0, 0.175, 1';\n \t},\n \teaseInQuint: function () {\n \t\treturn '0.755, 0.05, 0.855, 0.06';\n \t},\n \teaseOutQuint: function () {\n \t\treturn '0.23, 1, 0.32, 1';\n \t},\n \teaseInOutQuint: function () {\n \t\treturn '0.86, 0, 0.07, 1';\n \t},\n \teaseInSine: function () {\n \t\treturn '0.47, 0, 0.745, 0.715';\n \t},\n \teaseOutSine: function () {\n \t\treturn '0.39, 0.575, 0.565, 1';\n \t},\n \teaseInOutSine: function () {\n \t\treturn '0.445, 0.05, 0.55, 0.95';\n \t},\n \teaseInExpo: function () {\n \t\treturn '0.95, 0.05, 0.795, 0.035';\n \t},\n \teaseOutExpo: function () {\n \t\treturn '0.19, 1, 0.22, 1';\n \t},\n \teaseInOutExpo: function () {\n \t\treturn '1, 0, 0, 1';\n \t},\n \teaseInCirc: function () {\n \t\treturn '0.6, 0.04, 0.98, 0.335';\n \t},\n \teaseOutCirc: function () {\n \t\treturn '0.075, 0.82, 0.165, 1';\n \t},\n \teaseInOutCirc: function () {\n \t\treturn '0.785, 0.135, 0.15, 0.86';\n \t}\n },\n\n\n opt = {\n hashLinkPattern: 'a[href*=\"#\"]:not([href=\"#\"])',\n frames: 60,\n valueUnitRegEx: /^([\\-]{0,1}[0-9\\.]+)([a-z%]{0,3})$/,\n moveDuration: 1000,\n moveEasing: 'swing',\n jumpDuration: 1000,\n scrollEasing: 'swing',\n cacheJumps: true,\n cssTransitions: true\n },\n\n config = function(options) {\n options && Object.keys(options).forEach(function(key) {\n opt[key] = options[key];\n });\n },\n\n hasTransitionSupport = function() {\n var s = document.documentElement.style;\n return (\n s.webkitTransition !== undefined ||\n s.MozTransition !== undefined ||\n s.OTransition !== undefined ||\n s.MsTransition !== undefined ||\n s.transition !== undefined\n );\n },\n\n setTransition = function(element, trans) {\n element.style.webkitTransition !== undefined && (element.style.webkitTransition = trans);\n element.style.MozTransition !== undefined && (element.style.MozTransition = trans);\n element.style.OTransition !== undefined && (element.style.OTransition = trans);\n element.style.MsTransition !== undefined && (element.style.MsTransition = trans);\n element.style.transition !== undefined && (element.style.transition = trans);\n },\n\n isStyleProperty = function(propName) {\n return propName in document.documentElement.style;\n },\n\n /*\n Converts the CSS property name into a JS style name.\n\n Example:\n from CSS: font-family\n to JS: fontFamily\n */\n toJsStyle = function(value) {\n return value.replace(/(\\-[a-z]{1})/g, function(match) {return match.slice(-1).toUpperCase()})\n },\n\n /*\n @target string/object\n can be a selector/id or object\n\n @options object\n if duration or done is undefined, options contains informations about the animation\n but if duration and done is set, options are the style properties (target properties)\n to be animated.\n\n @duration number\n Duration of the animation.\n\n @done function\n will be executed after the animation finished.\n */\n move = function(target, options, duration, done) {\n\n var callback; // executes when the animation is done\n\n if(options.isJump) {\n // abort the current scroll animations if caching is false and a new scroll event was started\n (!opt.cacheJumps && isScrolling) && (clearInterval(currentJumpLoop));\n // cache the target if scrolling is active and a scrolling animation is currently running\n if(opt.cacheJumps && isScrolling) {\n scrollCache.push({target: target});\n return;\n }\n isScrolling = true;\n\n callback = function() {\n isScrolling = false;\n if(opt.cacheJumps && scrollCache.length > 0) {\n var nextEvent = scrollCache.shift();\n jump(nextEvent.target);\n }\n };\n }\n else {\n // executed when its not a jump\n if(isAnimating) {\n animationCache.push({target: target, options: options, duration: duration, done: done});\n return;\n }\n isAnimating = true;\n\n callback = function() {\n isAnimating = false;\n var next = animationCache.shift();\n next && move(next.target, next.options, next.duration, next.done);\n };\n }\n\n var el = (typeof target === 'string') ? document.querySelector(target) : target;\n var o = {};\n o.properties = options.properties || options;\n o.duration = duration || options.duration || (options.isJump ? opt.jumpDuration : opt.moveDuration);\n o.done = done || options.done;\n o.easing = options.easing || (options.isJump ? opt.scrollEasing : opt.moveEasing);\n o.isJump = options.isJump;\n\n // dont care about the target property. has something to do with the jump function\n (typeof options.target === 'string') ? (options.target = document.querySelector(options.target)) : (o.target = options.target);\n\n var isStyle = true;\n Object.keys(o.properties).forEach(function(key) {\n isStyle = isStyleProperty(key);\n });\n\n // CSS transition check\n if(opt.cssTransitions && isStyle && hasTransitionSupport() && o.easing in cssEasing) {\n //console.log('css transitions supported');\n\n Object.keys(o.properties).forEach(function(key) {\n var trans = 'all ' + o.duration + 'ms cubic-bezier(' + cssEasing[o.easing]() + ')';\n\n setTransition(el, trans);\n\n var stylename = toJsStyle(key);\n\n el.style[toJsStyle(key)] = o.properties[key];\n\n // kill the previous transition when its not finished\n clearTimeout(transitionTimeout);\n\n // should remove the transition after its finished\n transitionTimeout = setTimeout(function() {\n setTransition(el, '');\n callback();\n o.done && o.done();\n }, o.duration);\n });\n\n return;\n }\n\n var anims = [],\n finished = 0;\n\n Object.keys(o.properties).forEach(function(key) {\n var val = o.properties[key].match(opt.valueUnitRegEx);\n anims.push({\n style: toJsStyle(key),\n value: parseInt(val[1]),\n suffix: val[2] || '',\n duration: o.duration,\n rawValue: o.properties[key]\n });\n });\n\n anims.forEach(function(anim) {\n var currentFrame = 0,\n valueObj;\n\n if(isStyle)\n valueObj = el.style[anim.style].match(opt.valueUnitRegEx);\n else\n valueObj = (el[anim.style] + '').match(opt.valueUnitRegEx);\n\n // in case no value is set\n if(!valueObj) valueObj = ['0', '0', ''];\n\n var initValue = isStyle ? (parseInt(valueObj[1]) || 0) : window.scrollY,\n change = anim.value - (initValue || 0),\n currentTime = 0,\n timeSteps = Math.ceil(anim.duration / opt.frames),\n loopId;\n\n loopId = setInterval(function() {\n if(currentFrame < opt.frames) {\n var v = jsEasing[o.easing](currentTime, initValue, change, anim.duration);\n\n if(isStyle)\n el.style[anim.style] = v + anim.suffix;\n else if(anim.style in el) {\n if(o.target)\n if(anim.style == 'scrollTop') {\n window.scrollTo(0, v)\n }\n else {\n o.target[anim.style] = v + anim.suffix;\n }\n else\n el[anim.style] = v + anim.suffix;\n }\n else\n // break loop (nothing to animate)\n currentTime = opt.frames;\n }\n else {\n clearInterval(loopId);\n finished++;\n callback();\n (finished === anims.length && o.done) && o.done();\n }\n currentTime += timeSteps;\n currentFrame++;\n }, timeSteps);\n\n o.isJump && (currentJumpLoop = loopId);\n });\n },\n\n jump = function(target, options) {\n var el = (typeof target === 'string') ? document.querySelector(target) : target;\n var o = options || {};\n\n move(el, {\n properties: {\n scrollTop: el.offsetTop + ''\n },\n duration: o.duration || opt.jumpDuration,\n easing: o.easing || opt.scrollEasing,\n done: o.setHash ? function() {\n window.location.hash = el.id;\n o.done && o.done();\n } : o.done,\n target: document.body,\n isJump: true\n });\n },\n\n // Bind all subscribe all hash link clicks on the page and animates the jump to this position\n bindHashes = function() {\n hashLinkElements = document.querySelectorAll(opt.hashLinkPattern);\n\n [].forEach.call(hashLinkElements, function(el) {\n \t\tel.addEventListener('click', function(ev) {\n \t\t\tif (window.location.pathname.replace(/^\\//, '') == this.pathname.replace(/^\\//, '') && window.location.hostname == this.hostname) {\n \t\t var target = document.getElementById(this.hash.slice(1));\n target && jump(target);\n ev.preventDefault();\n \t\t }\n \t\t}, false)\n \t});\n },\n\n // unbind all hash links\n unbindHashes = function() {\n [].forEach.call(hashLinkElements, function(el) {\n el.removeEventListener('click');\n });\n hashLinkElements = null;\n };\n\n return {\n opt: opt,\n config: config,\n hasTransitionSupport: hasTransitionSupport,\n toJsStyle: toJsStyle,\n move: move,\n jump: jump,\n bindHashes: bindHashes,\n unbindHashes: unbindHashes,\n setTransition: setTransition\n };\n }();\n\n // extend the jquery object\n var jq = window.$ || window.jQuery;\n jq && (jq.fn.extend({\n move: function (options, duration, done) {\n return this.each(function() {\n force.move(this, options, duration, done);\n });\n },\n jump: function(options) {\n return this.each(function() {\n force.jump(this, options);\n });\n }\n }));\n\n if ( typeof module === \"object\" && module && typeof module.exports === \"object\" ) {\n \t// Expose force as module.exports in loaders that implement the Node\n \t// module pattern (including browserify). Do not create the global, since\n \t// the user will be storing it themselves locally, and globals are frowned\n \t// upon in the Node module world.\n \tmodule.exports = force;\n } else {\n \t// Eexpose force to the global object as usual\n \twindow.force = force;\n\n \t// Register as a named AMD module\n \tif ( typeof define === \"function\" && define.amd ) {\n \t\tdefine( \"force\", [], function () { return force; } );\n \t}\n }\n})(window, document);\n"]}