{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","Foundation","Motion","Move","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","move","ts","cancelAnimationFrame","initClass","reset","transitionDuration","removeClass","concat","activeClass","eq","$","length","isIn","addClass","css","requestAnimationFrame","offsetWidth","finish","hide","installedModules","m","modules","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.util.motion.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","import $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n"]}