/******/ (function(modules) { // webpackBootstrap /******/ function hotDisposeChunk(chunkId) { /******/ delete installedChunks[chunkId]; /******/ } /******/ var parentHotUpdateCallback = this["webpackHotUpdate"]; /******/ this["webpackHotUpdate"] = /******/ function webpackHotUpdateCallback(chunkId, moreModules) { // eslint-disable-line no-unused-vars /******/ hotAddUpdateChunk(chunkId, moreModules); /******/ if(parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules); /******/ } ; /******/ /******/ function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars /******/ var head = document.getElementsByTagName("head")[0]; /******/ var script = document.createElement("script"); /******/ script.type = "text/javascript"; /******/ script.charset = "utf-8"; /******/ script.src = __webpack_require__.p + "" + chunkId + "." + hotCurrentHash + ".hot-update.js"; /******/ head.appendChild(script); /******/ } /******/ /******/ function hotDownloadManifest(requestTimeout) { // eslint-disable-line no-unused-vars /******/ requestTimeout = requestTimeout || 10000; /******/ return new Promise(function(resolve, reject) { /******/ if(typeof XMLHttpRequest === "undefined") /******/ return reject(new Error("No browser support")); /******/ try { /******/ var request = new XMLHttpRequest(); /******/ var requestPath = __webpack_require__.p + "" + hotCurrentHash + ".hot-update.json"; /******/ request.open("GET", requestPath, true); /******/ request.timeout = requestTimeout; /******/ request.send(null); /******/ } catch(err) { /******/ return reject(err); /******/ } /******/ request.onreadystatechange = function() { /******/ if(request.readyState !== 4) return; /******/ if(request.status === 0) { /******/ // timeout /******/ reject(new Error("Manifest request to " + requestPath + " timed out.")); /******/ } else if(request.status === 404) { /******/ // no update available /******/ resolve(); /******/ } else if(request.status !== 200 && request.status !== 304) { /******/ // other failure /******/ reject(new Error("Manifest request to " + requestPath + " failed.")); /******/ } else { /******/ // success /******/ try { /******/ var update = JSON.parse(request.responseText); /******/ } catch(e) { /******/ reject(e); /******/ return; /******/ } /******/ resolve(update); /******/ } /******/ }; /******/ }); /******/ } /******/ /******/ /******/ /******/ var hotApplyOnUpdate = true; /******/ var hotCurrentHash = "cf2ea6484646e4a0bb49"; // eslint-disable-line no-unused-vars /******/ var hotRequestTimeout = 10000; /******/ var hotCurrentModuleData = {}; /******/ var hotCurrentChildModule; // eslint-disable-line no-unused-vars /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars /******/ var hotCurrentParentsTemp = []; // eslint-disable-line no-unused-vars /******/ /******/ function hotCreateRequire(moduleId) { // eslint-disable-line no-unused-vars /******/ var me = installedModules[moduleId]; /******/ if(!me) return __webpack_require__; /******/ var fn = function(request) { /******/ if(me.hot.active) { /******/ if(installedModules[request]) { /******/ if(installedModules[request].parents.indexOf(moduleId) < 0) /******/ installedModules[request].parents.push(moduleId); /******/ } else { /******/ hotCurrentParents = [moduleId]; /******/ hotCurrentChildModule = request; /******/ } /******/ if(me.children.indexOf(request) < 0) /******/ me.children.push(request); /******/ } else { /******/ console.warn("[HMR] unexpected require(" + request + ") from disposed module " + moduleId); /******/ hotCurrentParents = []; /******/ } /******/ return __webpack_require__(request); /******/ }; /******/ var ObjectFactory = function ObjectFactory(name) { /******/ return { /******/ configurable: true, /******/ enumerable: true, /******/ get: function() { /******/ return __webpack_require__[name]; /******/ }, /******/ set: function(value) { /******/ __webpack_require__[name] = value; /******/ } /******/ }; /******/ }; /******/ for(var name in __webpack_require__) { /******/ if(Object.prototype.hasOwnProperty.call(__webpack_require__, name) && name !== "e") { /******/ Object.defineProperty(fn, name, ObjectFactory(name)); /******/ } /******/ } /******/ fn.e = function(chunkId) { /******/ if(hotStatus === "ready") /******/ hotSetStatus("prepare"); /******/ hotChunksLoading++; /******/ return __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) { /******/ finishChunkLoading(); /******/ throw err; /******/ }); /******/ /******/ function finishChunkLoading() { /******/ hotChunksLoading--; /******/ if(hotStatus === "prepare") { /******/ if(!hotWaitingFilesMap[chunkId]) { /******/ hotEnsureUpdateChunk(chunkId); /******/ } /******/ if(hotChunksLoading === 0 && hotWaitingFiles === 0) { /******/ hotUpdateDownloaded(); /******/ } /******/ } /******/ } /******/ }; /******/ return fn; /******/ } /******/ /******/ function hotCreateModule(moduleId) { // eslint-disable-line no-unused-vars /******/ var hot = { /******/ // private stuff /******/ _acceptedDependencies: {}, /******/ _declinedDependencies: {}, /******/ _selfAccepted: false, /******/ _selfDeclined: false, /******/ _disposeHandlers: [], /******/ _main: hotCurrentChildModule !== moduleId, /******/ /******/ // Module API /******/ active: true, /******/ accept: function(dep, callback) { /******/ if(typeof dep === "undefined") /******/ hot._selfAccepted = true; /******/ else if(typeof dep === "function") /******/ hot._selfAccepted = dep; /******/ else if(typeof dep === "object") /******/ for(var i = 0; i < dep.length; i++) /******/ hot._acceptedDependencies[dep[i]] = callback || function() {}; /******/ else /******/ hot._acceptedDependencies[dep] = callback || function() {}; /******/ }, /******/ decline: function(dep) { /******/ if(typeof dep === "undefined") /******/ hot._selfDeclined = true; /******/ else if(typeof dep === "object") /******/ for(var i = 0; i < dep.length; i++) /******/ hot._declinedDependencies[dep[i]] = true; /******/ else /******/ hot._declinedDependencies[dep] = true; /******/ }, /******/ dispose: function(callback) { /******/ hot._disposeHandlers.push(callback); /******/ }, /******/ addDisposeHandler: function(callback) { /******/ hot._disposeHandlers.push(callback); /******/ }, /******/ removeDisposeHandler: function(callback) { /******/ var idx = hot._disposeHandlers.indexOf(callback); /******/ if(idx >= 0) hot._disposeHandlers.splice(idx, 1); /******/ }, /******/ /******/ // Management API /******/ check: hotCheck, /******/ apply: hotApply, /******/ status: function(l) { /******/ if(!l) return hotStatus; /******/ hotStatusHandlers.push(l); /******/ }, /******/ addStatusHandler: function(l) { /******/ hotStatusHandlers.push(l); /******/ }, /******/ removeStatusHandler: function(l) { /******/ var idx = hotStatusHandlers.indexOf(l); /******/ if(idx >= 0) hotStatusHandlers.splice(idx, 1); /******/ }, /******/ /******/ //inherit from previous dispose call /******/ data: hotCurrentModuleData[moduleId] /******/ }; /******/ hotCurrentChildModule = undefined; /******/ return hot; /******/ } /******/ /******/ var hotStatusHandlers = []; /******/ var hotStatus = "idle"; /******/ /******/ function hotSetStatus(newStatus) { /******/ hotStatus = newStatus; /******/ for(var i = 0; i < hotStatusHandlers.length; i++) /******/ hotStatusHandlers[i].call(null, newStatus); /******/ } /******/ /******/ // while downloading /******/ var hotWaitingFiles = 0; /******/ var hotChunksLoading = 0; /******/ var hotWaitingFilesMap = {}; /******/ var hotRequestedFilesMap = {}; /******/ var hotAvailableFilesMap = {}; /******/ var hotDeferred; /******/ /******/ // The update info /******/ var hotUpdate, hotUpdateNewHash; /******/ /******/ function toModuleId(id) { /******/ var isNumber = (+id) + "" === id; /******/ return isNumber ? +id : id; /******/ } /******/ /******/ function hotCheck(apply) { /******/ if(hotStatus !== "idle") throw new Error("check() is only allowed in idle status"); /******/ hotApplyOnUpdate = apply; /******/ hotSetStatus("check"); /******/ return hotDownloadManifest(hotRequestTimeout).then(function(update) { /******/ if(!update) { /******/ hotSetStatus("idle"); /******/ return null; /******/ } /******/ hotRequestedFilesMap = {}; /******/ hotWaitingFilesMap = {}; /******/ hotAvailableFilesMap = update.c; /******/ hotUpdateNewHash = update.h; /******/ /******/ hotSetStatus("prepare"); /******/ var promise = new Promise(function(resolve, reject) { /******/ hotDeferred = { /******/ resolve: resolve, /******/ reject: reject /******/ }; /******/ }); /******/ hotUpdate = {}; /******/ var chunkId = 0; /******/ { // eslint-disable-line no-lone-blocks /******/ /*globals chunkId */ /******/ hotEnsureUpdateChunk(chunkId); /******/ } /******/ if(hotStatus === "prepare" && hotChunksLoading === 0 && hotWaitingFiles === 0) { /******/ hotUpdateDownloaded(); /******/ } /******/ return promise; /******/ }); /******/ } /******/ /******/ function hotAddUpdateChunk(chunkId, moreModules) { // eslint-disable-line no-unused-vars /******/ if(!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId]) /******/ return; /******/ hotRequestedFilesMap[chunkId] = false; /******/ for(var moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ hotUpdate[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(--hotWaitingFiles === 0 && hotChunksLoading === 0) { /******/ hotUpdateDownloaded(); /******/ } /******/ } /******/ /******/ function hotEnsureUpdateChunk(chunkId) { /******/ if(!hotAvailableFilesMap[chunkId]) { /******/ hotWaitingFilesMap[chunkId] = true; /******/ } else { /******/ hotRequestedFilesMap[chunkId] = true; /******/ hotWaitingFiles++; /******/ hotDownloadUpdateChunk(chunkId); /******/ } /******/ } /******/ /******/ function hotUpdateDownloaded() { /******/ hotSetStatus("ready"); /******/ var deferred = hotDeferred; /******/ hotDeferred = null; /******/ if(!deferred) return; /******/ if(hotApplyOnUpdate) { /******/ // Wrap deferred object in Promise to mark it as a well-handled Promise to /******/ // avoid triggering uncaught exception warning in Chrome. /******/ // See https://bugs.chromium.org/p/chromium/issues/detail?id=465666 /******/ Promise.resolve().then(function() { /******/ return hotApply(hotApplyOnUpdate); /******/ }).then( /******/ function(result) { /******/ deferred.resolve(result); /******/ }, /******/ function(err) { /******/ deferred.reject(err); /******/ } /******/ ); /******/ } else { /******/ var outdatedModules = []; /******/ for(var id in hotUpdate) { /******/ if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) { /******/ outdatedModules.push(toModuleId(id)); /******/ } /******/ } /******/ deferred.resolve(outdatedModules); /******/ } /******/ } /******/ /******/ function hotApply(options) { /******/ if(hotStatus !== "ready") throw new Error("apply() is only allowed in ready status"); /******/ options = options || {}; /******/ /******/ var cb; /******/ var i; /******/ var j; /******/ var module; /******/ var moduleId; /******/ /******/ function getAffectedStuff(updateModuleId) { /******/ var outdatedModules = [updateModuleId]; /******/ var outdatedDependencies = {}; /******/ /******/ var queue = outdatedModules.slice().map(function(id) { /******/ return { /******/ chain: [id], /******/ id: id /******/ }; /******/ }); /******/ while(queue.length > 0) { /******/ var queueItem = queue.pop(); /******/ var moduleId = queueItem.id; /******/ var chain = queueItem.chain; /******/ module = installedModules[moduleId]; /******/ if(!module || module.hot._selfAccepted) /******/ continue; /******/ if(module.hot._selfDeclined) { /******/ return { /******/ type: "self-declined", /******/ chain: chain, /******/ moduleId: moduleId /******/ }; /******/ } /******/ if(module.hot._main) { /******/ return { /******/ type: "unaccepted", /******/ chain: chain, /******/ moduleId: moduleId /******/ }; /******/ } /******/ for(var i = 0; i < module.parents.length; i++) { /******/ var parentId = module.parents[i]; /******/ var parent = installedModules[parentId]; /******/ if(!parent) continue; /******/ if(parent.hot._declinedDependencies[moduleId]) { /******/ return { /******/ type: "declined", /******/ chain: chain.concat([parentId]), /******/ moduleId: moduleId, /******/ parentId: parentId /******/ }; /******/ } /******/ if(outdatedModules.indexOf(parentId) >= 0) continue; /******/ if(parent.hot._acceptedDependencies[moduleId]) { /******/ if(!outdatedDependencies[parentId]) /******/ outdatedDependencies[parentId] = []; /******/ addAllToSet(outdatedDependencies[parentId], [moduleId]); /******/ continue; /******/ } /******/ delete outdatedDependencies[parentId]; /******/ outdatedModules.push(parentId); /******/ queue.push({ /******/ chain: chain.concat([parentId]), /******/ id: parentId /******/ }); /******/ } /******/ } /******/ /******/ return { /******/ type: "accepted", /******/ moduleId: updateModuleId, /******/ outdatedModules: outdatedModules, /******/ outdatedDependencies: outdatedDependencies /******/ }; /******/ } /******/ /******/ function addAllToSet(a, b) { /******/ for(var i = 0; i < b.length; i++) { /******/ var item = b[i]; /******/ if(a.indexOf(item) < 0) /******/ a.push(item); /******/ } /******/ } /******/ /******/ // at begin all updates modules are outdated /******/ // the "outdated" status can propagate to parents if they don't accept the children /******/ var outdatedDependencies = {}; /******/ var outdatedModules = []; /******/ var appliedUpdate = {}; /******/ /******/ var warnUnexpectedRequire = function warnUnexpectedRequire() { /******/ console.warn("[HMR] unexpected require(" + result.moduleId + ") to disposed module"); /******/ }; /******/ /******/ for(var id in hotUpdate) { /******/ if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) { /******/ moduleId = toModuleId(id); /******/ var result; /******/ if(hotUpdate[id]) { /******/ result = getAffectedStuff(moduleId); /******/ } else { /******/ result = { /******/ type: "disposed", /******/ moduleId: id /******/ }; /******/ } /******/ var abortError = false; /******/ var doApply = false; /******/ var doDispose = false; /******/ var chainInfo = ""; /******/ if(result.chain) { /******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> "); /******/ } /******/ switch(result.type) { /******/ case "self-declined": /******/ if(options.onDeclined) /******/ options.onDeclined(result); /******/ if(!options.ignoreDeclined) /******/ abortError = new Error("Aborted because of self decline: " + result.moduleId + chainInfo); /******/ break; /******/ case "declined": /******/ if(options.onDeclined) /******/ options.onDeclined(result); /******/ if(!options.ignoreDeclined) /******/ abortError = new Error("Aborted because of declined dependency: " + result.moduleId + " in " + result.parentId + chainInfo); /******/ break; /******/ case "unaccepted": /******/ if(options.onUnaccepted) /******/ options.onUnaccepted(result); /******/ if(!options.ignoreUnaccepted) /******/ abortError = new Error("Aborted because " + moduleId + " is not accepted" + chainInfo); /******/ break; /******/ case "accepted": /******/ if(options.onAccepted) /******/ options.onAccepted(result); /******/ doApply = true; /******/ break; /******/ case "disposed": /******/ if(options.onDisposed) /******/ options.onDisposed(result); /******/ doDispose = true; /******/ break; /******/ default: /******/ throw new Error("Unexception type " + result.type); /******/ } /******/ if(abortError) { /******/ hotSetStatus("abort"); /******/ return Promise.reject(abortError); /******/ } /******/ if(doApply) { /******/ appliedUpdate[moduleId] = hotUpdate[moduleId]; /******/ addAllToSet(outdatedModules, result.outdatedModules); /******/ for(moduleId in result.outdatedDependencies) { /******/ if(Object.prototype.hasOwnProperty.call(result.outdatedDependencies, moduleId)) { /******/ if(!outdatedDependencies[moduleId]) /******/ outdatedDependencies[moduleId] = []; /******/ addAllToSet(outdatedDependencies[moduleId], result.outdatedDependencies[moduleId]); /******/ } /******/ } /******/ } /******/ if(doDispose) { /******/ addAllToSet(outdatedModules, [result.moduleId]); /******/ appliedUpdate[moduleId] = warnUnexpectedRequire; /******/ } /******/ } /******/ } /******/ /******/ // Store self accepted outdated modules to require them later by the module system /******/ var outdatedSelfAcceptedModules = []; /******/ for(i = 0; i < outdatedModules.length; i++) { /******/ moduleId = outdatedModules[i]; /******/ if(installedModules[moduleId] && installedModules[moduleId].hot._selfAccepted) /******/ outdatedSelfAcceptedModules.push({ /******/ module: moduleId, /******/ errorHandler: installedModules[moduleId].hot._selfAccepted /******/ }); /******/ } /******/ /******/ // Now in "dispose" phase /******/ hotSetStatus("dispose"); /******/ Object.keys(hotAvailableFilesMap).forEach(function(chunkId) { /******/ if(hotAvailableFilesMap[chunkId] === false) { /******/ hotDisposeChunk(chunkId); /******/ } /******/ }); /******/ /******/ var idx; /******/ var queue = outdatedModules.slice(); /******/ while(queue.length > 0) { /******/ moduleId = queue.pop(); /******/ module = installedModules[moduleId]; /******/ if(!module) continue; /******/ /******/ var data = {}; /******/ /******/ // Call dispose handlers /******/ var disposeHandlers = module.hot._disposeHandlers; /******/ for(j = 0; j < disposeHandlers.length; j++) { /******/ cb = disposeHandlers[j]; /******/ cb(data); /******/ } /******/ hotCurrentModuleData[moduleId] = data; /******/ /******/ // disable module (this disables requires from this module) /******/ module.hot.active = false; /******/ /******/ // remove module from cache /******/ delete installedModules[moduleId]; /******/ /******/ // when disposing there is no need to call dispose handler /******/ delete outdatedDependencies[moduleId]; /******/ /******/ // remove "parents" references from all children /******/ for(j = 0; j < module.children.length; j++) { /******/ var child = installedModules[module.children[j]]; /******/ if(!child) continue; /******/ idx = child.parents.indexOf(moduleId); /******/ if(idx >= 0) { /******/ child.parents.splice(idx, 1); /******/ } /******/ } /******/ } /******/ /******/ // remove outdated dependency from module children /******/ var dependency; /******/ var moduleOutdatedDependencies; /******/ for(moduleId in outdatedDependencies) { /******/ if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) { /******/ module = installedModules[moduleId]; /******/ if(module) { /******/ moduleOutdatedDependencies = outdatedDependencies[moduleId]; /******/ for(j = 0; j < moduleOutdatedDependencies.length; j++) { /******/ dependency = moduleOutdatedDependencies[j]; /******/ idx = module.children.indexOf(dependency); /******/ if(idx >= 0) module.children.splice(idx, 1); /******/ } /******/ } /******/ } /******/ } /******/ /******/ // Not in "apply" phase /******/ hotSetStatus("apply"); /******/ /******/ hotCurrentHash = hotUpdateNewHash; /******/ /******/ // insert new code /******/ for(moduleId in appliedUpdate) { /******/ if(Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) { /******/ modules[moduleId] = appliedUpdate[moduleId]; /******/ } /******/ } /******/ /******/ // call accept handlers /******/ var error = null; /******/ for(moduleId in outdatedDependencies) { /******/ if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) { /******/ module = installedModules[moduleId]; /******/ if(module) { /******/ moduleOutdatedDependencies = outdatedDependencies[moduleId]; /******/ var callbacks = []; /******/ for(i = 0; i < moduleOutdatedDependencies.length; i++) { /******/ dependency = moduleOutdatedDependencies[i]; /******/ cb = module.hot._acceptedDependencies[dependency]; /******/ if(cb) { /******/ if(callbacks.indexOf(cb) >= 0) continue; /******/ callbacks.push(cb); /******/ } /******/ } /******/ for(i = 0; i < callbacks.length; i++) { /******/ cb = callbacks[i]; /******/ try { /******/ cb(moduleOutdatedDependencies); /******/ } catch(err) { /******/ if(options.onErrored) { /******/ options.onErrored({ /******/ type: "accept-errored", /******/ moduleId: moduleId, /******/ dependencyId: moduleOutdatedDependencies[i], /******/ error: err /******/ }); /******/ } /******/ if(!options.ignoreErrored) { /******/ if(!error) /******/ error = err; /******/ } /******/ } /******/ } /******/ } /******/ } /******/ } /******/ /******/ // Load self accepted modules /******/ for(i = 0; i < outdatedSelfAcceptedModules.length; i++) { /******/ var item = outdatedSelfAcceptedModules[i]; /******/ moduleId = item.module; /******/ hotCurrentParents = [moduleId]; /******/ try { /******/ __webpack_require__(moduleId); /******/ } catch(err) { /******/ if(typeof item.errorHandler === "function") { /******/ try { /******/ item.errorHandler(err); /******/ } catch(err2) { /******/ if(options.onErrored) { /******/ options.onErrored({ /******/ type: "self-accept-error-handler-errored", /******/ moduleId: moduleId, /******/ error: err2, /******/ orginalError: err, // TODO remove in webpack 4 /******/ originalError: err /******/ }); /******/ } /******/ if(!options.ignoreErrored) { /******/ if(!error) /******/ error = err2; /******/ } /******/ if(!error) /******/ error = err; /******/ } /******/ } else { /******/ if(options.onErrored) { /******/ options.onErrored({ /******/ type: "self-accept-errored", /******/ moduleId: moduleId, /******/ error: err /******/ }); /******/ } /******/ if(!options.ignoreErrored) { /******/ if(!error) /******/ error = err; /******/ } /******/ } /******/ } /******/ } /******/ /******/ // handle errors in accept handlers and self accepted module load /******/ if(error) { /******/ hotSetStatus("fail"); /******/ return Promise.reject(error); /******/ } /******/ /******/ hotSetStatus("idle"); /******/ return new Promise(function(resolve) { /******/ resolve(outdatedModules); /******/ }); /******/ } /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {}, /******/ hot: hotCreateModule(moduleId), /******/ parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp), /******/ children: [] /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId)); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // __webpack_hash__ /******/ __webpack_require__.h = function() { return hotCurrentHash; }; /******/ /******/ // Load entry module and return exports /******/ return hotCreateRequire(1)(__webpack_require__.s = 1); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = jQuery; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*! * parallax.js v2.0.0 (http://pixelcog.github.io/parallax.js/) * @copyright 2017 PixelCog, Inc. * @license MIT (https://github.com/pixelcog/parallax.js/blob/master/LICENSE) */ var _jquery = __webpack_require__(0); var _jquery2 = _interopRequireDefault(_jquery); var _generatePlugin = __webpack_require__(2); var _generatePlugin2 = _interopRequireDefault(_generatePlugin); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Parallax = function () { /////////////////////// // Instance Methods // ///////////////////// function Parallax(element, options) { _classCallCheck(this, Parallax); var $window = (0, _jquery2.default)(element); // little parse function to keep duplicate code to a minimum. function _parsePos(pos, p1, p2) { var p = parseInt(options[pos]); if (isNaN(p)) { if (options[pos] !== p1 && options[pos] !== p2) { options.pos += (options[pos] = 'center') + ' '; } } else { options.pos += (options[pos] = p) + 'px '; } } options.pos = ''; _parsePos('posX', 'left', 'right'); _parsePos('posY', 'top', 'bottom'); // match returns null if regex is null i.e. falsy, no additional checks needed if (navigator.userAgent.match(options.excludeAgents)) { // todo: enhance if (options.src && !$window.is('img')) { $window.css('background', 'url("' + options.src + '") ' + options.pos + '/cover'); } } else { if (options.scrollingSelector) { Parallax.scrollingElement = (0, _jquery2.default)(options.scrollingSelector)[0]; } // init global instance Parallax.isSet || Parallax.init(); Parallax.iList.push(this); /** creating the mirror element */ var $mirror = (0, _jquery2.default)('
').addClass('parallax-mirror').css({ visibility: 'hidden', zIndex: options.zIndex, position: 'fixed', top: 0, left: 0, overflow: 'hidden' }).prependTo((0, _jquery2.default)(options.mirrorSelector)); /** finding the slider with the selector provided*/ var $slider = $window.find(options.sliderSelector); if ($slider.length === 0) { $slider = (0, _jquery2.default)('').attr('src', options.src); } else { /** former parent where the slider will be added again when destroyed */ options.formerParent = $slider.parent(); /** former styles which will be set again when destroyed */ options.formerStyles = $slider.prop('style'); } $slider.addClass('parallax-slider').prependTo($mirror); // call re-init after all images are loaded within the slider $slider.children('img').add($slider).on('load', function () { // this also calls the refresh method of the parallax once the image is loaded Parallax.update(true); }); this.$s = $slider; this.$m = $mirror; } this.$w = $window; this.o = options; if (typeof options.afterSetup === 'function') { options.afterSetup(this); } } /** * recalculates size and position variables, everything except the scroll position. */ _createClass(Parallax, [{ key: 'refresh', value: function refresh() { var $window = this.$w; var options = this.o; options.dH = Parallax.dH; options.dW = Parallax.dW; var se = options.scrollingElement; if (se && se !== document) { options.dH = se.scrollHeight; options.dW = se.scrollWidth; } // when not initialized yet. if (!options) { return; } // find out aspect ratio for the first time if (!options.aspectRatio) { (function ($s, options) { // iterate through all children and find out the boundings var top = 0, bottom = 0, left = 0, right = 0; // when there are no children, the slider itself is an image if ($s.children().each(function () { var $e = (0, _jquery2.default)(this); var off = $e.offset(); var eBottom = off.top + $e.outerHeight(); var eRight = off.left + $e.outerWidth(); top = off.top < top ? off.top : top; left = off.left < left ? off.left : left; bottom = eBottom > bottom ? eBottom : bottom; right = eRight > right ? eRight : right; }).length === 0) { options.aspectRatio = $s[0].naturalWidth / ($s[0].naturalHeight || 1); } else { var offset = $s.offset(); // not sure if thats correctbut bottom - top - offset.top yielded in wrong results var contentHeight = bottom - Math.max(top, offset.top); var contentWidth = right - Math.max(left, offset.left); // aspectRatio is 0 when contentWidth is 0 and therefore recalculated until there is some width options.aspectRatio = contentWidth / (contentHeight || 1); } })(this.$s, options); } var aspect = options.aspectRatio || 1; options.boxWidth = $window.outerWidth(); options.boxHeight = $window.outerHeight() + options.bleed * 2; options.boxOffsetTop = $window.offset().top - options.bleed; options.boxOffsetLeft = $window.offset().left; options.boxOffsetBottom = options.boxOffsetTop + options.boxHeight; var winHeight = Parallax.wH; var docHeight = Parallax.dH; var maxOffset = Math.min(options.boxOffsetTop, docHeight - winHeight); var minOffset = Math.max(options.boxOffsetTop + options.boxHeight - winHeight, 0); var imageHeightMin = options.boxHeight + (maxOffset - minOffset) * (1 - options.speed) | 0; var imageOffsetMin = (options.boxOffsetTop - maxOffset) * (1 - options.speed) | 0; var margin = void 0; // box width is smaller than minimum image width if (options.boxWidth < imageHeightMin * aspect) { options.imageWidth = imageHeightMin * aspect | 0; options.imageHeight = imageHeightMin; options.offsetBaseTop = imageOffsetMin; margin = options.imageWidth - options.boxWidth; if (options.posX === 'left') { options.offsetLeft = 0; } else if (options.posX === 'right') { options.offsetLeft = -margin; } else if (!isNaN(options.posX)) { options.offsetLeft = Math.max(options.posX, -margin); } else { options.offsetLeft = -margin / 2 | 0; } } else { options.imageWidth = options.boxWidth; options.imageHeight = options.boxWidth / aspect | 0; options.offsetLeft = 0; margin = options.imageHeight - imageHeightMin; if (options.posY === 'top') { options.offsetBaseTop = imageOffsetMin; } else if (options.posY === 'bottom') { options.offsetBaseTop = imageOffsetMin - margin; } else if (!isNaN(options.posY)) { options.offsetBaseTop = imageOffsetMin + Math.max(options.posY, -margin); } else { options.offsetBaseTop = imageOffsetMin - margin / 2 | 0; } } if (typeof options.afterRefresh === 'function') { options.afterRefresh(this); } } /** * renders the slider at the correct position relative to the scroll position */ }, { key: 'render', value: function render() { var options = this.o; var scrollTop = Parallax.sT; var scrollLeft = Parallax.sL; var overScroll = options.overScrollFix ? Parallax.overScroll : 0; var scrollBottom = scrollTop + Parallax.wH; if (options.boxOffsetBottom > scrollTop && options.boxOffsetTop <= scrollBottom) { options.visibility = 'visible'; options.mirrorTop = options.boxOffsetTop - scrollTop; options.mirrorLeft = options.boxOffsetLeft - scrollLeft; options.offsetTop = options.offsetBaseTop - options.mirrorTop * (1 - options.speed); } else { options.visibility = 'hidden'; } this.$m.css({ transform: 'translate3d(' + options.mirrorLeft + 'px, ' + (options.mirrorTop - overScroll) + 'px, 0px)', visibility: options.visibility, height: options.boxHeight, width: options.boxWidth }); this.$s.css({ transform: 'translate3d(' + options.offsetLeft + 'px, ' + options.offsetTop + 'px, 0px)', position: 'blazing', height: options.imageHeight, width: options.imageWidth, maxWidth: 'none' }); if (typeof options.afterRender === 'function') { options.afterRender(this); } } /** * destroys the current instance and puts the slide back where it was before initializing */ }, { key: 'destroy', value: function destroy() { if (this.$m) { // might be empty on mobile this.$m.remove(); } if (this.$s) { // remove slider from the sliders array for (var i = 0; i < Parallax.iList.length; i++) { if (Parallax.iList[i] === this) { Parallax.iList.splice(i, 1); } } // append slider back to old parent if exists if (this.o.formerParent) { this.$s.prop('style', this.o.formerStyles); this.o.formerParent.append(this.$s); } } if (Parallax.iList.length === 0) { (0, _jquery2.default)(window).off('scroll.px.parallax resize.px.parallax load.px.parallax'); Parallax.isSet = false; } if (typeof this.o.afterDestroy === 'function') { this.o.afterDestroy(this); } } ///////////////////// // Static Methods // /////////////////// /** * initializes the library and all necessary variables shared among all parallax instances */ }], [{ key: 'init', value: function init() { if (Parallax.isSet) { return; } /** @type jQuery*/ var $se = (0, _jquery2.default)(Parallax.scrollingElement || document); /** @type jQuery*/ var $win = (0, _jquery2.default)(window); /** @type jQuery*/ var $sw = (0, _jquery2.default)(Parallax.scrollingElement || window); function loadDimensions() { Parallax.wH = $win.height(); Parallax.wW = $win.width(); Parallax.dH = $se[0].scrollHeight || $se.height(); Parallax.dW = $se[0].scrollWidth || $se.width(); } function loadScrollPosition() { var winScrollTop = $sw.scrollTop(); var scrollTopMax = Parallax.dH - Parallax.wH; var scrollLeftMax = Parallax.dW - Parallax.wW; Parallax.sT = Math.max(0, Math.min(scrollTopMax, winScrollTop)); Parallax.sL = Math.max(0, Math.min(scrollLeftMax, $sw.scrollLeft())); Parallax.overScroll = Math.max(winScrollTop - scrollTopMax, Math.min(winScrollTop, 0)); } $win.on('resize.px.parallax load.px.parallax', function () { loadDimensions(); Parallax.update(true); }); loadDimensions(); Parallax.isSet = true; var lastPosition = -1; (function loop() { var yoffset = $sw.scrollTop(); if (lastPosition !== yoffset) { // Avoid overcalculations lastPosition = yoffset; loadScrollPosition(); Parallax.update(); } window.requestAnimationFrame(loop); })(); } /** * renders all parallax instances * @param refresh when true, also call refresh on all instances */ }, { key: 'update', value: function update() { var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (refresh) { _jquery2.default.each(Parallax.iList, function () { this.refresh(); }); } _jquery2.default.each(Parallax.iList, function () { this.render(); }); } }]); return Parallax; }(); Parallax.DEFAULTS = { src: null, speed: .2, bleed: 0, zIndex: -100, posX: 'center', posY: 'center', overScrollFix: false, excludeAgents: /(iPod|iPhone|iPad|Android)/, aspectRatio: null, // jquery selectors sliderSelector: '>.parallax-slider', mirrorSelector: 'body', scrollingSelector: null, // callback functions: afterRefresh: null, afterRender: null, afterSetup: null, afterDestroy: null }; Parallax.AUTOINIT = true; /////////////////////// // Global variables // ///////////////////// /** * scroll top position * @type {number} */ Parallax.sT = 0; /** * scroll left position * @type {number} */ Parallax.sL = 0; /** * window height * @type {number} */ Parallax.wH = 0; /** * window width * @type {number} */ Parallax.wW = 0; /** * document height * @type {number} */ Parallax.dH = 1 << 30; /** * document width * @type {number} */ Parallax.dW = 1 << 30; /** * all instances * @type {Array} */ Parallax.iList = []; /** * flag for global setup * @type {boolean} */ Parallax.isSet = false; /** * call auto initialization. This can be supresst by setting the static Parallax.AUTOINIT parameter to false */ (0, _jquery2.default)(function () { if (Parallax.AUTOINIT) { (0, _jquery2.default)('[data-parallax]').parallax(); } }); (0, _generatePlugin2.default)('parallax', Parallax); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _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; }; exports.default = generatePlugin; var _jquery = __webpack_require__(0); var _jquery2 = _interopRequireDefault(_jquery); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Generate a jQuery plugin * @param pluginName [string] Plugin name * @param className [object] Class of the plugin * @param shortHand [bool] Generate a shorthand as $.pluginName * * @example * import plugin from 'plugin'; * * class MyPlugin { * constructor(element, options) { * // ... * } * } * * MyPlugin.DEFAULTS = {}; * * plugin('myPlugin', MyPlugin'); */ function generatePlugin(pluginName, className) { var shortHand = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var instanceName = '__' + pluginName; var old = _jquery2.default.fn[pluginName]; _jquery2.default.fn[pluginName] = function (option) { return this.each(function () { var $this = (0, _jquery2.default)(this); var instance = $this.data(instanceName); if (!instance && option !== 'destroy') { var _options = _jquery2.default.extend({}, className.DEFAULTS, $this.data(), (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object' && option); $this.data(instanceName, instance = new className(this, _options)); } else if (typeof instance.configure === 'function') { instance.configure(options); } if (typeof option === 'string') { if (option === 'destroy') { instance.destroy(); $this.data(instanceName, false); } else { instance[option](); } } }); }; // - Short hand if (shortHand) { _jquery2.default[pluginName] = function (options) { return (0, _jquery2.default)({})[pluginName](options); }; } // - No conflict _jquery2.default.fn[pluginName].noConflict = function () { return _jquery2.default.fn[pluginName] = old; }; } /***/ }) /******/ ]); //# sourceMappingURL=jquery.parallax.js.map