diff --git a/app/Http/Middleware/ShareViewData.php b/app/Http/Middleware/ShareViewData.php index 8fa65841..8ef56aff 100644 --- a/app/Http/Middleware/ShareViewData.php +++ b/app/Http/Middleware/ShareViewData.php @@ -22,6 +22,7 @@ namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Beike\Repositories\FooterRepo; +use Beike\Repositories\MenuRepo; use Illuminate\Support\Facades\View; use Beike\Repositories\CategoryRepo; use Beike\Repositories\LanguageRepo; @@ -50,6 +51,7 @@ class ShareViewData View::share('shop_base_url', shop_route('home.index')); View::share('categories', hook_filter('header.categories', CategoryRepo::getTwoLevelCategories())); View::share('footer_content', hook_filter('footer.content', FooterRepo::handleFooterData())); + View::share('menu_content', hook_filter('menu.content', MenuRepo::handleMenuData())); } } diff --git a/beike/Admin/Http/Controllers/DesignMenuController.php b/beike/Admin/Http/Controllers/DesignMenuController.php new file mode 100644 index 00000000..74d2ecfe --- /dev/null +++ b/beike/Admin/Http/Controllers/DesignMenuController.php @@ -0,0 +1,47 @@ + system_setting('base.menu_setting', []), + ]; + return view('admin::pages.design.builder.menu', $data); + } + + /** + * 更新所有数据 + * + * @param Request $request + * @return array + * @throws \Throwable + */ + public function update(Request $request): array + { + $content = json_decode($request->getContent(), true); + + $data = [ + 'type' => 'system', + 'space' => 'base', + 'name' => 'menu_setting', + 'value' => json_encode($content), + 'json' => 1 + ]; + SettingRepo::createOrUpdate($data); + return json_success("保存成功"); + } +} diff --git a/beike/Admin/Repositories/PermissionRepo.php b/beike/Admin/Repositories/PermissionRepo.php index b94998e9..0f2697a8 100644 --- a/beike/Admin/Repositories/PermissionRepo.php +++ b/beike/Admin/Repositories/PermissionRepo.php @@ -146,7 +146,7 @@ class PermissionRepo */ private function getSettingPermissions(): array { - $routes = ['settings_index', 'design_index', 'design_footer_index']; + $routes = ['settings_index', 'design_index', 'design_footer_index', 'design_menu_index']; $items = $this->getPermissionList('setting', $routes); return hook_filter('role.setting_permissions', $items); } diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index 0b9c22bc..fad270e4 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -44,6 +44,9 @@ Route::prefix($adminName) Route::put('design_footer/builder', [Controllers\DesignFooterController::class, 'update'])->name('design_footer.update'); Route::post('design_footer/builder/preview', [Controllers\DesignFooterController::class, 'preview'])->name('design_footer.module.preview'); + Route::get('design_menu/builder', [Controllers\DesignMenuController::class, 'index'])->name('design_menu.index'); + Route::put('design_menu/builder', [Controllers\DesignMenuController::class, 'update'])->name('design_menu.update'); + Route::put('edit', [Controllers\EditController::class, 'update'])->name('edit'); Route::get('edit/locale', [Controllers\EditController::class, 'locale'])->name('edit.locale'); diff --git a/beike/Admin/View/Components/Sidebar.php b/beike/Admin/View/Components/Sidebar.php index 05b4e12d..8def94d8 100644 --- a/beike/Admin/View/Components/Sidebar.php +++ b/beike/Admin/View/Components/Sidebar.php @@ -61,7 +61,7 @@ class Sidebar extends Component foreach ($routes as $route) { $this->addLink($route['route'], $route['icon'] ?? '', $this->equalRoute($route['route']), (bool)($route['blank'] ?? false)); } - } elseif (Str::startsWith($routeName, ['settings.', 'admin_users.', 'admin_roles.', 'plugins.', 'tax_classes', 'tax_rates', 'regions', 'currencies', 'languages'])) { + } elseif (Str::startsWith($routeName, ['settings.', 'admin_users.', 'admin_roles.', 'plugins.', 'tax_classes', 'tax_rates', 'regions', 'currencies', 'languages', 'design_menu'])) { $routes = $this->getSettingSubRoutes(); foreach ($routes as $route) { $this->addLink($route['route'], $route['icon'] ?? '', $this->equalRoute($route['route']), (bool)($route['blank'] ?? false)); @@ -185,6 +185,7 @@ class Sidebar extends Component ['route' => 'languages.index', 'icon' => 'fa fa-tachometer-alt'], ['route' => 'design.index', 'icon' => 'fa fa-tachometer-alt', 'blank' => true], ['route' => 'design_footer.index', 'icon' => 'fa fa-tachometer-alt', 'blank' => true], + ['route' => 'design_menu.index', 'icon' => 'fa fa-tachometer-alt'], ]; return hook_filter('sidebar.setting_routes', $routes); } diff --git a/beike/Helpers.php b/beike/Helpers.php index ddba3553..8cf86bde 100644 --- a/beike/Helpers.php +++ b/beike/Helpers.php @@ -125,7 +125,7 @@ function type_route($type, $value): string } elseif ($type == 'category') { return shop_route('categories.show', ['category' => $value]); } elseif ($type == 'brand') { - return shop_route('brands.show', ['brand' => $value]); + return shop_route('brands.show', [$value]); } elseif ($type == 'page') { return shop_route('pages.show', ['page' => $value]); } diff --git a/beike/Repositories/MenuRepo.php b/beike/Repositories/MenuRepo.php new file mode 100644 index 00000000..a7d2151a --- /dev/null +++ b/beike/Repositories/MenuRepo.php @@ -0,0 +1,113 @@ + + * @created 2022-08-11 18:16:06 + * @modified 2022-08-11 18:16:06 + */ + +namespace Beike\Repositories; + +use Beike\Models\Page; +use Beike\Models\Category; +use Beike\Repositories\CategoryRepo; +use Beike\Repositories\ProductRepo; +use Beike\Repositories\BrandRepo; + + +class MenuRepo +{ + /** + * 处理页尾编辑器数据 + * + * @return array|mixed + */ + public static function handleMenuData($MenuSetting = []) + { + if (empty($MenuSetting)) { + $MenuSetting = system_setting('base.menu_setting'); + } + + $locale = locale(); + + $menus = $MenuSetting['menus']; + + foreach ($menus as $index => $menu) { + $menus[$index]['link'] = self::handleLink($menu['link']); + $menus[$index]['name'] = $menu['name'][$locale] ?? ''; + $menus[$index]['badge']['name'] = $menu['badge']['name'][$locale] ?? ''; + + if ($menu['childrenGroup']) { + foreach ($menu['childrenGroup'] as $group_index => $childrenGroup) { + if ($childrenGroup['type'] == 'image') { + $menus[$index]['childrenGroup'][$group_index]['image']['image'] = image_origin($childrenGroup['image']['image'][$locale]); + $menus[$index]['childrenGroup'][$group_index]['image']['link'] = type_route($childrenGroup['image']['link']['type'], $childrenGroup['image']['link']['value']); + continue; + } + + // 判断 $childrenGroup['children'] 是否为空,如果为空,则删除该分组 + if (empty($childrenGroup['children'])) { + unset($menus[$index]['childrenGroup'][$group_index]); + } else { + $menus[$index]['childrenGroup'][$group_index]['name'] = $childrenGroup['name'][$locale]; + if ($childrenGroup['children']) { + foreach ($childrenGroup['children'] as $children_index => $children) { + $menus[$index]['childrenGroup'][$group_index]['children'][$children_index]['link'] = self::handleLink($children['link']); + } + } + } + } + } + } + + return $menus; + } + + /** + * 处理链接 + * + * @param $type + * @param $value + * @return string + */ + private static function handleLink($link): array + { + $locale = locale(); + + if ($link['type'] == 'custom') { + $link['link'] = $link['value']; + $link['text'] = $link['text'][$locale]; + } elseif ($link['type'] == 'static') { + $link['link'] = shop_route($link['value']); + $link['text'] = $link['text'][$locale] ?: trans('shop/' . $link['value']); + } elseif ($link['type'] == 'page') { + $pageId = $link['value']; + $page = Page::query()->find($pageId); + if ($page) { + $link['link'] = type_route('page', $link['value']); + $link['text'] = $link['text'][$locale] ?: $page->description->title; + } + } elseif ($link['type'] == 'category') { + $category = Category::query()->find($link['value']); + if ($category) { + $link['link'] = type_route('category', $link['value']); + $link['text'] = $link['text'][$locale] ?: CategoryRepo::getName($link['value']); + } + } elseif ($link['type'] == 'product') { + $link['link'] = type_route('product', $link['value']); + $link['text'] = $link['text'][$locale] ?: ProductRepo::getName($link['value']); + } elseif ($link['type'] == 'brand') { + $link['link'] = type_route('brand', $link['value']); + $link['text'] = $link['text'][$locale] ?: BrandRepo::getName($link['value']); + } else { + $link['link'] = ''; + $link['text'] = $link['text'][$locale]; + } + + return $link; + } +} diff --git a/public/build/beike/admin/css/app.css b/public/build/beike/admin/css/app.css index 58f1df4c..75cecdad 100644 --- a/public/build/beike/admin/css/app.css +++ b/public/build/beike/admin/css/app.css @@ -325,6 +325,18 @@ margin-right: 5px; } +.cursor-pointer { + cursor: pointer; +} + +.cursor-scroll { + cursor: all-scroll; +} + +.flex-1 { + flex: 1; +} + .help-text { color: #B2B2B2; margin-top: 4px; @@ -537,13 +549,6 @@ body.page-seller-product .share-link-pop .share-links-code img { background: #fff; border-right: 1px solid #f1f1f1; } -@media screen and (max-width: 991px) { - .sidebar { - position: fixed; - top: 0; - bottom: 0; - } -} .sidebar .navbar-nav > li.nav-item { position: relative; } @@ -595,6 +600,11 @@ body.page-seller-product .share-link-pop .share-links-code img { .header-wrap .header-right > .navbar > li { padding: 0 1rem; } +@media screen and (max-width: 991px) { + .header-wrap .header-right > .navbar > li { + padding: 0 0.3rem; + } +} .header-wrap .header-right > .navbar > li .dropdown:hover .nav-link { background-color: #eee; } @@ -1063,3 +1073,34 @@ body.page-categories .el-tree-node__content { height: 42px; border-bottom: 1px solid #f5f5f5; } + +.design-wrap { + flex-wrap: wrap; +} +.design-wrap .menus-wrap > div { + cursor: pointer; +} +.design-wrap .menus-wrap > div:not(.list-group-item-primary):hover { + background-color: #f5f5f5; +} +.design-wrap .left .menus-wrap .link-selector-wrap { + width: calc(100% - 20px); +} +.design-wrap .left .menus-wrap .link-selector-wrap .selector-type .title { + border: none; + padding: 8px 16px 8px 6px; + background-color: transparent; +} +.design-wrap .right { + width: calc(100% - 220px); +} +.design-wrap .right .menu-children-group .group-children .children-item { + background-color: #f5f5f5; +} +.design-wrap .right .menu-children-group .group-children .children-item .link-selector-wrap { + width: calc(100% - 34px); +} +.design-wrap .right .menu-children-group .group-children .children-item .link-selector-wrap .selector-type .title { + border: none; + background-color: transparent; +} diff --git a/public/build/beike/admin/css/bootstrap.css b/public/build/beike/admin/css/bootstrap.css index 3dade7df..1209a1a8 100644 --- a/public/build/beike/admin/css/bootstrap.css +++ b/public/build/beike/admin/css/bootstrap.css @@ -8739,7 +8739,7 @@ progress { background-color: #f9fbfd; border-color: #feab87; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1); } .form-control::-webkit-date-and-time-value { height: 1.5em; @@ -9019,7 +9019,7 @@ textarea.form-control-lg { .form-check-input:focus { border-color: #feab87; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1); } .form-check-input:checked { background-color: #fd560f; @@ -9098,10 +9098,10 @@ textarea.form-control-lg { outline: 0; } .form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #f9fbfd, 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 0 1px #f9fbfd, 0 0 11px 0 rgba(253, 86, 15, 0.1); } .form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #f9fbfd, 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 0 1px #f9fbfd, 0 0 11px 0 rgba(253, 86, 15, 0.1); } .form-range::-moz-focus-outer { border: 0; @@ -9525,7 +9525,7 @@ textarea.form-control-lg { } .btn-check:focus + .btn, .btn:focus { outline: 0; - box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1); } .btn:disabled, .btn.disabled, fieldset:disabled .btn { pointer-events: none; @@ -11216,7 +11216,7 @@ textarea.form-control-lg { z-index: 3; border-color: #feab87; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1); } .accordion-header { @@ -11324,7 +11324,7 @@ textarea.form-control-lg { color: #1373cc; background-color: #e9ecef; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1); } .page-item:not(:first-child) .page-link { @@ -11906,7 +11906,7 @@ textarea.form-control-lg { } .btn-close:focus { outline: 0; - box-shadow: 0 0 0 0.25rem rgba(253, 86, 15, 0.25); + box-shadow: 0 0 11px 0 rgba(253, 86, 15, 0.1); opacity: 1; } .btn-close:disabled, .btn-close.disabled { @@ -12058,7 +12058,7 @@ textarea.form-control-lg { align-items: center; justify-content: space-between; padding: 1rem 1rem; - border-bottom: 1px solid #f1f1f1; + border-bottom: 1px solid #e8e8e8; border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } @@ -12085,7 +12085,7 @@ textarea.form-control-lg { align-items: center; justify-content: flex-end; padding: 0.75rem; - border-top: 1px solid #f1f1f1; + border-top: 1px solid #e8e8e8; border-bottom-right-radius: calc(0.3rem - 1px); border-bottom-left-radius: calc(0.3rem - 1px); } @@ -13340,7 +13340,7 @@ textarea.form-control-lg { } .border { - border: 1px solid #f1f1f1 !important; + border: 1px solid #e8e8e8 !important; } .border-0 { @@ -13348,7 +13348,7 @@ textarea.form-control-lg { } .border-top { - border-top: 1px solid #f1f1f1 !important; + border-top: 1px solid #e8e8e8 !important; } .border-top-0 { @@ -13356,7 +13356,7 @@ textarea.form-control-lg { } .border-end { - border-right: 1px solid #f1f1f1 !important; + border-right: 1px solid #e8e8e8 !important; } .border-end-0 { @@ -13364,7 +13364,7 @@ textarea.form-control-lg { } .border-bottom { - border-bottom: 1px solid #f1f1f1 !important; + border-bottom: 1px solid #e8e8e8 !important; } .border-bottom-0 { @@ -13372,7 +13372,7 @@ textarea.form-control-lg { } .border-start { - border-left: 1px solid #f1f1f1 !important; + border-left: 1px solid #e8e8e8 !important; } .border-start-0 { @@ -17008,3 +17008,7 @@ textarea.form-control-lg { color: #00d97e; background-color: #ccf7e5; } + +.btn-link:focus { + box-shadow: none; +} diff --git a/public/build/beike/admin/js/app.js b/public/build/beike/admin/js/app.js index 30ce1c8a..262a6342 100644 --- a/public/build/beike/admin/js/app.js +++ b/public/build/beike/admin/js/app.js @@ -1,33 +1,33 @@ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "./node_modules/axios/index.js": -/*!*************************************!*\ - !*** ./node_modules/axios/index.js ***! - \*************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/index.js": +/*!***************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/index.js ***! + \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js"); +module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/_axios@0.21.4@axios/lib/axios.js"); /***/ }), -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js": +/*!**************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js ***! + \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); -var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); -var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); -var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); -var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js"); +var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js"); +var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js"); +var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js"); +var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js"); +var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js"); +var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js"); module.exports = function xhrAdapter(config) { return new Promise(function dispatchXhrRequest(resolve, reject) { @@ -211,20 +211,20 @@ module.exports = function xhrAdapter(config) { /***/ }), -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/axios.js": +/*!*******************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/axios.js ***! + \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js"); -var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); -var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js"); +var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js"); +var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js"); +var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js"); +var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js"); /** * Create an instance of Axios @@ -257,18 +257,18 @@ axios.create = function create(instanceConfig) { }; // Expose Cancel & CancelToken -axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); -axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js"); -axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); +axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js"); +axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js"); +axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js"); // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; -axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js"); +axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js"); // Expose isAxiosError -axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js"); +axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js"); module.exports = axios; @@ -278,10 +278,10 @@ module.exports["default"] = axios; /***/ }), -/***/ "./node_modules/axios/lib/cancel/Cancel.js": -/*!*************************************************!*\ - !*** ./node_modules/axios/lib/cancel/Cancel.js ***! - \*************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js": +/*!***************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js ***! + \***************************************************************/ /***/ ((module) => { "use strict"; @@ -308,16 +308,16 @@ module.exports = Cancel; /***/ }), -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js": +/*!********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js ***! + \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); +var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js"); /** * A `CancelToken` is an object that can be used to request cancellation of an operation. @@ -376,10 +376,10 @@ module.exports = CancelToken; /***/ }), -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js": +/*!*****************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js ***! + \*****************************************************************/ /***/ ((module) => { "use strict"; @@ -392,21 +392,21 @@ module.exports = function isCancel(value) { /***/ }), -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js": +/*!************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/Axios.js ***! + \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); -var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); -var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); -var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js"); +var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js"); +var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js"); +var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js"); +var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js"); var validators = validator.validators; /** @@ -551,16 +551,16 @@ module.exports = Axios; /***/ }), -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js": +/*!*************************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js ***! + \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); function InterceptorManager() { this.handlers = []; @@ -616,17 +616,17 @@ module.exports = InterceptorManager; /***/ }), -/***/ "./node_modules/axios/lib/core/buildFullPath.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/buildFullPath.js ***! - \******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js": +/*!********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js ***! + \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); +var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js"); +var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js"); /** * Creates a new URL by combining the baseURL with the requestedURL, @@ -647,16 +647,16 @@ module.exports = function buildFullPath(baseURL, requestedURL) { /***/ }), -/***/ "./node_modules/axios/lib/core/createError.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/createError.js ***! - \****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js": +/*!******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/createError.js ***! + \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); +var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js"); /** * Create an Error with the specified message, config, error code, request and response. @@ -676,19 +676,19 @@ module.exports = function createError(message, config, code, request, response) /***/ }), -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js": +/*!**********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js ***! + \**********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); -var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); -var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js"); +var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js"); +var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js"); /** * Throws a `Cancel` if cancellation has been requested. @@ -769,10 +769,10 @@ module.exports = function dispatchRequest(config) { /***/ }), -/***/ "./node_modules/axios/lib/core/enhanceError.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/core/enhanceError.js ***! - \*****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js": +/*!*******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js ***! + \*******************************************************************/ /***/ ((module) => { "use strict"; @@ -822,16 +822,16 @@ module.exports = function enhanceError(error, config, code, request, response) { /***/ }), -/***/ "./node_modules/axios/lib/core/mergeConfig.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/mergeConfig.js ***! - \****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js": +/*!******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js ***! + \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); /** * Config-specific merge-function which creates a new config-object @@ -920,16 +920,16 @@ module.exports = function mergeConfig(config1, config2) { /***/ }), -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js": +/*!*************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/settle.js ***! + \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js"); +var createError = __webpack_require__(/*! ./createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js"); /** * Resolve or reject a Promise based on response status. @@ -956,17 +956,17 @@ module.exports = function settle(resolve, reject, response) { /***/ }), -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js": +/*!********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/transformData.js ***! + \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js"); /** * Transform the data for a request or a response @@ -989,19 +989,19 @@ module.exports = function transformData(data, headers, fns) { /***/ }), -/***/ "./node_modules/axios/lib/defaults.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/defaults.js ***! - \********************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/defaults.js": +/*!**********************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/defaults.js ***! + \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); +/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/_process@0.11.10@process/browser.js"); -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); -var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); +var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js"); +var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js"); var DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' @@ -1017,10 +1017,10 @@ function getDefaultAdapter() { var adapter; if (typeof XMLHttpRequest !== 'undefined') { // For browsers use XHR adapter - adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); + adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js"); } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { // For node use HTTP adapter - adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); + adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js"); } return adapter; } @@ -1135,10 +1135,10 @@ module.exports = defaults; /***/ }), -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js": +/*!**************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js ***! + \**************************************************************/ /***/ ((module) => { "use strict"; @@ -1157,16 +1157,16 @@ module.exports = function bind(fn, thisArg) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js": +/*!******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js ***! + \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); function encode(val) { return encodeURIComponent(val). @@ -1238,10 +1238,10 @@ module.exports = function buildURL(url, params, paramsSerializer) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js": +/*!*********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js ***! + \*********************************************************************/ /***/ ((module) => { "use strict"; @@ -1263,16 +1263,16 @@ module.exports = function combineURLs(baseURL, relativeURL) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js": +/*!*****************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js ***! + \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); module.exports = ( utils.isStandardBrowserEnv() ? @@ -1327,10 +1327,10 @@ module.exports = ( /***/ }), -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js": +/*!***********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js ***! + \***********************************************************************/ /***/ ((module) => { "use strict"; @@ -1352,10 +1352,10 @@ module.exports = function isAbsoluteURL(url) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! - \********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js": +/*!**********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js ***! + \**********************************************************************/ /***/ ((module) => { "use strict"; @@ -1374,16 +1374,16 @@ module.exports = function isAxiosError(payload) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js": +/*!*************************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js ***! + \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); module.exports = ( utils.isStandardBrowserEnv() ? @@ -1453,16 +1453,16 @@ module.exports = ( /***/ }), -/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": -/*!***************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! - \***************************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js ***! + \*****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); module.exports = function normalizeHeaderName(headers, normalizedName) { utils.forEach(headers, function processHeader(value, name) { @@ -1476,16 +1476,16 @@ module.exports = function normalizeHeaderName(headers, normalizedName) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js": +/*!**********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js ***! + \**********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); // Headers whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers @@ -1540,10 +1540,10 @@ module.exports = function parseHeaders(headers) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js": +/*!****************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js ***! + \****************************************************************/ /***/ ((module) => { "use strict"; @@ -1578,16 +1578,16 @@ module.exports = function spread(callback) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/validator.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/validator.js ***! - \*****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js": +/*!*******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js ***! + \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/axios/package.json"); +var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/_axios@0.21.4@axios/package.json"); var validators = {}; @@ -1694,16 +1694,16 @@ module.exports = { /***/ }), -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/utils.js": +/*!*******************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/utils.js ***! + \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); +var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js"); // utils is a library of generic helper functions non-specific to axios @@ -2093,8 +2093,12 @@ $(document).on('click', '.open-file-manager', function (event) { }); if (typeof Vue != 'undefined') { - Vue.prototype.thumbnail = function thumbnail(image, width, height) { - // 判断 image 是否以 http 开头 + Vue.prototype.thumbnail = function thumbnail(image) { + if (!image) { + return 'image/placeholder.png'; + } // 判断 image 是否以 http 开头 + + if (image.indexOf('http') === 0) { return image; } @@ -2340,7 +2344,15 @@ __webpack_require__.r(__webpack_exports__); }, delay); }; }, - listDelete: function listDelete() {} + randomString: function randomString(length) { + var str = ''; + + for (; str.length < length; str += Math.random().toString(36).substr(2)) { + ; + } + + return str.substr(0, length); + } }); /***/ }), @@ -2358,7 +2370,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ }); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); +window.axios = __webpack_require__(/*! axios */ "./node_modules/_axios@0.21.4@axios/index.js"); var token = document.querySelector('meta[name="csrf-token"]').content; var base = document.querySelector('base').href; var instance = axios.create({ @@ -2567,10 +2579,10 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ +/***/ "./node_modules/_process@0.11.10@process/browser.js": +/*!**********************************************************!*\ + !*** ./node_modules/_process@0.11.10@process/browser.js ***! + \**********************************************************/ /***/ ((module) => { // shim for using process in browser @@ -2761,14 +2773,14 @@ process.umask = function() { return 0; }; /***/ }), -/***/ "./node_modules/axios/package.json": -/*!*****************************************!*\ - !*** ./node_modules/axios/package.json ***! - \*****************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/package.json": +/*!*******************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/package.json ***! + \*******************************************************/ /***/ ((module) => { "use strict"; -module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}'); +module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"__npminstall_done":true,"_from":"axios@0.21.4","_resolved":"https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz"}'); /***/ }) diff --git a/public/build/beike/shop/default/css/app.css b/public/build/beike/shop/default/css/app.css index 7029342a..93c073c8 100644 --- a/public/build/beike/shop/default/css/app.css +++ b/public/build/beike/shop/default/css/app.css @@ -500,33 +500,84 @@ header { body:not(.page-home) header { box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.04); } -header .dropdown:hover { - background-color: #fff; -} -header .dropdown:hover .dropdown-menu { - margin: 0; - display: block; - box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); - border: none; -} -header .dropdown:hover .dropdown-menu.dropdown-menu-end { - right: 0; -} header .top-wrap { height: 40px; background: #F7F8FA; display: flex; } -header .header-content .container { +header .top-wrap .dropdown:hover { + background-color: #fff; +} +header .top-wrap .dropdown:hover .dropdown-menu { + margin: 0; + display: block; + box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); + border: none; +} +header .top-wrap .dropdown:hover .dropdown-menu.dropdown-menu-end { + right: 0; +} +header .header-content { + position: relative; +} +header .header-content > .container { display: flex; align-items: center; justify-content: space-between; } -header .header-content .menu-wrap .nav-link { - color: #333; - font-size: 0.9rem; - padding-left: 1rem; - padding-right: 1rem; +header .header-content .menu-wrap .container { + max-width: 1140px; +} +@media (min-width: 1200px) { + header .header-content .menu-wrap .navbar-nav .dropdown:hover .dropdown-menu { + opacity: 1; + visibility: visible; + transform: translate(-50%); + } + header .header-content .menu-wrap .navbar-nav .dropdown > .dropdown-menu { + left: 50%; + transform: translate(-50%, 0.5rem); + transition: all 0.2s ease-in-out; + transition-property: visibility, transform, opacity; + visibility: hidden; + opacity: 0; + display: block; + transform-origin: top center; + } +} +header .header-content .menu-wrap > .navbar-nav > .nav-item > .nav-link { + font-size: 15px; + padding: 1rem; + position: relative; +} +header .header-content .menu-wrap > .navbar-nav > .nav-item > .nav-link .badge { + position: absolute; + bottom: 80%; + padding: 2px 4px; + font-weight: 400; + left: calc(50% - 0px); + margin-left: 0px; +} +header .header-content .menu-wrap > .navbar-nav > .nav-item > .nav-link .badge::before { + content: ""; + position: absolute; + top: 100%; + left: 10px; + border: 4px solid; + border-color: inherit; + border-right-color: rgba(0, 0, 0, 0) !important; + border-bottom-color: rgba(0, 0, 0, 0) !important; + border-right-width: 7px; + border-left-width: 0; +} +header .header-content .menu-wrap > .navbar-nav .group-name { + font-size: 15px; +} +header .header-content .menu-wrap > .navbar-nav .ul-children a { + color: #7a7a7a; +} +header .header-content .menu-wrap > .navbar-nav .ul-children a:hover { + color: #fd560f; } header .header-content .logo img { max-width: 180px; @@ -856,11 +907,6 @@ body.page-product .peoduct-info .rating-wrap .rating i { body.page-product .peoduct-info .price-wrap { margin-bottom: 2.4rem; } -body.page-product .peoduct-info .price-wrap .new-price { - margin-right: 0.6rem; - font-size: 1.6rem; - line-height: 1; -} body.page-product .peoduct-info .quantity-btns .quantity-input { max-width: 5rem; text-align: center; diff --git a/public/build/beike/shop/default/js/app.js b/public/build/beike/shop/default/js/app.js index 8d9390f4..6a097c50 100644 --- a/public/build/beike/shop/default/js/app.js +++ b/public/build/beike/shop/default/js/app.js @@ -1,33 +1,33 @@ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "./node_modules/axios/index.js": -/*!*************************************!*\ - !*** ./node_modules/axios/index.js ***! - \*************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/index.js": +/*!***************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/index.js ***! + \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js"); +module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/_axios@0.21.4@axios/lib/axios.js"); /***/ }), -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js": +/*!**************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js ***! + \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); -var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); -var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); -var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); -var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js"); +var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js"); +var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js"); +var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js"); +var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js"); +var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js"); +var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js"); module.exports = function xhrAdapter(config) { return new Promise(function dispatchXhrRequest(resolve, reject) { @@ -211,20 +211,20 @@ module.exports = function xhrAdapter(config) { /***/ }), -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/axios.js": +/*!*******************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/axios.js ***! + \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js"); -var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); -var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js"); +var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js"); +var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js"); +var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js"); +var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js"); /** * Create an instance of Axios @@ -257,18 +257,18 @@ axios.create = function create(instanceConfig) { }; // Expose Cancel & CancelToken -axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); -axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js"); -axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); +axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js"); +axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js"); +axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js"); // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; -axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js"); +axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js"); // Expose isAxiosError -axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js"); +axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js"); module.exports = axios; @@ -278,10 +278,10 @@ module.exports["default"] = axios; /***/ }), -/***/ "./node_modules/axios/lib/cancel/Cancel.js": -/*!*************************************************!*\ - !*** ./node_modules/axios/lib/cancel/Cancel.js ***! - \*************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js": +/*!***************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js ***! + \***************************************************************/ /***/ ((module) => { "use strict"; @@ -308,16 +308,16 @@ module.exports = Cancel; /***/ }), -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js": +/*!********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/cancel/CancelToken.js ***! + \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); +var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/Cancel.js"); /** * A `CancelToken` is an object that can be used to request cancellation of an operation. @@ -376,10 +376,10 @@ module.exports = CancelToken; /***/ }), -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js": +/*!*****************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js ***! + \*****************************************************************/ /***/ ((module) => { "use strict"; @@ -392,21 +392,21 @@ module.exports = function isCancel(value) { /***/ }), -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/Axios.js": +/*!************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/Axios.js ***! + \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); -var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); -var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); -var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js"); +var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js"); +var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js"); +var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js"); +var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js"); var validators = validator.validators; /** @@ -551,16 +551,16 @@ module.exports = Axios; /***/ }), -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js": +/*!*************************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/InterceptorManager.js ***! + \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); function InterceptorManager() { this.handlers = []; @@ -616,17 +616,17 @@ module.exports = InterceptorManager; /***/ }), -/***/ "./node_modules/axios/lib/core/buildFullPath.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/buildFullPath.js ***! - \******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js": +/*!********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/buildFullPath.js ***! + \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); +var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js"); +var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js"); /** * Creates a new URL by combining the baseURL with the requestedURL, @@ -647,16 +647,16 @@ module.exports = function buildFullPath(baseURL, requestedURL) { /***/ }), -/***/ "./node_modules/axios/lib/core/createError.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/createError.js ***! - \****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js": +/*!******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/createError.js ***! + \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); +var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js"); /** * Create an Error with the specified message, config, error code, request and response. @@ -676,19 +676,19 @@ module.exports = function createError(message, config, code, request, response) /***/ }), -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js": +/*!**********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/dispatchRequest.js ***! + \**********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); -var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); -var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js"); +var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/_axios@0.21.4@axios/lib/cancel/isCancel.js"); +var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js"); /** * Throws a `Cancel` if cancellation has been requested. @@ -769,10 +769,10 @@ module.exports = function dispatchRequest(config) { /***/ }), -/***/ "./node_modules/axios/lib/core/enhanceError.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/core/enhanceError.js ***! - \*****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js": +/*!*******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js ***! + \*******************************************************************/ /***/ ((module) => { "use strict"; @@ -822,16 +822,16 @@ module.exports = function enhanceError(error, config, code, request, response) { /***/ }), -/***/ "./node_modules/axios/lib/core/mergeConfig.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/mergeConfig.js ***! - \****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js": +/*!******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/mergeConfig.js ***! + \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); /** * Config-specific merge-function which creates a new config-object @@ -920,16 +920,16 @@ module.exports = function mergeConfig(config1, config2) { /***/ }), -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/settle.js": +/*!*************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/settle.js ***! + \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js"); +var createError = __webpack_require__(/*! ./createError */ "./node_modules/_axios@0.21.4@axios/lib/core/createError.js"); /** * Resolve or reject a Promise based on response status. @@ -956,17 +956,17 @@ module.exports = function settle(resolve, reject, response) { /***/ }), -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/core/transformData.js": +/*!********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/core/transformData.js ***! + \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/_axios@0.21.4@axios/lib/defaults.js"); /** * Transform the data for a request or a response @@ -989,19 +989,19 @@ module.exports = function transformData(data, headers, fns) { /***/ }), -/***/ "./node_modules/axios/lib/defaults.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/defaults.js ***! - \********************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/defaults.js": +/*!**********************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/defaults.js ***! + \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); +/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/_process@0.11.10@process/browser.js"); -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); -var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); +var utils = __webpack_require__(/*! ./utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); +var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js"); +var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/_axios@0.21.4@axios/lib/core/enhanceError.js"); var DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' @@ -1017,10 +1017,10 @@ function getDefaultAdapter() { var adapter; if (typeof XMLHttpRequest !== 'undefined') { // For browsers use XHR adapter - adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); + adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js"); } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { // For node use HTTP adapter - adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); + adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/_axios@0.21.4@axios/lib/adapters/xhr.js"); } return adapter; } @@ -1135,10 +1135,10 @@ module.exports = defaults; /***/ }), -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js": +/*!**************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js ***! + \**************************************************************/ /***/ ((module) => { "use strict"; @@ -1157,16 +1157,16 @@ module.exports = function bind(fn, thisArg) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js": +/*!******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/buildURL.js ***! + \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); function encode(val) { return encodeURIComponent(val). @@ -1238,10 +1238,10 @@ module.exports = function buildURL(url, params, paramsSerializer) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js": +/*!*********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/combineURLs.js ***! + \*********************************************************************/ /***/ ((module) => { "use strict"; @@ -1263,16 +1263,16 @@ module.exports = function combineURLs(baseURL, relativeURL) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js": +/*!*****************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/cookies.js ***! + \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); module.exports = ( utils.isStandardBrowserEnv() ? @@ -1327,10 +1327,10 @@ module.exports = ( /***/ }), -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js": +/*!***********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAbsoluteURL.js ***! + \***********************************************************************/ /***/ ((module) => { "use strict"; @@ -1352,10 +1352,10 @@ module.exports = function isAbsoluteURL(url) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! - \********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js": +/*!**********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isAxiosError.js ***! + \**********************************************************************/ /***/ ((module) => { "use strict"; @@ -1374,16 +1374,16 @@ module.exports = function isAxiosError(payload) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js": +/*!*************************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/isURLSameOrigin.js ***! + \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); module.exports = ( utils.isStandardBrowserEnv() ? @@ -1453,16 +1453,16 @@ module.exports = ( /***/ }), -/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": -/*!***************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! - \***************************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/normalizeHeaderName.js ***! + \*****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); module.exports = function normalizeHeaderName(headers, normalizedName) { utils.forEach(headers, function processHeader(value, name) { @@ -1476,16 +1476,16 @@ module.exports = function normalizeHeaderName(headers, normalizedName) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js": +/*!**********************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/parseHeaders.js ***! + \**********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/_axios@0.21.4@axios/lib/utils.js"); // Headers whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers @@ -1540,10 +1540,10 @@ module.exports = function parseHeaders(headers) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js": +/*!****************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/spread.js ***! + \****************************************************************/ /***/ ((module) => { "use strict"; @@ -1578,16 +1578,16 @@ module.exports = function spread(callback) { /***/ }), -/***/ "./node_modules/axios/lib/helpers/validator.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/validator.js ***! - \*****************************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js": +/*!*******************************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/helpers/validator.js ***! + \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/axios/package.json"); +var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/_axios@0.21.4@axios/package.json"); var validators = {}; @@ -1694,16 +1694,16 @@ module.exports = { /***/ }), -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/lib/utils.js": +/*!*******************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/lib/utils.js ***! + \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); +var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/_axios@0.21.4@axios/lib/helpers/bind.js"); // utils is a library of generic helper functions non-specific to axios @@ -2153,7 +2153,7 @@ __webpack_require__.r(__webpack_exports__); }).then(function (res) { layer.msg(res.message); $btn.attr('data-in-wishlist', '0'); - })["finally"](function () { + })["finally"](function (e) { $btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart'); }); } else { @@ -2165,7 +2165,7 @@ __webpack_require__.r(__webpack_exports__); }).then(function (res) { layer.msg(res.message); $btn.attr('data-in-wishlist', res.data.id); - })["finally"](function () { + })["finally"](function (e) { $btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart-fill'); }); } @@ -2230,8 +2230,10 @@ $(function () { $('#offcanvas-search-top input').focus(); $('#offcanvas-search-top input').keydown(function (e) { if (e.keyCode == 13) { - console.log('enter'); - $('#offcanvas-search-top .btn-search').click(); + if ($(this).val() != '') { + location.href = 'products/search?keyword=' + $(this).val(); + } // $('#offcanvas-search-top .btn-search').click(); + } }); }); @@ -2282,7 +2284,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ }); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); +window.axios = __webpack_require__(/*! axios */ "./node_modules/_axios@0.21.4@axios/index.js"); var token = document.querySelector('meta[name="csrf-token"]').content; var base = document.querySelector('base').href; var instance = axios.create({ @@ -2413,10 +2415,10 @@ axios.defaults.baseURL = base; /***/ }), -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ +/***/ "./node_modules/_process@0.11.10@process/browser.js": +/*!**********************************************************!*\ + !*** ./node_modules/_process@0.11.10@process/browser.js ***! + \**********************************************************/ /***/ ((module) => { // shim for using process in browser @@ -2607,14 +2609,14 @@ process.umask = function() { return 0; }; /***/ }), -/***/ "./node_modules/axios/package.json": -/*!*****************************************!*\ - !*** ./node_modules/axios/package.json ***! - \*****************************************/ +/***/ "./node_modules/_axios@0.21.4@axios/package.json": +/*!*******************************************************!*\ + !*** ./node_modules/_axios@0.21.4@axios/package.json ***! + \*******************************************************/ /***/ ((module) => { "use strict"; -module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}'); +module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"__npminstall_done":true,"_from":"axios@0.21.4","_resolved":"https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz"}'); /***/ }) diff --git a/public/catalog/demo/banner/2.jpg b/public/catalog/demo/banner/2.jpg new file mode 100644 index 00000000..b2ded69f Binary files /dev/null and b/public/catalog/demo/banner/2.jpg differ diff --git a/public/catalog/demo/banner/2_en.jpg b/public/catalog/demo/banner/2_en.jpg new file mode 100644 index 00000000..44c51e4d Binary files /dev/null and b/public/catalog/demo/banner/2_en.jpg differ diff --git a/public/fonts/Futura Medium/Futura Medium.otf b/public/fonts/Futura Medium/Futura Medium.otf deleted file mode 100644 index 05ba2e59..00000000 Binary files a/public/fonts/Futura Medium/Futura Medium.otf and /dev/null differ diff --git a/public/vendor/vue/2.6.12/vue.js b/public/vendor/vue/2.6.12/vue.js deleted file mode 100644 index 919aa125..00000000 --- a/public/vendor/vue/2.6.12/vue.js +++ /dev/null @@ -1,11965 +0,0 @@ -/*! - * Vue.js v2.6.12 - * (c) 2014-2020 Evan You - * Released under the MIT License. - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = global || self, global.Vue = factory()); -}(this, function () { 'use strict'; - - /* */ - - var emptyObject = Object.freeze({}); - - // These helpers produce better VM code in JS engines due to their - // explicitness and function inlining. - function isUndef (v) { - return v === undefined || v === null - } - - function isDef (v) { - return v !== undefined && v !== null - } - - function isTrue (v) { - return v === true - } - - function isFalse (v) { - return v === false - } - - /** - * Check if value is primitive. - */ - function isPrimitive (value) { - return ( - typeof value === 'string' || - typeof value === 'number' || - // $flow-disable-line - typeof value === 'symbol' || - typeof value === 'boolean' - ) - } - - /** - * Quick object check - this is primarily used to tell - * Objects from primitive values when we know the value - * is a JSON-compliant type. - */ - function isObject (obj) { - return obj !== null && typeof obj === 'object' - } - - /** - * Get the raw type string of a value, e.g., [object Object]. - */ - var _toString = Object.prototype.toString; - - function toRawType (value) { - return _toString.call(value).slice(8, -1) - } - - /** - * Strict object type check. Only returns true - * for plain JavaScript objects. - */ - function isPlainObject (obj) { - return _toString.call(obj) === '[object Object]' - } - - function isRegExp (v) { - return _toString.call(v) === '[object RegExp]' - } - - /** - * Check if val is a valid array index. - */ - function isValidArrayIndex (val) { - var n = parseFloat(String(val)); - return n >= 0 && Math.floor(n) === n && isFinite(val) - } - - function isPromise (val) { - return ( - isDef(val) && - typeof val.then === 'function' && - typeof val.catch === 'function' - ) - } - - /** - * Convert a value to a string that is actually rendered. - */ - function toString (val) { - return val == null - ? '' - : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) - ? JSON.stringify(val, null, 2) - : String(val) - } - - /** - * Convert an input value to a number for persistence. - * If the conversion fails, return original string. - */ - function toNumber (val) { - var n = parseFloat(val); - return isNaN(n) ? val : n - } - - /** - * Make a map and return a function for checking if a key - * is in that map. - */ - function makeMap ( - str, - expectsLowerCase - ) { - var map = Object.create(null); - var list = str.split(','); - for (var i = 0; i < list.length; i++) { - map[list[i]] = true; - } - return expectsLowerCase - ? function (val) { return map[val.toLowerCase()]; } - : function (val) { return map[val]; } - } - - /** - * Check if a tag is a built-in tag. - */ - var isBuiltInTag = makeMap('slot,component', true); - - /** - * Check if an attribute is a reserved attribute. - */ - var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); - - /** - * Remove an item from an array. - */ - function remove (arr, item) { - if (arr.length) { - var index = arr.indexOf(item); - if (index > -1) { - return arr.splice(index, 1) - } - } - } - - /** - * Check whether an object has the property. - */ - var hasOwnProperty = Object.prototype.hasOwnProperty; - function hasOwn (obj, key) { - return hasOwnProperty.call(obj, key) - } - - /** - * Create a cached version of a pure function. - */ - function cached (fn) { - var cache = Object.create(null); - return (function cachedFn (str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)) - }) - } - - /** - * Camelize a hyphen-delimited string. - */ - var camelizeRE = /-(\w)/g; - var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) - }); - - /** - * Capitalize a string. - */ - var capitalize = cached(function (str) { - return str.charAt(0).toUpperCase() + str.slice(1) - }); - - /** - * Hyphenate a camelCase string. - */ - var hyphenateRE = /\B([A-Z])/g; - var hyphenate = cached(function (str) { - return str.replace(hyphenateRE, '-$1').toLowerCase() - }); - - /** - * Simple bind polyfill for environments that do not support it, - * e.g., PhantomJS 1.x. Technically, we don't need this anymore - * since native bind is now performant enough in most browsers. - * But removing it would mean breaking code that was able to run in - * PhantomJS 1.x, so this must be kept for backward compatibility. - */ - - /* istanbul ignore next */ - function polyfillBind (fn, ctx) { - function boundFn (a) { - var l = arguments.length; - return l - ? l > 1 - ? fn.apply(ctx, arguments) - : fn.call(ctx, a) - : fn.call(ctx) - } - - boundFn._length = fn.length; - return boundFn - } - - function nativeBind (fn, ctx) { - return fn.bind(ctx) - } - - var bind = Function.prototype.bind - ? nativeBind - : polyfillBind; - - /** - * Convert an Array-like object to a real Array. - */ - function toArray (list, start) { - start = start || 0; - var i = list.length - start; - var ret = new Array(i); - while (i--) { - ret[i] = list[i + start]; - } - return ret - } - - /** - * Mix properties into target object. - */ - function extend (to, _from) { - for (var key in _from) { - to[key] = _from[key]; - } - return to - } - - /** - * Merge an Array of Objects into a single Object. - */ - function toObject (arr) { - var res = {}; - for (var i = 0; i < arr.length; i++) { - if (arr[i]) { - extend(res, arr[i]); - } - } - return res - } - - /* eslint-disable no-unused-vars */ - - /** - * Perform no operation. - * Stubbing args to make Flow happy without leaving useless transpiled code - * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). - */ - function noop (a, b, c) {} - - /** - * Always return false. - */ - var no = function (a, b, c) { return false; }; - - /* eslint-enable no-unused-vars */ - - /** - * Return the same value. - */ - var identity = function (_) { return _; }; - - /** - * Generate a string containing static keys from compiler modules. - */ - function genStaticKeys (modules) { - return modules.reduce(function (keys, m) { - return keys.concat(m.staticKeys || []) - }, []).join(',') - } - - /** - * Check if two values are loosely equal - that is, - * if they are plain objects, do they have the same shape? - */ - function looseEqual (a, b) { - if (a === b) { return true } - var isObjectA = isObject(a); - var isObjectB = isObject(b); - if (isObjectA && isObjectB) { - try { - var isArrayA = Array.isArray(a); - var isArrayB = Array.isArray(b); - if (isArrayA && isArrayB) { - return a.length === b.length && a.every(function (e, i) { - return looseEqual(e, b[i]) - }) - } else if (a instanceof Date && b instanceof Date) { - return a.getTime() === b.getTime() - } else if (!isArrayA && !isArrayB) { - var keysA = Object.keys(a); - var keysB = Object.keys(b); - return keysA.length === keysB.length && keysA.every(function (key) { - return looseEqual(a[key], b[key]) - }) - } else { - /* istanbul ignore next */ - return false - } - } catch (e) { - /* istanbul ignore next */ - return false - } - } else if (!isObjectA && !isObjectB) { - return String(a) === String(b) - } else { - return false - } - } - - /** - * Return the first index at which a loosely equal value can be - * found in the array (if value is a plain object, the array must - * contain an object of the same shape), or -1 if it is not present. - */ - function looseIndexOf (arr, val) { - for (var i = 0; i < arr.length; i++) { - if (looseEqual(arr[i], val)) { return i } - } - return -1 - } - - /** - * Ensure a function is called only once. - */ - function once (fn) { - var called = false; - return function () { - if (!called) { - called = true; - fn.apply(this, arguments); - } - } - } - - var SSR_ATTR = 'data-server-rendered'; - - var ASSET_TYPES = [ - 'component', - 'directive', - 'filter' - ]; - - var LIFECYCLE_HOOKS = [ - 'beforeCreate', - 'created', - 'beforeMount', - 'mounted', - 'beforeUpdate', - 'updated', - 'beforeDestroy', - 'destroyed', - 'activated', - 'deactivated', - 'errorCaptured', - 'serverPrefetch' - ]; - - /* */ - - - - var config = ({ - /** - * Option merge strategies (used in core/util/options) - */ - // $flow-disable-line - optionMergeStrategies: Object.create(null), - - /** - * Whether to suppress warnings. - */ - silent: false, - - /** - * Show production mode tip message on boot? - */ - productionTip: "development" !== 'production', - - /** - * Whether to enable devtools - */ - devtools: "development" !== 'production', - - /** - * Whether to record perf - */ - performance: false, - - /** - * Error handler for watcher errors - */ - errorHandler: null, - - /** - * Warn handler for watcher warns - */ - warnHandler: null, - - /** - * Ignore certain custom elements - */ - ignoredElements: [], - - /** - * Custom user key aliases for v-on - */ - // $flow-disable-line - keyCodes: Object.create(null), - - /** - * Check if a tag is reserved so that it cannot be registered as a - * component. This is platform-dependent and may be overwritten. - */ - isReservedTag: no, - - /** - * Check if an attribute is reserved so that it cannot be used as a component - * prop. This is platform-dependent and may be overwritten. - */ - isReservedAttr: no, - - /** - * Check if a tag is an unknown element. - * Platform-dependent. - */ - isUnknownElement: no, - - /** - * Get the namespace of an element - */ - getTagNamespace: noop, - - /** - * Parse the real tag name for the specific platform. - */ - parsePlatformTagName: identity, - - /** - * Check if an attribute must be bound using property, e.g. value - * Platform-dependent. - */ - mustUseProp: no, - - /** - * Perform updates asynchronously. Intended to be used by Vue Test Utils - * This will significantly reduce performance if set to false. - */ - async: true, - - /** - * Exposed for legacy reasons - */ - _lifecycleHooks: LIFECYCLE_HOOKS - }); - - /* */ - - /** - * unicode letters used for parsing html tags, component names and property paths. - * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname - * skipping \u10000-\uEFFFF due to it freezing up PhantomJS - */ - var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; - - /** - * Check if a string starts with $ or _ - */ - function isReserved (str) { - var c = (str + '').charCodeAt(0); - return c === 0x24 || c === 0x5F - } - - /** - * Define a property. - */ - function def (obj, key, val, enumerable) { - Object.defineProperty(obj, key, { - value: val, - enumerable: !!enumerable, - writable: true, - configurable: true - }); - } - - /** - * Parse simple path. - */ - var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); - function parsePath (path) { - if (bailRE.test(path)) { - return - } - var segments = path.split('.'); - return function (obj) { - for (var i = 0; i < segments.length; i++) { - if (!obj) { return } - obj = obj[segments[i]]; - } - return obj - } - } - - /* */ - - // can we use __proto__? - var hasProto = '__proto__' in {}; - - // Browser environment sniffing - var inBrowser = typeof window !== 'undefined'; - var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; - var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); - var UA = inBrowser && window.navigator.userAgent.toLowerCase(); - var isIE = UA && /msie|trident/.test(UA); - var isIE9 = UA && UA.indexOf('msie 9.0') > 0; - var isEdge = UA && UA.indexOf('edge/') > 0; - var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); - var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); - var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; - var isPhantomJS = UA && /phantomjs/.test(UA); - var isFF = UA && UA.match(/firefox\/(\d+)/); - - // Firefox has a "watch" function on Object.prototype... - var nativeWatch = ({}).watch; - - var supportsPassive = false; - if (inBrowser) { - try { - var opts = {}; - Object.defineProperty(opts, 'passive', ({ - get: function get () { - /* istanbul ignore next */ - supportsPassive = true; - } - })); // https://github.com/facebook/flow/issues/285 - window.addEventListener('test-passive', null, opts); - } catch (e) {} - } - - // this needs to be lazy-evaled because vue may be required before - // vue-server-renderer can set VUE_ENV - var _isServer; - var isServerRendering = function () { - if (_isServer === undefined) { - /* istanbul ignore if */ - if (!inBrowser && !inWeex && typeof global !== 'undefined') { - // detect presence of vue-server-renderer and avoid - // Webpack shimming the process - _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; - } else { - _isServer = false; - } - } - return _isServer - }; - - // detect devtools - var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; - - /* istanbul ignore next */ - function isNative (Ctor) { - return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) - } - - var hasSymbol = - typeof Symbol !== 'undefined' && isNative(Symbol) && - typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); - - var _Set; - /* istanbul ignore if */ // $flow-disable-line - if (typeof Set !== 'undefined' && isNative(Set)) { - // use native Set when available. - _Set = Set; - } else { - // a non-standard Set polyfill that only works with primitive keys. - _Set = /*@__PURE__*/(function () { - function Set () { - this.set = Object.create(null); - } - Set.prototype.has = function has (key) { - return this.set[key] === true - }; - Set.prototype.add = function add (key) { - this.set[key] = true; - }; - Set.prototype.clear = function clear () { - this.set = Object.create(null); - }; - - return Set; - }()); - } - - /* */ - - var warn = noop; - var tip = noop; - var generateComponentTrace = (noop); // work around flow check - var formatComponentName = (noop); - - { - var hasConsole = typeof console !== 'undefined'; - var classifyRE = /(?:^|[-_])(\w)/g; - var classify = function (str) { return str - .replace(classifyRE, function (c) { return c.toUpperCase(); }) - .replace(/[-_]/g, ''); }; - - warn = function (msg, vm) { - var trace = vm ? generateComponentTrace(vm) : ''; - - if (config.warnHandler) { - config.warnHandler.call(null, msg, vm, trace); - } else if (hasConsole && (!config.silent)) { - console.error(("[Vue warn]: " + msg + trace)); - } - }; - - tip = function (msg, vm) { - if (hasConsole && (!config.silent)) { - console.warn("[Vue tip]: " + msg + ( - vm ? generateComponentTrace(vm) : '' - )); - } - }; - - formatComponentName = function (vm, includeFile) { - if (vm.$root === vm) { - return '' - } - var options = typeof vm === 'function' && vm.cid != null - ? vm.options - : vm._isVue - ? vm.$options || vm.constructor.options - : vm; - var name = options.name || options._componentTag; - var file = options.__file; - if (!name && file) { - var match = file.match(/([^/\\]+)\.vue$/); - name = match && match[1]; - } - - return ( - (name ? ("<" + (classify(name)) + ">") : "") + - (file && includeFile !== false ? (" at " + file) : '') - ) - }; - - var repeat = function (str, n) { - var res = ''; - while (n) { - if (n % 2 === 1) { res += str; } - if (n > 1) { str += str; } - n >>= 1; - } - return res - }; - - generateComponentTrace = function (vm) { - if (vm._isVue && vm.$parent) { - var tree = []; - var currentRecursiveSequence = 0; - while (vm) { - if (tree.length > 0) { - var last = tree[tree.length - 1]; - if (last.constructor === vm.constructor) { - currentRecursiveSequence++; - vm = vm.$parent; - continue - } else if (currentRecursiveSequence > 0) { - tree[tree.length - 1] = [last, currentRecursiveSequence]; - currentRecursiveSequence = 0; - } - } - tree.push(vm); - vm = vm.$parent; - } - return '\n\nfound in\n\n' + tree - .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) - ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") - : formatComponentName(vm))); }) - .join('\n') - } else { - return ("\n\n(found in " + (formatComponentName(vm)) + ")") - } - }; - } - - /* */ - - var uid = 0; - - /** - * A dep is an observable that can have multiple - * directives subscribing to it. - */ - var Dep = function Dep () { - this.id = uid++; - this.subs = []; - }; - - Dep.prototype.addSub = function addSub (sub) { - this.subs.push(sub); - }; - - Dep.prototype.removeSub = function removeSub (sub) { - remove(this.subs, sub); - }; - - Dep.prototype.depend = function depend () { - if (Dep.target) { - Dep.target.addDep(this); - } - }; - - Dep.prototype.notify = function notify () { - // stabilize the subscriber list first - var subs = this.subs.slice(); - if (!config.async) { - // subs aren't sorted in scheduler if not running async - // we need to sort them now to make sure they fire in correct - // order - subs.sort(function (a, b) { return a.id - b.id; }); - } - for (var i = 0, l = subs.length; i < l; i++) { - subs[i].update(); - } - }; - - // The current target watcher being evaluated. - // This is globally unique because only one watcher - // can be evaluated at a time. - Dep.target = null; - var targetStack = []; - - function pushTarget (target) { - targetStack.push(target); - Dep.target = target; - } - - function popTarget () { - targetStack.pop(); - Dep.target = targetStack[targetStack.length - 1]; - } - - /* */ - - var VNode = function VNode ( - tag, - data, - children, - text, - elm, - context, - componentOptions, - asyncFactory - ) { - this.tag = tag; - this.data = data; - this.children = children; - this.text = text; - this.elm = elm; - this.ns = undefined; - this.context = context; - this.fnContext = undefined; - this.fnOptions = undefined; - this.fnScopeId = undefined; - this.key = data && data.key; - this.componentOptions = componentOptions; - this.componentInstance = undefined; - this.parent = undefined; - this.raw = false; - this.isStatic = false; - this.isRootInsert = true; - this.isComment = false; - this.isCloned = false; - this.isOnce = false; - this.asyncFactory = asyncFactory; - this.asyncMeta = undefined; - this.isAsyncPlaceholder = false; - }; - - var prototypeAccessors = { child: { configurable: true } }; - - // DEPRECATED: alias for componentInstance for backwards compat. - /* istanbul ignore next */ - prototypeAccessors.child.get = function () { - return this.componentInstance - }; - - Object.defineProperties( VNode.prototype, prototypeAccessors ); - - var createEmptyVNode = function (text) { - if ( text === void 0 ) text = ''; - - var node = new VNode(); - node.text = text; - node.isComment = true; - return node - }; - - function createTextVNode (val) { - return new VNode(undefined, undefined, undefined, String(val)) - } - - // optimized shallow clone - // used for static nodes and slot nodes because they may be reused across - // multiple renders, cloning them avoids errors when DOM manipulations rely - // on their elm reference. - function cloneVNode (vnode) { - var cloned = new VNode( - vnode.tag, - vnode.data, - // #7975 - // clone children array to avoid mutating original in case of cloning - // a child. - vnode.children && vnode.children.slice(), - vnode.text, - vnode.elm, - vnode.context, - vnode.componentOptions, - vnode.asyncFactory - ); - cloned.ns = vnode.ns; - cloned.isStatic = vnode.isStatic; - cloned.key = vnode.key; - cloned.isComment = vnode.isComment; - cloned.fnContext = vnode.fnContext; - cloned.fnOptions = vnode.fnOptions; - cloned.fnScopeId = vnode.fnScopeId; - cloned.asyncMeta = vnode.asyncMeta; - cloned.isCloned = true; - return cloned - } - - /* - * not type checking this file because flow doesn't play well with - * dynamically accessing methods on Array prototype - */ - - var arrayProto = Array.prototype; - var arrayMethods = Object.create(arrayProto); - - var methodsToPatch = [ - 'push', - 'pop', - 'shift', - 'unshift', - 'splice', - 'sort', - 'reverse' - ]; - - /** - * Intercept mutating methods and emit events - */ - methodsToPatch.forEach(function (method) { - // cache original method - var original = arrayProto[method]; - def(arrayMethods, method, function mutator () { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - var result = original.apply(this, args); - var ob = this.__ob__; - var inserted; - switch (method) { - case 'push': - case 'unshift': - inserted = args; - break - case 'splice': - inserted = args.slice(2); - break - } - if (inserted) { ob.observeArray(inserted); } - // notify change - ob.dep.notify(); - return result - }); - }); - - /* */ - - var arrayKeys = Object.getOwnPropertyNames(arrayMethods); - - /** - * In some cases we may want to disable observation inside a component's - * update computation. - */ - var shouldObserve = true; - - function toggleObserving (value) { - shouldObserve = value; - } - - /** - * Observer class that is attached to each observed - * object. Once attached, the observer converts the target - * object's property keys into getter/setters that - * collect dependencies and dispatch updates. - */ - var Observer = function Observer (value) { - this.value = value; - this.dep = new Dep(); - this.vmCount = 0; - def(value, '__ob__', this); - if (Array.isArray(value)) { - if (hasProto) { - protoAugment(value, arrayMethods); - } else { - copyAugment(value, arrayMethods, arrayKeys); - } - this.observeArray(value); - } else { - this.walk(value); - } - }; - - /** - * Walk through all properties and convert them into - * getter/setters. This method should only be called when - * value type is Object. - */ - Observer.prototype.walk = function walk (obj) { - var keys = Object.keys(obj); - for (var i = 0; i < keys.length; i++) { - defineReactive$$1(obj, keys[i]); - } - }; - - /** - * Observe a list of Array items. - */ - Observer.prototype.observeArray = function observeArray (items) { - for (var i = 0, l = items.length; i < l; i++) { - observe(items[i]); - } - }; - - // helpers - - /** - * Augment a target Object or Array by intercepting - * the prototype chain using __proto__ - */ - function protoAugment (target, src) { - /* eslint-disable no-proto */ - target.__proto__ = src; - /* eslint-enable no-proto */ - } - - /** - * Augment a target Object or Array by defining - * hidden properties. - */ - /* istanbul ignore next */ - function copyAugment (target, src, keys) { - for (var i = 0, l = keys.length; i < l; i++) { - var key = keys[i]; - def(target, key, src[key]); - } - } - - /** - * Attempt to create an observer instance for a value, - * returns the new observer if successfully observed, - * or the existing observer if the value already has one. - */ - function observe (value, asRootData) { - if (!isObject(value) || value instanceof VNode) { - return - } - var ob; - if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { - ob = value.__ob__; - } else if ( - shouldObserve && - !isServerRendering() && - (Array.isArray(value) || isPlainObject(value)) && - Object.isExtensible(value) && - !value._isVue - ) { - ob = new Observer(value); - } - if (asRootData && ob) { - ob.vmCount++; - } - return ob - } - - /** - * Define a reactive property on an Object. - */ - function defineReactive$$1 ( - obj, - key, - val, - customSetter, - shallow - ) { - var dep = new Dep(); - - var property = Object.getOwnPropertyDescriptor(obj, key); - if (property && property.configurable === false) { - return - } - - // cater for pre-defined getter/setters - var getter = property && property.get; - var setter = property && property.set; - if ((!getter || setter) && arguments.length === 2) { - val = obj[key]; - } - - var childOb = !shallow && observe(val); - Object.defineProperty(obj, key, { - enumerable: true, - configurable: true, - get: function reactiveGetter () { - var value = getter ? getter.call(obj) : val; - if (Dep.target) { - dep.depend(); - if (childOb) { - childOb.dep.depend(); - if (Array.isArray(value)) { - dependArray(value); - } - } - } - return value - }, - set: function reactiveSetter (newVal) { - var value = getter ? getter.call(obj) : val; - /* eslint-disable no-self-compare */ - if (newVal === value || (newVal !== newVal && value !== value)) { - return - } - /* eslint-enable no-self-compare */ - if (customSetter) { - customSetter(); - } - // #7981: for accessor properties without setter - if (getter && !setter) { return } - if (setter) { - setter.call(obj, newVal); - } else { - val = newVal; - } - childOb = !shallow && observe(newVal); - dep.notify(); - } - }); - } - - /** - * Set a property on an object. Adds the new property and - * triggers change notification if the property doesn't - * already exist. - */ - function set (target, key, val) { - if (isUndef(target) || isPrimitive(target) - ) { - warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); - } - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.length = Math.max(target.length, key); - target.splice(key, 1, val); - return val - } - if (key in target && !(key in Object.prototype)) { - target[key] = val; - return val - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - warn( - 'Avoid adding reactive properties to a Vue instance or its root $data ' + - 'at runtime - declare it upfront in the data option.' - ); - return val - } - if (!ob) { - target[key] = val; - return val - } - defineReactive$$1(ob.value, key, val); - ob.dep.notify(); - return val - } - - /** - * Delete a property and trigger change if necessary. - */ - function del (target, key) { - if (isUndef(target) || isPrimitive(target) - ) { - warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); - } - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.splice(key, 1); - return - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - warn( - 'Avoid deleting properties on a Vue instance or its root $data ' + - '- just set it to null.' - ); - return - } - if (!hasOwn(target, key)) { - return - } - delete target[key]; - if (!ob) { - return - } - ob.dep.notify(); - } - - /** - * Collect dependencies on array elements when the array is touched, since - * we cannot intercept array element access like property getters. - */ - function dependArray (value) { - for (var e = (void 0), i = 0, l = value.length; i < l; i++) { - e = value[i]; - e && e.__ob__ && e.__ob__.dep.depend(); - if (Array.isArray(e)) { - dependArray(e); - } - } - } - - /* */ - - /** - * Option overwriting strategies are functions that handle - * how to merge a parent option value and a child option - * value into the final value. - */ - var strats = config.optionMergeStrategies; - - /** - * Options with restrictions - */ - { - strats.el = strats.propsData = function (parent, child, vm, key) { - if (!vm) { - warn( - "option \"" + key + "\" can only be used during instance " + - 'creation with the `new` keyword.' - ); - } - return defaultStrat(parent, child) - }; - } - - /** - * Helper that recursively merges two data objects together. - */ - function mergeData (to, from) { - if (!from) { return to } - var key, toVal, fromVal; - - var keys = hasSymbol - ? Reflect.ownKeys(from) - : Object.keys(from); - - for (var i = 0; i < keys.length; i++) { - key = keys[i]; - // in case the object is already observed... - if (key === '__ob__') { continue } - toVal = to[key]; - fromVal = from[key]; - if (!hasOwn(to, key)) { - set(to, key, fromVal); - } else if ( - toVal !== fromVal && - isPlainObject(toVal) && - isPlainObject(fromVal) - ) { - mergeData(toVal, fromVal); - } - } - return to - } - - /** - * Data - */ - function mergeDataOrFn ( - parentVal, - childVal, - vm - ) { - if (!vm) { - // in a Vue.extend merge, both should be functions - if (!childVal) { - return parentVal - } - if (!parentVal) { - return childVal - } - // when parentVal & childVal are both present, - // we need to return a function that returns the - // merged result of both functions... no need to - // check if parentVal is a function here because - // it has to be a function to pass previous merges. - return function mergedDataFn () { - return mergeData( - typeof childVal === 'function' ? childVal.call(this, this) : childVal, - typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal - ) - } - } else { - return function mergedInstanceDataFn () { - // instance merge - var instanceData = typeof childVal === 'function' - ? childVal.call(vm, vm) - : childVal; - var defaultData = typeof parentVal === 'function' - ? parentVal.call(vm, vm) - : parentVal; - if (instanceData) { - return mergeData(instanceData, defaultData) - } else { - return defaultData - } - } - } - } - - strats.data = function ( - parentVal, - childVal, - vm - ) { - if (!vm) { - if (childVal && typeof childVal !== 'function') { - warn( - 'The "data" option should be a function ' + - 'that returns a per-instance value in component ' + - 'definitions.', - vm - ); - - return parentVal - } - return mergeDataOrFn(parentVal, childVal) - } - - return mergeDataOrFn(parentVal, childVal, vm) - }; - - /** - * Hooks and props are merged as arrays. - */ - function mergeHook ( - parentVal, - childVal - ) { - var res = childVal - ? parentVal - ? parentVal.concat(childVal) - : Array.isArray(childVal) - ? childVal - : [childVal] - : parentVal; - return res - ? dedupeHooks(res) - : res - } - - function dedupeHooks (hooks) { - var res = []; - for (var i = 0; i < hooks.length; i++) { - if (res.indexOf(hooks[i]) === -1) { - res.push(hooks[i]); - } - } - return res - } - - LIFECYCLE_HOOKS.forEach(function (hook) { - strats[hook] = mergeHook; - }); - - /** - * Assets - * - * When a vm is present (instance creation), we need to do - * a three-way merge between constructor options, instance - * options and parent options. - */ - function mergeAssets ( - parentVal, - childVal, - vm, - key - ) { - var res = Object.create(parentVal || null); - if (childVal) { - assertObjectType(key, childVal, vm); - return extend(res, childVal) - } else { - return res - } - } - - ASSET_TYPES.forEach(function (type) { - strats[type + 's'] = mergeAssets; - }); - - /** - * Watchers. - * - * Watchers hashes should not overwrite one - * another, so we merge them as arrays. - */ - strats.watch = function ( - parentVal, - childVal, - vm, - key - ) { - // work around Firefox's Object.prototype.watch... - if (parentVal === nativeWatch) { parentVal = undefined; } - if (childVal === nativeWatch) { childVal = undefined; } - /* istanbul ignore if */ - if (!childVal) { return Object.create(parentVal || null) } - { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = {}; - extend(ret, parentVal); - for (var key$1 in childVal) { - var parent = ret[key$1]; - var child = childVal[key$1]; - if (parent && !Array.isArray(parent)) { - parent = [parent]; - } - ret[key$1] = parent - ? parent.concat(child) - : Array.isArray(child) ? child : [child]; - } - return ret - }; - - /** - * Other object hashes. - */ - strats.props = - strats.methods = - strats.inject = - strats.computed = function ( - parentVal, - childVal, - vm, - key - ) { - if (childVal && "development" !== 'production') { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = Object.create(null); - extend(ret, parentVal); - if (childVal) { extend(ret, childVal); } - return ret - }; - strats.provide = mergeDataOrFn; - - /** - * Default strategy. - */ - var defaultStrat = function (parentVal, childVal) { - return childVal === undefined - ? parentVal - : childVal - }; - - /** - * Validate component names - */ - function checkComponents (options) { - for (var key in options.components) { - validateComponentName(key); - } - } - - function validateComponentName (name) { - if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { - warn( - 'Invalid component name: "' + name + '". Component names ' + - 'should conform to valid custom element name in html5 specification.' - ); - } - if (isBuiltInTag(name) || config.isReservedTag(name)) { - warn( - 'Do not use built-in or reserved HTML elements as component ' + - 'id: ' + name - ); - } - } - - /** - * Ensure all props option syntax are normalized into the - * Object-based format. - */ - function normalizeProps (options, vm) { - var props = options.props; - if (!props) { return } - var res = {}; - var i, val, name; - if (Array.isArray(props)) { - i = props.length; - while (i--) { - val = props[i]; - if (typeof val === 'string') { - name = camelize(val); - res[name] = { type: null }; - } else { - warn('props must be strings when using array syntax.'); - } - } - } else if (isPlainObject(props)) { - for (var key in props) { - val = props[key]; - name = camelize(key); - res[name] = isPlainObject(val) - ? val - : { type: val }; - } - } else { - warn( - "Invalid value for option \"props\": expected an Array or an Object, " + - "but got " + (toRawType(props)) + ".", - vm - ); - } - options.props = res; - } - - /** - * Normalize all injections into Object-based format - */ - function normalizeInject (options, vm) { - var inject = options.inject; - if (!inject) { return } - var normalized = options.inject = {}; - if (Array.isArray(inject)) { - for (var i = 0; i < inject.length; i++) { - normalized[inject[i]] = { from: inject[i] }; - } - } else if (isPlainObject(inject)) { - for (var key in inject) { - var val = inject[key]; - normalized[key] = isPlainObject(val) - ? extend({ from: key }, val) - : { from: val }; - } - } else { - warn( - "Invalid value for option \"inject\": expected an Array or an Object, " + - "but got " + (toRawType(inject)) + ".", - vm - ); - } - } - - /** - * Normalize raw function directives into object format. - */ - function normalizeDirectives (options) { - var dirs = options.directives; - if (dirs) { - for (var key in dirs) { - var def$$1 = dirs[key]; - if (typeof def$$1 === 'function') { - dirs[key] = { bind: def$$1, update: def$$1 }; - } - } - } - } - - function assertObjectType (name, value, vm) { - if (!isPlainObject(value)) { - warn( - "Invalid value for option \"" + name + "\": expected an Object, " + - "but got " + (toRawType(value)) + ".", - vm - ); - } - } - - /** - * Merge two option objects into a new one. - * Core utility used in both instantiation and inheritance. - */ - function mergeOptions ( - parent, - child, - vm - ) { - { - checkComponents(child); - } - - if (typeof child === 'function') { - child = child.options; - } - - normalizeProps(child, vm); - normalizeInject(child, vm); - normalizeDirectives(child); - - // Apply extends and mixins on the child options, - // but only if it is a raw options object that isn't - // the result of another mergeOptions call. - // Only merged options has the _base property. - if (!child._base) { - if (child.extends) { - parent = mergeOptions(parent, child.extends, vm); - } - if (child.mixins) { - for (var i = 0, l = child.mixins.length; i < l; i++) { - parent = mergeOptions(parent, child.mixins[i], vm); - } - } - } - - var options = {}; - var key; - for (key in parent) { - mergeField(key); - } - for (key in child) { - if (!hasOwn(parent, key)) { - mergeField(key); - } - } - function mergeField (key) { - var strat = strats[key] || defaultStrat; - options[key] = strat(parent[key], child[key], vm, key); - } - return options - } - - /** - * Resolve an asset. - * This function is used because child instances need access - * to assets defined in its ancestor chain. - */ - function resolveAsset ( - options, - type, - id, - warnMissing - ) { - /* istanbul ignore if */ - if (typeof id !== 'string') { - return - } - var assets = options[type]; - // check local registration variations first - if (hasOwn(assets, id)) { return assets[id] } - var camelizedId = camelize(id); - if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } - var PascalCaseId = capitalize(camelizedId); - if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } - // fallback to prototype chain - var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; - if (warnMissing && !res) { - warn( - 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, - options - ); - } - return res - } - - /* */ - - - - function validateProp ( - key, - propOptions, - propsData, - vm - ) { - var prop = propOptions[key]; - var absent = !hasOwn(propsData, key); - var value = propsData[key]; - // boolean casting - var booleanIndex = getTypeIndex(Boolean, prop.type); - if (booleanIndex > -1) { - if (absent && !hasOwn(prop, 'default')) { - value = false; - } else if (value === '' || value === hyphenate(key)) { - // only cast empty string / same name to boolean if - // boolean has higher priority - var stringIndex = getTypeIndex(String, prop.type); - if (stringIndex < 0 || booleanIndex < stringIndex) { - value = true; - } - } - } - // check default value - if (value === undefined) { - value = getPropDefaultValue(vm, prop, key); - // since the default value is a fresh copy, - // make sure to observe it. - var prevShouldObserve = shouldObserve; - toggleObserving(true); - observe(value); - toggleObserving(prevShouldObserve); - } - { - assertProp(prop, key, value, vm, absent); - } - return value - } - - /** - * Get the default value of a prop. - */ - function getPropDefaultValue (vm, prop, key) { - // no default, return undefined - if (!hasOwn(prop, 'default')) { - return undefined - } - var def = prop.default; - // warn against non-factory defaults for Object & Array - if (isObject(def)) { - warn( - 'Invalid default value for prop "' + key + '": ' + - 'Props with type Object/Array must use a factory function ' + - 'to return the default value.', - vm - ); - } - // the raw prop value was also undefined from previous render, - // return previous default value to avoid unnecessary watcher trigger - if (vm && vm.$options.propsData && - vm.$options.propsData[key] === undefined && - vm._props[key] !== undefined - ) { - return vm._props[key] - } - // call factory function for non-Function types - // a value is Function if its prototype is function even across different execution context - return typeof def === 'function' && getType(prop.type) !== 'Function' - ? def.call(vm) - : def - } - - /** - * Assert whether a prop is valid. - */ - function assertProp ( - prop, - name, - value, - vm, - absent - ) { - if (prop.required && absent) { - warn( - 'Missing required prop: "' + name + '"', - vm - ); - return - } - if (value == null && !prop.required) { - return - } - var type = prop.type; - var valid = !type || type === true; - var expectedTypes = []; - if (type) { - if (!Array.isArray(type)) { - type = [type]; - } - for (var i = 0; i < type.length && !valid; i++) { - var assertedType = assertType(value, type[i]); - expectedTypes.push(assertedType.expectedType || ''); - valid = assertedType.valid; - } - } - - if (!valid) { - warn( - getInvalidTypeMessage(name, value, expectedTypes), - vm - ); - return - } - var validator = prop.validator; - if (validator) { - if (!validator(value)) { - warn( - 'Invalid prop: custom validator check failed for prop "' + name + '".', - vm - ); - } - } - } - - var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; - - function assertType (value, type) { - var valid; - var expectedType = getType(type); - if (simpleCheckRE.test(expectedType)) { - var t = typeof value; - valid = t === expectedType.toLowerCase(); - // for primitive wrapper objects - if (!valid && t === 'object') { - valid = value instanceof type; - } - } else if (expectedType === 'Object') { - valid = isPlainObject(value); - } else if (expectedType === 'Array') { - valid = Array.isArray(value); - } else { - valid = value instanceof type; - } - return { - valid: valid, - expectedType: expectedType - } - } - - /** - * Use function string name to check built-in types, - * because a simple equality check will fail when running - * across different vms / iframes. - */ - function getType (fn) { - var match = fn && fn.toString().match(/^\s*function (\w+)/); - return match ? match[1] : '' - } - - function isSameType (a, b) { - return getType(a) === getType(b) - } - - function getTypeIndex (type, expectedTypes) { - if (!Array.isArray(expectedTypes)) { - return isSameType(expectedTypes, type) ? 0 : -1 - } - for (var i = 0, len = expectedTypes.length; i < len; i++) { - if (isSameType(expectedTypes[i], type)) { - return i - } - } - return -1 - } - - function getInvalidTypeMessage (name, value, expectedTypes) { - var message = "Invalid prop: type check failed for prop \"" + name + "\"." + - " Expected " + (expectedTypes.map(capitalize).join(', ')); - var expectedType = expectedTypes[0]; - var receivedType = toRawType(value); - var expectedValue = styleValue(value, expectedType); - var receivedValue = styleValue(value, receivedType); - // check if we need to specify expected value - if (expectedTypes.length === 1 && - isExplicable(expectedType) && - !isBoolean(expectedType, receivedType)) { - message += " with value " + expectedValue; - } - message += ", got " + receivedType + " "; - // check if we need to specify received value - if (isExplicable(receivedType)) { - message += "with value " + receivedValue + "."; - } - return message - } - - function styleValue (value, type) { - if (type === 'String') { - return ("\"" + value + "\"") - } else if (type === 'Number') { - return ("" + (Number(value))) - } else { - return ("" + value) - } - } - - function isExplicable (value) { - var explicitTypes = ['string', 'number', 'boolean']; - return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) - } - - function isBoolean () { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) - } - - /* */ - - function handleError (err, vm, info) { - // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. - // See: https://github.com/vuejs/vuex/issues/1505 - pushTarget(); - try { - if (vm) { - var cur = vm; - while ((cur = cur.$parent)) { - var hooks = cur.$options.errorCaptured; - if (hooks) { - for (var i = 0; i < hooks.length; i++) { - try { - var capture = hooks[i].call(cur, err, vm, info) === false; - if (capture) { return } - } catch (e) { - globalHandleError(e, cur, 'errorCaptured hook'); - } - } - } - } - } - globalHandleError(err, vm, info); - } finally { - popTarget(); - } - } - - function invokeWithErrorHandling ( - handler, - context, - args, - vm, - info - ) { - var res; - try { - res = args ? handler.apply(context, args) : handler.call(context); - if (res && !res._isVue && isPromise(res) && !res._handled) { - res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); - // issue #9511 - // avoid catch triggering multiple times when nested calls - res._handled = true; - } - } catch (e) { - handleError(e, vm, info); - } - return res - } - - function globalHandleError (err, vm, info) { - if (config.errorHandler) { - try { - return config.errorHandler.call(null, err, vm, info) - } catch (e) { - // if the user intentionally throws the original error in the handler, - // do not log it twice - if (e !== err) { - logError(e, null, 'config.errorHandler'); - } - } - } - logError(err, vm, info); - } - - function logError (err, vm, info) { - { - warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); - } - /* istanbul ignore else */ - if ((inBrowser || inWeex) && typeof console !== 'undefined') { - console.error(err); - } else { - throw err - } - } - - /* */ - - var isUsingMicroTask = false; - - var callbacks = []; - var pending = false; - - function flushCallbacks () { - pending = false; - var copies = callbacks.slice(0); - callbacks.length = 0; - for (var i = 0; i < copies.length; i++) { - copies[i](); - } - } - - // Here we have async deferring wrappers using microtasks. - // In 2.5 we used (macro) tasks (in combination with microtasks). - // However, it has subtle problems when state is changed right before repaint - // (e.g. #6813, out-in transitions). - // Also, using (macro) tasks in event handler would cause some weird behaviors - // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). - // So we now use microtasks everywhere, again. - // A major drawback of this tradeoff is that there are some scenarios - // where microtasks have too high a priority and fire in between supposedly - // sequential events (e.g. #4521, #6690, which have workarounds) - // or even between bubbling of the same event (#6566). - var timerFunc; - - // The nextTick behavior leverages the microtask queue, which can be accessed - // via either native Promise.then or MutationObserver. - // MutationObserver has wider support, however it is seriously bugged in - // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It - // completely stops working after triggering a few times... so, if native - // Promise is available, we will use it: - /* istanbul ignore next, $flow-disable-line */ - if (typeof Promise !== 'undefined' && isNative(Promise)) { - var p = Promise.resolve(); - timerFunc = function () { - p.then(flushCallbacks); - // In problematic UIWebViews, Promise.then doesn't completely break, but - // it can get stuck in a weird state where callbacks are pushed into the - // microtask queue but the queue isn't being flushed, until the browser - // needs to do some other work, e.g. handle a timer. Therefore we can - // "force" the microtask queue to be flushed by adding an empty timer. - if (isIOS) { setTimeout(noop); } - }; - isUsingMicroTask = true; - } else if (!isIE && typeof MutationObserver !== 'undefined' && ( - isNative(MutationObserver) || - // PhantomJS and iOS 7.x - MutationObserver.toString() === '[object MutationObserverConstructor]' - )) { - // Use MutationObserver where native Promise is not available, - // e.g. PhantomJS, iOS7, Android 4.4 - // (#6466 MutationObserver is unreliable in IE11) - var counter = 1; - var observer = new MutationObserver(flushCallbacks); - var textNode = document.createTextNode(String(counter)); - observer.observe(textNode, { - characterData: true - }); - timerFunc = function () { - counter = (counter + 1) % 2; - textNode.data = String(counter); - }; - isUsingMicroTask = true; - } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { - // Fallback to setImmediate. - // Technically it leverages the (macro) task queue, - // but it is still a better choice than setTimeout. - timerFunc = function () { - setImmediate(flushCallbacks); - }; - } else { - // Fallback to setTimeout. - timerFunc = function () { - setTimeout(flushCallbacks, 0); - }; - } - - function nextTick (cb, ctx) { - var _resolve; - callbacks.push(function () { - if (cb) { - try { - cb.call(ctx); - } catch (e) { - handleError(e, ctx, 'nextTick'); - } - } else if (_resolve) { - _resolve(ctx); - } - }); - if (!pending) { - pending = true; - timerFunc(); - } - // $flow-disable-line - if (!cb && typeof Promise !== 'undefined') { - return new Promise(function (resolve) { - _resolve = resolve; - }) - } - } - - /* */ - - var mark; - var measure; - - { - var perf = inBrowser && window.performance; - /* istanbul ignore if */ - if ( - perf && - perf.mark && - perf.measure && - perf.clearMarks && - perf.clearMeasures - ) { - mark = function (tag) { return perf.mark(tag); }; - measure = function (name, startTag, endTag) { - perf.measure(name, startTag, endTag); - perf.clearMarks(startTag); - perf.clearMarks(endTag); - // perf.clearMeasures(name) - }; - } - } - - /* not type checking this file because flow doesn't play well with Proxy */ - - var initProxy; - - { - var allowedGlobals = makeMap( - 'Infinity,undefined,NaN,isFinite,isNaN,' + - 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + - 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + - 'require' // for Webpack/Browserify - ); - - var warnNonPresent = function (target, key) { - warn( - "Property or method \"" + key + "\" is not defined on the instance but " + - 'referenced during render. Make sure that this property is reactive, ' + - 'either in the data option, or for class-based components, by ' + - 'initializing the property. ' + - 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', - target - ); - }; - - var warnReservedPrefix = function (target, key) { - warn( - "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + - 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + - 'prevent conflicts with Vue internals. ' + - 'See: https://vuejs.org/v2/api/#data', - target - ); - }; - - var hasProxy = - typeof Proxy !== 'undefined' && isNative(Proxy); - - if (hasProxy) { - var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); - config.keyCodes = new Proxy(config.keyCodes, { - set: function set (target, key, value) { - if (isBuiltInModifier(key)) { - warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); - return false - } else { - target[key] = value; - return true - } - } - }); - } - - var hasHandler = { - has: function has (target, key) { - var has = key in target; - var isAllowed = allowedGlobals(key) || - (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); - if (!has && !isAllowed) { - if (key in target.$data) { warnReservedPrefix(target, key); } - else { warnNonPresent(target, key); } - } - return has || !isAllowed - } - }; - - var getHandler = { - get: function get (target, key) { - if (typeof key === 'string' && !(key in target)) { - if (key in target.$data) { warnReservedPrefix(target, key); } - else { warnNonPresent(target, key); } - } - return target[key] - } - }; - - initProxy = function initProxy (vm) { - if (hasProxy) { - // determine which proxy handler to use - var options = vm.$options; - var handlers = options.render && options.render._withStripped - ? getHandler - : hasHandler; - vm._renderProxy = new Proxy(vm, handlers); - } else { - vm._renderProxy = vm; - } - }; - } - - /* */ - - var seenObjects = new _Set(); - - /** - * Recursively traverse an object to evoke all converted - * getters, so that every nested property inside the object - * is collected as a "deep" dependency. - */ - function traverse (val) { - _traverse(val, seenObjects); - seenObjects.clear(); - } - - function _traverse (val, seen) { - var i, keys; - var isA = Array.isArray(val); - if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { - return - } - if (val.__ob__) { - var depId = val.__ob__.dep.id; - if (seen.has(depId)) { - return - } - seen.add(depId); - } - if (isA) { - i = val.length; - while (i--) { _traverse(val[i], seen); } - } else { - keys = Object.keys(val); - i = keys.length; - while (i--) { _traverse(val[keys[i]], seen); } - } - } - - /* */ - - var normalizeEvent = cached(function (name) { - var passive = name.charAt(0) === '&'; - name = passive ? name.slice(1) : name; - var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first - name = once$$1 ? name.slice(1) : name; - var capture = name.charAt(0) === '!'; - name = capture ? name.slice(1) : name; - return { - name: name, - once: once$$1, - capture: capture, - passive: passive - } - }); - - function createFnInvoker (fns, vm) { - function invoker () { - var arguments$1 = arguments; - - var fns = invoker.fns; - if (Array.isArray(fns)) { - var cloned = fns.slice(); - for (var i = 0; i < cloned.length; i++) { - invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); - } - } else { - // return handler return value for single handlers - return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") - } - } - invoker.fns = fns; - return invoker - } - - function updateListeners ( - on, - oldOn, - add, - remove$$1, - createOnceHandler, - vm - ) { - var name, def$$1, cur, old, event; - for (name in on) { - def$$1 = cur = on[name]; - old = oldOn[name]; - event = normalizeEvent(name); - if (isUndef(cur)) { - warn( - "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), - vm - ); - } else if (isUndef(old)) { - if (isUndef(cur.fns)) { - cur = on[name] = createFnInvoker(cur, vm); - } - if (isTrue(event.once)) { - cur = on[name] = createOnceHandler(event.name, cur, event.capture); - } - add(event.name, cur, event.capture, event.passive, event.params); - } else if (cur !== old) { - old.fns = cur; - on[name] = old; - } - } - for (name in oldOn) { - if (isUndef(on[name])) { - event = normalizeEvent(name); - remove$$1(event.name, oldOn[name], event.capture); - } - } - } - - /* */ - - function mergeVNodeHook (def, hookKey, hook) { - if (def instanceof VNode) { - def = def.data.hook || (def.data.hook = {}); - } - var invoker; - var oldHook = def[hookKey]; - - function wrappedHook () { - hook.apply(this, arguments); - // important: remove merged hook to ensure it's called only once - // and prevent memory leak - remove(invoker.fns, wrappedHook); - } - - if (isUndef(oldHook)) { - // no existing hook - invoker = createFnInvoker([wrappedHook]); - } else { - /* istanbul ignore if */ - if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { - // already a merged invoker - invoker = oldHook; - invoker.fns.push(wrappedHook); - } else { - // existing plain hook - invoker = createFnInvoker([oldHook, wrappedHook]); - } - } - - invoker.merged = true; - def[hookKey] = invoker; - } - - /* */ - - function extractPropsFromVNodeData ( - data, - Ctor, - tag - ) { - // we are only extracting raw values here. - // validation and default values are handled in the child - // component itself. - var propOptions = Ctor.options.props; - if (isUndef(propOptions)) { - return - } - var res = {}; - var attrs = data.attrs; - var props = data.props; - if (isDef(attrs) || isDef(props)) { - for (var key in propOptions) { - var altKey = hyphenate(key); - { - var keyInLowerCase = key.toLowerCase(); - if ( - key !== keyInLowerCase && - attrs && hasOwn(attrs, keyInLowerCase) - ) { - tip( - "Prop \"" + keyInLowerCase + "\" is passed to component " + - (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + - " \"" + key + "\". " + - "Note that HTML attributes are case-insensitive and camelCased " + - "props need to use their kebab-case equivalents when using in-DOM " + - "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." - ); - } - } - checkProp(res, props, key, altKey, true) || - checkProp(res, attrs, key, altKey, false); - } - } - return res - } - - function checkProp ( - res, - hash, - key, - altKey, - preserve - ) { - if (isDef(hash)) { - if (hasOwn(hash, key)) { - res[key] = hash[key]; - if (!preserve) { - delete hash[key]; - } - return true - } else if (hasOwn(hash, altKey)) { - res[key] = hash[altKey]; - if (!preserve) { - delete hash[altKey]; - } - return true - } - } - return false - } - - /* */ - - // The template compiler attempts to minimize the need for normalization by - // statically analyzing the template at compile time. - // - // For plain HTML markup, normalization can be completely skipped because the - // generated render function is guaranteed to return Array. There are - // two cases where extra normalization is needed: - - // 1. When the children contains components - because a functional component - // may return an Array instead of a single root. In this case, just a simple - // normalization is needed - if any child is an Array, we flatten the whole - // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep - // because functional components already normalize their own children. - function simpleNormalizeChildren (children) { - for (var i = 0; i < children.length; i++) { - if (Array.isArray(children[i])) { - return Array.prototype.concat.apply([], children) - } - } - return children - } - - // 2. When the children contains constructs that always generated nested Arrays, - // e.g.