{"version":3,"sources":["jarallax-element.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","global","win","window","self","callback","document","readyState","attachEvent","addEventListener","g","_typeof","Symbol","iterator","obj","constructor","this","Function","eval","e","_liteReady2","_interopRequireDefault","default","jarallax","querySelectorAll","value","arguments","length","undefined","_global2","Jarallax","forEach","key","def","args","$item","getAttribute","options","type","pureOptions","speed","apply","threshold","speedArr","split","speedY","parseFloat","speedX","thresholdArr","thresholdY","thresholdX","onResize","onScroll","addToParallaxList","defTransform","css","transform","rect","getBoundingClientRect","itemData","width","height","y","top","getWindowData","x","left","wnd","centerPercent","moveY","moveX","my","mx","_global"],"mappings":"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","file":"jarallax-element.min.js","sourcesContent":["/*!\n * Name : Elements Extension for Jarallax\n * Version : 1.0.0\n * Author : nK \n * GitHub : https://github.com/nk-o/jarallax\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 4);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nvar win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\") {\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (callback) {\n\n\tif (document.readyState === 'complete' || document.readyState === 'interactive') {\n\t\t// Already ready or interactive, execute callback\n\t\tcallback.call();\n\t} else if (document.attachEvent) {\n\t\t// Old browsers\n\t\tdocument.attachEvent('onreadystatechange', function () {\n\t\t\tif (document.readyState === 'interactive') callback.call();\n\t\t});\n\t} else if (document.addEventListener) {\n\t\t// Modern browsers\n\t\tdocument.addEventListener('DOMContentLoaded', callback);\n\t}\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar 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 === \"undefined\" ? \"undefined\" : _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\n/***/ }),\n/* 3 */,\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(5);\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _liteReady = __webpack_require__(1);\n\nvar _liteReady2 = _interopRequireDefault(_liteReady);\n\nvar _jarallaxElement = __webpack_require__(6);\n\nvar _jarallaxElement2 = _interopRequireDefault(_jarallaxElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n(0, _jarallaxElement2.default)();\n\n// data-jarallax-element initialization\n(0, _liteReady2.default)(function () {\n if (typeof jarallax !== 'undefined') {\n jarallax(document.querySelectorAll('[data-jarallax-element]'));\n }\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = jarallaxElement;\n\nvar _global = __webpack_require__(0);\n\nvar _global2 = _interopRequireDefault(_global);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction jarallaxElement() {\n var jarallax = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _global2.default.jarallax;\n\n if (typeof jarallax === 'undefined') {\n return;\n }\n\n var Jarallax = jarallax.constructor;\n\n // redefine default methods\n ['initImg', 'canInitParallax', 'init', 'destroy', 'clipContainer', 'coverImage', 'isVisible', 'onScroll', 'onResize'].forEach(function (key) {\n var def = Jarallax.prototype[key];\n Jarallax.prototype[key] = function () {\n var self = this;\n var args = arguments || [];\n\n if (key === 'initImg' && self.$item.getAttribute('data-jarallax-element') !== null) {\n self.options.type = 'element';\n self.pureOptions.speed = self.$item.getAttribute('data-jarallax-element') || self.pureOptions.speed;\n }\n if (self.options.type !== 'element') {\n return def.apply(self, args);\n }\n\n self.pureOptions.threshold = self.$item.getAttribute('data-threshold') || '';\n\n switch (key) {\n case 'init':\n var speedArr = self.pureOptions.speed.split(' ');\n self.options.speed = self.pureOptions.speed || 0;\n self.options.speedY = speedArr[0] ? parseFloat(speedArr[0]) : 0;\n self.options.speedX = speedArr[1] ? parseFloat(speedArr[1]) : 0;\n\n var thresholdArr = self.pureOptions.threshold.split(' ');\n self.options.thresholdY = thresholdArr[0] ? parseFloat(thresholdArr[0]) : null;\n self.options.thresholdX = thresholdArr[1] ? parseFloat(thresholdArr[1]) : null;\n\n self.onResize();\n self.onScroll();\n self.addToParallaxList();\n break;\n case 'onResize':\n var defTransform = self.css(self.$item, 'transform');\n self.css(self.$item, { transform: '' });\n var rect = self.$item.getBoundingClientRect();\n self.itemData = {\n width: rect.width,\n height: rect.height,\n y: rect.top + self.getWindowData().y,\n x: rect.left\n };\n self.css(self.$item, { transform: defTransform });\n break;\n case 'onScroll':\n var wnd = self.getWindowData();\n var centerPercent = (wnd.y + wnd.height / 2 - self.itemData.y - self.itemData.height / 2) / (wnd.height / 2);\n var moveY = centerPercent * self.options.speedY;\n var moveX = centerPercent * self.options.speedX;\n var my = moveY;\n var mx = moveX;\n if (self.options.thresholdY !== null && moveY > self.options.thresholdY) my = 0;\n if (self.options.thresholdX !== null && moveX > self.options.thresholdX) mx = 0;\n self.css(self.$item, { transform: 'translate3d(' + mx + 'px,' + my + 'px,0)' });\n break;\n case 'initImg':\n case 'isVisible':\n case 'clipContainer':\n case 'coverImage':\n return true;\n // no default\n }\n return def.apply(self, args);\n };\n });\n} /* eslint no-case-declarations: \"off\" */\n\n/***/ })\n/******/ ]);"]}