{"version":3,"file":"foundation.util.touch.min.js","sources":["foundation.util.touch.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.touch\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\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 = 28);\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.touch.js\":\n/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.touch.js ***!\n \\*****************************************************/\n/*! exports provided: Foundation, Touch */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.touch */ \"./js/foundation.util.touch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Touch\", function() { return _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"]; });\n\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_2__[\"Foundation\"]; });\n\n\n\n_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\nwindow.Foundation.Touch = _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"];\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.touch.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.util.touch.js ***!\n \\*************************************/\n/*! exports provided: Touch */\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__, \"Touch\", function() { return Touch; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nvar Touch = {};\nvar startPosX,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd); // If the touch did not move, consider it as a \"tap\"\n\n if (!didMoved) {\n var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('tap', startEvent || e);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if (true === jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault) {\n e.preventDefault();\n }\n\n if (isMoving) {\n var x = e.touches[0].pageX; // var y = e.touches[0].pageY;\n\n var dx = startPosX - x; // var dy = startPosY - y;\n\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n\n if (Math.abs(dx) >= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.moveThreshold && elapsedTime <= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n } // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n\n\n if (dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event(\"swipe\".concat(dir), Object.assign({}, e)));\n }\n }\n}\n\nfunction onTouchStart(e) {\n if (e.touches.length === 1) {\n startPosX = e.touches[0].pageX;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, {\n passive: true === jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault\n });\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n} // function teardown() {\n// this.removeEventListener('touchstart', onTouchStart);\n// }\n\n\nvar SpotSwipe = /*#__PURE__*/function () {\n function SpotSwipe() {\n _classCallCheck(this, SpotSwipe);\n\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n\n this._init();\n }\n\n _createClass(SpotSwipe, [{\n key: \"_init\",\n value: function _init() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special.swipe = {\n setup: init\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special.tap = {\n setup: init\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(['left', 'up', 'down', 'right'], function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special[\"swipe\".concat(this)] = {\n setup: function setup() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).on('swipe', jquery__WEBPACK_IMPORTED_MODULE_0___default.a.noop);\n }\n };\n });\n }\n }]);\n\n return SpotSwipe;\n}();\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\n\nTouch.setupSpotSwipe = function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe = new SpotSwipe(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n};\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\n\n\nTouch.setupTouchHandler = function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.fn.addTouch = function () {\n this.each(function (i, el) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).bind('touchstart touchmove touchend touchcancel', function (event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function handleTouch(event) {\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent;\n\n if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0\n /*left*/\n , null);\n }\n\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function () {\n if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe === 'undefined') {\n Touch.setupSpotSwipe(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n Touch.setupTouchHandler(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n }\n};\n\n\n\n/***/ }),\n\n/***/ 28:\n/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.touch.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.touch.js */\"./js/entries/plugins/foundation.util.touch.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.touch.js.map"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","modules","./foundation.core","./js/entries/plugins/foundation.util.touch.js","__webpack_exports__","__webpack_require__","r","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__","d","_foundation_core__WEBPACK_IMPORTED_MODULE_2__","init","a","Foundation","Touch","./js/foundation.util.touch.js","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","startPosX","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","this","removeEventListener","onTouchMove","tapEvent","Event","trigger","dx","dir","spotSwipe","preventDefault","x","touches","pageX","Date","getTime","Math","abs","moveThreshold","timeThreshold","apply","arguments","assign","concat","onTouchStart","addEventListener","passive","SpotSwipe","instance","Constructor","TypeError","_classCallCheck","version","enabled","document","documentElement","_init","protoProps","staticProps","value","event","special","swipe","setup","tap","each","on","noop","prototype","setupSpotSwipe","setupTouchHandler","fn","addTouch","el","bind","handleTouch","simulatedEvent","first","changedTouches","type","touchstart","touchmove","touchend","MouseEvent","bubbles","cancelable","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","dispatchEvent","28","jquery","installedModules","m","c","name","getter","o","get","Symbol","toStringTag","t","mode","__esModule","ns","create","object","property","hasOwnProperty","call","p","s","moduleId","l"],"mappings":"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"}