diff --git a/app/Enums/BalancedMenuType.php b/app/Enums/BalancedMenuType.php deleted file mode 100644 index 52e539ea..00000000 --- a/app/Enums/BalancedMenuType.php +++ /dev/null @@ -1,26 +0,0 @@ - 1, - 'teenager' => 2, - 'woman' => 3, - 'man' => 4, - 'senior' => 5 - ]; - } -} diff --git a/app/Enums/InputType.php b/app/Enums/InputType.php index c36a37bf..ec0a9070 100644 --- a/app/Enums/InputType.php +++ b/app/Enums/InputType.php @@ -13,6 +13,8 @@ use Kwaadpepper\Enum\BaseEnumRoutable; * @method static self url() * @method static self imageArray() * @method static self labelArray() + * @method static self dropdownArray() + * html autorisé */ final class InputType extends BaseEnumRoutable { @@ -25,7 +27,8 @@ final class InputType extends BaseEnumRoutable 'text' => 3, 'url' => 4, 'imageArray' => 5, - 'labelArray' => 6 + 'labelArray' => 6, + 'dropdownArray' => 7 ]; } } diff --git a/app/Enums/NutritionBlocType.php b/app/Enums/NutritionBlocType.php new file mode 100644 index 00000000..a858ba14 --- /dev/null +++ b/app/Enums/NutritionBlocType.php @@ -0,0 +1,42 @@ + 0, + 'bloc2' => 1, + 'bloc3' => 2, + 'bloc4' => 3, + 'bloc5' => 4 + ]; + } + + protected static function labels(): array + { + return [ + 'bloc1' => __('Bloc 1, (Text et dropdowns array)'), + 'bloc2' => __('Bloc 2 (Text et label array)'), + 'bloc3' => __('Bloc 3 (Big image et optional button'), + 'bloc4' => __('Bloc 4 (Big image et dropdowns array)'), + 'bloc5' => __('Bloc 5 (Green encart)') + ]; + } +} diff --git a/app/Enums/NutritionType.php b/app/Enums/NutritionType.php new file mode 100644 index 00000000..16d8f07e --- /dev/null +++ b/app/Enums/NutritionType.php @@ -0,0 +1,28 @@ + 0, + 'quality' => 1 + ]; + } + + protected static function labels(): array + { + return [ + 'poultry' => __('Page volaille'), + 'quality' => __('Page qualité nutrition') + ]; + } +} diff --git a/app/Http/Controllers/Bo/BalancedMenusController.php b/app/Http/Controllers/Bo/BalancedMenusController.php deleted file mode 100644 index 54b8e5e6..00000000 --- a/app/Http/Controllers/Bo/BalancedMenusController.php +++ /dev/null @@ -1,127 +0,0 @@ -product_id; - $type = $request->type; - $picture = $request->picture; - $entree = $request->entree; - $meal = $request->meal; - $dessert = $request->dessert; - $status = 0; - - $request->validate([ - 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=770,height=684', - 'entree' => 'required|max:4000', - 'meal' => 'required|max:4000', - 'dessert' => 'required|max:4000', - ]); - - $m = new BalancedMenus(); - $m->type = $type; - - $imageName = 'menu-' . Str::slug($m->type->label) . '-' . - date('d-m-Y-h-i-s') . '-le-gaulois.' . $picture->extension(); - $picture->move(public_path('uploads/images/menus-equilibres/' . date('Y') . '/' . date('m')), $imageName); - - $m->product_id = $productId; - $m->picture = 'uploads/images/menus-equilibres/' . date('Y') . '/' . date('m') . '/' . $imageName; - $m->entree = $entree; - $m->meal = $meal; - $m->dessert = $dessert; - $m->status = $status; - $m->save(); - - return redirect()->route('bo.balanced-menus.index'); - } - - // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass - public function edit(BalancedMenus $m) - { - $p = Products::all(); - return view('bo.balanced-menus.edit', compact('m', 'p')); - } - - public function update(Request $request, BalancedMenus $m) - { - $productId = $request->product_id; - $type = $request->type; - $picture = $request->picture; - $entree = $request->entree; - $meal = $request->meal; - $dessert = $request->dessert; - $status = $request->status === null ? 0 : 1; - - $request->validate([ - 'entree' => 'required|max:4000', - 'meal' => 'required|max:4000', - 'dessert' => 'required|max:4000', - ]); - - if ($picture !== null) { - $request->validate([ - 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=770,height=684', - ]); - } - - $m->type = $type; - - if ($picture !== null) { - if (file_exists(public_path() . '/' . $m->picture)) { - unlink(public_path() . '/' . $m->picture); - } - $imageName = 'menu-' . Str::slug($m->type->label) . '-' . - date('d-m-Y-h-i-s') . '-le-gaulois.' . $picture->extension(); - $picture->move(public_path('uploads/images/menus-equilibres/' . date('Y') . '/' . date('m')), $imageName); - } - - $m->product_id = $productId; - if ($picture !== null) { - $m->picture = 'uploads/images/menus-equilibres/' . date('Y') . '/' . date('m') . '/' . $imageName; - } - $m->entree = $entree; - $m->meal = $meal; - $m->dessert = $dessert; - $m->status = $status; - $m->save(); - - return redirect()->route('bo.balanced-menus.edit', $m->id)->with('success', 'Enregistré !'); - } - - public function destroy(BalancedMenus $m) - { - if (file_exists(public_path() . '/' . $m->picture)) { - unlink(public_path() . '/' . $m->picture); - } - - $m->delete(); - - return redirect()->route('bo.balanced-menus.index') - ->with('warning', 'Le contenu à bien été supprimé'); - } -} diff --git a/app/Http/Controllers/Bo/HealthNutritionController.php b/app/Http/Controllers/Bo/HealthNutritionController.php new file mode 100644 index 00000000..b0090f6d --- /dev/null +++ b/app/Http/Controllers/Bo/HealthNutritionController.php @@ -0,0 +1,56 @@ + $page]); + } + + public function update(UpdateNutritionPageRequest $request, NutritionPage $page) + { + $page->fill(array_replace_recursive( + $this->clearImagesLabelsDropdownsArrays($page->toArray()), + $request->validated() + )); + $page->saveOrFail(); + return redirect()->route('bo.nutrition-page.edit', $page) + ->with('success', 'Enregistré !'); + } + + private function clearImagesLabelsDropdownsArrays(array $page): array + { + foreach ($page['content'] as &$block) { + if (isset($block['content'])) { + foreach ($block['content'] as &$input) { + if ($input['inputType']['value'] === InputType::imageArray()->value) { + $input['value'] = []; + } + if ($input['inputType']['value'] === InputType::labelArray()->value) { + $input['value'] = []; + } + if ($input['inputType']['value'] === InputType::dropdownArray()->value) { + $input['value'] = []; + } + } + } + } + return $page; + } +} diff --git a/app/Http/Controllers/Bo/UploadController.php b/app/Http/Controllers/Bo/UploadController.php new file mode 100644 index 00000000..b8bea07f --- /dev/null +++ b/app/Http/Controllers/Bo/UploadController.php @@ -0,0 +1,21 @@ +upload; + $newPath = $this->prepareMoveFile($image->getClientOriginalName(), 'uploads'); + $newPath = str_replace(storage_path('app'), '', $newPath); + $image->storePubliclyAs(pathinfo($newPath, \PATHINFO_DIRNAME), pathinfo($newPath, \PATHINFO_BASENAME)); + return response()->json([ + 'url' => '/storage' . str_replace('/public', '', $newPath) + ]); + } +} diff --git a/app/Http/Controllers/KitchenSideController.php b/app/Http/Controllers/KitchenSideController.php new file mode 100644 index 00000000..78a3a7f5 --- /dev/null +++ b/app/Http/Controllers/KitchenSideController.php @@ -0,0 +1,28 @@ +firstOrFail(); + return view('front.health-nutrition.nutrition-page', compact('page')); + } + + public function nutritionQuality() + { + $page = NutritionPage::where('type', NutritionType::quality()) + ->firstOrFail(); + return view('front.health-nutrition.nutrition-page', compact('page')); + } +} diff --git a/app/Http/Controllers/ProductsController.php b/app/Http/Controllers/ProductsController.php index bc212909..a8cfe398 100644 --- a/app/Http/Controllers/ProductsController.php +++ b/app/Http/Controllers/ProductsController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers; use App\Enums\GeneralConfigType; -use App\Models\BalancedMenus; use App\Models\ConsumptionTimes; use App\Models\ProductSliderPictures; use App\Models\MeatTypes; @@ -12,7 +11,6 @@ use App\Models\Range; use App\Models\Recipes; use App\Models\SubRange; use Illuminate\Database\Eloquent\Model; -use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; class ProductsController extends Controller @@ -133,12 +131,4 @@ class ProductsController extends Controller return view('front.products.product', compact('product', 'recipes', 'recipeVideo', 'generalConfig')); } - - public function indexMenusAjax(Request $request) - { - if (!$request->ajax()) { - abort(400); - } - return response()->json(BalancedMenus::productsAjax()); - } } diff --git a/app/Http/Controllers/RecipesController.php b/app/Http/Controllers/RecipesController.php index ae105fcc..cddcaa74 100644 --- a/app/Http/Controllers/RecipesController.php +++ b/app/Http/Controllers/RecipesController.php @@ -2,19 +2,15 @@ namespace App\Http\Controllers; -use App\Enums\BalancedMenuType; use App\Enums\RecipeFilter; use App\Enums\RecipeFilterTimes; use App\Enums\RecipeType; use App\Http\Requests\RecipeIndexRequest; use App\Http\Requests\RecipeRateRequest; -use App\Models\BalancedMenus; use App\Models\ConsumptionTimes; -use App\Models\Products; use App\Models\Range; use App\Models\Recipes; use BadMethodCallException; -use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class RecipesController extends Controller @@ -147,14 +143,4 @@ class RecipesController extends Controller } return view('front.kitchenside', compact('featuredRecipes', 'videoRecipes')); } - - public function showForBalancedMenu(BalancedMenuType $type, Products $product, Request $request) - { - if (!$request->ajax()) { - abort(400); - } - // NE vérifie pas balancedmenu status car il faut afficher la recette du produit si il est publié - return response()->json(BalancedMenus::where('product_id', $product->id) - ->where('type', $type)->where('status', true)->firstOrFail()); - } } diff --git a/app/Http/Requests/UpdateNutritionPageRequest.php b/app/Http/Requests/UpdateNutritionPageRequest.php new file mode 100644 index 00000000..96301a70 --- /dev/null +++ b/app/Http/Requests/UpdateNutritionPageRequest.php @@ -0,0 +1,183 @@ +check()) { + $this->merge([ + 'status' => $this->status === null ? 0 : 1 + ]); + return true; + } + return false; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + $rules = [ + 'menutitle' => 'required|string|min:7|max:50', + 'title' => 'required|string|min:7|max:255', + 'metaTitle' => 'required|string|min:20|max:60', + 'metaDescription' => 'required|string|min:130|max:160', + 'headerContent' => 'required|string|min:10' + ]; + $arrayContent = $this->nutrition_page; + foreach ($arrayContent->content as $i => $block) { + foreach ($block['content'] as $iptName => $input) { + switch ($input['inputType']['value']) { + case InputType::string()->value: + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value" => 'required|string|min:4' + ]); + break; + case InputType::text()->value: + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value" => 'required|string|min:15' + ]); + break; + case InputType::image()->value: + $ipt = $arrayContent->content[$i]['content'][$iptName]; + $max = isset($ipt['dimensionsMax']); + $dim = collect(explode( + ',', + $ipt['dimensions'] ?? $ipt['dimensionsMax'] + ))->mapWithKeys(function ($v) { + $v = explode(' ', $v); + return [$v[0] => $v[1]]; + }); + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value" => [ + 'sometimes', + 'image', + 'mimes:png,jpg', + sprintf( + 'dimensions:%s=%d,%s=%d', + $max ? 'max_height' : 'height', + $dim['hauteur'], + $max ? 'max_width' : 'width', + $dim['largeur'] + ) + ] + ]); + break; + case InputType::imageArray()->value: + $ipt = $arrayContent->content[$i]['content'][$iptName]; + $max = isset($ipt['dimensionsMax']); + $dim = collect(explode( + ',', + $ipt['dimensions'] ?? $ipt['dimensionsMax'] + ))->mapWithKeys(function ($v) { + $v = explode(' ', $v); + return [$v[0] => $v[1]]; + }); + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value.*" => 'sometimes|array' + ]); + if (is_array($this->input("content.$i.content.$iptName.value.*"))) { + $all = $this->all(); + $images = $this->input("content.$i.content.$iptName.value"); + if (is_array($images)) { + ksort($images); + $all['content'][$i]['content'][$iptName]['value'] = $images; + $this->merge($all); + } + foreach ($this->input("content.$i.content.$iptName.value.*") as $imageK => $image) { + if (!is_string($image)) { + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value.$imageK" => [ + 'image', + 'mimes:png,jpg', + sprintf( + 'dimensions:%s=%d,%s=%d', + $max ? 'max_height' : 'height', + $dim['hauteur'], + $max ? 'max_width' : 'width', + $dim['largeur'] + ) + ] + ]); + } else { + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value.$imageK" => 'string' + ]); + } + } + } + break; + case InputType::url()->value: + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value" => [ + 'required', 'url', + // @phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed + function ($attribute, $value, $fail) { + try { + Utils::assertNoInternalUrls($attribute, $value); + } catch (ValidationException $e) { + $fail(collect($e->errors())->first()[0]); + } + } + ] + ]); + break; + case InputType::labelArray()->value: + $all = $this->all(); + foreach ($this->input("content.$i.content.$iptName.value") as $labelIndex => $label) { + if ($labelIndex === 'X') { + unset($all['content'][$i]['content'][$iptName]['value'][$labelIndex]); + continue; + } + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value.$labelIndex.*" => 'string' + ]); + } + $this->merge($all); + break; + case InputType::dropdownArray()->value: + $all = $this->all(); + foreach ($this->input("content.$i.content.$iptName.value") as $dropdownIndex => $dropdown) { + if ($dropdownIndex === 'X') { + unset($all['content'][$i]['content'][$iptName]['value'][$dropdownIndex]); + continue; + } + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value.$dropdownIndex.*" => 'string' + ]); + } + $this->merge($all); + break; + case InputType::boolean()->value: + $all = $this->all(); + $nested = Utils::dotStringToNestedArray( + "content.$i.content.$iptName.value", + $this->input("content.$i.content.$iptName.value") ? true : false + ); + $all = array_merge_recursive_distinct($all, $nested); + $this->merge($all); + $rules = array_merge($rules, [ + "content.$i.content.$iptName.value" => 'boolean' + ]); + break; + } + } + } + return $rules; + } +} diff --git a/app/Http/Requests/UploadFileRequest.php b/app/Http/Requests/UploadFileRequest.php new file mode 100644 index 00000000..53d9e5de --- /dev/null +++ b/app/Http/Requests/UploadFileRequest.php @@ -0,0 +1,30 @@ +check() and $this->ajax(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'upload' => 'required|image|mimes:jpeg,png,jpg|max:2048' + ]; + } +} diff --git a/app/Lib/Utils.php b/app/Lib/Utils.php index 1cdf4c5a..e6f1bdbb 100644 --- a/app/Lib/Utils.php +++ b/app/Lib/Utils.php @@ -2,9 +2,13 @@ namespace App\Lib; +use Exception; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Route; +use Illuminate\Support\Str; use Illuminate\Validation\ValidationException; +use SplFileInfo; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; // phpcs:disable Generic.Files.LineLength.TooLong @@ -153,4 +157,47 @@ class Utils } return $arr; } + + public static function storeImage($image, string $folderName): string + { + if (\is_object($image) and get_class($image) === UploadedFile::class) { + /** @var UploadedFile */ + $image = $image; + $newPath = self::prepareMoveFile($image->getClientOriginalName(), $folderName); + $newPath = str_replace(storage_path('app'), '', $newPath); + $image->storePubliclyAs(pathinfo($newPath, \PATHINFO_DIRNAME), pathinfo($newPath, \PATHINFO_BASENAME)); + return '/storage' . str_replace('/public', '', $newPath); + } + if (\is_object($image) and get_class($image) === SplFileInfo::class) { + /** @var SplFileInfo */ + $image = $image; + $newPath = self::prepareMoveFile($image->getBaseName(), $folderName); + if (!File::copy($image->getRealPath(), $newPath)) { + throw new \Exception(sprintf( + 'Failed to copy file %s to %s', + $image->getRealPath(), + $newPath + )); + } + return str_replace(\storage_path('app/public'), '/storage', $newPath); + } + if (\is_string($image)) { + return $image; + } + throw new Exception(sprintf('Cannot handle image %s', \gettype($image))); + } + + private static function prepareMoveFile(string $filename, string $folderName): string + { + $pathFolder = \storage_path("app/public/images/$folderName"); + if (!File::exists($pathFolder)) { + File::makeDirectory($pathFolder, 0755, true); + } + $filename = sprintf('%s-%s', Str::uuid(), $filename); + $fullPath = sprintf('%s/%s', $pathFolder, $filename); + if (File::exists($fullPath)) { + File::delete($fullPath); + } + return $fullPath; + } } diff --git a/app/Models/BalancedMenus.php b/app/Models/BalancedMenus.php deleted file mode 100644 index e225602d..00000000 --- a/app/Models/BalancedMenus.php +++ /dev/null @@ -1,42 +0,0 @@ - BalancedMenuType::class - ]; - - protected $table = 'balanced_menus'; - - protected static function booted() - { - static::creating(function ($menu) { - $menu->entree = clean($menu->entree); - $menu->meal = clean($menu->meal); - $menu->dessert = clean($menu->dessert); - }); - static::updating(function ($menu) { - $menu->entree = clean($menu->entree); - $menu->meal = clean($menu->meal); - $menu->dessert = clean($menu->dessert); - }); - } - - public function product() - { - return $this->belongsTo(Products::class); - } - - public static function productsAjax() - { - return Products::whereHas('balancedMenu')->get(['id', 'picture', 'name']); - } -} diff --git a/app/Models/Engagement.php b/app/Models/Engagement.php index 5391db9f..a3ca721b 100644 --- a/app/Models/Engagement.php +++ b/app/Models/Engagement.php @@ -280,17 +280,18 @@ class Engagement extends Model )); } + // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh private function serializeContent(array $content): string { foreach ($content as $i => $bloc) { foreach ($bloc['content'] as $o => $input) { switch ($input['inputType']->value ?? $input['inputType']['value']) { case InputType::image()->value: - $content[$i]['content'][$o]['value'] = $this->storeImage($input['value']); + $content[$i]['content'][$o]['value'] = Utils::storeImage($input['value'], $this->getTable()); break; case InputType::imageArray()->value: foreach ($input['value'] as $k => $image) { - $content[$i]['content'][$o]['value'][$k] = $this->storeImage($image); + $content[$i]['content'][$o]['value'][$k] = Utils::storeImage($image, $this->getTable()); } break; case InputType::labelArray()->value: @@ -309,7 +310,10 @@ class Engagement extends Model Utils::assertNoInternalUrls('content', $input['value']); break; default: - throw new \Exception(sprintf('Unknown input Type %s', $input['inputType']->label ?? $input['inputType']['label'])); + throw new \Exception(sprintf( + 'Unknown input Type %s', + $input['inputType']->label ?? $input['inputType']['label'] + )); } } } diff --git a/app/Models/NutritionPage.php b/app/Models/NutritionPage.php new file mode 100644 index 00000000..0589a187 --- /dev/null +++ b/app/Models/NutritionPage.php @@ -0,0 +1,298 @@ + NutritionType::class + ]; + + protected $casts = [ + 'content' => 'array', + ]; + + protected $fillable = [ + 'menutitle', 'title', + 'metaTitle', 'metaDescription', + 'headerContent', 'content' + ]; + + // cast content + public function setContentAttribute($value) + { + $this->setContent($value); + } + + public function getContentAttribute() + { + $content = json_decode($this->getRawOriginal('content'), true); + return isset($content->header) ? $content->header : $content; + } + + /** + * Fill the model with an array of attributes. + * + * @param array $attributes + * @return $this + * + * @throws \Illuminate\Database\Eloquent\MassAssignmentException + */ + public function fill(array $attributes) + { + parent::fill($attributes); + if (isset($attributes['content'])) { + $this->setContent($attributes['content']); + } + } + + /** + * Get Blocks Template Data + * + * @return array + */ + public static function getBlocks(): array + { + return [ + NutritionBlocType::bloc1()->value => [ + 'type' => NutritionBlocType::bloc1(), + 'content' => [ + 'img' => [ + 'dimensions' => 'largeur 486,hauteur 682', + 'label' => 'Illustration', + 'inputType' => InputType::image(), + 'alt' => '', + 'value' => '' + ], + 'title' => [ + 'label' => 'Titre (h2)', + 'inputType' => InputType::string(), + 'value' => '' + ], + 'content' => [ + 'label' => 'Contenu', + 'inputType' => InputType::text(), + 'value' => '' + ], + 'side' => [ + 'label' => 'Orientation de l\'image (gauche ou droite)', + 'inputType' => InputType::boolean(), + 'value' => '' + ], + 'dropdownArray' => [ + 'label' => 'Dropdowns', + 'inputType' => InputType::dropdownArray(), + 'value' => [] + ] + ] + ], + NutritionBlocType::bloc2()->value => [ + 'type' => NutritionBlocType::bloc2(), + 'content' => [ + 'img' => [ + 'dimensions' => 'largeur 486,hauteur 682', + 'label' => 'Illustration', + 'inputType' => InputType::image(), + 'alt' => '', + 'value' => '' + ], + 'title' => [ + 'label' => 'Titre (h2)', + 'inputType' => InputType::string(), + 'value' => '' + ], + 'content' => [ + 'label' => 'Contenu', + 'inputType' => InputType::text(), + 'value' => '' + ], + 'labels' => [ + 'label' => 'Labels avec titre', + 'inputType' => InputType::labelArray(), + 'value' => [] + ] + ] + ], + NutritionBlocType::bloc3()->value => [ + 'type' => NutritionBlocType::bloc3(), + 'content' => [ + 'img' => [ + 'dimensions' => 'largeur 792,hauteur 792', + 'label' => 'Illustration', + 'inputType' => InputType::image(), + 'alt' => '', + 'value' => '' + ], + 'title' => [ + 'label' => 'Titre (h2)', + 'inputType' => InputType::string(), + 'value' => '' + ], + 'content' => [ + 'label' => 'Contenu', + 'inputType' => InputType::text(), + 'value' => '' + ], + 'link' => [ + 'label' => 'Lien en bas du bloc', + 'inputType' => InputType::url(), + 'status' => true, + 'newtab' => false, + 'text' => '', + 'value' => '' + ], + 'side' => [ + 'label' => 'Orientation de l\'image (gauche ou droite)', + 'inputType' => InputType::boolean(), + 'value' => '' + ], + ] + ], + NutritionBlocType::bloc4()->value => [ + 'type' => NutritionBlocType::bloc4(), + 'content' => [ + 'img' => [ + 'dimensions' => 'largeur 792,hauteur 792', + 'label' => 'Illustration', + 'inputType' => InputType::image(), + 'alt' => '', + 'value' => '' + ], + 'title' => [ + 'label' => 'Titre (h2)', + 'inputType' => InputType::string(), + 'value' => '' + ], + 'content' => [ + 'label' => 'Contenu', + 'inputType' => InputType::text(), + 'value' => '' + ], + 'dropdownArray' => [ + 'label' => 'Dropdowns', + 'inputType' => InputType::dropdropdownArraydown(), + 'value' => [] + ] + ] + ], + NutritionBlocType::bloc5()->value => [ + 'type' => NutritionBlocType::bloc5(), + 'content' => [ + 'img' => [ + 'dimensionsMax' => 'largeur 384,hauteur 260', + 'label' => 'Pictogramme Titre', + 'inputType' => InputType::image(), + 'alt' => '', + 'value' => '' + ], + 'content' => [ + 'label' => 'Contenu', + 'inputType' => InputType::text(), + 'value' => '' + ] + ] + ], + ]; + } + + /** + * Get Label Template Data + * + * @return array + */ + public static function getLabel(): array + { + return [ + 'bigText' => '', + 'text' => '', + 'fullLine' => false + ]; + } + + /** + * Get Dropdown Template Data + * + * @return array + */ + public static function getDropdown(): array + { + return [ + 'title' => '', + 'content' => '' + ]; + } + + private function setContent($content): void + { + $attrs = $this->attributes; + if (isset($attrs['content'])) { + unset($attrs['content']); + } + if (is_string($content)) { + $content = sprintf('{"header" : "%s"}', $content); + } else { + $content = $this->serializeContent($content); + } + $this->setRawAttributes(\array_merge_recursive( + $attrs, + ['content' => $content] + )); + } + + // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh + private function serializeContent(array $content): string + { + foreach ($content as $i => $bloc) { + foreach ($bloc['content'] as $o => $input) { + switch ($input['inputType']->value ?? $input['inputType']['value']) { + case InputType::image()->value: + $content[$i]['content'][$o]['value'] = Utils::storeImage($input['value'], $this->getTable()); + break; + case InputType::imageArray()->value: + foreach ($input['value'] as $k => $image) { + $content[$i]['content'][$o]['value'][$k] = Utils::storeImage($image, $this->getTable()); + } + break; + case InputType::labelArray()->value: + foreach ($input['value'] as $k => $label) { + $content[$i]['content'][$o]['value'][$k] = \array_replace( + static::getLabel(), + $content[$i]['content'][$o]['value'][$k] + ); + } + break; + case InputType::dropdownArray()->value: + foreach ($input['value'] as $k => $label) { + $content[$i]['content'][$o]['value'][$k] = \array_replace( + static::getDropdown(), + $content[$i]['content'][$o]['value'][$k] + ); + } + break; + case InputType::boolean()->value: + case InputType::text()->value: + case InputType::string()->value: + break; + case InputType::url()->value: + Utils::assertNoInternalUrls('content', $input['value']); + break; + default: + throw new \Exception(sprintf( + 'Unknown input Type %s', + $input['inputType']->label ?? $input['inputType']['label'] + )); + } + } + } + return json_encode($content); + } +} diff --git a/app/Models/Products.php b/app/Models/Products.php index 5842e9aa..3afc776b 100644 --- a/app/Models/Products.php +++ b/app/Models/Products.php @@ -68,11 +68,6 @@ class Products extends Model return $this->hasOne(IncoNutritionalValues::class, 'product_id'); } - public function balancedMenu() - { - return $this->hasOne(BalancedMenus::class, 'product_id'); - } - public function recipes() { return $this->belongsToMany(Recipes::class, 'recipes_products', 'product_id', 'recipe_id'); diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 3c53ab23..ccf26d78 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -7,7 +7,6 @@ use App\Enums\GeneralConfigType; use App\Models\Actu; use App\Models\Ads; use App\Models\Articles; -use App\Models\BalancedMenus; use App\Models\BreederPortrait; use App\Models\ConsumptionTimes; use App\Models\Engagement; @@ -17,6 +16,7 @@ use App\Models\HomeSliderPictures; use App\Models\MeatTypes; use App\Models\Moments; use App\Models\NewsSliderPictures; +use App\Models\NutritionPage; use App\Models\OCBBreeder; use App\Models\OCBContent; use App\Models\Products; @@ -132,9 +132,6 @@ class RouteServiceProvider extends ServiceProvider Route::bind('recipe', function ($value) { return Recipes::where('id', $value)->orWhere('slug', $value)->firstOrFail(); }); - Route::bind('balanced_menu', function ($value) { - return BalancedMenus::where('id', $value)->firstOrFail(); - }); Route::bind('actu', function ($value) { return Actu::where('id', $value)->orWhere('slug', $value)->firstOrFail(); }); @@ -147,6 +144,9 @@ class RouteServiceProvider extends ServiceProvider Route::bind('breederportrait', function ($value) { return BreederPortrait::where('id', $value)->firstOrFail(); }); + Route::bind('nutrition_page', function ($value) { + return NutritionPage::where('id', $value)->firstOrFail(); + }); Route::bind('ocb', function ($value) { return OCBContent::where('id', $value)->firstOrFail(); }); diff --git a/build/ckeditor.js b/build/ckeditor.js new file mode 100644 index 00000000..a6543fec --- /dev/null +++ b/build/ckeditor.js @@ -0,0 +1,11 @@ + +/*! + * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md. + */ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/config/app.php b/config/app.php index 4125c97b..68d8dcc4 100644 --- a/config/app.php +++ b/config/app.php @@ -260,7 +260,9 @@ return [ 'InputType' => \App\Enums\InputType::class, 'GeneralConfigType' => \App\Enums\GeneralConfigType::class, 'Carbon' => 'Carbon\Carbon', - 'RangeColor' => \App\Enums\RangeColor::class + 'RangeColor' => \App\Enums\RangeColor::class, + 'NutritionType' => \App\Enums\NutritionType::class, + 'NutritionBlocType' => \App\Enums\NutritionBlocType::class ], ]; diff --git a/config/purifier.php b/config/purifier.php index 25d357f4..0cf6303b 100644 --- a/config/purifier.php +++ b/config/purifier.php @@ -25,24 +25,23 @@ return [ 'cacheFileMode' => 0755, 'settings' => [ 'default' => [ + 'HTML.SafeIframe' => true, // For iframes + 'URI.SafeIframeRegexp' => "%^(http://|https://|//)(vimeo.com)%", 'HTML.Doctype' => 'HTML 4.01 Transitional', - 'HTML.Allowed' => 'h1,h2,h3,h4,h5,h6,div,b,strong,i,em,u,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src]', - 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align', + 'HTML.Allowed' => 'h1[style],h2[style],h3[style],h4[style],h5[style],h6[style],figure[class],oembed[url],div,b,strong,i,em,u,a[href|title],ul[style],ol[style],dl[style],li,p[style],br,span[style|class],img[width|height|alt|src],iframe[src|width|height|class|frameborder],table,thead,tbody,th,tr,td,hr', + 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align,list-style-type', 'AutoFormat.AutoParagraph' => false, 'AutoFormat.RemoveEmpty' => false, 'AutoFormat.RemoveEmpty.RemoveNbsp' => false, ], - 'test' => [ - 'Attr.EnableID' => 'true', - ], "youtube" => [ "HTML.SafeIframe" => 'true', - "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/)%", + "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/|vimeo.com/)%", ], 'custom_definition' => [ 'id' => 'html5-definitions', 'rev' => 1, - 'debug' => false, + 'debug' => true, 'elements' => [ // http://developers.whatwg.org/sections.html ['section', 'Block', 'Flow', 'Common'], @@ -59,6 +58,7 @@ return [ // http://developers.whatwg.org/grouping-content.html ['figure', 'Block', 'Optional: (figcaption, Flow) | (Flow, figcaption) | Flow', 'Common'], ['figcaption', 'Inline', 'Flow', 'Common'], + ['oembed', 'Inline', 'Flow', 'Common'], // http://developers.whatwg.org/the-video-element.html#the-video-element ['video', 'Block', 'Optional: (source, Flow) | (Flow, source) | Flow', 'Common', [ @@ -95,13 +95,19 @@ return [ ['tr', 'width', 'Text'], ['tr', 'height', 'Text'], ['tr', 'border', 'Text'], + ['figure', 'class', 'Text'], + ['oembed', 'url', 'Text'], + ['span', 'style', 'Text'], ], ], 'custom_attributes' => [ ['a', 'target', 'Enum#_blank,_self,_target,_top'], + ['ol', 'style', 'Text'], + ['oembed', 'url', 'Text'], ], 'custom_elements' => [ ['u', 'Inline', 'Inline', 'Common'], + ['oembed', 'Inline', 'Inline', 'Common'], ], ], diff --git a/config/refresh-sitemap.php b/config/refresh-sitemap.php index 8892ad16..4f72401d 100644 --- a/config/refresh-sitemap.php +++ b/config/refresh-sitemap.php @@ -1,6 +1,5 @@ [ 'slugMeatType' => [MeatTypes::class, 'slug'] ], - 'kitchen-side.health-nutrition.balanced-menu.menu' => [ - 'type' => [BalancedMenuType::class, 'type'] - ], 'club.infos.child' => [ 'publishedArticle' => [Articles::class, 'slug'] ], diff --git a/database/migrations/2021_06_29_124751_create_engagements_table.php b/database/migrations/2021_06_29_124751_create_engagements_table.php index b133ff44..ce2671f8 100644 --- a/database/migrations/2021_06_29_124751_create_engagements_table.php +++ b/database/migrations/2021_06_29_124751_create_engagements_table.php @@ -3,11 +3,8 @@ use App\Enums\EngagementBlocType; use App\Enums\EngagementType; use App\Models\Engagement; -use App\Models\MeatTypes; use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; -use Illuminate\Http\UploadedFile; -use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Schema; class CreateEngagementsTable extends Migration diff --git a/database/migrations/2021_09_25_094347_create_nutrition_pages_table.php b/database/migrations/2021_09_25_094347_create_nutrition_pages_table.php new file mode 100644 index 00000000..0df87128 --- /dev/null +++ b/database/migrations/2021_09_25_094347_create_nutrition_pages_table.php @@ -0,0 +1,348 @@ +id(); + + /** \App\Enums\NutritionType */ + $table->string('type'); + + $table->string('menutitle', 50); + $table->string('title'); + $table->string('metaTitle'); + $table->string('metaDescription'); + $table->text('headerContent'); + + // contient un tableau de blocks (json) + $table->mediumText('content'); + + $table->timestamps(); + }); + + $faker = Faker::create('fr_FR'); + + $pagePoultry = new NutritionPage([ + 'menutitle' => 'bienfaits nutritionnels de la volaille', + 'title' => $faker->sentence(3), + 'metaTitle' => $faker->sentence(6), + 'metaDescription' => $faker->sentence(9), + 'headerContent' => $faker->text(330), + 'content' => [ + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc1()->value], + [ + 'type' => NutritionBlocType::bloc1(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-bon-pour-sante.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(7) + ], + 'content' => [ + 'value' => $faker->text(620) + ], + 'side' => [ + // image à gauche + 'value' => false + ], + 'dropdownArray' => [ + 'value' => (function () use ($faker) { + $out = []; + $max = rand(1, 3); + for ($i = 0; $i < $max; $i++) { + $out[] = [ + 'title' => $faker->sentence(8), + 'content' => + // phpcs:ignore Generic.Files.LineLength.TooLong + 'En savoir + sur chenilles à pattes de poulets ' + . $faker->text(620) + ]; + } + return $out; + })() + ] + ] + ] + ), + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc1()->value], + [ + 'type' => NutritionBlocType::bloc1(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-a-deguster-a-tous-les-ages.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(9) + ], + 'content' => [ + 'value' => $faker->text(600) + ], + 'side' => [ + // image à droite + 'value' => true + ], + 'dropdownArray' => [ + 'value' => (function () use ($faker) { + $out = []; + $max = rand(1, 3); + for ($i = 0; $i < $max; $i++) { + $out[] = [ + 'title' => $faker->sentence(8), + 'content' => + // phpcs:ignore Generic.Files.LineLength.TooLong + 'En savoir + sur chenilles à pattes de poulets ' + . $faker->text(620) + ]; + } + return $out; + })() + ] + ] + ] + ), + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc3()->value], + [ + 'type' => NutritionBlocType::bloc3(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-sandwich-poulet.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(9) + ], + 'content' => [ + 'value' => $faker->text(600) + ], + 'link' => [ + 'status' => false, + 'newtab' => false, + 'text' => $faker->sentence(3), + 'value' => 'url' + ], + 'side' => [ + // image à gauche + 'value' => false + ] + ] + ] + ), + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc4()->value], + [ + 'type' => NutritionBlocType::bloc4(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-facile-a-cuisiner.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(9) + ], + 'content' => [ + 'value' => $faker->text(750) + ], + 'dropdownArray' => [ + 'value' => (function () use ($faker) { + $out = []; + $max = rand(1, 3); + for ($i = 0; $i < $max; $i++) { + $out[] = [ + 'title' => $faker->sentence(8), + 'content' => + // phpcs:ignore Generic.Files.LineLength.TooLong + 'En savoir + sur chenilles à pattes de poulets ' + . $faker->text(620) + ]; + } + return $out; + })() + ] + ] + ] + ) + ] + ]); + + $pagePoultry->type = NutritionType::poultry(); + $pagePoultry->saveOrFail(); + + $pageQuality = new NutritionPage([ + 'menutitle' => 'Qualité nutritionnelle : le gaulois s’engage', + 'title' => $faker->words(3, true), + 'metaTitle' => $faker->words(6, true), + 'metaDescription' => $faker->words(9, true), + 'headerContent' => $faker->text(330), + 'content' => [ + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc1()->value], + [ + 'type' => NutritionBlocType::bloc1(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/quality/poele.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(7) + ], + 'content' => [ + 'value' => $faker->text(620) + ], + 'side' => [ + // image à droite + 'value' => true + ], + 'dropdownArray' => [ + 'value' => (function () use ($faker) { + $out = []; + $max = rand(2, 3); + for ($i = 0; $i < $max; $i++) { + $out[] = [ + 'title' => $faker->sentence(8), + 'content' => + // phpcs:ignore Generic.Files.LineLength.TooLong + 'En savoir + sur chenilles à pattes de poulets ' + . $faker->text(620) + ]; + } + return $out; + })() + ] + ] + ] + ), + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc2()->value], + [ + 'type' => NutritionBlocType::bloc2(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/quality/cordon.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(7) + ], + 'content' => [ + 'value' => $faker->text(620) + ], + 'labels' => [ + 'value' => (function () use ($faker) { + $out = []; + $max = rand(1, 3); + for ($i = 0; $i < $max; $i++) { + $out[] = [ + 'bigText' => $faker->sentence(4), + 'text' => $faker->sentence(2) + ]; + } + return $out; + })() + ] + ] + ] + ), + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc3()->value], + [ + 'type' => NutritionBlocType::bloc3(), + 'content' => [ + 'img' => [ + 'alt' => '', + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/quality/rayon.jpg' + )) + ], + 'title' => [ + 'value' => $faker->sentence(9) + ], + 'content' => [ + 'value' => $faker->text(600) + ], + 'link' => [ + 'status' => true, + 'newtab' => false, + 'text' => $faker->sentence(3), + 'value' => 'url' + ], + 'side' => [ + // image à droite + 'value' => true + ] + ] + ] + ), + array_replace_recursive( + NutritionPage::getBlocks()[NutritionBlocType::bloc5()->value], + [ + 'type' => NutritionBlocType::bloc5(), + 'content' => [ + 'img' => [ + 'value' => new SplFileInfo(resource_path( + // phpcs:ignore Generic.Files.LineLength.TooLong + 'assets/images/sante-nutrition/quality/cuisine.jpg' + )) + ], + 'content' => [ + 'value' => $faker->text(600) + ] + ] + ] + ) + ] + ]); + $pageQuality->type = NutritionType::quality(); + $pageQuality->saveOrFail(); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('nutrition_pages'); + } +} diff --git a/database/migrations/2021_09_29_160949_drop_balanced_menus.php b/database/migrations/2021_09_29_160949_drop_balanced_menus.php new file mode 100644 index 00000000..fb6888e9 --- /dev/null +++ b/database/migrations/2021_09_29_160949_drop_balanced_menus.php @@ -0,0 +1,46 @@ +id(); + + //* \App\Enums\BalancedMenuType + $table->integer('type')->default(0); + + $table->string('picture'); + + $table->text('entree'); + $table->text('meal'); + $table->text('dessert'); + + $table->boolean('status')->default(false); + + $table->timestamps(); + + $table->foreignId('product_id'); + $table->foreign('product_id')->references('id')->on('products')->onDelete('cascade'); + }); + } +} diff --git a/package-lock.json b/package-lock.json index 8be70e0c..9a656c30 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,8 +5,6 @@ "packages": { "": { "dependencies": { - "@ckeditor/ckeditor5-build-classic": "^24.0.0", - "@ckeditor/ckeditor5-vue2": "^1.0.5", "@fancyapps/fancybox": "^3.5.7", "animate.css": "^3.7.2", "detect-element-overflow": "^1.2.0", @@ -36,6 +34,7 @@ "bs-custom-file-input": "^1.3.4", "clean-webpack-plugin": "^3.0.0", "cross-env": "^7.0.3", + "css-loader": "^5.2.7", "del-cli": "^3.0.1", "fslightbox": "^3.3.0", "jquery": "^3.6.0", @@ -43,14 +42,20 @@ "laravel-mix-polyfill": "^3.0.1", "lodash": "^4.17.21", "popper.js": "^1.16.1", + "postcss": "^8.3.8", + "postcss-loader": "^4.3.0", + "raw-loader": "^4.0.2", "resolve-url-loader": "^3.1.4", "sass": "1.32.*", "sass-loader": "^8.0.2", + "style-loader": "^2.0.0", "sweetalert2": "^11.1.5", "vue": "^2.6.14", "vue-loader": "^15.9.8", "vue-nestable": "^2.6.0", - "vue-template-compiler": "^2.6.14" + "vue-template-compiler": "^2.6.14", + "webpack": "^5.56.0", + "webpack-cli": "^4.8.0" } }, "node_modules/@babel/code-frame": { @@ -336,19 +341,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", - "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", "@babel/helper-simple-access": "^7.15.4", "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/types": "^7.15.6" }, "engines": { "node": ">=6.9.0" @@ -441,9 +446,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -564,9 +569,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.6.tgz", - "integrity": "sha512-S/TSCcsRuCkmpUuoWijua0Snt+f3ewU/8spLo+4AXJCZfT0bVCzLD5MuOKdrx0mlAptbKzn5AdgEIIKXxXkz9Q==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1721,24 +1726,6 @@ "node": ">=6.9.0" } }, - "node_modules/@ckeditor/ckeditor5-build-classic": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-24.0.0.tgz", - "integrity": "sha512-659ZAYbuQbPj3ElqrTSV7aqPtW4vt30Th0PiheFei7adIgmu1bFTHgcM3hqm7XGRzGmBRV6C07xSwUptxn3cvQ==", - "engines": { - "node": ">=12.0.0", - "npm": ">=5.7.1" - } - }, - "node_modules/@ckeditor/ckeditor5-vue2": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-vue2/-/ckeditor5-vue2-1.0.5.tgz", - "integrity": "sha512-snsNB/2oWfKw0drGJAmMGpTatmt//L1rQsOwkBw+1uKUuOJPKN3xwyUZVWT906VguIMXm4E9OHzquZ3bdkijiA==", - "engines": { - "node": ">=8.0.0", - "npm": ">=5.7.1" - } - }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", @@ -1903,9 +1890,9 @@ } }, "node_modules/@types/imagemin": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.1.tgz", - "integrity": "sha512-xEn5+M3lDBtI3JxLy6eU3ksoVurygnlG7OYhTqJfGGP4PcvYnfn+IABCmMve7ziM/SneHDm5xgJFKC8hCYPicw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", + "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", "dev": true, "dependencies": { "@types/node": "*" @@ -1967,9 +1954,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.2.tgz", + "integrity": "sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -2070,68 +2057,6 @@ "prettier": "^1.18.2" } }, - "node_modules/@vue/component-compiler-utils/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@vue/component-compiler-utils/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -2143,14 +2068,13 @@ } }, "node_modules/@vue/component-compiler-utils/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz", + "integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "nanocolors": "^0.2.2", + "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" @@ -2160,18 +2084,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/@vue/component-compiler-utils/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@vue/component-compiler-utils/node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -2419,20 +2331,6 @@ "node": ">=8.9" } }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -2665,15 +2563,15 @@ } }, "node_modules/autoprefixer": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.4.tgz", - "integrity": "sha512-EKjKDXOq7ug+jagLzmnoTRpTT0q1KVzEJqrJd0hCBa7FiG0WbFOBCcJCy2QkW1OckpO3qgttA1aWjVbeIPAecw==", + "version": "10.3.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.6.tgz", + "integrity": "sha512-3bDjTfF0MfZntwVCSd18XAT2Zndufh3Mep+mafbzdIQEeWbncVRUVDjH8/EPANV9Hq40seJ24QcYAyhUsFz7gQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.8", - "caniuse-lite": "^1.0.30001252", - "colorette": "^1.3.0", + "browserslist": "^4.17.1", + "caniuse-lite": "^1.0.30001260", "fraction.js": "^4.1.1", + "nanocolors": "^0.2.8", "normalize-range": "^0.1.2", "postcss-value-parser": "^4.1.0" }, @@ -2719,6 +2617,50 @@ "webpack": ">=2" } }, + "node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -2752,13 +2694,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", - "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" + "core-js-compat": "^3.16.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -3053,16 +2995,16 @@ } }, "node_modules/browserslist": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", - "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.2.tgz", + "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001254", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.830", + "caniuse-lite": "^1.0.30001261", + "electron-to-chromium": "^1.3.854", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "nanocolors": "^0.2.12", + "node-releases": "^1.1.76" }, "bin": { "browserslist": "cli.js" @@ -3199,9 +3141,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001257", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001257.tgz", - "integrity": "sha512-JN49KplOgHSXpIsVSF+LUyhD8PUp6xPpAXeRrrcBh4KBeP7W864jHn6RvzJgDlrReyeVjMFJL3PLpPvKIxlIHA==", + "version": "1.0.30001263", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001263.tgz", + "integrity": "sha512-doiV5dft6yzWO1WwU19kt8Qz8R0/8DgEziz6/9n2FxUasteZNwNNYSmJO3GLBH8lCVE73AB1RPDPAeYbcO5Cvw==", "dev": true, "funding": { "type": "opencollective", @@ -3280,9 +3222,9 @@ } }, "node_modules/clean-css": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.5.tgz", - "integrity": "sha512-9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.1.tgz", + "integrity": "sha512-ooQCa1/70oRfVdUUGjKpbHuxgMgm8BsDT5EBqBGvPxMoRoGXf4PNx5mMnkjzJ9Ptx4vvmDdha0QVh86QtYIk1g==", "dev": true, "dependencies": { "source-map": "~0.6.0" @@ -3358,9 +3300,9 @@ } }, "node_modules/collect.js": { - "version": "4.28.6", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz", - "integrity": "sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q==", + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.0.tgz", + "integrity": "sha512-yhgGYEsLEcqnLT1NmRlN1+1euoz9SDhxQ4QyDhWYsKoWsg7252PKA5++dWaDs8mdFxbkmXDXQUaHXI9J2eTPkQ==", "dev": true }, "node_modules/color-convert": { @@ -3382,9 +3324,9 @@ "dev": true }, "node_modules/colord": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz", - "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz", + "integrity": "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA==", "dev": true }, "node_modules/colorette": { @@ -3584,9 +3526,9 @@ "dev": true }, "node_modules/core-js": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.3.tgz", - "integrity": "sha512-lyvajs+wd8N1hXfzob1LdOCCHFU4bGMbqqmLn1Q4QlCpDqWPpGf+p0nj+LNrvDDG33j0hZXw2nsvvVpHysxyNw==", + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", + "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==", "dev": true, "hasInstallScript": true, "funding": { @@ -3595,12 +3537,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.17.3.tgz", - "integrity": "sha512-+in61CKYs4hQERiADCJsdgewpdl/X0GhEX77pjKgbeibXviIt2oxEjTc8O2fqHX8mDdBrDvX8MYD/RYsBv4OiA==", + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.1.tgz", + "integrity": "sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg==", "dev": true, "dependencies": { - "browserslist": "^4.17.0", + "browserslist": "^4.17.1", "semver": "7.0.0" }, "funding": { @@ -3782,30 +3724,31 @@ } }, "node_modules/css-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", - "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, - "peer": true, "dependencies": { "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", "semver": "^7.3.5" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^4.27.0 || ^5.0.0" } }, "node_modules/css-select": { @@ -4437,9 +4380,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.3.839", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.839.tgz", - "integrity": "sha512-0O7uPs9LJNjQ/U5mW78qW8gXv9H6Ba3DHZ5/yt8aBsvomOWDkV3MddT7enUYvLQEUVOURjWmgJJWVZ3K98tIwQ==", + "version": "1.3.857", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.857.tgz", + "integrity": "sha512-a5kIr2lajm4bJ5E4D3fp8Y/BRB0Dx2VOcCRE5Gtb679mXIME/OFhWler8Gy2ksrf8gFX+EFCSIGA33FB3gqYpg==", "dev": true }, "node_modules/elliptic": { @@ -4488,9 +4431,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -4531,9 +4474,9 @@ } }, "node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.2.tgz", + "integrity": "sha512-YkAGWqxZq2B4FxQ5y687UwywDwvLQhIMCZ+SDU7ZW729SDHOEI6wVFXwTRecz+yiwJzCsVwC6V7bxyNbZSB1rg==", "dev": true }, "node_modules/es5-ext": { @@ -4764,9 +4707,9 @@ "dev": true }, "node_modules/ext": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", - "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, "dependencies": { "type": "^2.5.0" @@ -4880,38 +4823,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/file-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/file-type": { "version": "12.4.2", "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", @@ -5144,9 +5055,9 @@ } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -5425,38 +5336,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/html-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/html-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/html-minifier-terser": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", @@ -5739,6 +5618,32 @@ "imagemin": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/img-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/img-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/immutability-helper": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.1.1.tgz", @@ -5945,9 +5850,9 @@ "dev": true }, "node_modules/is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -6005,9 +5910,9 @@ } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" @@ -6159,9 +6064,9 @@ } }, "node_modules/jest-worker": { - "version": "27.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz", - "integrity": "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==", + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.4.tgz", + "integrity": "sha512-Zq9A2Pw59KkVjBBKD1i3iE2e22oSjXhUKKuAK1HGX8flGwkm6NMozyEYzKd41hXc64dbd/0eWFeEEuxqXyhM+g==", "dev": true, "dependencies": { "@types/node": "*", @@ -6373,64 +6278,26 @@ "laravel-mix": "^6.0.0" } }, - "node_modules/laravel-mix/node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "node_modules/laravel-mix/node_modules/postcss-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", "dev": true, "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", "semver": "^7.3.5" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/laravel-mix/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/laravel-mix/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, "node_modules/lilconfig": { @@ -6458,29 +6325,17 @@ } }, "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "node": ">=8.9.0" } }, "node_modules/locate-path": { @@ -6565,9 +6420,9 @@ } }, "node_modules/map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, "engines": { "node": ">=8" @@ -6614,9 +6469,9 @@ } }, "node_modules/memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", + "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", "dev": true, "dependencies": { "fs-monkey": "1.0.3" @@ -6734,21 +6589,21 @@ } }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dev": true, "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" }, "engines": { "node": ">= 0.6" @@ -6793,38 +6648,6 @@ "webpack": "^4.4.0 || ^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -6906,10 +6729,16 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "node_modules/nanocolors": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", + "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", + "dev": true + }, "node_modules/nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.1.28", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz", + "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -7013,9 +6842,9 @@ } }, "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", "dev": true }, "node_modules/normalize-package-data": { @@ -7087,9 +6916,9 @@ } }, "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" @@ -7586,13 +7415,13 @@ } }, "node_modules/postcss": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.8.tgz", + "integrity": "sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA==", "dev": true, "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", + "nanocolors": "^0.2.2", + "nanoid": "^3.1.25", "source-map-js": "^0.6.2" }, "engines": { @@ -7724,17 +7553,19 @@ } }, "node_modules/postcss-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", - "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz", + "integrity": "sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==", "dev": true, "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", - "semver": "^7.3.5" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -7742,7 +7573,7 @@ }, "peerDependencies": { "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "webpack": "^4.0.0 || ^5.0.0" } }, "node_modules/postcss-merge-longhand": { @@ -8350,6 +8181,26 @@ "node": ">= 0.8" } }, + "node_modules/raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -8941,16 +8792,33 @@ } } }, - "node_modules/sass-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/sass-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, "bin": { - "semver": "bin/semver.js" + "json5": "lib/cli.js" } }, - "node_modules/schema-utils": { + "node_modules/sass-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/sass-loader/node_modules/schema-utils": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", @@ -8968,6 +8836,33 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/sass-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/scrollreveal": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/scrollreveal/-/scrollreveal-3.4.0.tgz", @@ -9197,9 +9092,9 @@ "dev": true }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", "dev": true }, "node_modules/slash": { @@ -9372,12 +9267,12 @@ } }, "node_modules/std-env": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", - "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", "dev": true, "dependencies": { - "ci-info": "^3.0.0" + "ci-info": "^3.1.1" } }, "node_modules/stream-browserify": { @@ -9433,26 +9328,26 @@ ] }, "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -9499,38 +9394,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/style-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/style-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/stylehacks": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", @@ -9560,17 +9423,17 @@ } }, "node_modules/svgo": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.6.0.tgz", - "integrity": "sha512-ATpRmynNSjP/5hSM4Ij4Pg3L+BCN6IBES7wRLh1ZtVxJB7Xn8omiGttLW6v6ZbqrV5pCVB3XfdbUoY8IpgIwvw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz", + "integrity": "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==", "dev": true, "dependencies": { "@trysound/sax": "0.2.0", - "colorette": "^1.3.0", "commander": "^7.2.0", "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", + "nanocolors": "^0.1.12", "stable": "^0.1.8" }, "bin": { @@ -9580,10 +9443,16 @@ "node": ">=10.13.0" } }, + "node_modules/svgo/node_modules/nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", + "dev": true + }, "node_modules/sweetalert2": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.1.5.tgz", - "integrity": "sha512-5cfqUK9lLbvxtjzsvORKWj+d3tcgYlzsL60FoJFXE/+mtMa5EJ3tDax9p9MBjVnZ60gQd+WGrqDIrxoNenhUjA==", + "version": "11.1.7", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.1.7.tgz", + "integrity": "sha512-7MHQVtKCTORfA9e58g9ZOfT3X58DkSBtvoCQJnqSHobXXb5C7aB8Yg/tAccTFnefCUBU41PoStjXMkzG3bNeig==", "dev": true, "funding": { "url": "https://sweetalert2.github.io/#donations" @@ -9599,9 +9468,9 @@ } }, "node_modules/terser": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.8.0.tgz", - "integrity": "sha512-f0JH+6yMpneYcRJN314lZrSwu9eKkUFEHLN/kNy8ceh8gaRiLgFPJqrB9HsXjhEGdv4e/ekjTOFxIlL6xlma8A==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", "dev": true, "dependencies": { "commander": "^2.20.0", @@ -9665,24 +9534,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -10061,6 +9912,32 @@ } } }, + "node_modules/vue-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/vue-multiselect": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-2.1.6.tgz", @@ -10103,6 +9980,32 @@ "loader-utils": "^1.0.2" } }, + "node_modules/vue-style-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-style-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/vue-svg-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/vue-svg-map/-/vue-svg-map-1.2.0.tgz", @@ -10150,9 +10053,9 @@ } }, "node_modules/webpack": { - "version": "5.52.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.1.tgz", - "integrity": "sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g==", + "version": "5.56.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.56.0.tgz", + "integrity": "sha512-pJ7esw2AGkpZL0jqsEAKnDEfRZdrc9NVjAWA+d1mFkwj68ng9VQ6+Wnrl+kS5dlDHvrat5ASK5vd7wp6I7f53Q==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -10164,8 +10067,8 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -10241,12 +10144,12 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.1.0.tgz", - "integrity": "sha512-oT660AR1gOnU/NTdUQi3EiGR0iXG7CFxmKsj3ylWCBA2khJ8LFHK+sKv3BZEsC11gl1eChsltRhzUq7nWj7XIQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz", + "integrity": "sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ==", "dev": true, "dependencies": { - "colorette": "^1.2.2", + "colorette": "^2.0.10", "memfs": "^3.2.2", "mime-types": "^2.1.31", "range-parser": "^1.2.1", @@ -10263,23 +10166,11 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } + "node_modules/webpack-dev-middleware/node_modules/colorette": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.13.tgz", + "integrity": "sha512-lvA4NbohpqUypdfTtJpb5BwhdUrwi1ACLM6uW3lEj0CWKOXrCSJlexv9IgUUN6obat0YGTSy7wfLDLEfOvzFLA==", + "dev": true }, "node_modules/webpack-dev-server": { "version": "4.1.1", @@ -10430,24 +10321,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/webpack-dev-server/node_modules/strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", @@ -10496,24 +10369,6 @@ "source-map": "~0.6.1" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/webpack/node_modules/webpack-sources": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", @@ -10667,9 +10522,9 @@ } }, "node_modules/yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "dev": true, "dependencies": { "cliui": "^7.0.2", @@ -10940,19 +10795,19 @@ } }, "@babel/helper-module-transforms": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", - "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", "@babel/helper-simple-access": "^7.15.4", "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/types": "^7.15.6" } }, "@babel/helper-optimise-call-expression": { @@ -11021,9 +10876,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "dev": true }, "@babel/helper-validator-option": { @@ -11119,9 +10974,9 @@ } }, "@babel/parser": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.6.tgz", - "integrity": "sha512-S/TSCcsRuCkmpUuoWijua0Snt+f3ewU/8spLo+4AXJCZfT0bVCzLD5MuOKdrx0mlAptbKzn5AdgEIIKXxXkz9Q==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { @@ -11902,16 +11757,6 @@ "to-fast-properties": "^2.0.0" } }, - "@ckeditor/ckeditor5-build-classic": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-24.0.0.tgz", - "integrity": "sha512-659ZAYbuQbPj3ElqrTSV7aqPtW4vt30Th0PiheFei7adIgmu1bFTHgcM3hqm7XGRzGmBRV6C07xSwUptxn3cvQ==" - }, - "@ckeditor/ckeditor5-vue2": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-vue2/-/ckeditor5-vue2-1.0.5.tgz", - "integrity": "sha512-snsNB/2oWfKw0drGJAmMGpTatmt//L1rQsOwkBw+1uKUuOJPKN3xwyUZVWT906VguIMXm4E9OHzquZ3bdkijiA==" - }, "@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", @@ -12058,9 +11903,9 @@ } }, "@types/imagemin": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.1.tgz", - "integrity": "sha512-xEn5+M3lDBtI3JxLy6eU3ksoVurygnlG7OYhTqJfGGP4PcvYnfn+IABCmMve7ziM/SneHDm5xgJFKC8hCYPicw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", + "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", "dev": true, "requires": { "@types/node": "*" @@ -12122,9 +11967,9 @@ "dev": true }, "@types/node": { - "version": "16.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.2.tgz", + "integrity": "sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ==", "dev": true }, "@types/normalize-package-data": { @@ -12222,58 +12067,6 @@ "vue-template-es2015-compiler": "^1.9.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -12285,23 +12078,13 @@ } }, "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz", + "integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" + "nanocolors": "^0.2.2", + "source-map": "^0.6.1" } }, "yallist": { @@ -12524,19 +12307,6 @@ "requires": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } } }, "aggregate-error": { @@ -12723,15 +12493,15 @@ "dev": true }, "autoprefixer": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.4.tgz", - "integrity": "sha512-EKjKDXOq7ug+jagLzmnoTRpTT0q1KVzEJqrJd0hCBa7FiG0WbFOBCcJCy2QkW1OckpO3qgttA1aWjVbeIPAecw==", + "version": "10.3.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.6.tgz", + "integrity": "sha512-3bDjTfF0MfZntwVCSd18XAT2Zndufh3Mep+mafbzdIQEeWbncVRUVDjH8/EPANV9Hq40seJ24QcYAyhUsFz7gQ==", "dev": true, "requires": { - "browserslist": "^4.16.8", - "caniuse-lite": "^1.0.30001252", - "colorette": "^1.3.0", + "browserslist": "^4.17.1", + "caniuse-lite": "^1.0.30001260", "fraction.js": "^4.1.1", + "nanocolors": "^0.2.8", "normalize-range": "^0.1.2", "postcss-value-parser": "^4.1.0" } @@ -12755,6 +12525,39 @@ "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } } }, "babel-plugin-dynamic-import-node": { @@ -12786,13 +12589,13 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", - "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" + "core-js-compat": "^3.16.2" } }, "babel-plugin-polyfill-regenerator": { @@ -13032,16 +12835,16 @@ } }, "browserslist": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", - "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.2.tgz", + "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001254", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.830", + "caniuse-lite": "^1.0.30001261", + "electron-to-chromium": "^1.3.854", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "nanocolors": "^0.2.12", + "node-releases": "^1.1.76" } }, "bs-custom-file-input": { @@ -13147,9 +12950,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001257", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001257.tgz", - "integrity": "sha512-JN49KplOgHSXpIsVSF+LUyhD8PUp6xPpAXeRrrcBh4KBeP7W864jHn6RvzJgDlrReyeVjMFJL3PLpPvKIxlIHA==", + "version": "1.0.30001263", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001263.tgz", + "integrity": "sha512-doiV5dft6yzWO1WwU19kt8Qz8R0/8DgEziz6/9n2FxUasteZNwNNYSmJO3GLBH8lCVE73AB1RPDPAeYbcO5Cvw==", "dev": true }, "chalk": { @@ -13207,9 +13010,9 @@ } }, "clean-css": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.5.tgz", - "integrity": "sha512-9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.1.tgz", + "integrity": "sha512-ooQCa1/70oRfVdUUGjKpbHuxgMgm8BsDT5EBqBGvPxMoRoGXf4PNx5mMnkjzJ9Ptx4vvmDdha0QVh86QtYIk1g==", "dev": true, "requires": { "source-map": "~0.6.0" @@ -13265,9 +13068,9 @@ } }, "collect.js": { - "version": "4.28.6", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz", - "integrity": "sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q==", + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.0.tgz", + "integrity": "sha512-yhgGYEsLEcqnLT1NmRlN1+1euoz9SDhxQ4QyDhWYsKoWsg7252PKA5++dWaDs8mdFxbkmXDXQUaHXI9J2eTPkQ==", "dev": true }, "color-convert": { @@ -13286,9 +13089,9 @@ "dev": true }, "colord": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz", - "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz", + "integrity": "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA==", "dev": true }, "colorette": { @@ -13459,18 +13262,18 @@ "dev": true }, "core-js": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.3.tgz", - "integrity": "sha512-lyvajs+wd8N1hXfzob1LdOCCHFU4bGMbqqmLn1Q4QlCpDqWPpGf+p0nj+LNrvDDG33j0hZXw2nsvvVpHysxyNw==", + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", + "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==", "dev": true }, "core-js-compat": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.17.3.tgz", - "integrity": "sha512-+in61CKYs4hQERiADCJsdgewpdl/X0GhEX77pjKgbeibXviIt2oxEjTc8O2fqHX8mDdBrDvX8MYD/RYsBv4OiA==", + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.1.tgz", + "integrity": "sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg==", "dev": true, "requires": { - "browserslist": "^4.17.0", + "browserslist": "^4.17.1", "semver": "7.0.0" }, "dependencies": { @@ -13619,19 +13422,20 @@ } }, "css-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", - "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, - "peer": true, "requires": { "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", "semver": "^7.3.5" } }, @@ -14113,9 +13917,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.839", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.839.tgz", - "integrity": "sha512-0O7uPs9LJNjQ/U5mW78qW8gXv9H6Ba3DHZ5/yt8aBsvomOWDkV3MddT7enUYvLQEUVOURjWmgJJWVZ3K98tIwQ==", + "version": "1.3.857", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.857.tgz", + "integrity": "sha512-a5kIr2lajm4bJ5E4D3fp8Y/BRB0Dx2VOcCRE5Gtb679mXIME/OFhWler8Gy2ksrf8gFX+EFCSIGA33FB3gqYpg==", "dev": true }, "elliptic": { @@ -14160,9 +13964,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -14191,9 +13995,9 @@ } }, "es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.2.tgz", + "integrity": "sha512-YkAGWqxZq2B4FxQ5y687UwywDwvLQhIMCZ+SDU7ZW729SDHOEI6wVFXwTRecz+yiwJzCsVwC6V7bxyNbZSB1rg==", "dev": true }, "es5-ext": { @@ -14392,9 +14196,9 @@ } }, "ext": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", - "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, "requires": { "type": "^2.5.0" @@ -14482,30 +14286,6 @@ "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "file-type": { @@ -14672,9 +14452,9 @@ "dev": true }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -14883,30 +14663,6 @@ "htmlparser2": "^4.1.0", "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "html-minifier-terser": { @@ -15123,6 +14879,28 @@ "dev": true, "requires": { "loader-utils": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "immutability-helper": { @@ -15281,9 +15059,9 @@ "dev": true }, "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -15317,9 +15095,9 @@ "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -15429,9 +15207,9 @@ "dev": true }, "jest-worker": { - "version": "27.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz", - "integrity": "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==", + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.4.tgz", + "integrity": "sha512-Zq9A2Pw59KkVjBBKD1i3iE2e22oSjXhUKKuAK1HGX8flGwkm6NMozyEYzKd41hXc64dbd/0eWFeEEuxqXyhM+g==", "dev": true, "requires": { "@types/node": "*", @@ -15590,45 +15368,16 @@ "yargs": "^17.0.1" }, "dependencies": { - "css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "postcss-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", "dev": true, "requires": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", "semver": "^7.3.5" } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } } } }, @@ -15661,25 +15410,14 @@ "dev": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "json5": "^2.1.2" } }, "locate-path": { @@ -15751,9 +15489,9 @@ } }, "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, "md5": { @@ -15791,9 +15529,9 @@ "dev": true }, "memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", + "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", "dev": true, "requires": { "fs-monkey": "1.0.3" @@ -15886,18 +15624,18 @@ "dev": true }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "dev": true }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dev": true, "requires": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" } }, "mimic-fn": { @@ -15921,30 +15659,6 @@ "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", "webpack-sources": "^1.1.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "minimalistic-assert": { @@ -16016,10 +15730,16 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "nanocolors": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", + "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", + "dev": true + }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.1.28", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz", + "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==", "dev": true }, "negotiator": { @@ -16110,9 +15830,9 @@ } }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", "dev": true }, "normalize-package-data": { @@ -16168,9 +15888,9 @@ } }, "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { "boolbase": "^1.0.0" @@ -16541,13 +16261,13 @@ } }, "postcss": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.8.tgz", + "integrity": "sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA==", "dev": true, "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", + "nanocolors": "^0.2.2", + "nanoid": "^3.1.25", "source-map-js": "^0.6.2" } }, @@ -16622,14 +16342,16 @@ } }, "postcss-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", - "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz", + "integrity": "sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", - "semver": "^7.3.5" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" } }, "postcss-merge-longhand": { @@ -17044,6 +16766,16 @@ } } }, + "raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -17500,6 +17232,37 @@ "semver": "^6.3.0" }, "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -17509,13 +17272,13 @@ } }, "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, @@ -17724,9 +17487,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", "dev": true }, "slash": { @@ -17883,12 +17646,12 @@ "dev": true }, "std-env": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", - "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", "dev": true, "requires": { - "ci-info": "^3.0.0" + "ci-info": "^3.1.1" } }, "stream-browserify": { @@ -17932,23 +17695,23 @@ } }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-final-newline": { @@ -17974,30 +17737,6 @@ "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "stylehacks": { @@ -18020,24 +17759,32 @@ } }, "svgo": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.6.0.tgz", - "integrity": "sha512-ATpRmynNSjP/5hSM4Ij4Pg3L+BCN6IBES7wRLh1ZtVxJB7Xn8omiGttLW6v6ZbqrV5pCVB3XfdbUoY8IpgIwvw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz", + "integrity": "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==", "dev": true, "requires": { "@trysound/sax": "0.2.0", - "colorette": "^1.3.0", "commander": "^7.2.0", "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", + "nanocolors": "^0.1.12", "stable": "^0.1.8" + }, + "dependencies": { + "nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", + "dev": true + } } }, "sweetalert2": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.1.5.tgz", - "integrity": "sha512-5cfqUK9lLbvxtjzsvORKWj+d3tcgYlzsL60FoJFXE/+mtMa5EJ3tDax9p9MBjVnZ60gQd+WGrqDIrxoNenhUjA==", + "version": "11.1.7", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.1.7.tgz", + "integrity": "sha512-7MHQVtKCTORfA9e58g9ZOfT3X58DkSBtvoCQJnqSHobXXb5C7aB8Yg/tAccTFnefCUBU41PoStjXMkzG3bNeig==", "dev": true }, "tapable": { @@ -18047,9 +17794,9 @@ "dev": true }, "terser": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.8.0.tgz", - "integrity": "sha512-f0JH+6yMpneYcRJN314lZrSwu9eKkUFEHLN/kNy8ceh8gaRiLgFPJqrB9HsXjhEGdv4e/ekjTOFxIlL6xlma8A==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", "dev": true, "requires": { "commander": "^2.20.0", @@ -18093,17 +17840,6 @@ "requires": { "yocto-queue": "^0.1.0" } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } } } }, @@ -18402,6 +18138,28 @@ "loader-utils": "^1.1.0", "vue-hot-reload-api": "^2.3.0", "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "vue-multiselect": { @@ -18440,6 +18198,28 @@ "requires": { "hash-sum": "^1.0.2", "loader-utils": "^1.0.2" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "vue-svg-map": { @@ -18484,9 +18264,9 @@ } }, "webpack": { - "version": "5.52.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.1.tgz", - "integrity": "sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g==", + "version": "5.56.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.56.0.tgz", + "integrity": "sha512-pJ7esw2AGkpZL0jqsEAKnDEfRZdrc9NVjAWA+d1mFkwj68ng9VQ6+Wnrl+kS5dlDHvrat5ASK5vd7wp6I7f53Q==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -18498,8 +18278,8 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -18515,17 +18295,6 @@ "webpack-sources": "^3.2.0" }, "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "webpack-sources": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", @@ -18556,28 +18325,23 @@ } }, "webpack-dev-middleware": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.1.0.tgz", - "integrity": "sha512-oT660AR1gOnU/NTdUQi3EiGR0iXG7CFxmKsj3ylWCBA2khJ8LFHK+sKv3BZEsC11gl1eChsltRhzUq7nWj7XIQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz", + "integrity": "sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ==", "dev": true, "requires": { - "colorette": "^1.2.2", + "colorette": "^2.0.10", "memfs": "^3.2.2", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^3.1.0" }, "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } + "colorette": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.13.tgz", + "integrity": "sha512-lvA4NbohpqUypdfTtJpb5BwhdUrwi1ACLM6uW3lEj0CWKOXrCSJlexv9IgUUN6obat0YGTSy7wfLDLEfOvzFLA==", + "dev": true } } }, @@ -18680,17 +18444,6 @@ "glob": "^7.1.3" } }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", @@ -18829,9 +18582,9 @@ "dev": true }, "yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "dev": true, "requires": { "cliui": "^7.0.2", diff --git a/package.json b/package.json index 6ffd2cae..aa6c3e92 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "bs-custom-file-input": "^1.3.4", "clean-webpack-plugin": "^3.0.0", "cross-env": "^7.0.3", + "css-loader": "^5.2.7", "del-cli": "^3.0.1", "fslightbox": "^3.3.0", "jquery": "^3.6.0", @@ -23,18 +24,22 @@ "laravel-mix-polyfill": "^3.0.1", "lodash": "^4.17.21", "popper.js": "^1.16.1", + "postcss": "^8.3.8", + "postcss-loader": "^4.3.0", + "raw-loader": "^4.0.2", "resolve-url-loader": "^3.1.4", "sass": "1.32.*", "sass-loader": "^8.0.2", + "style-loader": "^2.0.0", "sweetalert2": "^11.1.5", "vue": "^2.6.14", "vue-loader": "^15.9.8", "vue-nestable": "^2.6.0", - "vue-template-compiler": "^2.6.14" + "vue-template-compiler": "^2.6.14", + "webpack": "^5.56.0", + "webpack-cli": "^4.8.0" }, "dependencies": { - "@ckeditor/ckeditor5-build-classic": "^24.0.0", - "@ckeditor/ckeditor5-vue2": "^1.0.5", "@fancyapps/fancybox": "^3.5.7", "animate.css": "^3.7.2", "detect-element-overflow": "^1.2.0", diff --git a/resources/assets/images/sante-nutrition/aide1.jpg b/resources/assets/images/sante-nutrition/aide1.jpg deleted file mode 100644 index 8637ef13..00000000 Binary files a/resources/assets/images/sante-nutrition/aide1.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/aide2.jpg b/resources/assets/images/sante-nutrition/aide2.jpg deleted file mode 100644 index f7a2f874..00000000 Binary files a/resources/assets/images/sante-nutrition/aide2.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/aide3.jpg b/resources/assets/images/sante-nutrition/aide3.jpg deleted file mode 100644 index b1fe3ac2..00000000 Binary files a/resources/assets/images/sante-nutrition/aide3.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/canard.jpg b/resources/assets/images/sante-nutrition/canard.jpg deleted file mode 100644 index 70d9bb56..00000000 Binary files a/resources/assets/images/sante-nutrition/canard.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/dinde.jpg b/resources/assets/images/sante-nutrition/dinde.jpg deleted file mode 100644 index 1a9608d6..00000000 Binary files a/resources/assets/images/sante-nutrition/dinde.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/fondation_recherche.jpg b/resources/assets/images/sante-nutrition/fondation_recherche.jpg deleted file mode 100644 index 23420e04..00000000 Binary files a/resources/assets/images/sante-nutrition/fondation_recherche.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/lien-nutrition.jpg b/resources/assets/images/sante-nutrition/lien-nutrition.jpg deleted file mode 100644 index ef4eb217..00000000 Binary files a/resources/assets/images/sante-nutrition/lien-nutrition.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/lien-plaisir.jpg b/resources/assets/images/sante-nutrition/lien-plaisir.jpg deleted file mode 100644 index f0b11360..00000000 Binary files a/resources/assets/images/sante-nutrition/lien-plaisir.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/lien-reperer.jpg b/resources/assets/images/sante-nutrition/lien-reperer.jpg deleted file mode 100644 index 135b4da1..00000000 Binary files a/resources/assets/images/sante-nutrition/lien-reperer.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/lien-varier.jpg b/resources/assets/images/sante-nutrition/lien-varier.jpg deleted file mode 100644 index e55bd8a5..00000000 Binary files a/resources/assets/images/sante-nutrition/lien-varier.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/milanaise.png b/resources/assets/images/sante-nutrition/milanaise.png deleted file mode 100644 index 25220403..00000000 Binary files a/resources/assets/images/sante-nutrition/milanaise.png and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/msb.png b/resources/assets/images/sante-nutrition/msb.png deleted file mode 100644 index f65b6a53..00000000 Binary files a/resources/assets/images/sante-nutrition/msb.png and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/oeufs.jpg b/resources/assets/images/sante-nutrition/oeufs.jpg deleted file mode 100644 index dbb7d54d..00000000 Binary files a/resources/assets/images/sante-nutrition/oeufs.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-facile-a-cuisiner.jpg b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-facile-a-cuisiner.jpg new file mode 100644 index 00000000..9f075e33 Binary files /dev/null and b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-facile-a-cuisiner.jpg differ diff --git a/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-sandwich-poulet.jpg b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-sandwich-poulet.jpg new file mode 100644 index 00000000..ed3ff3e6 Binary files /dev/null and b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-sandwich-poulet.jpg differ diff --git a/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-a-deguster-a-tous-les-ages.jpg b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-a-deguster-a-tous-les-ages.jpg new file mode 100644 index 00000000..2cc79700 Binary files /dev/null and b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-a-deguster-a-tous-les-ages.jpg differ diff --git a/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-bon-pour-sante.jpg b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-bon-pour-sante.jpg new file mode 100644 index 00000000..88ead46a Binary files /dev/null and b/resources/assets/images/sante-nutrition/poultry/le-gaulois-sante-nutrition-volaille-bon-pour-sante.jpg differ diff --git a/resources/assets/images/sante-nutrition/quality/cordon.jpg b/resources/assets/images/sante-nutrition/quality/cordon.jpg new file mode 100644 index 00000000..80b1e0e9 Binary files /dev/null and b/resources/assets/images/sante-nutrition/quality/cordon.jpg differ diff --git a/resources/assets/images/sante-nutrition/quality/cuisine.jpg b/resources/assets/images/sante-nutrition/quality/cuisine.jpg new file mode 100644 index 00000000..981dbc38 Binary files /dev/null and b/resources/assets/images/sante-nutrition/quality/cuisine.jpg differ diff --git a/resources/assets/images/sante-nutrition/quality/poele.jpg b/resources/assets/images/sante-nutrition/quality/poele.jpg new file mode 100644 index 00000000..d4f2f293 Binary files /dev/null and b/resources/assets/images/sante-nutrition/quality/poele.jpg differ diff --git a/resources/assets/images/sante-nutrition/quality/rayon.jpg b/resources/assets/images/sante-nutrition/quality/rayon.jpg new file mode 100644 index 00000000..7eb7f099 Binary files /dev/null and b/resources/assets/images/sante-nutrition/quality/rayon.jpg differ diff --git a/resources/assets/images/sante-nutrition/thumb_nutrition1.jpg b/resources/assets/images/sante-nutrition/thumb_nutrition1.jpg deleted file mode 100644 index 545ffcac..00000000 Binary files a/resources/assets/images/sante-nutrition/thumb_nutrition1.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/thumb_nutrition2.jpg b/resources/assets/images/sante-nutrition/thumb_nutrition2.jpg deleted file mode 100644 index 67373c8a..00000000 Binary files a/resources/assets/images/sante-nutrition/thumb_nutrition2.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/thumb_nutrition3.jpg b/resources/assets/images/sante-nutrition/thumb_nutrition3.jpg deleted file mode 100644 index 0a6a3023..00000000 Binary files a/resources/assets/images/sante-nutrition/thumb_nutrition3.jpg and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/tour-france.png b/resources/assets/images/sante-nutrition/tour-france.png deleted file mode 100644 index 8e26122f..00000000 Binary files a/resources/assets/images/sante-nutrition/tour-france.png and /dev/null differ diff --git a/resources/assets/images/sante-nutrition/volaille.jpg b/resources/assets/images/sante-nutrition/volaille.jpg deleted file mode 100644 index df7ac324..00000000 Binary files a/resources/assets/images/sante-nutrition/volaille.jpg and /dev/null differ diff --git a/resources/js/app.js b/resources/js/app.js index e39cfc3a..5d4db270 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -14,7 +14,6 @@ $(document).ready(function () { }) window.Vue = require('vue/dist/vue.min.js'); -import CKEditor from '@ckeditor/ckeditor5-vue2'; import VueSelectImage from 'vue-select-image'; // ES6 Modules or TypeScript import Swal from 'sweetalert2'; @@ -50,7 +49,6 @@ $(document).ready(function () { }) }) -Vue.use( CKEditor ); Vue.use( VueSelectImage ) /** @@ -78,6 +76,6 @@ Vue.component('ranges-subranges', require('./components/bo/RangesSubRangesCompon * or customize the JavaScript scaffolding to fit your unique needs. */ -const app = new Vue({ - el: '#app', -}); +for (let el of document.getElementsByClassName('vueComponent')) { + new Vue({ el: el }); +} diff --git a/resources/js/components/bo/CKEditorComponent.vue b/resources/js/components/bo/CKEditorComponent.vue index 54ed3b1a..2923c8ee 100644 --- a/resources/js/components/bo/CKEditorComponent.vue +++ b/resources/js/components/bo/CKEditorComponent.vue @@ -1,12 +1,13 @@