UNPKG

vue-ssr-carousel

Version:

A performance focused Vue carousel designed for SSR/SSG environments.

1,563 lines (1,293 loc) 77 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded chunks /******/ // "0" means "already loaded" /******/ var installedChunks = { /******/ 0: 0 /******/ }; /******/ /******/ // 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: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId) { /******/ var promises = []; /******/ /******/ /******/ // require() chunk loading for javascript /******/ /******/ // "0" is the signal for "already loaded" /******/ if(installedChunks[chunkId] !== 0) { /******/ var chunk = require("./" + ({}[chunkId]||chunkId) + ".js"); /******/ var moreModules = chunk.modules, chunkIds = chunk.ids; /******/ for(var moduleId in moreModules) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ for(var i = 0; i < chunkIds.length; i++) /******/ installedChunks[chunkIds[i]] = 0; /******/ } /******/ return Promise.all(promises); /******/ }; /******/ /******/ // 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, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // 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 = "/_nuxt/"; /******/ /******/ // uncaught error handler for webpack runtime /******/ __webpack_require__.oe = function(err) { /******/ process.nextTick(function() { /******/ throw err; // catch this error by using import().catch() /******/ }); /******/ }; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 12); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = require("vue"); /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = require("ufo"); /***/ }), /* 2 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier /* server only */, shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection(h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } /***/ }), /* 3 */ /***/ (function(module, exports) { module.exports = require("vue-no-ssr"); /***/ }), /* 4 */ /***/ (function(module, exports) { module.exports = require("vue-client-only"); /***/ }), /* 5 */ /***/ (function(module, exports) { module.exports = require("vue-router"); /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader // eslint-disable-next-line func-names module.exports = function (useSourceMap) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item, useSourceMap); if (item[2]) { return "@media ".concat(item[2], " {").concat(content, "}"); } return content; }).join(''); }; // import a list of modules into the list // eslint-disable-next-line func-names list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === 'string') { // eslint-disable-next-line no-param-reassign modules = [[null, modules, '']]; } var alreadyImportedModules = {}; if (dedupe) { for (var i = 0; i < this.length; i++) { // eslint-disable-next-line prefer-destructuring var id = this[i][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _i = 0; _i < modules.length; _i++) { var item = [].concat(modules[_i]); if (dedupe && alreadyImportedModules[item[0]]) { // eslint-disable-next-line no-continue continue; } if (mediaQuery) { if (!item[2]) { item[2] = mediaQuery; } else { item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } } list.push(item); } }; return list; }; function cssWithMappingToString(item, useSourceMap) { var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring var cssMapping = item[3]; if (!cssMapping) { return content; } if (useSourceMap && typeof btoa === 'function') { var sourceMapping = toComment(cssMapping); var sourceURLs = cssMapping.sources.map(function (source) { return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */"); }); return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); } return [content].join('\n'); } // Adapted from convert-source-map (MIT) function toComment(sourceMap) { // eslint-disable-next-line no-undef var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); return "/*# ".concat(data, " */"); } /***/ }), /* 7 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesServer; }); // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something * easier to manipulate. */ function listToStyles (parentId, list) { var styles = [] var newStyles = {} for (var i = 0; i < list.length; i++) { var item = list[i] var id = item[0] var css = item[1] var media = item[2] var sourceMap = item[3] var part = { id: parentId + ':' + i, css: css, media: media, sourceMap: sourceMap } if (!newStyles[id]) { styles.push(newStyles[id] = { id: id, parts: [part] }) } else { newStyles[id].parts.push(part) } } return styles } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesServer.js function addStylesServer (parentId, list, isProduction, context) { if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } if (context) { if (!context.hasOwnProperty('styles')) { Object.defineProperty(context, 'styles', { enumerable: true, get: function() { return renderStyles(context._styles) } }) // expose renderStyles for vue-server-renderer (vuejs/#6353) context._renderStyles = renderStyles } var styles = context._styles || (context._styles = {}) list = listToStyles(parentId, list) if (isProduction) { addStyleProd(styles, list) } else { addStyleDev(styles, list) } } } // In production, render as few style tags as possible. // (mostly because IE9 has a limit on number of style tags) function addStyleProd (styles, list) { for (var i = 0; i < list.length; i++) { var parts = list[i].parts for (var j = 0; j < parts.length; j++) { var part = parts[j] // group style tags by media types. var id = part.media || 'default' var style = styles[id] if (style) { if (style.ids.indexOf(part.id) < 0) { style.ids.push(part.id) style.css += '\n' + part.css } } else { styles[id] = { ids: [part.id], css: part.css, media: part.media } } } } } // In dev we use individual style tag for each module for hot-reload // and source maps. function addStyleDev (styles, list) { for (var i = 0; i < list.length; i++) { var parts = list[i].parts for (var j = 0; j < parts.length; j++) { var part = parts[j] styles[part.id] = { ids: [part.id], css: part.css, media: part.media } } } } function renderStyles (styles) { var css = '' for (var key in styles) { var style = styles[key] css += '<style data-vue-ssr-id="' + style.ids.join(' ') + '"' + (style.media ? ( ' media="' + style.media + '"' ) : '') + '>' + style.css + '</style>' } return css } /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(14); if(content.__esModule) content = content.default; if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; // add CSS to SSR context var add = __webpack_require__(7).default module.exports.__inject__ = function (context) { add("3b759272", content, true, context) }; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(16); if(content.__esModule) content = content.default; if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; // add CSS to SSR context var add = __webpack_require__(7).default module.exports.__inject__ = function (context) { add("2b594df6", content, true, context) }; /***/ }), /* 10 */ /***/ (function(module, exports) { module.exports = require("node-fetch"); /***/ }), /* 11 */ /***/ (function(module, exports) { module.exports = require("vue-meta"); /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(17); /***/ }), /* 13 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_5eb69f1c_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_5eb69f1c_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_5eb69f1c_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_5eb69f1c_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_error_vue_vue_type_style_index_0_id_5eb69f1c_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); // Module ___CSS_LOADER_EXPORT___.push([module.i, "\n.__nuxt-error-page {\n padding: 1rem;\n background: #F7F8FB;\n color: #47494E;\n text-align: center;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n font-family: sans-serif;\n font-weight: 100 !important;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.__nuxt-error-page .error {\n max-width: 450px;\n}\n.__nuxt-error-page .title {\n font-size: 1.5rem;\n margin-top: 15px;\n color: #47494E;\n margin-bottom: 8px;\n}\n.__nuxt-error-page .description {\n color: #7F828B;\n line-height: 21px;\n margin-bottom: 10px;\n}\n.__nuxt-error-page a {\n color: #7F828B !important;\n text-decoration: none;\n}\n.__nuxt-error-page .logo {\n position: fixed;\n left: 12px;\n bottom: 12px;\n}\n", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 15 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_33856d5f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_33856d5f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_33856d5f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_33856d5f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_3_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_33856d5f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); // Module ___CSS_LOADER_EXPORT___.push([module.i, "\n.nuxt-progress {\n position: fixed;\n top: 0px;\n left: 0px;\n right: 0px;\n height: 2px;\n width: 0%;\n opacity: 1;\n transition: width 0.1s, opacity 0.4s;\n background-color: black;\n z-index: 999999;\n}\n.nuxt-progress.nuxt-progress-notransition {\n transition: none;\n}\n.nuxt-progress-failed {\n background-color: red;\n}\n", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: external "vue" var external_vue_ = __webpack_require__(0); var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); // EXTERNAL MODULE: external "ufo" var external_ufo_ = __webpack_require__(1); // EXTERNAL MODULE: external "node-fetch" var external_node_fetch_ = __webpack_require__(10); var external_node_fetch_default = /*#__PURE__*/__webpack_require__.n(external_node_fetch_); // CONCATENATED MODULE: ./.nuxt/middleware.js const middleware = {}; /* harmony default export */ var _nuxt_middleware = (middleware); // CONCATENATED MODULE: ./.nuxt/utils.js // window.{{globals.loadedCallback}} hook // Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading) if (false) {} function createGetCounter(counterObject, defaultKey = '') { return function getCounter(id = defaultKey) { if (counterObject[id] === undefined) { counterObject[id] = 0; } return counterObject[id]++; }; } function empty() {} function globalHandleError(error) { if (external_vue_default.a.config.errorHandler) { external_vue_default.a.config.errorHandler(error); } } function interopDefault(promise) { return promise.then(m => m.default || m); } function hasFetch(vm) { return vm.$options && typeof vm.$options.fetch === 'function' && !vm.$options.fetch.length; } function purifyData(data) { if (true) { return data; } return Object.entries(data).filter(([key, value]) => { const valid = !(value instanceof Function) && !(value instanceof Promise); if (!valid) { console.warn(`${key} is not able to be stringified. This will break in a production environment.`); } return valid; }).reduce((obj, [key, value]) => { obj[key] = value; return obj; }, {}); } function getChildrenComponentInstancesUsingFetch(vm, instances = []) { const children = vm.$children || []; for (const child of children) { if (child.$fetch) { instances.push(child); continue; // Don't get the children since it will reload the template } if (child.$children) { getChildrenComponentInstancesUsingFetch(child, instances); } } return instances; } function applyAsyncData(Component, asyncData) { if ( // For SSR, we once all this function without second param to just apply asyncData // Prevent doing this for each SSR request !asyncData && Component.options.__hasNuxtData) { return; } const ComponentData = Component.options._originDataFn || Component.options.data || function () { return {}; }; Component.options._originDataFn = ComponentData; Component.options.data = function () { const data = ComponentData.call(this, this); if (this.$ssrContext) { asyncData = this.$ssrContext.asyncData[Component.cid]; } return { ...data, ...asyncData }; }; Component.options.__hasNuxtData = true; if (Component._Ctor && Component._Ctor.options) { Component._Ctor.options.data = Component.options.data; } } function sanitizeComponent(Component) { // If Component already sanitized if (Component.options && Component._Ctor === Component) { return Component; } if (!Component.options) { Component = external_vue_default.a.extend(Component); // fix issue #6 Component._Ctor = Component; } else { Component._Ctor = Component; Component.extendOptions = Component.options; } // If no component name defined, set file path as name, (also fixes #5703) if (!Component.options.name && Component.options.__file) { Component.options.name = Component.options.__file; } return Component; } function getMatchedComponents(route, matches = false, prop = 'components') { return Array.prototype.concat.apply([], route.matched.map((m, index) => { return Object.keys(m[prop]).map(key => { matches && matches.push(index); return m[prop][key]; }); })); } function getMatchedComponentsInstances(route, matches = false) { return getMatchedComponents(route, matches, 'instances'); } function flatMapComponents(route, fn) { return Array.prototype.concat.apply([], route.matched.map((m, index) => { return Object.keys(m.components).reduce((promises, key) => { if (m.components[key]) { promises.push(fn(m.components[key], m.instances[key], m, key, index)); } else { delete m.components[key]; } return promises; }, []); })); } function resolveRouteComponents(route, fn) { return Promise.all(flatMapComponents(route, async (Component, instance, match, key) => { // If component is a function, resolve it if (typeof Component === 'function' && !Component.options) { try { Component = await Component(); } catch (error) { // Handle webpack chunk loading errors // This may be due to a new deployment or a network problem if (error && error.name === 'ChunkLoadError' && typeof window !== 'undefined' && window.sessionStorage) { const timeNow = Date.now(); const previousReloadTime = parseInt(window.sessionStorage.getItem('nuxt-reload')); // check for previous reload time not to reload infinitely if (!previousReloadTime || previousReloadTime + 60000 < timeNow) { window.sessionStorage.setItem('nuxt-reload', timeNow); window.location.reload(true /* skip cache */ ); } } throw error; } } match.components[key] = Component = sanitizeComponent(Component); return typeof fn === 'function' ? fn(Component, instance, match, key) : Component; })); } async function getRouteData(route) { if (!route) { return; } // Make sure the components are resolved (code-splitting) await resolveRouteComponents(route); // Send back a copy of route with meta based on Component definition return { ...route, meta: getMatchedComponents(route).map((Component, index) => { return { ...Component.options.meta, ...(route.matched[index] || {}).meta }; }) }; } async function setContext(app, context) { // If context not defined, create it if (!app.context) { app.context = { isStatic: false, isDev: false, isHMR: false, app, payload: context.payload, error: context.error, base: app.router.options.base, env: {} }; // Only set once if (context.req) { app.context.req = context.req; } if (context.res) { app.context.res = context.res; } if (context.ssrContext) { app.context.ssrContext = context.ssrContext; } app.context.redirect = (status, path, query) => { if (!status) { return; } app.context._redirected = true; // if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' }) let pathType = typeof path; if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) { query = path || {}; path = status; pathType = typeof path; status = 302; } if (pathType === 'object') { path = app.router.resolve(path).route.fullPath; } // "/absolute/route", "./relative/route" or "../relative/route" if (/(^[.]{1,2}\/)|(^\/(?!\/))/.test(path)) { app.context.next({ path, query, status }); } else { path = Object(external_ufo_["withQuery"])(path, query); if (true) { app.context.next({ path, status }); } if (false) {} } }; if (true) { app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn); } if (false) {} } // Dynamic keys const [currentRouteData, fromRouteData] = await Promise.all([getRouteData(context.route), getRouteData(context.from)]); if (context.route) { app.context.route = currentRouteData; } if (context.from) { app.context.from = fromRouteData; } app.context.next = context.next; app.context._redirected = false; app.context._errored = false; app.context.isHMR = false; app.context.params = app.context.route.params || {}; app.context.query = app.context.route.query || {}; } function middlewareSeries(promises, appContext) { if (!promises.length || appContext._redirected || appContext._errored) { return Promise.resolve(); } return promisify(promises[0], appContext).then(() => { return middlewareSeries(promises.slice(1), appContext); }); } function promisify(fn, context) { let promise; if (fn.length === 2) { // fn(context, callback) promise = new Promise(resolve => { fn(context, function (err, data) { if (err) { context.error(err); } data = data || {}; resolve(data); }); }); } else { promise = fn(context); } if (promise && promise instanceof Promise && typeof promise.then === 'function') { return promise; } return Promise.resolve(promise); } // Imported from vue-router function getLocation(base, mode) { if (mode === 'hash') { return window.location.hash.replace(/^#\//, ''); } base = decodeURI(base).slice(0, -1); // consideration is base is normalized with trailing slash let path = decodeURI(window.location.pathname); if (base && path.startsWith(base)) { path = path.slice(base.length); } const fullPath = (path || '/') + window.location.search + window.location.hash; return Object(external_ufo_["normalizeURL"])(fullPath); } // Imported from path-to-regexp /** * Compile a string to a template function for the path. * * @param {string} str * @param {Object=} options * @return {!function(Object=, Object=)} */ function compile(str, options) { return tokensToFunction(parse(str, options), options); } function getQueryDiff(toQuery, fromQuery) { const diff = {}; const queries = { ...toQuery, ...fromQuery }; for (const k in queries) { if (String(toQuery[k]) !== String(fromQuery[k])) { diff[k] = true; } } return diff; } function normalizeError(err) { let message; if (!(err.message || typeof err === 'string')) { try { message = JSON.stringify(err, null, 2); } catch (e) { message = `[${err.constructor.name}]`; } } else { message = err.message || err; } return { ...err, message, statusCode: err.statusCode || err.status || err.response && err.response.status || 500 }; } /** * The main path matching regexp utility. * * @type {RegExp} */ const PATH_REGEXP = new RegExp([// Match escaped characters that would otherwise appear in future matches. // This allows the user to escape special characters that won't transform. '(\\\\.)', // Match Express-style parameters and un-named parameters with a prefix // and optional suffixes. Matches appear as: // // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined] // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined] // "/*" => ["/", undefined, undefined, undefined, undefined, "*"] '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'].join('|'), 'g'); /** * Parse a string for the raw tokens. * * @param {string} str * @param {Object=} options * @return {!Array} */ function parse(str, options) { const tokens = []; let key = 0; let index = 0; let path = ''; const defaultDelimiter = options && options.delimiter || '/'; let res; while ((res = PATH_REGEXP.exec(str)) != null) { const m = res[0]; const escaped = res[1]; const offset = res.index; path += str.slice(index, offset); index = offset + m.length; // Ignore already escaped sequences. if (escaped) { path += escaped[1]; continue; } const next = str[index]; const prefix = res[2]; const name = res[3]; const capture = res[4]; const group = res[5]; const modifier = res[6]; const asterisk = res[7]; // Push the current path onto the tokens. if (path) { tokens.push(path); path = ''; } const partial = prefix != null && next != null && next !== prefix; const repeat = modifier === '+' || modifier === '*'; const optional = modifier === '?' || modifier === '*'; const delimiter = res[2] || defaultDelimiter; const pattern = capture || group; tokens.push({ name: name || key++, prefix: prefix || '', delimiter, optional, repeat, partial, asterisk: Boolean(asterisk), pattern: pattern ? escapeGroup(pattern) : asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?' }); } // Match any characters still remaining. if (index < str.length) { path += str.substr(index); } // If the path exists, push it onto the end. if (path) { tokens.push(path); } return tokens; } /** * Prettier encoding of URI path segments. * * @param {string} * @return {string} */ function encodeURIComponentPretty(str, slashAllowed) { const re = slashAllowed ? /[?#]/g : /[/?#]/g; return encodeURI(str).replace(re, c => { return '%' + c.charCodeAt(0).toString(16).toUpperCase(); }); } /** * Encode the asterisk parameter. Similar to `pretty`, but allows slashes. * * @param {string} * @return {string} */ function encodeAsterisk(str) { return encodeURIComponentPretty(str, true); } /** * Escape a regular expression string. * * @param {string} str * @return {string} */ function escapeString(str) { return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, '\\$1'); } /** * Escape the capturing group by escaping special characters and meaning. * * @param {string} group * @return {string} */ function escapeGroup(group) { return group.replace(/([=!:$/()])/g, '\\$1'); } /** * Expose a method for transforming tokens into the path function. */ function tokensToFunction(tokens, options) { // Compile all the tokens into regexps. const matches = new Array(tokens.length); // Compile all the patterns before compilation. for (let i = 0; i < tokens.length; i++) { if (typeof tokens[i] === 'object') { matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options)); } } return function (obj, opts) { let path = ''; const data = obj || {}; const options = opts || {}; const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent; for (let i = 0; i < tokens.length; i++) { const token = tokens[i]; if (typeof token === 'string') { path += token; continue; } const value = data[token.name || 'pathMatch']; let segment; if (value == null) { if (token.optional) { // Prepend partial segment prefixes. if (token.partial) { path += token.prefix; } continue; } else { throw new TypeError('Expected "' + token.name + '" to be defined'); } } if (Array.isArray(value)) { if (!token.repeat) { throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`'); } if (value.length === 0) { if (token.optional) { continue; } else { throw new TypeError('Expected "' + token.name + '" to not be empty'); } } for (let j = 0; j < value.length; j++) { segment = encode(value[j]); if (!matches[i].test(segment)) { throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`'); } path += (j === 0 ? token.prefix : token.delimiter) + segment; } continue; } segment = token.asterisk ? encodeAsterisk(value) : encode(value); if (!matches[i].test(segment)) { throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"'); } path += token.prefix + segment; } return path; }; } /** * Get the flags for a regexp from the options. * * @param {Object} options * @return {string} */ function flags(options) { return options && options.sensitive ? '' : 'i'; } function addLifecycleHook(vm, hook, fn) { if (!vm.$options[hook]) { vm.$options[hook] = []; } if (!vm.$options[hook].includes(fn)) { vm.$options[hook].push(fn); } } const urlJoin = external_ufo_["joinURL"]; const stripTrailingSlash = external_ufo_["withoutTrailingSlash"]; const isSamePath = external_ufo_["isSamePath"]; function setScrollRestoration(newVal) { try { window.history.scrollRestoration = newVal; } catch (e) {} } // CONCATENATED MODULE: ./.nuxt/mixins/fetch.server.js async function serverPrefetch() { if (!this._fetchOnServer) { return; } // Call and await on $fetch try { await this.$options.fetch.call(this); } catch (err) { if (false) {} this.$fetchState.error = normalizeError(err); } this.$fetchState.pending = false; // Define an ssrKey for hydration this._fetchKey = this._fetchKey || this.$ssrContext.fetchCounters['']++; // Add data-fetch-key on parent element of Component const attrs = this.$vnode.data.attrs = this.$vnode.data.attrs || {}; attrs['data-fetch-key'] = this._fetchKey; // Add to ssrContext for window.__NUXT__.fetch this.$ssrContext.nuxt.fetch[this._fetchKey] = this.$fetchState.error ? { _error: this.$fetchState.error } : purifyData(this._data); } /* harmony default export */ var fetch_server = ({ created() { if (!hasFetch(this)) { return; } if (typeof this.$options.fetchOnServer === 'function') { this._fetchOnServer = this.$options.fetchOnServer.call(this) !== false; } else { this._fetchOnServer = this.$options.fetchOnServer !== false; } const defaultKey = this.$options._scopeId || this.$options.name || ''; const getCounter = createGetCounter(this.$ssrContext.fetchCounters, defaultKey); if (typeof this.$options.fetchKey === 'function') { this._fetchKey = this.$options.fetchKey.call(this, getCounter); } else { const key = 'string' === typeof this.$options.fetchKey ? this.$options.fetchKey : defaultKey; this._fetchKey = key ? key + ':' + getCounter(key) : String(getCounter(key)); } // Added for remove vue undefined warning while ssr this.$fetch = () => {}; // issue #8043 external_vue_default.a.util.defineReactive(this, '$fetchState', { pending: true, error: null, timestamp: Date.now() }); addLifecycleHook(this, 'serverPrefetch', serverPrefetch); } }); // EXTERNAL MODULE: external "vue-meta" var external_vue_meta_ = __webpack_require__(11); var external_vue_meta_default = /*#__PURE__*/__webpack_require__.n(external_vue_meta_); // EXTERNAL MODULE: external "vue-client-only" var external_vue_client_only_ = __webpack_require__(4); var external_vue_client_only_default = /*#__PURE__*/__webpack_require__.n(external_vue_client_only_); // EXTERNAL MODULE: external "vue-no-ssr" var external_vue_no_ssr_ = __webpack_require__(3); var external_vue_no_ssr_default = /*#__PURE__*/__webpack_require__.n(external_vue_no_ssr_); // EXTERNAL MODULE: external "vue-router" var external_vue_router_ = __webpack_require__(5); var external_vue_router_default = /*#__PURE__*/__webpack_require__.n(external_vue_router_); // CONCATENATED MODULE: ./.nuxt/router.scrollBehavior.js if (false) {} function shouldScrollToTop(route) { const Pages = getMatchedComponents(route); if (Pages.length === 1) { const { options = {} } = Pages[0]; return options.scrollToTop !== false; } return Pages.some(({ options }) => options && options.scrollToTop); } /* harmony default export */ var router_scrollBehavior = (function (to, from, savedPosition) { // If the returned position is falsy or an empty object, will retain current scroll position let position = false; const isRouteChanged = to !== from; // savedPosition is only available for popstate navigations (back button) if (savedPosition) { position = savedPosition; } else if (isRouteChanged && shouldScrollToTop(to)) { position = { x: 0, y: 0 }; } const nuxt = window.$nuxt; if ( // Initial load (vuejs/vue-router#3199) !isRouteChanged || // Route hash changes to.path === from.path && to.hash !== from.hash) { nuxt.$nextTick(() => nuxt.$emit('triggerScroll')); } return new Promise(resolve => { // wait for the out transition to complete (if necessary) nuxt.$once('triggerScroll', () => { // coords will be used if no selector is provided, // or if the selector didn't match any element. if (to.hash) { let hash = to.hash; // CSS.escape() is not supported with IE and Edge. if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') { hash = '#' + window.CSS.escape(hash.substr(1)); } try { if (document.querySelector(hash)) { // scroll to anchor by returning the selector position = { selector: hash }; } } catch (e) { console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).'); } } resolve(position); }); }); }); // CONCATENATED MODULE: ./.nuxt/router.js const _25c80766 = () => interopDefault(__webpack_require__.e(/* import() */ 1).then(__webpack_require__.bind(null, 21))); const emptyFn = () => {}; external_vue_default.a.use(external_vue_router_default.a); const routerOptions = { mode: 'history', base: '/', linkActiveClass: 'nuxt-link-active', linkExactActiveClass: 'nuxt-link-exact-active', scrollBehavior: router_scrollBehavior, routes: [{ path: "", component: _25c80766 }], fallback: false }; function createRouter(ssrContext, config) { const base = config._app && config._app.basePath || routerOptions.base; const router = new external_vue_router_default.a({ ...routerOptions, base }); // TODO: remove in Nuxt 3 const originalPush = router.push; router.push = function push(location, onComplete = emptyFn, onAbort) { return originalPush.call(this, location, onComplete, onAbort); }; const resolve = router.resolve.bind(router); router.resolve = (to, current, append) => { if (typeof to === 'string') { to = Object(external_ufo_["normalizeURL"])(to); } return resolve(to, current, append); }; return router; } // CONCATENATED MODULE: ./.nuxt/components/nuxt-child.js /* harmony default export */ var nuxt_child = ({ name: 'NuxtChild', functional: true, props: { nuxtChildKey: { type: String, default: '' }, keepAlive: Boolean, keepAliveProps: { type: Object, default: undefined } }, render(_, { parent, data, props }) { const h = parent.$createElement; data.nuxtChild = true; const _parent = parent; const transitions = parent.$nuxt.nuxt.transitions; const defaultTransition = parent.$nuxt.nuxt.defaultTransition; let depth = 0; while (parent) { if (parent.$vnode && parent.$vnode.data.nuxtChild) { depth++; } parent = parent.$parent; } data.nuxtChildDepth = depth; const transition = transitions[depth] || defaultTransition; const transitionProps = {}; transitionsKeys.forEach(key => { if (typeof transition[key] !== 'undefined') { transitionProps[key] = transition[key]; } }); const listeners = {}; listenersKeys.forEach(key => { if (typeof transition[key] === 'function') { listeners[key] = transition[key].bind(_parent); } }); if (false) {} // make sure that leave is called asynchronous (fix #5703) if (transition.css === false) { const leave = listeners.leave; // only add leave listener when user didnt provide one // or when it misses the done argument if (!leave || leave.length < 2) { listeners.leave = (el, done) => { if (leave) { leave.call(_parent, el); } _parent.$nextTick(done); }; } } let routerView = h('routerView', data); if (props.keepAlive) { routerView = h('keep-alive', { props: props.keepAliveProps }, [routerView]); } return h('transition', { props: transitionProps, on: listeners }, [routerView]); } }); const transitionsKeys = ['name', 'mode', 'appear', 'css', 'type', 'duration', 'enterClass', 'leaveClass', 'appearClass', 'enterActiveClass', 'enterActiveClass', 'leaveActiveClass', 'appearActiveClass', 'enterToClass', 'leaveToClass', 'appearToClass']; const listenersKeys = ['beforeEnter', 'enter', 'afterEnter', 'enterCancelled', 'beforeLeave', 'leave', 'afterLeave', 'leaveCancelled', 'beforeAppear', 'appear', 'afterAppear', 'appearCancelled']; // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./.nuxt/components/nuxt-error.vue?vue&type=template&id=5eb69f1c& var render = function render() { var _vm = this, _c = _vm._self._c; return _c('div', { staticClass: "__nuxt-error-page" }, [_vm._ssrNode("<div class=\"error\">", "</div>", [_vm._ssrNode("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"90\" height=\"90\" fill=\"#DBE1EC\" viewBox=\"0 0 48 48\"><path d=\"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z\"></path></svg> <div class=\"title\">" + _vm._ssrEscape(_vm._s(_vm.message)) + "</div> "), _vm.statusCode === 404 ? _vm._ssrNode("<p class=\"description\">", "</p>", [typeof _vm.$route === 'undefined' ? _vm._ssrNode("<a href=\"/\" class=\"error-link\">", "</a>") : _c('NuxtLink', { staticClass: "error-link", attrs: { "to": "/" } }, [_vm._v("Back to the home page")])], 1) : _vm._e(), _vm._ssrNode(" <div class=\"logo\"><a href=\"https://nuxtjs.org\" target=\"_blank\" rel=\"noopener\">Nuxt</a></div>")], 2)]); }; var staticRenderFns = []; // CONCATENATED MODULE: ./.nuxt/components/nuxt-error.vue?vue&type=template&id=5eb69f1c& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./.nuxt/components/nuxt-error.vue?vue&type=script&lang=js& /* harmony default export */ var nuxt_errorvue_type_script_lang_js_ = ({ name: 'NuxtError', props: { error: { type: Object, default: null } }, computed: { statusCode() { return this.error && this.error.statusCode || 500; }, message() { return this.error.message || 'Error'; } }, head() { return { title: this.message, meta: [{ name: 'viewport', content: 'width=device-width,initial-scale=1.0,minimum-scale=1.0' }] }; } }); // CONCATENATED MODULE: ./.nuxt/components/nuxt-error.vue?vue&type=script&lang=js& /* harmony default export */ var components_nuxt_errorvue_type_script_lang_js_ = (nuxt_errorvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(2); // CONCATENATED MODULE: ./.nuxt/components/nuxt-error.vue function injectStyles (context) { var style0 = __webpack_require__(13) if (style0.__inject__)