{"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(\"jquery\"), require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jquery\", \"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"__FOUNDATION_EXTERNAL__\"] = factory(require(\"jquery\"), require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./js/foundation.util.touch.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.util.touch.js ***!\n \\*************************************/\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Touch: function() { return /* binding */ Touch; }\n/* harmony export */ });\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 _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\n\nvar Touch = {};\nvar startPosX,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd);\n\n // If the touch did not move, consider it as a \"tap\"\n if (!didMoved) {\n var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default().Event('tap', startEvent || e);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent);\n }\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\nfunction onTouchMove(e) {\n if (true === (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).preventDefault) {\n e.preventDefault();\n }\n if (isMoving) {\n var x = e.touches[0].pageX;\n // var y = e.touches[0].pageY;\n var dx = startPosX - x;\n // var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n if (Math.abs(dx) >= (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).moveThreshold && elapsedTime <= (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe).timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\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().Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default().Event(\"swipe\".concat(dir), Object.assign({}, e)));\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().spotSwipe).preventDefault\n });\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n}\n\n// function teardown() {\n// this.removeEventListener('touchstart', onTouchStart);\n// }\nvar SpotSwipe = /*#__PURE__*/function () {\n function SpotSwipe() {\n _classCallCheck(this, SpotSwipe);\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 this._init();\n }\n return _createClass(SpotSwipe, [{\n key: \"_init\",\n value: function _init() {\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().event).special.swipe = {\n setup: init\n };\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().event).special.tap = {\n setup: init\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default().each(['left', 'up', 'down', 'right'], function () {\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().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().noop));\n }\n };\n });\n }\n }]);\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 ****************************************************/\nTouch.setupSpotSwipe = function () {\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe) = new SpotSwipe((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function () {\n (jquery__WEBPACK_IMPORTED_MODULE_0___default().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 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 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 /*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\nTouch.init = function () {\n if (typeof (jquery__WEBPACK_IMPORTED_MODULE_0___default().spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n Touch.setupTouchHandler((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\n }\n};\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/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\n/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.touch.js ***!\n \\*****************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Foundation: function() { return /* reexport safe */ _foundation_core__WEBPACK_IMPORTED_MODULE_2__.Foundation; },\n/* harmony export */ Touch: function() { return /* reexport safe */ _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__.Touch; }\n/* harmony export */ });\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 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\n\n_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__.Touch.init((jquery__WEBPACK_IMPORTED_MODULE_0___default()));\nwindow.Foundation.Touch = _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__.Touch;\n\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=foundation.util.touch.js.map"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE_jquery__","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__webpack_modules__","./js/foundation.util.touch.js","__unused_webpack_module","__webpack_exports__","__webpack_require__","r","d","Touch","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_typeof","o","Symbol","iterator","constructor","prototype","_defineProperties","e","t","length","enumerable","configurable","writable","Object","defineProperty","i","toPrimitive","String","Number","call","TypeError","key","startPosX","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","this","removeEventListener","onTouchMove","tapEvent","Event","trigger","dx","dir","preventDefault","x","touches","pageX","Date","getTime","Math","abs","moveThreshold","timeThreshold","apply","arguments","assign","concat","onTouchStart","addEventListener","passive","init","SpotSwipe","version","enabled","document","documentElement","_init","value","special","swipe","setup","tap","each","on","setupSpotSwipe","setupTouchHandler","addTouch","el","bind","event","handleTouch","simulatedEvent","first","changedTouches","type","touchstart","touchmove","touchend","window","MouseEvent","bubbles","cancelable","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","target","dispatchEvent","./foundation.core","jquery","__webpack_module_cache__","getter","__esModule","a","definition","get","obj","prop","hasOwnProperty","toStringTag","Foundation","_foundation_core__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__","moduleId","cachedModule","undefined"],"mappings":"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"}