{"version":3,"file":"foundation.util.timer.min.js","sources":["foundation.util.timer.min.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.timer\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn /******/ (function(modules) { // webpackBootstrap\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 = 27);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.timer.js\":\n/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.timer.js ***!\n \\*****************************************************/\n/*! exports provided: Foundation, Timer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.timer */ \"./js/foundation.util.timer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Timer\", function() { return _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__[\"Timer\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Timer = _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__[\"Timer\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.timer.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.util.timer.js ***!\n \\*************************************/\n/*! exports provided: Timer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Timer\", function() { return Timer; });\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,\n //options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function () {\n remain = -1;\n clearTimeout(timer);\n this.start();\n };\n\n this.start = function () {\n this.isPaused = false; // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function () {\n if (options.infinite) {\n _this.restart(); //rerun the timer.\n\n }\n\n if (cb && typeof cb === 'function') {\n cb();\n }\n }, remain);\n elem.trigger(\"timerstart.zf.\".concat(nameSpace));\n };\n\n this.pause = function () {\n this.isPaused = true; //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(\"timerpaused.zf.\".concat(nameSpace));\n };\n}\n\n\n\n/***/ }),\n\n/***/ 27:\n/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.timer.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.timer.js */\"./js/entries/plugins/foundation.util.timer.js\");\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.timer.js.map"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","modules","./foundation.core","./js/entries/plugins/foundation.util.timer.js","__webpack_exports__","__webpack_require__","r","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__","Timer","./js/foundation.util.timer.js","elem","options","cb","start","timer","_this","this","duration","nameSpace","Object","keys","data","remain","isPaused","restart","clearTimeout","Date","now","setTimeout","infinite","trigger","concat","pause","end","27","installedModules","m","c","name","getter","o","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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"}