diff --git a/CHANGELOG.md b/CHANGELOG.md index ae1ca30..e360745 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ #### Bug Fix - fix animation performance +## 1.2.1 (2018-11-11) +#### Bug Fix +- fixed bug with `window` global variable in Node.js + ## 1.2.0 beta 1 / 1.2.0 (2018-10-15) #### Breaking Changes - replaced `mobile` option with `exclude` (disable tilt effect on selected user agents) diff --git a/lib/universal-tilt.js b/lib/universal-tilt.js index d5a623f..e819a60 100644 --- a/lib/universal-tilt.js +++ b/lib/universal-tilt.js @@ -7,7 +7,7 @@ exports["UniversalTilt"] = factory(); else root["UniversalTilt"] = factory(); -})(window, function() { +})(global, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js"); +/******/ return __webpack_require__(__webpack_require__.s = "./src/universal-tilt.js"); /******/ }) /************************************************************************/ /******/ ({ @@ -125,21 +125,6 @@ try { module.exports = g; -/***/ }), - -/***/ "./src/index.js": -/*!**********************!*\ - !*** ./src/index.js ***! - \**********************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _universal_tilt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./universal-tilt */ "./src/universal-tilt.js"); - -/* harmony default export */ __webpack_exports__["default"] = (_universal_tilt__WEBPACK_IMPORTED_MODULE_0__["default"]); - /***/ }), /***/ "./src/universal-tilt.js": diff --git a/lib/universal-tilt.js.map b/lib/universal-tilt.js.map index eeb8a14..baaeb9f 100644 --- a/lib/universal-tilt.js.map +++ b/lib/universal-tilt.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://UniversalTilt/webpack/universalModuleDefinition","webpack://UniversalTilt/webpack/bootstrap","webpack://UniversalTilt/(webpack)/buildin/global.js","webpack://UniversalTilt/./src/index.js","webpack://UniversalTilt/./src/universal-tilt.js"],"names":["UniversalTilt","elements","settings","length","init","element","reverse","shine","style","transform","perspective","addEventListeners","universalTilt","window","DeviceMotionEvent","document","documentElement","navigator","userAgent","match","exclude","isMobile","addEventListener","e","onDeviceMove","base","onMouseEnter","onMouseMove","onMouseLeave","updateElementPosition","transitions","event","requestAnimationFrame","update","reset","pageX","left","width","pageY","top","height","Object","assign","shineElement","opacity","x","y","accelerationIncludingGravity","stateX","stateY","orientation","clientX","clientY","innerWidth","innerHeight","Math","min","max","tiltX","toFixed","tiltY","angle","atan2","PI","rect","getBoundingClientRect","offsetWidth","offsetHeight","values","getValues","disabled","toUpperCase","scale","dispatchEvent","CustomEvent","detail","shineOuter","createElement","shineInner","classList","add","appendChild","shineWrapper","querySelector","position","overflow","clearTimeout","timeout","transition","speed","easing","setTimeout","defaults","custom","setting","getAttribute","attribute","JSON","parse","err","querySelectorAll","scope","global","jQuery","$","fn","options"],"mappings":"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","file":"universal-tilt.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"UniversalTilt\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"UniversalTilt\"] = factory();\n\telse\n\t\troot[\"UniversalTilt\"] = factory();\n})(window, function() {\nreturn "," \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 = \"./src/index.js\");\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import UniversalTilt from './universal-tilt';\nexport default UniversalTilt;\n","export default class UniversalTilt {\n constructor(elements, settings = {}) {\n if (elements.length > 0) {\n this.init(elements, settings);\n return;\n } else if (elements.length === 0) {\n return;\n } else {\n this.element = elements;\n }\n\n this.settings = this.settings(settings);\n\n this.reverse = this.settings.reverse ? -1 : 1;\n\n if (this.settings.shine) this.shine();\n\n this.element.style.transform = `perspective(${\n this.settings.perspective\n }px)`;\n\n this.addEventListeners();\n }\n\n init(elements, settings) {\n for (const element of elements) {\n this.universalTilt = new UniversalTilt(element, settings);\n }\n }\n\n isMobile() {\n if (\n window.DeviceMotionEvent &&\n 'ontouchstart' in document.documentElement\n ) {\n return true;\n }\n }\n\n addEventListeners() {\n if (!navigator.userAgent.match(this.settings.exclude)) {\n if (this.isMobile()) {\n window.addEventListener('devicemotion', e => this.onDeviceMove(e));\n } else {\n if (this.settings['position-base'] === 'element') {\n this.base = this.element;\n } else if (this.settings['position-base'] === 'window') {\n this.base = window;\n }\n\n this.base.addEventListener('mouseenter', e => this.onMouseEnter(e));\n this.base.addEventListener('mousemove', e => this.onMouseMove(e));\n this.base.addEventListener('mouseleave', e => this.onMouseLeave(e));\n }\n }\n }\n\n onMouseEnter(e) {\n this.updateElementPosition();\n this.transitions();\n\n if (typeof this.settings.onMouseEnter === 'function') {\n this.settings.onMouseEnter(this.element);\n }\n }\n\n onMouseMove(e) {\n this.event = e;\n\n this.updateElementPosition();\n window.requestAnimationFrame(() => this.update());\n\n if (typeof this.settings.onMouseMove === 'function') {\n this.settings.onMouseMove(this.element);\n }\n }\n\n onMouseLeave(e) {\n this.transitions();\n window.requestAnimationFrame(() => this.reset());\n\n if (typeof this.settings.onMouseLeave === 'function') {\n this.settings.onMouseLeave(this.element);\n }\n }\n\n onDeviceMove(e) {\n this.event = e;\n\n this.update();\n this.updateElementPosition();\n this.transitions();\n\n if (typeof this.settings.onDeviceMove === 'function') {\n this.settings.onDeviceMove(this.element);\n }\n }\n\n reset() {\n this.event = {\n pageX: this.left + this.width / 2,\n pageY: this.top + this.height / 2\n };\n\n if (this.settings.reset) {\n this.element.style.transform = `perspective(${\n this.settings.perspective\n }px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`;\n }\n\n if (this.settings.shine && !this.settings['shine-save']) {\n Object.assign(this.shineElement.style, {\n transform: 'rotate(180deg) translate3d(-50%, -50%, 0)',\n opacity: '0'\n });\n }\n }\n\n getValues() {\n let x, y;\n\n if (this.isMobile()) {\n x = this.event.accelerationIncludingGravity.x / 4;\n y = this.event.accelerationIncludingGravity.y / 4;\n\n let stateX, stateY;\n\n if (window.orientation === 90) {\n stateX = (1.0 + x) / 2;\n stateY = (1.0 - y) / 2;\n\n y = stateX;\n x = stateY;\n } else if (window.orientation === -90) {\n stateX = (1.0 - x) / 2;\n stateY = (1.0 + y) / 2;\n\n y = stateX;\n x = stateY;\n } else if (window.orientation === 0) {\n stateY = (1.0 + y) / 2;\n stateX = (1.0 + x) / 2;\n\n y = stateY;\n x = stateX;\n } else if (window.orientation === 180) {\n stateY = (1.0 - y) / 2;\n stateX = (1.0 - x) / 2;\n\n y = stateY;\n x = stateX;\n }\n } else {\n // find element vertical & horizontal center\n if (this.settings['position-base'] === 'element') {\n x = (this.event.clientX - this.left) / this.width;\n y = (this.event.clientY - this.top) / this.height;\n } else if (this.settings['position-base'] === 'window') {\n x = this.event.clientX / window.innerWidth;\n y = this.event.clientY / window.innerHeight;\n }\n }\n\n // set movement for axis\n x = Math.min(Math.max(x, 0), 1);\n y = Math.min(Math.max(y, 0), 1);\n\n const tiltX = (this.settings.max / 2 - x * this.settings.max).toFixed(2);\n const tiltY = (y * this.settings.max - this.settings.max / 2).toFixed(2);\n\n const angle = Math.atan2(x - 0.5, 0.5 - y) * (180 / Math.PI);\n\n return {\n tiltX: this.reverse * tiltX,\n tiltY: this.reverse * tiltY,\n angle\n };\n }\n\n updateElementPosition() {\n const rect = this.element.getBoundingClientRect();\n\n this.width = this.element.offsetWidth;\n this.height = this.element.offsetHeight;\n this.left = rect.left;\n this.top = rect.top;\n }\n\n update() {\n const values = this.getValues();\n\n this.element.style.transform = `perspective(${this.settings.perspective}px)\n rotateX(${\n this.settings.disabled && this.settings.disabled.toUpperCase() === 'X'\n ? 0\n : values.tiltY\n }deg)\n rotateY(${\n this.settings.disabled && this.settings.disabled.toUpperCase() === 'Y'\n ? 0\n : values.tiltX\n }deg)\n scale3d(${this.settings.scale}, ${this.settings.scale}, ${\n this.settings.scale\n })`;\n\n if (this.settings.shine) {\n Object.assign(this.shineElement.style, {\n transform: `rotate(${values.angle}deg) translate3d(-50%, -50%, 0)`,\n opacity: `${this.settings['shine-opacity']}`\n });\n }\n\n this.element.dispatchEvent(\n new CustomEvent('tiltChange', {\n detail: values\n })\n );\n }\n\n shine() {\n const shineOuter = document.createElement('div');\n const shineInner = document.createElement('div');\n\n shineOuter.classList.add('shine');\n shineInner.classList.add('shine-inner');\n\n shineOuter.appendChild(shineInner);\n this.element.appendChild(shineOuter);\n\n this.shineWrapper = this.element.querySelector('.shine');\n this.shineElement = this.element.querySelector('.shine-inner');\n\n Object.assign(this.shineWrapper.style, {\n position: 'absolute',\n top: '0',\n left: '0',\n height: '100%',\n width: '100%',\n overflow: 'hidden'\n });\n\n // set style for shine element\n Object.assign(this.shineElement.style, {\n position: 'absolute',\n top: '50%',\n left: '50%',\n 'pointer-events': 'none',\n 'background-image':\n 'linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)',\n width: `${this.element.offsetWidth * 2}px`,\n height: `${this.element.offsetWidth * 2}px`,\n transform: 'rotate(180deg) translate3d(-50%, -50%, 0)',\n 'transform-origin': '0% 0%',\n opacity: '0'\n });\n }\n\n transitions() {\n clearTimeout(this.timeout);\n\n this.element.style.transition = `all ${this.settings.speed}ms ${\n this.settings.easing\n }`;\n\n if (this.settings.shine) {\n this.shineElement.style.transition = `opacity ${this.settings.speed}ms ${\n this.settings.easing\n }`;\n }\n\n this.timeout = setTimeout(() => {\n this.element.style.transition = '';\n if (this.settings.shine) this.shineElement.style.transition = '';\n }, this.settings.speed);\n }\n\n settings(settings) {\n const defaults = {\n 'position-base': 'element', // element or window\n reset: true, // enable/disable element position reset after mouseout\n exclude: null, // enable/disable tilt effect on selected user agents\n\n shine: false, // add/remove shine effect on mouseover\n 'shine-opacity': 0, // shine opacity (0-1) (shine value must be true)\n 'shine-save': false, // save/reset shine effect on mouseout (shine value must be true)\n\n max: 35, // max tilt value\n perspective: 1000, // tilt effect perspective\n scale: 1.0, // element scale on mouseover\n disabled: null, // disable axis (X or Y)\n reverse: false, // reverse tilt effect directory\n\n speed: 300, // transition speed\n easing: 'cubic-bezier(.03, .98, .52, .99)', // transition easing\n\n onMouseEnter: null, // callback on mouse enter\n onMouseMove: null, // callback on mouse move\n onMouseLeave: null, // callback on mouse leave\n onDeviceMove: null // callback on device move\n };\n\n const custom = {};\n\n for (const setting in defaults) {\n if (setting in settings) {\n custom[setting] = settings[setting];\n } else if (this.element.getAttribute(`data-${setting}`)) {\n const attribute = this.element.getAttribute(`data-${setting}`);\n try {\n custom[setting] = JSON.parse(attribute);\n } catch (err) {\n custom[setting] = attribute;\n }\n } else {\n custom[setting] = defaults[setting];\n }\n }\n\n return custom;\n }\n}\n\nif (typeof document !== 'undefined') {\n new UniversalTilt(document.querySelectorAll('[tilt]'));\n}\n\nlet scope;\n\nif (typeof window !== 'undefined') scope = window;\nelse if (typeof global !== 'undefined') scope = global;\n\nif (scope && scope.jQuery) {\n const $ = scope.jQuery;\n\n $.fn.universalTilt = function(options) {\n new UniversalTilt(this, options);\n };\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://UniversalTilt/webpack/universalModuleDefinition","webpack://UniversalTilt/webpack/bootstrap","webpack://UniversalTilt/(webpack)/buildin/global.js","webpack://UniversalTilt/./src/universal-tilt.js"],"names":["UniversalTilt","elements","settings","length","init","element","reverse","shine","style","transform","perspective","addEventListeners","universalTilt","window","DeviceMotionEvent","document","documentElement","navigator","userAgent","match","exclude","isMobile","addEventListener","e","onDeviceMove","base","onMouseEnter","onMouseMove","onMouseLeave","updateElementPosition","transitions","event","requestAnimationFrame","update","reset","pageX","left","width","pageY","top","height","Object","assign","shineElement","opacity","x","y","accelerationIncludingGravity","stateX","stateY","orientation","clientX","clientY","innerWidth","innerHeight","Math","min","max","tiltX","toFixed","tiltY","angle","atan2","PI","rect","getBoundingClientRect","offsetWidth","offsetHeight","values","getValues","disabled","toUpperCase","scale","dispatchEvent","CustomEvent","detail","shineOuter","createElement","shineInner","classList","add","appendChild","shineWrapper","querySelector","position","overflow","clearTimeout","timeout","transition","speed","easing","setTimeout","defaults","custom","setting","getAttribute","attribute","JSON","parse","err","querySelectorAll","scope","global","jQuery","$","fn","options"],"mappings":"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","file":"universal-tilt.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"UniversalTilt\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"UniversalTilt\"] = factory();\n\telse\n\t\troot[\"UniversalTilt\"] = factory();\n})(global, function() {\nreturn "," \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 = \"./src/universal-tilt.js\");\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","export default class UniversalTilt {\n constructor(elements, settings = {}) {\n if (elements.length > 0) {\n this.init(elements, settings);\n return;\n } else if (elements.length === 0) {\n return;\n } else {\n this.element = elements;\n }\n\n this.settings = this.settings(settings);\n\n this.reverse = this.settings.reverse ? -1 : 1;\n\n if (this.settings.shine) this.shine();\n\n this.element.style.transform = `perspective(${\n this.settings.perspective\n }px)`;\n\n this.addEventListeners();\n }\n\n init(elements, settings) {\n for (const element of elements) {\n this.universalTilt = new UniversalTilt(element, settings);\n }\n }\n\n isMobile() {\n if (\n window.DeviceMotionEvent &&\n 'ontouchstart' in document.documentElement\n ) {\n return true;\n }\n }\n\n addEventListeners() {\n if (!navigator.userAgent.match(this.settings.exclude)) {\n if (this.isMobile()) {\n window.addEventListener('devicemotion', e => this.onDeviceMove(e));\n } else {\n if (this.settings['position-base'] === 'element') {\n this.base = this.element;\n } else if (this.settings['position-base'] === 'window') {\n this.base = window;\n }\n\n this.base.addEventListener('mouseenter', e => this.onMouseEnter(e));\n this.base.addEventListener('mousemove', e => this.onMouseMove(e));\n this.base.addEventListener('mouseleave', e => this.onMouseLeave(e));\n }\n }\n }\n\n onMouseEnter(e) {\n this.updateElementPosition();\n this.transitions();\n\n if (typeof this.settings.onMouseEnter === 'function') {\n this.settings.onMouseEnter(this.element);\n }\n }\n\n onMouseMove(e) {\n this.event = e;\n\n this.updateElementPosition();\n window.requestAnimationFrame(() => this.update());\n\n if (typeof this.settings.onMouseMove === 'function') {\n this.settings.onMouseMove(this.element);\n }\n }\n\n onMouseLeave(e) {\n this.transitions();\n window.requestAnimationFrame(() => this.reset());\n\n if (typeof this.settings.onMouseLeave === 'function') {\n this.settings.onMouseLeave(this.element);\n }\n }\n\n onDeviceMove(e) {\n this.event = e;\n\n this.update();\n this.updateElementPosition();\n this.transitions();\n\n if (typeof this.settings.onDeviceMove === 'function') {\n this.settings.onDeviceMove(this.element);\n }\n }\n\n reset() {\n this.event = {\n pageX: this.left + this.width / 2,\n pageY: this.top + this.height / 2\n };\n\n if (this.settings.reset) {\n this.element.style.transform = `perspective(${\n this.settings.perspective\n }px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`;\n }\n\n if (this.settings.shine && !this.settings['shine-save']) {\n Object.assign(this.shineElement.style, {\n transform: 'rotate(180deg) translate3d(-50%, -50%, 0)',\n opacity: '0'\n });\n }\n }\n\n getValues() {\n let x, y;\n\n if (this.isMobile()) {\n x = this.event.accelerationIncludingGravity.x / 4;\n y = this.event.accelerationIncludingGravity.y / 4;\n\n let stateX, stateY;\n\n if (window.orientation === 90) {\n stateX = (1.0 + x) / 2;\n stateY = (1.0 - y) / 2;\n\n y = stateX;\n x = stateY;\n } else if (window.orientation === -90) {\n stateX = (1.0 - x) / 2;\n stateY = (1.0 + y) / 2;\n\n y = stateX;\n x = stateY;\n } else if (window.orientation === 0) {\n stateY = (1.0 + y) / 2;\n stateX = (1.0 + x) / 2;\n\n y = stateY;\n x = stateX;\n } else if (window.orientation === 180) {\n stateY = (1.0 - y) / 2;\n stateX = (1.0 - x) / 2;\n\n y = stateY;\n x = stateX;\n }\n } else {\n // find element vertical & horizontal center\n if (this.settings['position-base'] === 'element') {\n x = (this.event.clientX - this.left) / this.width;\n y = (this.event.clientY - this.top) / this.height;\n } else if (this.settings['position-base'] === 'window') {\n x = this.event.clientX / window.innerWidth;\n y = this.event.clientY / window.innerHeight;\n }\n }\n\n // set movement for axis\n x = Math.min(Math.max(x, 0), 1);\n y = Math.min(Math.max(y, 0), 1);\n\n const tiltX = (this.settings.max / 2 - x * this.settings.max).toFixed(2);\n const tiltY = (y * this.settings.max - this.settings.max / 2).toFixed(2);\n\n const angle = Math.atan2(x - 0.5, 0.5 - y) * (180 / Math.PI);\n\n return {\n tiltX: this.reverse * tiltX,\n tiltY: this.reverse * tiltY,\n angle\n };\n }\n\n updateElementPosition() {\n const rect = this.element.getBoundingClientRect();\n\n this.width = this.element.offsetWidth;\n this.height = this.element.offsetHeight;\n this.left = rect.left;\n this.top = rect.top;\n }\n\n update() {\n const values = this.getValues();\n\n this.element.style.transform = `perspective(${this.settings.perspective}px)\n rotateX(${\n this.settings.disabled && this.settings.disabled.toUpperCase() === 'X'\n ? 0\n : values.tiltY\n }deg)\n rotateY(${\n this.settings.disabled && this.settings.disabled.toUpperCase() === 'Y'\n ? 0\n : values.tiltX\n }deg)\n scale3d(${this.settings.scale}, ${this.settings.scale}, ${\n this.settings.scale\n })`;\n\n if (this.settings.shine) {\n Object.assign(this.shineElement.style, {\n transform: `rotate(${values.angle}deg) translate3d(-50%, -50%, 0)`,\n opacity: `${this.settings['shine-opacity']}`\n });\n }\n\n this.element.dispatchEvent(\n new CustomEvent('tiltChange', {\n detail: values\n })\n );\n }\n\n shine() {\n const shineOuter = document.createElement('div');\n const shineInner = document.createElement('div');\n\n shineOuter.classList.add('shine');\n shineInner.classList.add('shine-inner');\n\n shineOuter.appendChild(shineInner);\n this.element.appendChild(shineOuter);\n\n this.shineWrapper = this.element.querySelector('.shine');\n this.shineElement = this.element.querySelector('.shine-inner');\n\n Object.assign(this.shineWrapper.style, {\n position: 'absolute',\n top: '0',\n left: '0',\n height: '100%',\n width: '100%',\n overflow: 'hidden'\n });\n\n // set style for shine element\n Object.assign(this.shineElement.style, {\n position: 'absolute',\n top: '50%',\n left: '50%',\n 'pointer-events': 'none',\n 'background-image':\n 'linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)',\n width: `${this.element.offsetWidth * 2}px`,\n height: `${this.element.offsetWidth * 2}px`,\n transform: 'rotate(180deg) translate3d(-50%, -50%, 0)',\n 'transform-origin': '0% 0%',\n opacity: '0'\n });\n }\n\n transitions() {\n clearTimeout(this.timeout);\n\n this.element.style.transition = `all ${this.settings.speed}ms ${\n this.settings.easing\n }`;\n\n if (this.settings.shine) {\n this.shineElement.style.transition = `opacity ${this.settings.speed}ms ${\n this.settings.easing\n }`;\n }\n\n this.timeout = setTimeout(() => {\n this.element.style.transition = '';\n if (this.settings.shine) this.shineElement.style.transition = '';\n }, this.settings.speed);\n }\n\n settings(settings) {\n const defaults = {\n 'position-base': 'element', // element or window\n reset: true, // enable/disable element position reset after mouseout\n exclude: null, // enable/disable tilt effect on selected user agents\n\n shine: false, // add/remove shine effect on mouseover\n 'shine-opacity': 0, // shine opacity (0-1) (shine value must be true)\n 'shine-save': false, // save/reset shine effect on mouseout (shine value must be true)\n\n max: 35, // max tilt value\n perspective: 1000, // tilt effect perspective\n scale: 1.0, // element scale on mouseover\n disabled: null, // disable axis (X or Y)\n reverse: false, // reverse tilt effect directory\n\n speed: 300, // transition speed\n easing: 'cubic-bezier(.03, .98, .52, .99)', // transition easing\n\n onMouseEnter: null, // callback on mouse enter\n onMouseMove: null, // callback on mouse move\n onMouseLeave: null, // callback on mouse leave\n onDeviceMove: null // callback on device move\n };\n\n const custom = {};\n\n for (const setting in defaults) {\n if (setting in settings) {\n custom[setting] = settings[setting];\n } else if (this.element.getAttribute(`data-${setting}`)) {\n const attribute = this.element.getAttribute(`data-${setting}`);\n try {\n custom[setting] = JSON.parse(attribute);\n } catch (err) {\n custom[setting] = attribute;\n }\n } else {\n custom[setting] = defaults[setting];\n }\n }\n\n return custom;\n }\n}\n\nif (typeof document !== 'undefined') {\n new UniversalTilt(document.querySelectorAll('[tilt]'));\n}\n\nlet scope;\n\nif (typeof window !== 'undefined') scope = window;\nelse if (typeof global !== 'undefined') scope = global;\n\nif (scope && scope.jQuery) {\n const $ = scope.jQuery;\n\n $.fn.universalTilt = function(options) {\n new UniversalTilt(this, options);\n };\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/universal-tilt.min.js b/lib/universal-tilt.min.js index 6d67005..007eb3f 100644 --- a/lib/universal-tilt.min.js +++ b/lib/universal-tilt.min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("UniversalTilt",[],t):"object"==typeof exports?exports.UniversalTilt=t():e.UniversalTilt=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var s=t[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(i,s,function(t){return e[t]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";(function(e){function i(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t.length>0?this.init(t,n):0!==t.length&&(this.element=t,this.settings=this.settings(n),this.reverse=this.settings.reverse?-1:1,this.settings.shine&&this.shine(),this.element.style.transform="perspective(".concat(this.settings.perspective,"px)"),this.addEventListeners())}return function(e,t,n){t&&i(e.prototype,t),n&&i(e,n)}(e,[{key:"init",value:function(t,n){var i=!0,s=!1,o=void 0;try{for(var a,r=t[Symbol.iterator]();!(i=(a=r.next()).done);i=!0){var l=a.value;this.universalTilt=new e(l,n)}}catch(e){s=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}}},{key:"isMobile",value:function(){if(window.DeviceMotionEvent&&"ontouchstart"in document.documentElement)return!0}},{key:"addEventListeners",value:function(){var e=this;navigator.userAgent.match(this.settings.exclude)||(this.isMobile()?window.addEventListener("devicemotion",function(t){return e.onDeviceMove(t)}):("element"===this.settings["position-base"]?this.base=this.element:"window"===this.settings["position-base"]&&(this.base=window),this.base.addEventListener("mouseenter",function(t){return e.onMouseEnter(t)}),this.base.addEventListener("mousemove",function(t){return e.onMouseMove(t)}),this.base.addEventListener("mouseleave",function(t){return e.onMouseLeave(t)})))}},{key:"onMouseEnter",value:function(e){this.updateElementPosition(),this.transitions(),"function"==typeof this.settings.onMouseEnter&&this.settings.onMouseEnter(this.element)}},{key:"onMouseMove",value:function(e){var t=this;this.event=e,this.updateElementPosition(),window.requestAnimationFrame(function(){return t.update()}),"function"==typeof this.settings.onMouseMove&&this.settings.onMouseMove(this.element)}},{key:"onMouseLeave",value:function(e){var t=this;this.transitions(),window.requestAnimationFrame(function(){return t.reset()}),"function"==typeof this.settings.onMouseLeave&&this.settings.onMouseLeave(this.element)}},{key:"onDeviceMove",value:function(e){this.event=e,this.update(),this.updateElementPosition(),this.transitions(),"function"==typeof this.settings.onDeviceMove&&this.settings.onDeviceMove(this.element)}},{key:"reset",value:function(){this.event={pageX:this.left+this.width/2,pageY:this.top+this.height/2},this.settings.reset&&(this.element.style.transform="perspective(".concat(this.settings.perspective,"px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)")),this.settings.shine&&!this.settings["shine-save"]&&Object.assign(this.shineElement.style,{transform:"rotate(180deg) translate3d(-50%, -50%, 0)",opacity:"0"})}},{key:"getValues",value:function(){var e,t,n;this.isMobile()?(e=this.event.accelerationIncludingGravity.x/4,t=this.event.accelerationIncludingGravity.y/4,90===window.orientation?(n=(1-t)/2,t=(1+e)/2,e=n):-90===window.orientation?(n=(1+t)/2,t=(1-e)/2,e=n):0===window.orientation?(t=n=(1+t)/2,e=(1+e)/2):180===window.orientation&&(t=n=(1-t)/2,e=(1-e)/2)):"element"===this.settings["position-base"]?(e=(this.event.clientX-this.left)/this.width,t=(this.event.clientY-this.top)/this.height):"window"===this.settings["position-base"]&&(e=this.event.clientX/window.innerWidth,t=this.event.clientY/window.innerHeight);e=Math.min(Math.max(e,0),1),t=Math.min(Math.max(t,0),1);var i=(this.settings.max/2-e*this.settings.max).toFixed(2),s=(t*this.settings.max-this.settings.max/2).toFixed(2),o=Math.atan2(e-.5,.5-t)*(180/Math.PI);return{tiltX:this.reverse*i,tiltY:this.reverse*s,angle:o}}},{key:"updateElementPosition",value:function(){var e=this.element.getBoundingClientRect();this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.left=e.left,this.top=e.top}},{key:"update",value:function(){var e=this.getValues();this.element.style.transform="perspective(".concat(this.settings.perspective,"px)\n rotateX(").concat(this.settings.disabled&&"X"===this.settings.disabled.toUpperCase()?0:e.tiltY,"deg)\n rotateY(").concat(this.settings.disabled&&"Y"===this.settings.disabled.toUpperCase()?0:e.tiltX,"deg)\n scale3d(").concat(this.settings.scale,", ").concat(this.settings.scale,", ").concat(this.settings.scale,")"),this.settings.shine&&Object.assign(this.shineElement.style,{transform:"rotate(".concat(e.angle,"deg) translate3d(-50%, -50%, 0)"),opacity:"".concat(this.settings["shine-opacity"])}),this.element.dispatchEvent(new CustomEvent("tiltChange",{detail:e}))}},{key:"shine",value:function(){var e=document.createElement("div"),t=document.createElement("div");e.classList.add("shine"),t.classList.add("shine-inner"),e.appendChild(t),this.element.appendChild(e),this.shineWrapper=this.element.querySelector(".shine"),this.shineElement=this.element.querySelector(".shine-inner"),Object.assign(this.shineWrapper.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",overflow:"hidden"}),Object.assign(this.shineElement.style,{position:"absolute",top:"50%",left:"50%","pointer-events":"none","background-image":"linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)",width:"".concat(2*this.element.offsetWidth,"px"),height:"".concat(2*this.element.offsetWidth,"px"),transform:"rotate(180deg) translate3d(-50%, -50%, 0)","transform-origin":"0% 0%",opacity:"0"})}},{key:"transitions",value:function(){var e=this;clearTimeout(this.timeout),this.element.style.transition="all ".concat(this.settings.speed,"ms ").concat(this.settings.easing),this.settings.shine&&(this.shineElement.style.transition="opacity ".concat(this.settings.speed,"ms ").concat(this.settings.easing)),this.timeout=setTimeout(function(){e.element.style.transition="",e.settings.shine&&(e.shineElement.style.transition="")},this.settings.speed)}},{key:"settings",value:function(e){var t={"position-base":"element",reset:!0,exclude:null,shine:!1,"shine-opacity":0,"shine-save":!1,max:35,perspective:1e3,scale:1,disabled:null,reverse:!1,speed:300,easing:"cubic-bezier(.03, .98, .52, .99)",onMouseEnter:null,onMouseMove:null,onMouseLeave:null,onDeviceMove:null},n={};for(var i in t)if(i in e)n[i]=e[i];else if(this.element.getAttribute("data-".concat(i))){var s=this.element.getAttribute("data-".concat(i));try{n[i]=JSON.parse(s)}catch(e){n[i]=s}}else n[i]=t[i];return n}}]),e}();("undefined"!=typeof document&&new o(document.querySelectorAll("[tilt]")),"undefined"!=typeof window?s=window:void 0!==e&&(s=e),s&&s.jQuery)&&(s.jQuery.fn.universalTilt=function(e){new o(this,e)})}).call(this,n(2))},function(e,t,n){"use strict";n.r(t);var i=n(0);t.default=i.a},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("UniversalTilt",[],t):"object"==typeof exports?exports.UniversalTilt=t():e.UniversalTilt=t()}(global,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var s=t[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(i,s,function(t){return e[t]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),function(e){function i(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t.length>0?this.init(t,n):0!==t.length&&(this.element=t,this.settings=this.settings(n),this.reverse=this.settings.reverse?-1:1,this.settings.shine&&this.shine(),this.element.style.transform="perspective(".concat(this.settings.perspective,"px)"),this.addEventListeners())}return function(e,t,n){t&&i(e.prototype,t),n&&i(e,n)}(e,[{key:"init",value:function(t,n){var i=!0,s=!1,o=void 0;try{for(var a,r=t[Symbol.iterator]();!(i=(a=r.next()).done);i=!0){var l=a.value;this.universalTilt=new e(l,n)}}catch(e){s=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}}},{key:"isMobile",value:function(){if(window.DeviceMotionEvent&&"ontouchstart"in document.documentElement)return!0}},{key:"addEventListeners",value:function(){var e=this;navigator.userAgent.match(this.settings.exclude)||(this.isMobile()?window.addEventListener("devicemotion",function(t){return e.onDeviceMove(t)}):("element"===this.settings["position-base"]?this.base=this.element:"window"===this.settings["position-base"]&&(this.base=window),this.base.addEventListener("mouseenter",function(t){return e.onMouseEnter(t)}),this.base.addEventListener("mousemove",function(t){return e.onMouseMove(t)}),this.base.addEventListener("mouseleave",function(t){return e.onMouseLeave(t)})))}},{key:"onMouseEnter",value:function(e){this.updateElementPosition(),this.transitions(),"function"==typeof this.settings.onMouseEnter&&this.settings.onMouseEnter(this.element)}},{key:"onMouseMove",value:function(e){var t=this;this.event=e,this.updateElementPosition(),window.requestAnimationFrame(function(){return t.update()}),"function"==typeof this.settings.onMouseMove&&this.settings.onMouseMove(this.element)}},{key:"onMouseLeave",value:function(e){var t=this;this.transitions(),window.requestAnimationFrame(function(){return t.reset()}),"function"==typeof this.settings.onMouseLeave&&this.settings.onMouseLeave(this.element)}},{key:"onDeviceMove",value:function(e){this.event=e,this.update(),this.updateElementPosition(),this.transitions(),"function"==typeof this.settings.onDeviceMove&&this.settings.onDeviceMove(this.element)}},{key:"reset",value:function(){this.event={pageX:this.left+this.width/2,pageY:this.top+this.height/2},this.settings.reset&&(this.element.style.transform="perspective(".concat(this.settings.perspective,"px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)")),this.settings.shine&&!this.settings["shine-save"]&&Object.assign(this.shineElement.style,{transform:"rotate(180deg) translate3d(-50%, -50%, 0)",opacity:"0"})}},{key:"getValues",value:function(){var e,t,n;this.isMobile()?(e=this.event.accelerationIncludingGravity.x/4,t=this.event.accelerationIncludingGravity.y/4,90===window.orientation?(n=(1-t)/2,t=(1+e)/2,e=n):-90===window.orientation?(n=(1+t)/2,t=(1-e)/2,e=n):0===window.orientation?(t=n=(1+t)/2,e=(1+e)/2):180===window.orientation&&(t=n=(1-t)/2,e=(1-e)/2)):"element"===this.settings["position-base"]?(e=(this.event.clientX-this.left)/this.width,t=(this.event.clientY-this.top)/this.height):"window"===this.settings["position-base"]&&(e=this.event.clientX/window.innerWidth,t=this.event.clientY/window.innerHeight);e=Math.min(Math.max(e,0),1),t=Math.min(Math.max(t,0),1);var i=(this.settings.max/2-e*this.settings.max).toFixed(2),s=(t*this.settings.max-this.settings.max/2).toFixed(2),o=Math.atan2(e-.5,.5-t)*(180/Math.PI);return{tiltX:this.reverse*i,tiltY:this.reverse*s,angle:o}}},{key:"updateElementPosition",value:function(){var e=this.element.getBoundingClientRect();this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.left=e.left,this.top=e.top}},{key:"update",value:function(){var e=this.getValues();this.element.style.transform="perspective(".concat(this.settings.perspective,"px)\n rotateX(").concat(this.settings.disabled&&"X"===this.settings.disabled.toUpperCase()?0:e.tiltY,"deg)\n rotateY(").concat(this.settings.disabled&&"Y"===this.settings.disabled.toUpperCase()?0:e.tiltX,"deg)\n scale3d(").concat(this.settings.scale,", ").concat(this.settings.scale,", ").concat(this.settings.scale,")"),this.settings.shine&&Object.assign(this.shineElement.style,{transform:"rotate(".concat(e.angle,"deg) translate3d(-50%, -50%, 0)"),opacity:"".concat(this.settings["shine-opacity"])}),this.element.dispatchEvent(new CustomEvent("tiltChange",{detail:e}))}},{key:"shine",value:function(){var e=document.createElement("div"),t=document.createElement("div");e.classList.add("shine"),t.classList.add("shine-inner"),e.appendChild(t),this.element.appendChild(e),this.shineWrapper=this.element.querySelector(".shine"),this.shineElement=this.element.querySelector(".shine-inner"),Object.assign(this.shineWrapper.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",overflow:"hidden"}),Object.assign(this.shineElement.style,{position:"absolute",top:"50%",left:"50%","pointer-events":"none","background-image":"linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)",width:"".concat(2*this.element.offsetWidth,"px"),height:"".concat(2*this.element.offsetWidth,"px"),transform:"rotate(180deg) translate3d(-50%, -50%, 0)","transform-origin":"0% 0%",opacity:"0"})}},{key:"transitions",value:function(){var e=this;clearTimeout(this.timeout),this.element.style.transition="all ".concat(this.settings.speed,"ms ").concat(this.settings.easing),this.settings.shine&&(this.shineElement.style.transition="opacity ".concat(this.settings.speed,"ms ").concat(this.settings.easing)),this.timeout=setTimeout(function(){e.element.style.transition="",e.settings.shine&&(e.shineElement.style.transition="")},this.settings.speed)}},{key:"settings",value:function(e){var t={"position-base":"element",reset:!0,exclude:null,shine:!1,"shine-opacity":0,"shine-save":!1,max:35,perspective:1e3,scale:1,disabled:null,reverse:!1,speed:300,easing:"cubic-bezier(.03, .98, .52, .99)",onMouseEnter:null,onMouseMove:null,onMouseLeave:null,onDeviceMove:null},n={};for(var i in t)if(i in e)n[i]=e[i];else if(this.element.getAttribute("data-".concat(i))){var s=this.element.getAttribute("data-".concat(i));try{n[i]=JSON.parse(s)}catch(e){n[i]=s}}else n[i]=t[i];return n}}]),e}();("undefined"!=typeof document&&new o(document.querySelectorAll("[tilt]")),"undefined"!=typeof window?s=window:void 0!==e&&(s=e),s&&s.jQuery)&&(s.jQuery.fn.universalTilt=function(e){new o(this,e)})}.call(this,n(1))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n}])}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 63ea92c..8df1236 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,13 @@ { "name": "universal-tilt.js", - "version": "1.2.0", + "version": "1.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/cli": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.2.tgz", - "integrity": "sha512-K3WDlpBPGpoW11SLKFEBhMsITomPovsrZ/wnM3y+WStbytukDXC0OBic3yQp+j058QUw0+R/jfx2obwp1fOzcA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.5.tgz", + "integrity": "sha512-zbO/DtTnaDappBflIU3zYEgATLToRDmW5uN/EGH1GXaes7ydfjqmAoK++xmJIA+8HfDw7UyPZNdM8fhGhfmMhw==", "dev": true, "requires": { "chokidar": "^2.0.3", @@ -32,18 +32,18 @@ } }, "@babel/core": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", - "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.5.tgz", + "integrity": "sha512-vOyH020C56tQvte++i+rX2yokZcRfbv/kKcw+/BCRw/cK6dvsr47aCzm8oC1XHwMSEWbqrZKzZRLzLnq6SFMsg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.2", - "@babel/helpers": "^7.1.2", - "@babel/parser": "^7.1.2", + "@babel/generator": "^7.1.5", + "@babel/helpers": "^7.1.5", + "@babel/parser": "^7.1.5", "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.1.5", "convert-source-map": "^1.1.0", "debug": "^3.1.0", "json5": "^0.5.0", @@ -54,9 +54,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -71,12 +71,12 @@ } }, "@babel/generator": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.2.tgz", - "integrity": "sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.5.tgz", + "integrity": "sha512-IO31r62xfMI+wBJVmgx0JR9ZOHty8HkoYpQAjRWUGG9vykBTlGHdArZ8zoFtpUu2gs17K7qTl/TtPpiSi6t+MA==", "dev": true, "requires": { - "@babel/types": "^7.1.2", + "@babel/types": "^7.1.5", "jsesc": "^2.5.1", "lodash": "^4.17.10", "source-map": "^0.5.0", @@ -276,14 +276,14 @@ } }, "@babel/helpers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", - "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.5.tgz", + "integrity": "sha512-2jkcdL02ywNBry1YNFAH/fViq4fXG0vdckHqeJk+75fpQ2OH+Az6076tX/M0835zA45E0Cqa6pV5Kiv9YOqjEg==", "dev": true, "requires": { "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2" + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.1.5" } }, "@babel/highlight": { @@ -298,9 +298,9 @@ } }, "@babel/parser": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.2.tgz", - "integrity": "sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.5.tgz", + "integrity": "sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -421,9 +421,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", - "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.1.5.tgz", + "integrity": "sha512-jlYcDrz+5ayWC7mxgpn1Wj8zj0mmjCT2w0mPIMSwO926eXBRxpEgoN/uQVRBfjtr8ayjcmS+xk2G1jaP8JjMJQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -456,9 +456,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.2.tgz", - "integrity": "sha512-cvToXvp/OsYxtEn57XJu9BvsGSEYjAh9UeUuXpoi7x6QHB7YdWyQ4lRU/q0Fu1IJNT0o0u4FQ1DMQBzJ8/8vZg==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", + "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" @@ -544,9 +544,9 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz", - "integrity": "sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz", + "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.0.0", @@ -661,9 +661,9 @@ } }, "@babel/preset-env": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", - "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.5.tgz", + "integrity": "sha512-pQ+2o0YyCp98XG0ODOHJd9z4GsSoV5jicSedRwCrU8uiqcJahwQiOq0asSZEb/m/lwyu6X5INvH/DSiwnQKncw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -679,7 +679,7 @@ "@babel/plugin-transform-arrow-functions": "^7.0.0", "@babel/plugin-transform-async-to-generator": "^7.1.0", "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.1.5", "@babel/plugin-transform-classes": "^7.1.0", "@babel/plugin-transform-computed-properties": "^7.0.0", "@babel/plugin-transform-destructuring": "^7.0.0", @@ -736,26 +736,26 @@ } }, "@babel/traverse": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", - "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.5.tgz", + "integrity": "sha512-eU6XokWypl0MVJo+MTSPUtlfPePkrqsF26O+l1qFGlCKWwmiYAYy2Sy44Qw8m2u/LbPCsxYt90rghmqhYMGpPA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.0.0", + "@babel/generator": "^7.1.5", "@babel/helper-function-name": "^7.1.0", "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.1.5", + "@babel/types": "^7.1.5", "debug": "^3.1.0", "globals": "^11.1.0", "lodash": "^4.17.10" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -770,9 +770,9 @@ } }, "@babel/types": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.2.tgz", - "integrity": "sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.5.tgz", + "integrity": "sha512-sJeqa/d9eM/bax8Ivg+fXF7FpN3E/ZmTrWbkk6r+g7biVYfALMnLin4dKijsaqEhpd2xvOGfQTkQkD31YCVV4A==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -781,174 +781,174 @@ } }, "@webassemblyjs/ast": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", - "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", + "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8" + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", - "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", + "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz", - "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", + "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", - "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", + "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", - "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", + "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/wast-printer": "1.7.11" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", - "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", + "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz", - "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", + "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", - "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", + "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", - "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", + "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11" } }, "@webassemblyjs/ieee754": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz", - "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", + "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", - "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", + "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", "dev": true, "requires": { "@xtuc/long": "4.2.1" } }, "@webassemblyjs/utf8": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz", - "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", + "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", - "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", + "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/helper-wasm-section": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-opt": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/helper-wasm-section": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-opt": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", + "@webassemblyjs/wast-printer": "1.7.11" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", - "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", + "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", - "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", + "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", - "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", + "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", - "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", + "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/floating-point-hex-parser": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-code-frame": "1.7.8", - "@webassemblyjs/helper-fsm": "1.7.8", + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/floating-point-hex-parser": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-code-frame": "1.7.11", + "@webassemblyjs/helper-fsm": "1.7.11", "@xtuc/long": "4.2.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", - "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", + "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8", + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11", "@xtuc/long": "4.2.1" } }, @@ -1305,7 +1305,6 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "optional": true, "requires": { "tweetnacl": "^0.14.3" } @@ -1463,14 +1462,14 @@ } }, "browserslist": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.1.tgz", - "integrity": "sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", + "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000884", - "electron-to-chromium": "^1.3.62", - "node-releases": "^1.0.0-alpha.11" + "caniuse-lite": "^1.0.30000899", + "electron-to-chromium": "^1.3.82", + "node-releases": "^1.0.1" } }, "buffer": { @@ -1547,9 +1546,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000888", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz", - "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", + "version": "1.0.30000906", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000906.tgz", + "integrity": "sha512-ME7JFX6h0402om/nC/8Lw+q23QvPe2ust9U0ntLmkX9F2zaGwq47fZkjlyHKirFBuq1EM+T/LXBcDdW4bvkCTA==", "dev": true }, "caseless": { @@ -1907,13 +1906,13 @@ } }, "data-urls": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.1.tgz", - "integrity": "sha512-0HdcMZzK6ubMUnsMmQmG0AcLQPvbvb47R0+7CCZQCYgcd8OUWG91CG7sM6GoXgjz+WLl4ArFzHtBMy/QqSF4eg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { "abab": "^2.0.0", - "whatwg-mimetype": "^2.1.0", + "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" } }, @@ -2083,16 +2082,15 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { - "version": "1.3.72", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.72.tgz", - "integrity": "sha512-OFbXEC01Lq7A66e3UywkvWYNN00HO1I9MAPereGe0NIXrt2MeaovL1bbY+951HKG0euUdPBe0L7yfKxgqxBMMw==", + "version": "1.3.83", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.83.tgz", + "integrity": "sha512-DqJoDarxq50dcHsOOlMLNoy+qQitlMNbYb6wwbE0oUw2veHdRkpNrhmngiUYKMErdJ8SJ48rpJsZTQgy5SoEAA==", "dev": true }, "elliptic": { @@ -2515,25 +2513,14 @@ "dev": true }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" - }, - "dependencies": { - "combined-stream": { - "version": "1.0.6", - "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - } } }, "fragment-cache": { @@ -3226,9 +3213,9 @@ "dev": true }, "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", "dev": true }, "globby": { @@ -3770,13 +3757,12 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "jsdom": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-12.2.0.tgz", - "integrity": "sha512-QPOggIJ8fquWPLaYYMoh+zqUmdphDtu1ju0QGTitZT1Yd8I5qenPpXM1etzUegu3MjVp8XPzgZxdn8Yj7e40ig==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-13.0.0.tgz", + "integrity": "sha512-Kmq4ASMNkgpY+YufE322EnIKoiz0UWY2DRkKlU7d5YrIW4xiVRhWFrZV1fr6w/ZNxQ50wGAH5gGRzydgnmkkvw==", "dev": true, "requires": { "abab": "^2.0.0", @@ -3798,6 +3784,7 @@ "symbol-tree": "^3.2.2", "tough-cookie": "^2.4.3", "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.0.0", "webidl-conversions": "^4.0.2", "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.2.0", @@ -4063,18 +4050,18 @@ } }, "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", "dev": true }, "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.36.0" + "mime-db": "~1.37.0" } }, "mimic-fn": { @@ -4354,9 +4341,9 @@ "dev": true }, "node-releases": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.12.tgz", - "integrity": "sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.3.tgz", + "integrity": "sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw==", "dev": true, "requires": { "semver": "^5.3.0" @@ -5150,9 +5137,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -5434,9 +5421,9 @@ } }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -5741,8 +5728,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "type-check": { "version": "0.3.2", @@ -6051,6 +6037,17 @@ "browser-process-hrtime": "^0.1.2" } }, + "w3c-xmlserializer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.0.0.tgz", + "integrity": "sha512-0et1+9uXYiIRAecx1D5Z1nk60+vimniGdIKl4XjeqkWi6acoHNlXMv1VR5jV+jF4ooeO08oWbYxeAJOcon1oMA==", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, "watchpack": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", @@ -6069,15 +6066,15 @@ "dev": true }, "webpack": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz", - "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==", + "version": "4.25.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.25.1.tgz", + "integrity": "sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/wasm-edit": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/wasm-edit": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", "acorn": "^5.6.2", "acorn-dynamic-import": "^3.0.0", "ajv": "^6.1.0", @@ -6101,9 +6098,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", diff --git a/package.json b/package.json index 863ed68..8eceeac 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "universal-tilt.js", - "version": "1.2.0", + "version": "1.2.1", "description": "Parallax tilt effect library", "main": "lib/universal-tilt.min.js", "scripts": { @@ -29,20 +29,19 @@ }, "homepage": "https://github.com/JB1905/universal-tilt.js#readme", "devDependencies": { - "@babel/cli": "^7.1.2", - "@babel/core": "^7.1.2", - "@babel/preset-env": "^7.1.0", + "@babel/cli": "^7.1.5", + "@babel/core": "^7.1.5", + "@babel/preset-env": "^7.1.5", "@babel/register": "^7.0.0", "babel-loader": "^8.0.4", "babel-plugin-add-module-exports": "^1.0.0", "chai": "^4.2.0", "gh-pages": "^2.0.1", - "jsdom": "12.2.0", + "jsdom": "13.0.0", "jsdom-global": "^3.0.2", "mocha": "^5.2.0", "mock-local-storage": "^1.1.7", - "webpack": "^4.22.0", - "webpack-cli": "^3.1.2", - "yargs": "^12.0.2" + "webpack": "^4.25.1", + "webpack-cli": "^3.1.2" } } diff --git a/src/index.js b/src/index.js deleted file mode 100755 index d960a88..0000000 --- a/src/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import UniversalTilt from './universal-tilt'; -export default UniversalTilt; diff --git a/webpack.config.js b/webpack.config.js index 85dc2d8..afc0ab5 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -8,24 +8,25 @@ let outputFile, mode, devtool; if (env === 'build') { mode = 'production'; - outputFile = libraryName + '.min.js'; + outputFile = `${libraryName}.min.js`; devtool = false; } else { mode = 'development'; - outputFile = libraryName + '.js'; + outputFile = `${libraryName}.js`; devtool = 'source-map'; } const config = { mode, - entry: __dirname + '/src/index.js', + entry: `${__dirname}/src/${libraryName}.js`, devtool, output: { - path: __dirname + '/lib', + path: `${__dirname}/lib`, filename: outputFile, library: 'UniversalTilt', libraryTarget: 'umd', - umdNamedDefine: true + umdNamedDefine: true, + globalObject: 'global' }, module: { rules: [