diff --git a/app/Console/Commands/CreateAdmin.php b/app/Console/Commands/CreateAdmin.php index 17bcbf6..f7bc657 100644 --- a/app/Console/Commands/CreateAdmin.php +++ b/app/Console/Commands/CreateAdmin.php @@ -2,13 +2,12 @@ namespace App\Console\Commands; -use App\User; +use App\Models\User; use Illuminate\Console\Command; use Illuminate\Support\Facades\Hash; class CreateAdmin extends Command { - /** * The name and signature of the console command. * @@ -23,20 +22,10 @@ class CreateAdmin extends Command */ protected $description = 'Command description'; - /** - * Create a new command instance. - * - * @return void - */ - public function __construct() - { - parent::__construct(); - } - /** * Execute the console command. * - * @return int + * @return integer */ public function handle() { @@ -62,5 +51,7 @@ class CreateAdmin extends Command $user->save(); $this->info('User created.'); + + return 0; } } diff --git a/app/Console/Commands/DeleteNotConfirmedUser.php b/app/Console/Commands/DeleteNotConfirmedUser.php index e69bc5d..b009a3a 100644 --- a/app/Console/Commands/DeleteNotConfirmedUser.php +++ b/app/Console/Commands/DeleteNotConfirmedUser.php @@ -2,13 +2,12 @@ namespace App\Console\Commands; -use App\User; +use App\Models\User; use Carbon\Carbon; use Illuminate\Console\Command; class DeleteNotConfirmedUser extends Command { - /** * The name and signature of the console command. * @@ -23,20 +22,10 @@ class DeleteNotConfirmedUser extends Command */ protected $description = 'Remove users who have not confirmed their accounts within 24 hours of registration'; - /** - * Create a new command instance. - * - * @return void - */ - public function __construct() - { - parent::__construct(); - } - /** * Execute the console command. * - * @return int + * @return integer */ public function handle() { @@ -44,5 +33,7 @@ class DeleteNotConfirmedUser extends Command foreach ($users as $user) { $user->delete(); } + + return 0; } } diff --git a/app/Console/Commands/ExportCodesUniques.php b/app/Console/Commands/ExportCodesUniques.php index b9d0ccd..b9024b5 100644 --- a/app/Console/Commands/ExportCodesUniques.php +++ b/app/Console/Commands/ExportCodesUniques.php @@ -3,14 +3,13 @@ namespace App\Console\Commands; use App\Mail\ExportCodesUniques as MailExportCodesUniques; -use App\Models\Codes; +use App\Models\Code; use App\Models\Settings; use Illuminate\Console\Command; use Illuminate\Support\Facades\Mail; class ExportCodesUniques extends Command { - /** * The name and signature of the console command. * @@ -25,38 +24,31 @@ class ExportCodesUniques extends Command */ protected $description = 'Command description'; - /** - * Create a new command instance. - * - * @return void - */ - public function __construct() - { - parent::__construct(); - } - /** * Execute the console command. * - * @return int + * @return integer */ public function handle() { - $nbCodeTot = $this->ask("Combien de code doivent être exporté ?"); // Nombre total de code à exporter + // Nombre total de code à exporter. + $nbCodeTot = $this->ask("Combien de code doivent être exporté ?"); while (empty(intval($nbCodeTot)) || !is_int(intval($nbCodeTot))) { $this->info("Valeur incorrect, veuillez entrer un nombre entier."); $nbCodeTot = $this->ask("Veuillez entrer une nouvelle valeur"); } $nbCodeTot = intval($nbCodeTot); - $nbCodeFic = $this->ask("Combien de code par fichier ?"); // Nombre de code par fichier + // Nombre de code par fichier. + $nbCodeFic = $this->ask("Combien de code par fichier ?"); while (empty(intval($nbCodeFic)) || !is_int(intval($nbCodeFic))) { $this->info("Valeur incorrect, veuillez entrer un nombre entier."); $nbCodeFic = $this->ask("Veuillez entrer une nouvelle valeur"); } $nbCodeFic = intval($nbCodeFic); - $nbCodeLigne = $this->ask("Combien de code par ligne dans un fichier ?"); // Nombre de code par ligne + // Nombre de code par ligne. + $nbCodeLigne = $this->ask("Combien de code par ligne dans un fichier ?"); while (empty(intval($nbCodeLigne)) || !is_int(intval($nbCodeLigne))) { $this->info("Valeur incorrect, veuillez entrer un nombre entier."); $nbCodeLigne = $this->ask("Veuillez entrer une nouvelle valeur"); @@ -70,13 +62,26 @@ class ExportCodesUniques extends Command $this->info("Traitement en cours, veuillez patienter..."); - $this->process($nbCodeFic, $nbCodeTot, $nbCodeLigne, $totalExportedCodes, $currentFilename, $currentExportedCodes, $currentLineCodes); + $this->process( + $nbCodeFic, + $nbCodeTot, + $nbCodeLigne, + $totalExportedCodes, + $currentFilename, + $currentExportedCodes, + $currentLineCodes + ); $this->info("Fin du traitement, creation de l'archive..."); - // Compression des fichiers + // Compression des fichiers. $zip = new \ZipArchive(); - if ($zip->open(storage_path('export_codes_uniques/') . "CodesUniques_" . date('dmY') . ".zip", \ZipArchive::CREATE) === true) { + if ( + $zip->open( + storage_path('export_codes_uniques/') . "CodesUniques_" . date('dmY') . ".zip", + \ZipArchive::CREATE + ) === true + ) { if ($handle = opendir(storage_path('export_codes_uniques/tmp'))) { while (false !== ($file_to_zip = readdir($handle))) { if (pathinfo($file_to_zip, PATHINFO_EXTENSION) != 'csv') { @@ -89,7 +94,7 @@ class ExportCodesUniques extends Command $zip->close(); } - // On vide le dossier temporaire des fichiers csv + // On vide le dossier temporaire des fichiers csv. if ($handle = opendir(storage_path('export_codes_uniques/tmp'))) { while (false !== ($file_to_zip = readdir($handle))) { if (pathinfo($file_to_zip, PATHINFO_EXTENSION) != 'csv') { @@ -102,8 +107,11 @@ class ExportCodesUniques extends Command $this->info("L'archive CodesUniques_" . date('dmY') . ".zip a ete creer."); - // Envoi de mail à MAIL_ADMIN avec le nom du ZIP "CodesUniques_". date('dmY') .".zip" - Mail::to(config('mail.MAIL_ADMIN'))->send(new MailExportCodesUniques(app(Settings::class)->name, $nbCodeFic, $nbCodeTot, $nbCodeLigne)); + // Envoi de mail à MAIL_ADMIN avec le nom du ZIP "CodesUniques_". date('dmY') .".zip" . + Mail::to(config('mail.MAIL_ADMIN')) + ->send(new MailExportCodesUniques(app(Settings::class)->name, $nbCodeFic, $nbCodeTot, $nbCodeLigne)); + + return 0; } private function process($nbCodeFic, $nbCodeTot, $nbCodeLigne, $totalExportedCodes, $currentFilename, $currentExportedCodes, $currentLineCodes, $lastExportedCodeId = null) @@ -121,9 +129,9 @@ class ExportCodesUniques extends Command } if ($lastExportedCodeId === null) { - $codes = Codes::where('code_exported', 0)->take($nbCodeToRetrieve)->get(); + $codes = Code::where('code_exported', 0)->take($nbCodeToRetrieve)->get(); } else { - $codes = Codes::where([ + $codes = Code::where([ ['code_exported', '=', 0], ['id', '>', $lastExportedCodeId] ])->take($nbCodeToRetrieve)->get(); @@ -136,12 +144,20 @@ class ExportCodesUniques extends Command foreach ($codes as $k => $code) { if ($currentExportedCodes < $nbCodeTot) { if ($currentLineCodes === ($nbCodeLigne === 1 ? 1 : $nbCodeLigne - 1)) { - file_put_contents(storage_path('export_codes_uniques/tmp/') . $currentFilename . ".csv", $code->code_unique . PHP_EOL, FILE_APPEND); + file_put_contents( + storage_path('export_codes_uniques/tmp/') . $currentFilename . ".csv", + $code->code_unique . PHP_EOL, + FILE_APPEND + ); $totalExportedCodes++; $currentExportedCodes++; $currentLineCodes = ($nbCodeLigne === 1 ? 1 : 0); } else { - file_put_contents(storage_path('export_codes_uniques/tmp/') . $currentFilename . ".csv", $code->code_unique . ";", FILE_APPEND); + file_put_contents( + storage_path('export_codes_uniques/tmp/') . $currentFilename . ".csv", + $code->code_unique . ";", + FILE_APPEND + ); $totalExportedCodes++; $currentExportedCodes++; $currentLineCodes++; @@ -155,13 +171,22 @@ class ExportCodesUniques extends Command $currentExportedCodes = 0; } if ((($k + 1) === $countCodes) && $totalExportedCodes < $nbCodeTot) { - Codes::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); - return $this->process($nbCodeFic, $nbCodeTot, $nbCodeLigne, $totalExportedCodes, $currentFilename, $currentExportedCodes, $currentLineCodes, $lastExportedCodeId); + Code::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); + return $this->process( + $nbCodeFic, + $nbCodeTot, + $nbCodeLigne, + $totalExportedCodes, + $currentFilename, + $currentExportedCodes, + $currentLineCodes, + $lastExportedCodeId + ); } if (($k + 1) === $countCodes) { - Codes::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); + Code::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); } - } - } + } //end if + }//end foreach } } diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 17408e5..687937a 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -7,25 +7,21 @@ use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { - /** * The Artisan commands provided by your application. * * @var array */ - protected $commands = [ - // - ]; + protected $commands = []; /** * Define the application's command schedule. * - * @param \Illuminate\Console\Scheduling\Schedule $schedule + * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { - // $schedule->command('inspire')->hourly(); } /** diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index c01af4d..bf6a0bd 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,21 +2,17 @@ namespace App\Exceptions; -use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; -use Illuminate\Support\Facades\Mail; -use RuntimeException; -use Throwable; +use Kwaadpepper\ExceptionHandler\Exceptions\ExceptionHandler; class Handler extends ExceptionHandler { - /** * A list of the exception types that are not reported. * * @var array */ protected $dontReport = [ - // + RedirectTo::class ]; /** @@ -28,57 +24,4 @@ class Handler extends ExceptionHandler 'password', 'password_confirmation', ]; - - /** - * Report or log an exception. - * - * @param \Throwable $exception - * @return void - * - * @throws \Exception - */ - public function report(Throwable $e) - { - if (get_class($e) == RedirectTo::class) { - abort(redirect($e->url)); - } - try { - if (!config('app.debug')) { - if ($this->shouldntReport($e)) { - return; - } - Mail::send([ - 'html' => 'emails.exception', - 'text' => 'emails.exception-plain' - ], [ - 'exception' => $e, - 'appName' => config('app.name') - ], function ($m) { - $m->to( - config('mail.contactsList.serviceweb'), - sprintf('%s Exception Handler', config('app.name')) - )->subject('Need help !, an error occured in your application, please check Logs ASAP'); - }); - } - // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch - } catch (RuntimeException $e) { - // do nothing, mail send error, let laravel only handle this - } finally { - parent::report($e); - } - } - - /** - * Render an exception into an HTTP response. - * - * @param \Illuminate\Http\Request $request - * @param \Throwable $exception - * @return \Symfony\Component\HttpFoundation\Response - * - * @throws \Throwable - */ - public function render($request, Throwable $exception) - { - return parent::render($request, $exception); - } } diff --git a/app/Http/Controllers/bo/BannedIPController.php b/app/Http/Controllers/Bo/BannedIpController.php similarity index 71% rename from app/Http/Controllers/bo/BannedIPController.php rename to app/Http/Controllers/Bo/BannedIpController.php index 88bb40b..88ee797 100644 --- a/app/Http/Controllers/bo/BannedIPController.php +++ b/app/Http/Controllers/Bo/BannedIpController.php @@ -1,16 +1,16 @@ $ips[$i]["ip"]]); + $ip = BannedIp::updateOrCreate(['ip' => $ips[$i]["ip"]]); } else { unset($ips[$i]); $i--; @@ -32,7 +32,7 @@ class BannedIPController extends Controller public function destroy(Request $request) { - $ip = BannedIP::where("ip", $request->ip); + $ip = BannedIp::where("ip", $request->ip); $ip->delete(); return "Suppression terminée !"; diff --git a/app/Http/Controllers/bo/CodesController.php b/app/Http/Controllers/Bo/CodesController.php similarity index 60% rename from app/Http/Controllers/bo/CodesController.php rename to app/Http/Controllers/Bo/CodesController.php index cfd8080..dfc7b83 100644 --- a/app/Http/Controllers/bo/CodesController.php +++ b/app/Http/Controllers/Bo/CodesController.php @@ -1,14 +1,16 @@ count(); - $nbCodeExported = Codes::where('code_exported', 1)->count(); - $nbCodeRemainingToExport = Codes::where('code_exported', 0)->count(); + $nbCodeBase = Code::count(); + $nbCodeUsed = Code::where('code_used', 1)->count(); + $nbCodeExported = Code::where('code_exported', 1)->count(); + $nbCodeRemainingToExport = Code::where('code_exported', 0)->count(); return view('bo.codes.index', compact( 'settings', 'nbCodeBase', @@ -73,4 +75,30 @@ class CodesController extends Controller config('mail.MAIL_ADMIN') . " lorsque le traitement sera terminé." ); } + + /** + * Search for a specific code. + * + * @param CodeSearchRequest $request + * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory + */ + public function search(CodeSearchRequest $request) + { + $code = null; + try { + $code = Code::whereId(Code::serialToInt($request->code))->first(); + } catch (\Throwable $e) { + if (\get_class($e) === SerialCasterException::class) { + $code = false; + } + } finally { + if ($code === false) { + \session()->flash('warning', trans('Code non valide.')); + } + if ($code === null) { + \session()->flash('warning', trans('Code introuvable.')); + } + } + return view('bo.codes.search', compact('code')); + } } diff --git a/app/Http/Controllers/bo/CodesEANController.php b/app/Http/Controllers/Bo/CodesEANController.php similarity index 75% rename from app/Http/Controllers/bo/CodesEANController.php rename to app/Http/Controllers/Bo/CodesEANController.php index 2395471..9cb79e9 100644 --- a/app/Http/Controllers/bo/CodesEANController.php +++ b/app/Http/Controllers/Bo/CodesEANController.php @@ -1,16 +1,16 @@ code = $codes[$i]["code"]; $c->product = $codes[$i]["product"]; $c->save(); } else { if ($codeToInsert) { - $c = CodesEAN::updateOrCreate(['code' => $codes[$i]["code"], 'product' => $codes[$i]["product"]]); + $c = CodeEan::updateOrCreate(['code' => $codes[$i]["code"], 'product' => $codes[$i]["product"]]); $codes[$i]["id"] = $c->id; } else { unset($codes[$i]); @@ -41,7 +41,7 @@ class CodesEANController extends Controller public function destroy(Request $request) { - $code = CodesEAN::findOrFail($request->id); + $code = CodeEan::findOrFail($request->id); $code->delete(); return "Suppression terminée !"; diff --git a/app/Http/Controllers/bo/ContentController.php b/app/Http/Controllers/Bo/ContentController.php similarity index 94% rename from app/Http/Controllers/bo/ContentController.php rename to app/Http/Controllers/Bo/ContentController.php index b53c8d0..3dcf5d9 100644 --- a/app/Http/Controllers/bo/ContentController.php +++ b/app/Http/Controllers/Bo/ContentController.php @@ -1,6 +1,6 @@ groupByRaw("DATE(created_at)")->get(); - $participationsUniquePerDay = Participation::selectRaw("DISTINCT user_id AS user, COUNT(*) AS count, DATE(created_at) AS date")->groupByRaw("DATE(created_at), user")->get(); + $participations = Participation::selectRaw("COUNT(*) AS count, DATE(created_at) AS date") + ->groupByRaw("DATE(created_at)")->get(); + $participationsUniquePerDay = Participation::selectRaw("DISTINCT user_id AS user, COUNT(*) AS count, DATE(created_at) AS date") + ->groupByRaw("DATE(created_at), user")->get(); $statsUnique = []; foreach ($participationsUniquePerDay as $participationPerDay) { $dateUnique = Carbon::parse($participationPerDay->date)->format('d/m/Y'); $statsUnique[$dateUnique] = isset($statsUnique[$dateUnique]) ? $statsUnique[$dateUnique] + 1 : 1; } - $participationsUnique = Participation::selectRaw("DISTINCT user_id AS user, COUNT(*) AS count")->groupBy("user")->orderBy("user")->get(); + $participationsUnique = Participation::selectRaw("DISTINCT user_id AS user, COUNT(*) AS count") + ->groupBy("user")->orderBy("user")->get(); - // Données calculées à afficher + // Données calculées à afficher. $totalParticipation = Participation::count(); if (count($participationsUnique) > 0) { $avgParticipUser = round($totalParticipation / count($participationsUnique), 1); @@ -31,29 +34,40 @@ class DashboardController extends Controller $avgParticipUser = 0; } - // Tableau des dates comprises dans la table participation + // Tableau des dates comprises dans la table participation. foreach ($participations as $participation) { $datesParticipations[Carbon::parse($participation->date)->format('d/m/Y')] = $participation->count; } - // Création des tableaux avec toutes les dates depuis le début du jeu et le nombre de participations associées + // Création des tableaux avec toutes les dates depuis le début du jeu et le nombre de participations associées. $date = Carbon::parse($settings->start_date); $dateFin = now() < $settings->end_date ? Carbon::now() : Carbon::parse($settings->end_date); - // Récupération des 3 codes EAN les plus utilisés - $codesEan = Participation::select(DB::raw('COUNT(code_ean_id) AS nb_usage, code_ean_id'))->groupBy('code_ean_id')->orderByDesc('nb_usage')->limit(3)->get(); + // Récupération des 3 codes EAN les plus utilisés. + $codesEan = Participation::select( + DB::raw('COUNT(code_ean_id) AS nb_usage, code_ean_id') + )->groupBy('code_ean_id')->orderByDesc('nb_usage')->limit(3)->get(); - // Génération des tableaux de date depuis le début du jeu + // Génération des tableaux de date depuis le début du jeu. $dates = []; $count = []; $countUnique = []; while ($dateFin > $date) { $dates[] = $date->format('d/m/Y'); - $count[] = isset($datesParticipations[$date->format('d/m/Y')]) ? $datesParticipations[$date->format('d/m/Y')] : 0; + $count[] = isset($datesParticipations[$date->format('d/m/Y')]) ? + $datesParticipations[$date->format('d/m/Y')] : 0; $countUnique[] = isset($statsUnique[$date->format('d/m/Y')]) ? $statsUnique[$date->format('d/m/Y')] : 0; $date->addDay(); } - return view('bo.dashboard.index', compact('dates', 'count', 'countUnique', 'totalParticipation', 'avgParticipUser', 'codesEan', 'settings')); + return view('bo.dashboard.index', compact( + 'dates', + 'count', + 'countUnique', + 'totalParticipation', + 'avgParticipUser', + 'codesEan', + 'settings' + )); } } diff --git a/app/Http/Controllers/bo/FaqQuestionsController.php b/app/Http/Controllers/Bo/FaqQuestionsController.php similarity index 79% rename from app/Http/Controllers/bo/FaqQuestionsController.php rename to app/Http/Controllers/Bo/FaqQuestionsController.php index 57271d7..f137928 100644 --- a/app/Http/Controllers/bo/FaqQuestionsController.php +++ b/app/Http/Controllers/Bo/FaqQuestionsController.php @@ -1,28 +1,28 @@ id !== null) { - $question = FaqQuestions::findOrFail($request->id); + $question = FaqQuestion::findOrFail($request->id); $question->delete(); } } @@ -33,7 +33,7 @@ class FaqQuestionsController extends Controller for ($i = 0; $i < count($questions); $i++) { if (isset($questions[$i]["id"])) { - $q = FaqQuestions::findOrFail($questions[$i]["id"]); + $q = FaqQuestion::findOrFail($questions[$i]["id"]); $q->question = $questions[$i]["question"]; $q->answer = $questions[$i]["answer"]; $q->positive_vote = $questions[$i]["positive_vote"]; @@ -41,7 +41,7 @@ class FaqQuestionsController extends Controller $q->theme_id = $questions[$i]["theme_id"]; $q->save(); } else { - $t = FaqQuestions::updateOrCreate( + $t = FaqQuestion::updateOrCreate( [ 'question' => $questions[$i]["question"], 'answer' => $questions[$i]["answer"], @@ -52,7 +52,7 @@ class FaqQuestionsController extends Controller ); $questions[$i]["id"] = $t->id; } - } + }//end for return $questions; } diff --git a/app/Http/Controllers/bo/FaqThemesController.php b/app/Http/Controllers/Bo/FaqThemesController.php similarity index 67% rename from app/Http/Controllers/bo/FaqThemesController.php rename to app/Http/Controllers/Bo/FaqThemesController.php index e3ad09d..e8e5cd9 100644 --- a/app/Http/Controllers/bo/FaqThemesController.php +++ b/app/Http/Controllers/Bo/FaqThemesController.php @@ -1,17 +1,17 @@ id)->count() > 0) { + if (FaqQuestion::where('theme_id', $request->id)->count() > 0) { $deleteOk = 1; } elseif ($request->id !== null) { - $theme = FaqThemes::findOrFail($request->id); + $theme = FaqTheme::findOrFail($request->id); $theme->delete(); } else { $deleteOk = 2; @@ -37,11 +37,11 @@ class FaqThemesController extends Controller for ($i = 0; $i < count($themes); $i++) { if (isset($themes[$i]["id"])) { - $t = FaqThemes::findOrFail($themes[$i]["id"]); + $t = FaqTheme::findOrFail($themes[$i]["id"]); $t->name = $themes[$i]["name"]; $t->save(); } else { - $t = FaqThemes::updateOrCreate(['name' => $themes[$i]["name"]]); + $t = FaqTheme::updateOrCreate(['name' => $themes[$i]["name"]]); $themes[$i]["id"] = $t->id; } } diff --git a/app/Http/Controllers/bo/GainViewController.php b/app/Http/Controllers/Bo/GainViewController.php similarity index 97% rename from app/Http/Controllers/bo/GainViewController.php rename to app/Http/Controllers/Bo/GainViewController.php index 831ecdd..727670f 100644 --- a/app/Http/Controllers/bo/GainViewController.php +++ b/app/Http/Controllers/Bo/GainViewController.php @@ -1,6 +1,6 @@ 0) { $canGenerate = 0; } else { - $nbLots = Prizes::count(); + $nbLots = Prize::count(); if (intval($nbLots) > 0) { $canGenerate = 1; } else { @@ -37,7 +37,7 @@ class InstantWinController extends Controller { $start_date = Settings::latest()->value("start_date"); $end_date = Settings::latest()->value("end_date"); - $lots = Prizes::all(); + $lots = Prize::all(); @@ -52,7 +52,12 @@ class InstantWinController extends Controller foreach ($lots as $k => $lot) { for ($i = 0; $i < $lot->quantity; $i++) { - $lotsGlobal[] = ['id' => $lot->id, 'name' => $lot->label_one, 'hour' => str_pad(mt_rand(6, 22), 2, "0", STR_PAD_LEFT) . ":" . str_pad(mt_rand(0, 59), 2, "0", STR_PAD_LEFT) . ":00"]; + $lotsGlobal[] = [ + 'id' => $lot->id, + 'name' => $lot->label_one, + 'hour' => str_pad(mt_rand(6, 22), 2, "0", STR_PAD_LEFT) + . ":" . str_pad(mt_rand(0, 59), 2, "0", STR_PAD_LEFT) . ":00" + ]; } } shuffle($lotsGlobal); diff --git a/app/Http/Controllers/bo/PrizesController.php b/app/Http/Controllers/Bo/PrizesController.php similarity index 86% rename from app/Http/Controllers/bo/PrizesController.php rename to app/Http/Controllers/Bo/PrizesController.php index d369504..122030c 100644 --- a/app/Http/Controllers/bo/PrizesController.php +++ b/app/Http/Controllers/Bo/PrizesController.php @@ -1,10 +1,10 @@ id !== null) { - $p = Prizes::findOrFail($prize->id); + $p = Prize::findOrFail($prize->id); $p->arcadia_id = $prize->arcadia_id; $p->label_one = $prize->label_one; @@ -43,7 +43,8 @@ class PrizesController extends Controller $p->gain_view_id = $prize->gain_view_id; if (isset($pdfs[$i])) { - $fileName = Str::slug($prize->label_one) . '-' . date('d-m-Y') . '.' . $pdfs[$i]->extension(); + $fileName = Str::slug($prize->label_one) . '-' . + date('d-m-Y') . '.' . $pdfs[$i]->extension(); $p->pdf_winning_proof = $fileName; $pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName); $prizes[$i]->pdf_winning_proof = $fileName; @@ -51,7 +52,7 @@ class PrizesController extends Controller $p->save(); } else { - $p = new Prizes(); + $p = new Prize(); $p->arcadia_id = $prize->arcadia_id; $p->label_one = $prize->label_one; $p->label_many = $prize->label_many; @@ -62,7 +63,8 @@ class PrizesController extends Controller $p->gain_view_id = $prize->gain_view_id; if (isset($pdfs[$i])) { - $fileName = Str::slug($prize->label_one) . '-' . date('d-m-Y') . '.' . $pdfs[$i]->extension(); + $fileName = Str::slug($prize->label_one) . '-' . + date('d-m-Y') . '.' . $pdfs[$i]->extension(); $p->pdf_winning_proof = $fileName; $pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName); $prizes[$i]->pdf_winning_proof = $fileName; @@ -70,11 +72,11 @@ class PrizesController extends Controller $p->save(); $prizes[$i]->id = $p->id; - } - } + } //end if + }//end for } catch (Exception $e) { // - } + }//end try return $prizes; } @@ -85,7 +87,7 @@ class PrizesController extends Controller if ($request->id !== null) { try { - $prize = Prizes::findOrFail($request->id); + $prize = Prize::findOrFail($request->id); $prize->delete(); } catch (Exception $e) { $retour = "Erreur lors de la suppression : " . $e->getMessage(); diff --git a/app/Http/Controllers/bo/ProductsController.php b/app/Http/Controllers/Bo/ProductsController.php similarity index 81% rename from app/Http/Controllers/bo/ProductsController.php rename to app/Http/Controllers/Bo/ProductsController.php index eba92b1..34e4ca6 100644 --- a/app/Http/Controllers/bo/ProductsController.php +++ b/app/Http/Controllers/Bo/ProductsController.php @@ -1,6 +1,6 @@ name; - $slug = Str::slug($name); - $no_art = $request->no_art; - $code_ean = $request->code_ean; - $picture = $request->picture; + $name = $request->name; + $slug = Str::slug($name); + $no_art = $request->no_art; + $code_ean = $request->code_ean; + $picture = $request->picture; - $product = new Product(); - $product->name = $name; - $product->no_art = $no_art; + $product = new Product(); + $product->name = $name; + $product->no_art = $no_art; $product->code_ean = $code_ean; $product->range()->associate($request->range_id); $product->save(); @@ -74,7 +74,7 @@ class ProductsController extends Controller /** * Display the specified resource. * - * @param int $id + * @param integer $id * @return \Illuminate\Http\Response */ public function show($id) @@ -85,7 +85,7 @@ class ProductsController extends Controller /** * Show the form for editing the specified resource. * - * @param int $id + * @param integer $id * @return \Illuminate\Http\Response */ public function edit($id) @@ -105,17 +105,17 @@ class ProductsController extends Controller /** * Update the specified resource in storage. * - * @param \App\Http\Requests\UpdateProductRequest $request - * @param int $id + * @param \App\Http\Requests\UpdateProductRequest $request + * @param integer $id * @return \Illuminate\Http\Response */ public function update(UpdateProductRequest $request, $id) { - $name = $request->name; - $slug = Str::slug($name); - $no_art = $request->no_art; + $name = $request->name; + $slug = Str::slug($name); + $no_art = $request->no_art; $code_ean = $request->code_ean; - $picture = $request->picture; + $picture = $request->picture; $product = Product::findOrFail($id); $product->range()->associate($request->range_id); @@ -128,8 +128,8 @@ class ProductsController extends Controller $picture->move(public_path('images/produits'), $imageName); } - $product->name = $name; - $product->no_art = $no_art; + $product->name = $name; + $product->no_art = $no_art; $product->code_ean = $code_ean; if ($picture !== null) { @@ -143,7 +143,7 @@ class ProductsController extends Controller /** * Remove the specified resource from storage. * - * @param int $id + * @param integer $id * @return \Illuminate\Http\Response */ public function destroy($id) diff --git a/app/Http/Controllers/bo/RangeController.php b/app/Http/Controllers/Bo/RangeController.php similarity index 89% rename from app/Http/Controllers/bo/RangeController.php rename to app/Http/Controllers/Bo/RangeController.php index ca0ac23..65685a3 100644 --- a/app/Http/Controllers/bo/RangeController.php +++ b/app/Http/Controllers/Bo/RangeController.php @@ -1,6 +1,6 @@ picture; - $range = new Range(); - $range->name = $name; + $range = new Range(); + $range->name = $name; $range->save(); if ($picture !== null) { @@ -61,7 +61,7 @@ class RangeController extends Controller /** * Display the specified resource. * - * @param \App\Models\Range $range + * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function show(Range $range) @@ -72,7 +72,7 @@ class RangeController extends Controller /** * Show the form for editing the specified resource. * - * @param \App\Models\Range $range + * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function edit(Range $range) @@ -83,8 +83,8 @@ class RangeController extends Controller /** * Update the specified resource in storage. * - * @param \App\Http\Requests\UpdateRangeRequest $request - * @param \App\Models\Range $range + * @param \App\Http\Requests\UpdateRangeRequest $request + * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function update(UpdateRangeRequest $request, Range $range) @@ -101,7 +101,7 @@ class RangeController extends Controller $picture->move(public_path('images/ranges'), $imageName); } - $range->name = $name; + $range->name = $name; if ($picture !== null) { $range->picture = $imageName; @@ -116,7 +116,7 @@ class RangeController extends Controller /** * Remove the specified resource from storage. * - * @param \App\Models\Range $range + * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function destroy(Range $range) diff --git a/app/Http/Controllers/bo/SettingsController.php b/app/Http/Controllers/Bo/SettingsController.php similarity index 93% rename from app/Http/Controllers/bo/SettingsController.php rename to app/Http/Controllers/Bo/SettingsController.php index 1ffae20..c193f18 100644 --- a/app/Http/Controllers/bo/SettingsController.php +++ b/app/Http/Controllers/Bo/SettingsController.php @@ -1,6 +1,6 @@ company; $analytics = $request->analytics; - // Check du lien de redirection après fermeture + // Check du lien de redirection après fermeture. if (strpos($redirectClose, 'https://') === false && strpos($redirectClose, 'http://') === false) { $redirectClose = 'https://' . $redirectClose; } @@ -76,13 +77,14 @@ class SettingsController extends Controller $settings->save(); - $settingsGlobal = app(Settings::class)->select('name', 'company', 'analytics', 'start_date', 'end_date')->first(); + $settingsGlobal = app(Settings::class) + ->select('name', 'company', 'analytics', 'start_date', 'end_date')->first(); Cache::put('settingsGlobal', $settingsGlobal); $success = "Modifications enregistrés !"; return view('bo.settings.manage', compact('settings', 'success')); - } + }//end if return view('bo.settings.manage', compact('settings')); } diff --git a/app/Http/Controllers/bo/WinnersListController.php b/app/Http/Controllers/Bo/WinnersListController.php similarity index 89% rename from app/Http/Controllers/bo/WinnersListController.php rename to app/Http/Controllers/Bo/WinnersListController.php index ce157ba..e464db4 100644 --- a/app/Http/Controllers/bo/WinnersListController.php +++ b/app/Http/Controllers/Bo/WinnersListController.php @@ -1,6 +1,6 @@ ', null)->get(); + $winnersList = Participation::has('instantWin')->get(); $settings = Settings::select('use_ean_codes', 'winning_proof')->first(); return view('bo.winners-list.index', compact('winnersList', 'settings')); } @@ -32,7 +31,8 @@ class WinnersListController extends Controller $crmUser = $this->apiCrm->getCustomer($participation->user->crm_id); if ($crmUser->status === 'NOK') { - return back()->withErrors("Erreur lors de la récupération de l'utilisateur dans la CRM : Code : " . $crmUser->code . " Message : " . $crmUser->message); + return back()->withErrors("Erreur lors de la récupération de l'utilisateur dans la CRM : Code : " . + $crmUser->code . " Message : " . $crmUser->message); } $crmId = $participation->user->crm_id; @@ -66,7 +66,7 @@ class WinnersListController extends Controller public function createCourrierArcadia(Request $request, $id) { $participation = Participation::findOrFail($id); - $instantWin = $participation->instant_win; + $instantWin = $participation->instantWin; if ($instantWin->prize->arcadia_operation_code !== 0 && $instantWin->prize->arcadia_support_code !== 0) { $fields = [ @@ -96,20 +96,22 @@ class WinnersListController extends Controller ] ]; + /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); if ($settings->use_ean_codes === 1) { $fields['orderLine'][] = [ 'fieldName' => 'code_on_pack', - 'fieldValue' => $participation->code_ean->code + 'fieldValue' => $participation->codeEan->code ]; } $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($participation->user->crm_id, $fields, 'game'); if ($arcadiaMail->status === 'NOK') { Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError($participation->user)); - return back()->withErrors("Erreur lors de l'envoi du courrier Arcadia. Code : " . $arcadiaMail->code . " Message : " . $arcadiaMail->message); + return back()->withErrors("Erreur lors de l'envoi du courrier Arcadia. Code : " . + $arcadiaMail->code . " Message : " . $arcadiaMail->message); } - } + }//end if return back()->with('success', 'Courrier envoyé !'); } } diff --git a/app/Http/Controllers/EndPageController.php b/app/Http/Controllers/EndPageController.php index 28d2afe..8021ed7 100644 --- a/app/Http/Controllers/EndPageController.php +++ b/app/Http/Controllers/EndPageController.php @@ -8,8 +8,14 @@ class EndPageController extends Controller { public function index() { - $settings = app(Settings::class)->select('start_date', 'end_date', 'activated_close_page', 'close_page_active_date', 'redirect_close')->first(); - if ($settings->end_date < now() && $settings->activated_close_page === 1 && $settings->close_page_active_date > now()) { + $settings = app(Settings::class) + ->select('start_date', 'end_date', 'activated_close_page', 'close_page_active_date', 'redirect_close') + ->first(); + if ( + $settings->end_date < now() && + $settings->activated_close_page === 1 && + $settings->close_page_active_date > now() + ) { return view('front.basic.end', compact('settings')); } return redirect()->route('home'); diff --git a/app/Http/Controllers/EnterCodeController.php b/app/Http/Controllers/EnterCodeController.php index 43648ea..db56358 100644 --- a/app/Http/Controllers/EnterCodeController.php +++ b/app/Http/Controllers/EnterCodeController.php @@ -8,30 +8,37 @@ use App\Mail\NotifAdmin; use App\Mail\NotifWinAdmin; use App\Mail\PrizeWon; use App\Mail\ReductionWon; -use App\Models\BannedIP; -use App\Models\Codes; -use App\Models\CodesEAN; +use App\Models\BannedIp; use App\Models\InstantWin; use App\Models\Participation; -use App\Models\Reductions; +use App\Models\Reduction; use LDCWeb\MesBR; use App\Models\Settings; -use Exception; -use Illuminate\Support\Facades\View; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Mail; class EnterCodeController extends Controller { - + /** + * + * @var \LDCCRM\ApiV1 + */ private $apiCrm; + /** + * EnterCodeController + */ public function __construct() { $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } + /** + * Show enter code form + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ public function index() { $nbParticipations = Participation::where('user_id', Auth::user()->id)->count(); @@ -42,177 +49,149 @@ class EnterCodeController extends Controller return view('front.basic.enter-code', compact('settings')); } + /** + * Participate Method + * + * @param ParticipateRequest $request + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ public function participate(ParticipateRequest $request) { - // TODO : VALIDATE avec / sans code ean // Récupération des données à utilisées. - $codeBase = Codes::whereId(Codes::serialToInt($request->code))->first(); + /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); // * Cas IP bannie. - if (config('app.env') == "local") { - $ipBanned = BannedIP::where('ip', $_SERVER['REMOTE_ADDR'])->first() === null ? 0 : 1; - } else { - $ipBanned = BannedIP::where('ip', $_SERVER['HTTP_X_FORWARDED_FOR'])->first() === null ? 0 : 1; - } + $ipBanned = BannedIp::where('ip', app('clientIp'))->first() === null ? 0 : 1; if ($ipBanned) { return view('front.basic.participation-exhausted', compact('settings')); } // * Cas nombre de participation maximale atteint. - $nbParticipations = Participation::where('user_id', Auth::user()->id)->count(); + $nbParticipations = Participation::where('user_id', auth()->user()->id)->count(); if ($nbParticipations >= $settings->nb_participation_player) { return view('front.basic.participation-exhausted', compact('settings')); } - // * Check le code pour savoir s'il est encore utilisable. - if (!$codeBase) { - return back()->withErrors("Code incorrect, veuillez réessayer."); - } - if ($codeBase->code_used === 1) { - return back()->withErrors("Ce code n'est plus utilisable."); - } - - // * Check si l'utilisateur n'a pas déjà utiliser ce code. - $participUser = Participation::where([ - ['code_unique_id', $codeBase->id], - ['user_id', Auth::user()->id] - ])->first(); - if ($participUser) { - return back()->withErrors("Vous avez déjà utilisé ce code."); - } - - // * Check si les codes ean sont utilisés, auquel cas on test celui envoyé pour savoir s'il est correct. - $codeEan = null; - // TODO : Task Algo Sebastien - if ($settings->use_ean_codes === 1) { - $codeEan = $request->code_ean; - $codeEanBase = CodesEAN::where('code', $codeEan)->first(); - if (!$codeEanBase) { - $codeEanBase = CodesEAN::where('code', 'like', substr($codeEan, 0, 6) . "%")->first(); - } - if (!$codeEanBase || empty($codeEan)) { - return back()->withErrors('Le code barre entré est incorrect, veuillez réessayer.'); - } - } - - $codeNbUsage = Participation::where('code_unique_id', $codeBase->id)->count(); - - // * Gestion du nombre d'utilisation d'un code. - if ($codeNbUsage >= $settings->nb_unique_code_use) { - $codeBase->code_used = 1; - $codeBase->save(); - return back()->withErrors("Ce code n'est plus utilisable."); - } else { - if ($codeNbUsage + 1 >= $settings->nb_unique_code_use) { - $codeBase->code_used = 1; - } - } - // * Tous les cas "bloquants" sont passé, l'utilisateur participe à partir d'ici. $participation = new Participation(); - $participation->user_id = Auth::user()->id; - $participation->code_unique_id = $codeBase->id; - $participation->code_ean_id = isset($codeEanBase) ? $codeEanBase->id : null; - if (config('app.env') === "local") { - $participation->ip = $_SERVER['REMOTE_ADDR']; - } else { - $participation->ip = $_SERVER['HTTP_X_FORWARDED_FOR']; - } + $participation->user_id = auth()->user()->id; + $participation->code_unique_id = $request->code->id; + $participation->code_ean_id = $request->code_ean ? $request->code_ean->id : null; + $participation->ip = app('clientIp'); $participation->save(); // * Gestion des instants gagnants. - $userAlreadyWon = Participation::where([ - ['user_id', Auth::user()->id], - ['instant_win_id', '<>', null] - ])->first(); + $userAlreadyWon = Participation::has('instantWin') + ->whereHas('user', function ($q) { + $q->whereId(auth()->user()->id); + })->first(); // * Si l'utilisateur actuel à déjà gagné un gros lot, pas d'instant gagnant. if ($userAlreadyWon) { - return $this->serveCouponWin($settings,$participation); - } else { - // Gain d'un gros lot - $instantWin = InstantWin::where([['appear_date', '<', now()], ['won', 0]])->orderBy('appear_date', 'ASC')->first(); - if ($instantWin) { - $instantWin->won = 1; - $instantWin->participation_id = $participation->id; - //should save now to prevent next player win on the same winning moment - $instantWin->save(); - $participation->instant_win_id = $instantWin->id; - //ici si fail car unique dupliqué catch - try { - // Envoi du courrier Arcadia - if ($instantWin->prize->arcadia_operation_code !== 0 && $instantWin->prize->arcadia_support_code !== 0) { - $crmId = Auth::user()->crm_id; - - $fields = [ - 'root' => [ - [ - 'fieldName' => 'order_date', - 'fieldValue' => date('d/m/Y') - ], - [ - 'fieldName' => 'operation', - 'fieldValue' => $instantWin->prize->arcadia_operation_code - ] - ], - 'orderLine' => [ - [ - 'fieldName' => 'code_unique', - 'fieldValue' => "$codeBase->code_unique" - ], - [ - 'fieldName' => 'support_code', - 'fieldValue' => $instantWin->prize->arcadia_support_code - ], - [ - 'fieldName' => 'label_type_support', - 'fieldValue' => 'Gain du lot : ' . $instantWin->prize->label_one - ] - ] - ]; - - if ($settings->use_ean_codes === 1) { - $codeEan = $request->code_ean; - $fields['orderLine'][] = [ - 'fieldName' => 'code_on_pack', - 'fieldValue' => "$codeEan" - ]; - } - - $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($crmId, $fields, 'game'); - if ($arcadiaMail->status === 'NOK') { - Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError(Auth::user())); - } - } - - Mail::to(Auth::user()->email)->send(new PrizeWon(Auth::user(), $instantWin->prize, $settings)); - $mails = json_decode($settings->notification_emails); - foreach ($mails as $mail) { - Mail::to($mail->email)->send(new NotifWinAdmin($settings, $participation)); - } - $participation->save(); - return view("front.basic." . $instantWin->prize->gain_view->file_name, compact('settings'))->with('prize', $instantWin->prize); - } catch(Exception $e) { - //unbind instant gagnant - $participation->instant_win_id = null; - //return $this->serveCouponWin($settings,$participation); - } - } - return $this->serveCouponWin($settings,$participation); + return $this->serveCouponWin($settings, $participation); } + + $instantWin = InstantWin::where([['appear_date', '<', now()], ['won', 0]]) + ->orderBy('appear_date', 'ASC')->first(); + if ($instantWin) { + // Ici si fail car unique dupliqué catch. + try { + // Gain d'un gros lot. + return $this->instantWin($settings, $request, $participation, $instantWin); + } catch (\ErrorException $e) { + // Unbind instant gagnant. + $participation->instantWin()->delete(); + // TODO: si erreur il faut envoyer un mail à equipe.web@ldc.fr + } //end try + } + return $this->serveCouponWin($settings, $participation); + } + + /** + * Handle instant wins + * + * @param Settings $settings + * @param Request $request + * @param Participation $participation + * @param InstantWin|null $instantWin + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + private function instantWin(Settings $settings, Request $request, Participation &$participation, $instantWin) + { + $instantWin->won = true; + // Should save now to prevent next player win on the same winning moment. + $instantWin->save(); + $participation->instantWin()->save($instantWin); + // Envoi du courrier Arcadia. + if ( + $instantWin->prize->arcadia_operation_code !== 0 && + $instantWin->prize->arcadia_support_code !== 0 + ) { + $crmId = auth()->user()->crm_id; + + $fields = [ + 'root' => [ + [ + 'fieldName' => 'order_date', + 'fieldValue' => date('d/m/Y') + ], + [ + 'fieldName' => 'operation', + 'fieldValue' => $instantWin->prize->arcadia_operation_code + ] + ], + 'orderLine' => [ + [ + 'fieldName' => 'code_unique', + 'fieldValue' => $request->serial + ], + [ + 'fieldName' => 'support_code', + 'fieldValue' => $instantWin->prize->arcadia_support_code + ], + [ + 'fieldName' => 'label_type_support', + 'fieldValue' => 'Gain du lot : ' . $instantWin->prize->label_one + ] + ] + ]; + + if ($settings->use_ean_codes === 1) { + $codeEan = $request->code_ean; + $fields['orderLine'][] = [ + 'fieldName' => 'code_on_pack', + 'fieldValue' => "$codeEan" + ]; + } + + $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($crmId, $fields, 'game'); + if ($arcadiaMail->status === 'KO') { + Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError(auth()->user())); + } + } //end if + + Mail::to(auth()->user()->email)->send(new PrizeWon(auth()->user(), $instantWin->prize, $settings)); + $mails = json_decode($settings->notification_emails); + foreach ($mails as $mail) { + Mail::to($mail->email)->send(new NotifWinAdmin($settings, $participation)); + } + $participation->save(); + return view("front.basic." . $instantWin->prize->gain_view->file_name, compact('settings')) + ->with('prize', $instantWin->prize); } /** * Détermine si un BR doit être servi * renvoi la vue de gain BR ou la vue "Perdu" * - * @param Settings $settings - * @param Participation $particiaption - * @return View + * @param Settings $settings + * @param Participation $participation + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory */ - private function serveCouponWin($settings, $participation) { - // Si le jeu est 100% gagnant + private function serveCouponWin(Settings $settings, Participation $participation) + { + // Si le jeu est 100% gagnant. if ($settings->reductions_activated === 1) { $coupon = $this->getRandomCoupon($settings); $crmCoupon = $this->updateCoupon($settings, $coupon->web_coupon_identifiant, $participation); @@ -227,7 +206,13 @@ class EnterCodeController extends Controller } } - private function getRandomCoupon($settings) + /** + * Get a random coupon + * + * @param Settings $settings + * @return mixed + */ + private function getRandomCoupon(Settings $settings) { $webCoupons = json_decode($settings->web_coupons); if (count($webCoupons) > 1) { @@ -247,7 +232,15 @@ class EnterCodeController extends Controller } } - private function updateCoupon($settings, $coupon, $participation) + /** + * Update a coupon + * + * @param Settings $settings + * @param mixed $coupon + * @param Participation $participation + * @return \App\Models\Reduction|null + */ + private function updateCoupon(Settings $settings, $coupon, Participation $participation) { $reduction = null; $mesBR = new MesBR(config('mesbr.endpoint'), $settings->reductions_site, $settings->reductions_campaign); @@ -257,31 +250,38 @@ class EnterCodeController extends Controller $mesBR->updateContact($crmUser->user); $result = $mesBR->updatePanier($crmUser->user, $coupon); if ($result["status"] === "OK") { - $reduction = new Reductions(); - $reduction->participation_id = $participation->id; - $reduction->link = $result["link"]; - $reduction->verification = $result["verif"]; - $reduction->basket_id = $result["basketId"]; + $reduction = new Reduction(); + $reduction->link = $result["link"]; + $reduction->verification = $result["verif"]; + $reduction->basket_id = $result["basketId"]; $reduction->save(); $participation->reduction_id = $reduction->id; $participation->save(); } else { - Mail::to(config('mail.MAIL_ADMIN'))->send(new NotifAdmin("MESBR : Une erreur est survenue. Code : " . $result["code"] . " Message : " . $result["message"])); + Mail::to(config('mail.MAIL_ADMIN')) + ->send(new NotifAdmin(\sprintf( + 'MESBR : Une erreur est survenue. Code : %s Message : %s', + $result["code"], + $result["message"] + ))); } - } - + } //end if return $reduction; } + /** + * Undocumented function + * + * @return \Illuminate\Http\Response + */ public function formWinningProof() { $participation = Participation::where([ ['user_id', Auth::user()->id], - ['instant_win_id', '<>', null], ['sticker', null], ['ticket', null], ['barcode', null] - ])->first(); + ])->has('instantWin')->first(); if ($participation) { return view('front.basic.winning-proof', compact('participation')); } diff --git a/app/Http/Controllers/FAQController.php b/app/Http/Controllers/FAQController.php index f8311b1..c67f497 100644 --- a/app/Http/Controllers/FAQController.php +++ b/app/Http/Controllers/FAQController.php @@ -2,15 +2,15 @@ namespace App\Http\Controllers; -use App\Models\FaqQuestions; -use App\Models\FaqThemes; +use App\Models\FaqQuestion; +use App\Models\FaqTheme; class FAQController extends Controller { public function index() { - $questions = FaqQuestions::all(); - $themes = FaqThemes::all(); + $questions = FaqQuestion::all(); + $themes = FaqTheme::all(); if (count($questions) === 0 && count($themes) === 0) { return redirect()->route('home'); } diff --git a/app/Http/Controllers/LoginController.php b/app/Http/Controllers/LoginController.php index 2063528..724efac 100644 --- a/app/Http/Controllers/LoginController.php +++ b/app/Http/Controllers/LoginController.php @@ -8,7 +8,7 @@ use App\Models\Settings; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Str; -use App\User; +use App\Models\User; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Mail; @@ -48,9 +48,11 @@ class LoginController extends Controller if ($connect->status === 'KO') { if ($connect->code === 500) { - return back()->withInput($request->except("password"))->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); + return back()->withInput($request->except("password")) + ->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); } else { - return back()->withInput($request->except("password"))->withErrors("Email ou mot de passe incorrect."); + return back()->withInput($request->except("password")) + ->withErrors("Email ou mot de passe incorrect."); } } } @@ -58,8 +60,9 @@ class LoginController extends Controller $userLocal->email_verify_token = Str::uuid(); $userLocal->save(); Mail::to($email)->send(new VerifyEmail($userLocal)); - return back()->withInput($request->except("password"))->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); - } + return back()->withInput($request->except("password")) + ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); + }//end if } else { $connect = $this->apiCrm->loginCustomer($email, $password); @@ -70,7 +73,8 @@ class LoginController extends Controller 'lastname' => $connect->user->lastname, 'birth_date' => $connect->user->birth_date, 'email' => $email, - 'password' => Hash::make("MOTDEPASSE"), // TODO : ??? + // TODO : MOTDEPASSE ???. + 'password' => Hash::make("MOTDEPASSE"), 'address' => $connect->user->address, 'address2' => $connect->user->address2, 'town' => $connect->user->city, @@ -79,14 +83,16 @@ class LoginController extends Controller 'email_verified' => 1 ]); } else { - if ($connect->code === 116) { // Compte existant mais non activé + // Compte existant mais non activé. + if ($connect->code === 116) { $userLocal = User::create([ 'crm_id' => $connect->user->crm_id, 'firstname' => $connect->user->firstname, 'lastname' => $connect->user->lastname, 'birth_date' => $connect->user->birth_date, 'email' => $email, - 'password' => Hash::make("MOTDEPASSE"), // TODO : ??? + // TODO : MOTDEPASSE ???. + 'password' => Hash::make("MOTDEPASSE"), 'address' => $connect->user->address, 'address2' => $connect->user->address2, 'town' => $connect->user->city, @@ -97,16 +103,19 @@ class LoginController extends Controller $userLocal->email_verify_token = Str::uuid(); $userLocal->save(); Mail::to($email)->send(new VerifyEmail($userLocal)); - return back()->withInput($request->except("password"))->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); + return back()->withInput($request->except("password")) + ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); } elseif ($connect->code === 500) { - return back()->withInput($request->except("password"))->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); + return back()->withInput($request->except("password")) + ->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); } else { - return back()->withInput($request->except("password"))->withErrors("Email ou mot de passe incorrect."); - } - } - } + return back()->withInput($request->except("password")) + ->withErrors("Email ou mot de passe incorrect."); + } //end if + } //end if + }//end if - // TODO : Modifier avec separation guard + // TODO : Modifier avec separation guard. $tmpPwd = "MOTDEPASSE"; if ($userLocal->role <= 2) { $tmpPwd = $password; @@ -144,7 +153,8 @@ class LoginController extends Controller $user->save(); $result = true; } else { - if ($activation->code === 110) { // User already active + // User already active. + if ($activation->code === 110) { $user->email_verified = 1; $user->email_verify_token = null; $user->save(); @@ -168,12 +178,14 @@ class LoginController extends Controller public function forgotPasswordReset(Request $request, $token) { if (!$request->hasValidSignature(false)) { - return redirect()->route('login')->withErrors("Le lien de changement de votre mot de passe n'est plus valide, veuillez réessayer."); + return redirect()->route('login') + ->withErrors("Le lien de changement de votre mot de passe n'est plus valide, veuillez réessayer."); } $tokenValid = false; $user = User::where('password_token', $token)->first(); if (!$user) { - return redirect()->route('forgot-password', compact('tokenValid'))->withErrors('Le lien de changement du mot de passe est incorrect.'); + return redirect()->route('forgot-password', compact('tokenValid')) + ->withErrors('Le lien de changement du mot de passe est incorrect.'); } $tokenValid = true; return redirect()->route('forgot-password', compact('tokenValid', 'token')); @@ -193,7 +205,8 @@ class LoginController extends Controller 'lastname' => $userCrm->user->lastname, 'birth_date' => $userCrm->user->birth_date, 'email' => $email, - 'password' => Hash::make("MOTDEPASSE"), // TODO : ??? + // TODO : MOTDEPASSE ??? + 'password' => Hash::make("MOTDEPASSE"), 'address' => $userCrm->user->address, 'address2' => $userCrm->user->address2, 'town' => $userCrm->user->city, @@ -207,22 +220,26 @@ class LoginController extends Controller $user->email_verify_token = Str::uuid(); $user->save(); Mail::to($email)->send(new VerifyEmail($user)); - return back()->withInput($request->except("password"))->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); + return back()->withInput($request->except("password")) + ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); } } else { if ($userCrm->code === 101) { - return back()->withInput($request->only('email'))->withErrors("Le mail que vous avez entré n'est pas enregistré dans nos services."); + return back()->withInput($request->only('email')) + ->withErrors("Le mail que vous avez entré n'est pas enregistré dans nos services."); } else { return back()->withErrors("Une erreur est survenue, veuillez réessayer plus tard."); } - } - } + } //end if + }//end if $user->password_token = Str::uuid(); $user->save(); + /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); Mail::to($email)->send(new PasswordReset($user, $settings)); - return redirect()->route('login')->with('success', 'Un mail de réinitialisation de votre mot de passe vous a été envoyé(e).'); + return redirect()->route('login') + ->with('success', 'Un mail de réinitialisation de votre mot de passe vous a été envoyé(e).'); } public function changePassword(Request $request) @@ -236,7 +253,7 @@ class LoginController extends Controller return back()->withErrors('Le lien de changement de votre mot de passe est incorrect, veuillez réessayer.'); } - // TODO : Ajouter controle du contenu du mot de passe + // TODO : Ajouter controle du contenu du mot de passe. $newPassword = $request->password; $update = $this->apiCrm->changePwdCustomer($user->crm_id, $newPassword); @@ -244,10 +261,12 @@ class LoginController extends Controller if ($update->status === 'OK') { $user->password_token = null; $user->save(); - return redirect()->route('login')->with('success', 'Vous pouvez désormais vous connecter avec votre nouveau mot de passe.'); + return redirect()->route('login') + ->with('success', 'Vous pouvez désormais vous connecter avec votre nouveau mot de passe.'); } else { if ($update->code === 123) { - return back()->withErrors("Il semblerait que vous ayez déjà utilisé ce mot de passe pour votre compte. Veuillez réessayer en changeant de mot de passe."); + return back() + ->withErrors("Il semblerait que vous ayez déjà utilisé ce mot de passe pour votre compte. Veuillez réessayer en changeant de mot de passe."); } else { return back()->withErrors("Une erreur est survenue, veuillez réessayer plus tard."); } diff --git a/app/Http/Controllers/ProduitsController.php b/app/Http/Controllers/ProduitsController.php index 8fb6878..13c9528 100644 --- a/app/Http/Controllers/ProduitsController.php +++ b/app/Http/Controllers/ProduitsController.php @@ -2,7 +2,6 @@ namespace App\Http\Controllers; -use App\Models\Product; use App\Models\Range; class ProduitsController extends Controller diff --git a/app/Http/Controllers/RegisterController.php b/app/Http/Controllers/RegisterController.php index c7a2c4a..111b4e5 100644 --- a/app/Http/Controllers/RegisterController.php +++ b/app/Http/Controllers/RegisterController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers; use App\Mail\VerifyEmail; use App\Providers\RouteServiceProvider; -use App\User; +use App\Models\User; use Carbon\Carbon; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Http\Request; @@ -122,7 +122,7 @@ class RegisterController extends Controller ->withInput($request->except('password')) ->withErrors("Une erreur est survenue, merci de recommencer."); } - } + }//end if } private function isSQLDate($date) diff --git a/app/Http/Controllers/TeaserController.php b/app/Http/Controllers/TeaserController.php index 634ee82..c096177 100644 --- a/app/Http/Controllers/TeaserController.php +++ b/app/Http/Controllers/TeaserController.php @@ -8,7 +8,8 @@ class TeaserController extends Controller { public function index() { - $settings = app(Settings::class)->select('start_date', 'end_date', 'activated_teaser', 'teaser_end_activity')->first(); + $settings = app(Settings::class) + ->select('start_date', 'end_date', 'activated_teaser', 'teaser_end_activity')->first(); if ($settings->activated_teaser === 1 && $settings->teaser_end_activity > now()) { return view('front.basic.teaser', compact('settings')); } diff --git a/app/Http/Controllers/WinningProofController.php b/app/Http/Controllers/WinningProofController.php index 4ed94c2..776d5bd 100644 --- a/app/Http/Controllers/WinningProofController.php +++ b/app/Http/Controllers/WinningProofController.php @@ -6,7 +6,7 @@ use App\Mail\NotifAdmin; use App\Mail\WinningProof; use App\Models\Participation; use App\Models\Settings; -use App\User; +use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; @@ -27,11 +27,10 @@ class WinningProofController extends Controller // On récupère la participation gagnante en attente des infos $participation = Participation::where([ ['user_id', Auth::user()->id], - ['instant_win_id', '<>', null], ['sticker', null], ['ticket', null], ['barcode', null] - ])->first(); + ])->has('instantWin')->first(); if (!$participation) { return redirect()->route('home'); } @@ -62,7 +61,7 @@ class WinningProofController extends Controller $ticket = $request->ticket; $barcode = $request->barcode; - // Mise à jour de l'utilisateur en local + // Mise à jour de l'utilisateur en local. $user = User::find(Auth::user()->id); $user->lastname = $lastname; $user->firstname = $firstname; @@ -74,11 +73,27 @@ class WinningProofController extends Controller $user->phone = $phone; $user->save(); - // Mise à jour utilisateur dans la CRM - $update = $this->apiCrm->updateCustomer($user->crm_id, $firstname, $lastname, null, null, $phone, $address, $address2, $town, $postalCode, ucfirst($country)); + // Mise à jour utilisateur dans la CRM. + $update = $this->apiCrm->updateCustomer( + $user->crm_id, + $firstname, + $lastname, + null, + null, + $phone, + $address, + $address2, + $town, + $postalCode, + ucfirst($country) + ); if ($update->status !== 'OK') { - Log::warning('Erreur lors de la mise a jour du user (crm_id : ' . $user->crm_id . ') - code : ' . $update->code . ' - message : ' . $update->message); - Mail::to(config('mail.MAIL_ADMIN'))->send(new NotifAdmin('CRM : Erreur lors de la mise a jour du user (crm_id : ' . $user->crm_id . ') - code : ' . $update->code . ' - message : ' . $update->message)); + Log::warning('Erreur lors de la mise a jour du user (crm_id : ' . $user->crm_id . + ') - code : ' . $update->code . ' - message : ' . $update->message); + Mail::to(config('mail.MAIL_ADMIN'))->send(new NotifAdmin( + 'CRM : Erreur lors de la mise a jour du user (crm_id : ' . + $user->crm_id . ') - code : ' . $update->code . ' - message : ' . $update->message + )); } $participationId = $participation->id; @@ -99,10 +114,18 @@ class WinningProofController extends Controller $participation->barcode = $barcodeFileName; $participation->save(); + /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); $mails = json_decode($settings->notification_emails); foreach ($mails as $mail) { - Mail::to($mail->email)->send(new WinningProof($stickerPath, $ticketPath, $barcodePath, $participation, $user, $settings)); + Mail::to($mail->email)->send(new WinningProof( + $stickerPath, + $ticketPath, + $barcodePath, + $participation, + $user, + $settings + )); } return view('front.basic.replay'); diff --git a/app/Http/Controllers/re7Controller.php b/app/Http/Controllers/re7Controller.php index 3a5b6eb..483295a 100644 --- a/app/Http/Controllers/re7Controller.php +++ b/app/Http/Controllers/re7Controller.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers; use App\Models\Settings; -use App\Models\Reductions; +use App\Models\Reduction; class re7Controller extends Controller { @@ -14,7 +14,8 @@ class re7Controller extends Controller public function teaser() { - $settings = app(Settings::class)->select('start_date', 'end_date', 'activated_teaser', 'teaser_end_activity')->first(); + $settings = app(Settings::class) + ->select('start_date', 'end_date', 'activated_teaser', 'teaser_end_activity')->first(); return view('front.basic.teaser', compact('settings')); } @@ -32,7 +33,7 @@ class re7Controller extends Controller { $settings = app(Settings::class); $coupon = $this->getRandomCoupon($settings); - $crmCoupon = new Reductions(); + $crmCoupon = new Reduction(); return view('front.basic.reduction', compact('coupon', 'crmCoupon')); } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index a5ac5ed..9f9d0aa 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -6,7 +6,6 @@ use Illuminate\Foundation\Http\Kernel as HttpKernel; class Kernel extends HttpKernel { - /** * The application's global HTTP middleware stack. * @@ -15,7 +14,6 @@ class Kernel extends HttpKernel * @var array */ protected $middleware = [ - // \App\Http\Middleware\TrustHosts::class, \App\Http\Middleware\TrustProxies::class, \Fruitcake\Cors\HandleCors::class, \App\Http\Middleware\CheckForMaintenanceMode::class, @@ -34,7 +32,6 @@ class Kernel extends HttpKernel \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, - // \Illuminate\Session\Middleware\AuthenticateSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, diff --git a/app/Http/Middleware/GameCheckDate.php b/app/Http/Middleware/GameCheckDate.php index 4661022..0d19fca 100644 --- a/app/Http/Middleware/GameCheckDate.php +++ b/app/Http/Middleware/GameCheckDate.php @@ -16,6 +16,7 @@ class GameCheckDate */ public function handle($request, Closure $next) { + /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); // Check si le teaser est actif diff --git a/app/Http/Requests/CodeSearchRequest.php b/app/Http/Requests/CodeSearchRequest.php new file mode 100644 index 0000000..2ece3fb --- /dev/null +++ b/app/Http/Requests/CodeSearchRequest.php @@ -0,0 +1,32 @@ +check() and + auth()->user()->role === 1; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'code' => 'required|string|min:1|max:25' + ]; + } +} diff --git a/app/Http/Requests/ExportCodesRequest.php b/app/Http/Requests/ExportCodesRequest.php index a45361e..c44d93b 100644 --- a/app/Http/Requests/ExportCodesRequest.php +++ b/app/Http/Requests/ExportCodesRequest.php @@ -2,7 +2,7 @@ namespace App\Http\Requests; -use App\Models\Codes; +use App\Models\Code; use Illuminate\Foundation\Http\FormRequest; class ExportCodesRequest extends FormRequest @@ -15,8 +15,8 @@ class ExportCodesRequest extends FormRequest public function authorize() { /** @var \Illuminate\Database\Eloquent\Builder */ - $codesAvailableToExport = Codes::whereCodeExported(false); - $lastExportedId = Codes::whereCodeExported(true) + $codesAvailableToExport = Code::whereCodeExported(false); + $lastExportedId = Code::whereCodeExported(true) ->orderBy('id', 'desc')->first()->id ?? null; if ($lastExportedId) { $codesAvailableToExport = $codesAvailableToExport diff --git a/app/Http/Requests/ParticipateRequest.php b/app/Http/Requests/ParticipateRequest.php index 80c7dd4..0a98982 100644 --- a/app/Http/Requests/ParticipateRequest.php +++ b/app/Http/Requests/ParticipateRequest.php @@ -2,9 +2,11 @@ namespace App\Http\Requests; -use App\Models\Codes; +use App\Models\Code; +use App\Models\CodeEan; +use App\Models\Participation; +use App\Models\Settings; use Illuminate\Foundation\Http\FormRequest; -use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; use Kwaadpepper\Serial\Exceptions\SerialCasterException; @@ -17,11 +19,39 @@ class ParticipateRequest extends FormRequest */ public function authorize() { - $this->merge([ - 'code' => is_string($this->code) ? Str::upper($this->code) : $this->code, - 'accept_rules' => $this->accept_rules ? true : false - ]); - return true; + /** + * * Check si les codes ean sont utilisés, auquel cas + * * on test celui envoyé pour savoir s'il est correct. + * Modif demande vincent : + * Tester code ean existe avec 13, puis 8 puis 7 chars + */ + if (app(Settings::class)->use_ean_codes) { + $this->merge([ + 'code_ean' => \in_array(Str::length($this->code_ean), [13, 8, 7]) ? + CodeEan::where('code', $this->code_ean) + ->orWhere('code', 'LIKE', Str::limit($this->code_ean, 13, '') . '%') + ->orWhere('code', 'LIKE', Str::limit($this->code_ean, 8, '') . '%') + ->orWhere('code', 'LIKE', Str::limit($this->code_ean, 7, '') . '%') + ->first() : null + ]); + } + try { + if (is_string($this->code)) { + $this->merge([ + 'serial' => $this->code, + 'code' => Code::whereId(Code::serialToInt(Str::upper($this->code)))->first() ?? false, + ]); + } + // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch + } catch (SerialCasterException $e) { + // Ignore. + } finally { + $this->merge([ + 'accept_rules' => $this->accept_rules ? true : false + ]); + } + + return auth()->check(); } /** @@ -31,7 +61,7 @@ class ParticipateRequest extends FormRequest */ public function rules() { - return [ + $rules = [ 'accept_rules' => [ 'required', 'boolean', // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed @@ -42,21 +72,64 @@ class ParticipateRequest extends FormRequest } ], 'code' => [ - 'required', 'string', + 'required', // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed function ($attribute, $value, $fail) { - try { - $int = Codes::serialToInt($value); - if (!Codes::whereId(Codes::serialToInt($value))->exists()) { - throw new SerialCasterException(); - } - } catch (SerialCasterException $e) { - dd($e); - Log::debug($e->getMessage(), $e->getTrace()); + if ( + $value === false or + !\is_object($value) or + \get_class($value) !== Code::class + ) { $fail('Code incorrect, veuillez réessayer.'); + return false; + } elseif ($value->code_used === 1) { + $fail('Ce code n\'est plus utilisable.'); + return false; } + + // * Check si l'utilisateur n'a pas déjà utilisé ce code. + $query = Participation::where([ + ['code_unique_id', $this->code->id], + ['user_id', auth()->user()->id] + ]); + if ($query->exists()) { + $fail('Vous avez déjà utilisé ce code.'); + } + + /** @var \App\Models\Settings $settings */ + $settings = app(Settings::class); + + $codeNbUsage = Participation::where('code_unique_id', $this->code->id) + ->count(); + + // * Gestion du nombre d'utilisation d'un code. + if ($codeNbUsage >= $settings->nb_unique_code_use) { + $this->code->code_used = 1; + return back()->withErrors("Ce code n'est plus utilisable."); + } else { + if ($codeNbUsage + 1 >= $settings->nb_unique_code_use) { + $this->code->code_used = 1; + } + } + $this->code->save(); } ] ]; + + if (app(Settings::class)->use_ean_codes) { + $rules = \array_merge($rules, [ + 'code_ean' => [ + 'required', + // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed + function ($attribute, $value, $fail) { + if (!\is_object($value) or \get_class($value) !== CodeEan::class) { + $fail('Le code barre entré est incorrect, veuillez réessayer.'); + } + } + ] + + ]); + } + return $rules; } } diff --git a/app/Http/Requests/StoreProductRequest.php b/app/Http/Requests/StoreProductRequest.php index c4314af..1f6a3e8 100644 --- a/app/Http/Requests/StoreProductRequest.php +++ b/app/Http/Requests/StoreProductRequest.php @@ -10,7 +10,7 @@ class StoreProductRequest extends FormRequest /** * Determine if the user is authorized to make this request. * - * @return bool + * @return boolean */ public function authorize() { @@ -30,7 +30,9 @@ class StoreProductRequest extends FormRequest 'image', 'mimes:jpeg,png,jpg', 'max:2048', - Rule::dimensions()->maxWidth(config('theme.product_image_maxwidth'))->maxHeight(config('theme.product_image_maxheight')) + Rule::dimensions() + ->maxWidth(config('theme.product_image_maxwidth')) + ->maxHeight(config('theme.product_image_maxheight')) ], 'range_id' => 'exists:ranges,id' ]; diff --git a/app/Http/Requests/StoreRangeRequest.php b/app/Http/Requests/StoreRangeRequest.php index 3c665de..921aa63 100644 --- a/app/Http/Requests/StoreRangeRequest.php +++ b/app/Http/Requests/StoreRangeRequest.php @@ -10,7 +10,7 @@ class StoreRangeRequest extends FormRequest /** * Determine if the user is authorized to make this request. * - * @return bool + * @return boolean */ public function authorize() { @@ -30,7 +30,9 @@ class StoreRangeRequest extends FormRequest 'image', 'mimes:jpeg,png,jpg', 'max:2048', - Rule::dimensions()->maxWidth(config('theme.product_image_maxwidth'))->maxHeight(config('theme.product_image_maxheight')) + Rule::dimensions() + ->maxWidth(config('theme.product_image_maxwidth')) + ->maxHeight(config('theme.product_image_maxheight')) ], ]; } diff --git a/app/Http/Requests/UpdateProductRequest.php b/app/Http/Requests/UpdateProductRequest.php index f5fe437..1870421 100644 --- a/app/Http/Requests/UpdateProductRequest.php +++ b/app/Http/Requests/UpdateProductRequest.php @@ -10,7 +10,7 @@ class UpdateProductRequest extends FormRequest /** * Determine if the user is authorized to make this request. * - * @return bool + * @return boolean */ public function authorize() { @@ -30,7 +30,9 @@ class UpdateProductRequest extends FormRequest 'image', 'mimes:jpeg,png,jpg', 'max:2048', - Rule::dimensions()->maxWidth(config('theme.product_image_maxwidth'))->maxHeight(config('theme.product_image_maxheight')) + Rule::dimensions() + ->maxWidth(config('theme.product_image_maxwidth')) + ->maxHeight(config('theme.product_image_maxheight')) ], 'range_id' => 'exists:ranges,id' ]; diff --git a/app/Http/Requests/UpdateRangeRequest.php b/app/Http/Requests/UpdateRangeRequest.php index 14d5fde..5398e11 100644 --- a/app/Http/Requests/UpdateRangeRequest.php +++ b/app/Http/Requests/UpdateRangeRequest.php @@ -10,7 +10,7 @@ class UpdateRangeRequest extends FormRequest /** * Determine if the user is authorized to make this request. * - * @return bool + * @return boolean */ public function authorize() { @@ -30,7 +30,9 @@ class UpdateRangeRequest extends FormRequest 'image', 'mimes:jpeg,png,jpg', 'max:2048', - Rule::dimensions()->maxWidth(config('theme.product_image_maxwidth'))->maxHeight(config('theme.product_image_maxheight')) + Rule::dimensions() + ->maxWidth(config('theme.product_image_maxwidth')) + ->maxHeight(config('theme.product_image_maxheight')) ], ]; } diff --git a/app/Jobs/ProcessExportCodesUniques.php b/app/Jobs/ProcessExportCodesUniques.php index 5e6f206..d302359 100644 --- a/app/Jobs/ProcessExportCodesUniques.php +++ b/app/Jobs/ProcessExportCodesUniques.php @@ -4,7 +4,7 @@ namespace App\Jobs; use App\Mail\ExportCodesUniques; use App\Mail\JobFailed; -use App\Models\Codes; +use App\Models\Code; use Exception; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; @@ -85,7 +85,7 @@ class ProcessExportCodesUniques implements ShouldQueue date('dmY_His') ); - $lastExportedCodeId = Codes::whereCodeExported(true) + $lastExportedCodeId = Code::whereCodeExported(true) ->orderBy('id', 'desc')->first()->id ?? null; $filesPath = $this->generateCsvFiles($lastExportedCodeId); @@ -157,10 +157,10 @@ class ProcessExportCodesUniques implements ShouldQueue foreach ($codes as $code) { if ($currentExportedCodes < $this->nbCodeTot) { if ($currentLineCodes === ($this->nbCodeLigne === 1 ? 1 : $this->nbCodeLigne - 1)) { - File::append($tempFilePath, Codes::intToSerial($code) . "\n"); + File::append($tempFilePath, Code::intToSerial($code) . "\n"); $currentLineCodes = ($this->nbCodeLigne === 1 ? 1 : 0); } else { - File::append($tempFilePath, Codes::intToSerial($code) . ';'); + File::append($tempFilePath, Code::intToSerial($code) . ';'); $currentLineCodes++; } //end if @@ -182,7 +182,7 @@ class ProcessExportCodesUniques implements ShouldQueue } // ? Have we reached pagination limit for mass saving ? if (count($exportedCodesId) === $paginate) { - Codes::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); + Code::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); $exportedCodesId = []; } } //end if @@ -190,7 +190,7 @@ class ProcessExportCodesUniques implements ShouldQueue // ? Are there exported codes to save ? if (count($exportedCodesId)) { - Codes::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); + Code::whereIn('id', $exportedCodesId)->update(['code_exported' => 1]); } return $outPaths; } diff --git a/app/Jobs/ProcessUniqueCode.php b/app/Jobs/ProcessUniqueCode.php index 8d8e554..bbf4eeb 100644 --- a/app/Jobs/ProcessUniqueCode.php +++ b/app/Jobs/ProcessUniqueCode.php @@ -4,7 +4,7 @@ namespace App\Jobs; use App\Mail\CodeGenerationEnd; use App\Mail\JobFailed; -use App\Models\Codes; +use App\Models\Code; use App\Models\Settings; use Exception; use Illuminate\Bus\Queueable; @@ -66,12 +66,13 @@ class ProcessUniqueCode implements ShouldQueue */ public function handle() { + /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); $maxSQLPlaceholders = 65535; $insertColumns = collect(DB::getSchemaBuilder() - ->getColumnListing((new Codes())->getTable())) + ->getColumnListing((new Code())->getTable())) ->filter(function ($name) { // * Ignorer les colonnes avec valeurs par défaut sur la table. return !in_array($name, ['id', 'code_used', 'code_exported']); @@ -101,7 +102,7 @@ class ProcessUniqueCode implements ShouldQueue } while ($totalGeneratedInserts < $this->quantity and --$insertToGenerate); // * Mass insert - Codes::insert($inserts); + Code::insert($inserts); $totalGeneratedInserts += count($inserts); } diff --git a/app/Mail/CourrierArcadiaError.php b/app/Mail/CourrierArcadiaError.php index c911e89..e2d85af 100644 --- a/app/Mail/CourrierArcadiaError.php +++ b/app/Mail/CourrierArcadiaError.php @@ -2,6 +2,7 @@ namespace App\Mail; +use App\Models\User; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; @@ -12,14 +13,20 @@ class CourrierArcadiaError extends Mailable implements ShouldQueue use Queueable; use SerializesModels; + /** + * User + * + * @var \App\Models\User + */ private $user; /** * Create a new message instance. * + * @param \App\Models\User $user * @return void */ - public function __construct($user) + public function __construct(User $user) { $this->user = $user; } @@ -32,6 +39,7 @@ class CourrierArcadiaError extends Mailable implements ShouldQueue public function build() { $user = $this->user; - return $this->subject("Erreur envoi courrier arcadia")->view('front.basic.error-arcadia-email', compact('user')); + return $this->subject("Erreur envoi courrier arcadia") + ->view('front.basic.error-arcadia-email', compact('user')); } } diff --git a/app/Mail/JobFailed.php b/app/Mail/JobFailed.php index 91edbab..ac15b7c 100644 --- a/app/Mail/JobFailed.php +++ b/app/Mail/JobFailed.php @@ -14,6 +14,7 @@ class JobFailed extends Mailable public $job; public $exception; + /** * Create a new message instance. * @@ -31,6 +32,7 @@ class JobFailed extends Mailable */ public function build() { - return $this->subject('[JOB FAILED] Une erreur est survenue pendant le job : ' . $this->job)->view('bo.mails.job-failed'); + return $this->subject('[JOB FAILED] Une erreur est survenue pendant le job : ' . $this->job) + ->view('bo.mails.job-failed'); } } diff --git a/app/Mail/NotifWinAdmin.php b/app/Mail/NotifWinAdmin.php index bbed122..de73d13 100644 --- a/app/Mail/NotifWinAdmin.php +++ b/app/Mail/NotifWinAdmin.php @@ -33,6 +33,7 @@ class NotifWinAdmin extends Mailable implements ShouldQueue public function build() { $participation = $this->participation; - return $this->subject($this->settings->name . " : un lot a été gagné")->view('front.basic.notif-win-admin-email', compact('participation')); + return $this->subject($this->settings->name . " : un lot a été gagné") + ->view('front.basic.notif-win-admin-email', compact('participation')); } } diff --git a/app/Mail/WinningProof.php b/app/Mail/WinningProof.php index 9fc31e1..42d1b3b 100644 --- a/app/Mail/WinningProof.php +++ b/app/Mail/WinningProof.php @@ -38,7 +38,11 @@ class WinningProof extends Mailable implements ShouldQueue { $participation = $this->participation; $user = $this->user; - return $this->subject($this->settings->name . " : Preuves de gain de " . $this->user->lastname . " " . $this->user->firstname) - ->view('front.basic.winning-proof-email', compact('participation', 'user'))->attach($this->sticker)->attach($this->ticket)->attach($this->barcode); + return $this->subject( + $this->settings->name . " : Preuves de gain de " . $this->user->lastname . " " . $this->user->firstname + )->view( + 'front.basic.winning-proof-email', + compact('participation', 'user') + )->attach($this->sticker)->attach($this->ticket)->attach($this->barcode); } } diff --git a/app/Models/BannedIP.php b/app/Models/BannedIP.php deleted file mode 100644 index f201ac7..0000000 --- a/app/Models/BannedIP.php +++ /dev/null @@ -1,15 +0,0 @@ -hasMany(Participation::class); + } +} diff --git a/app/Models/CodesEAN.php b/app/Models/CodesEAN.php deleted file mode 100644 index b55fd0b..0000000 --- a/app/Models/CodesEAN.php +++ /dev/null @@ -1,20 +0,0 @@ -hasMany('App\Models\Participation', 'code_ean_id'); - } -} diff --git a/app/Models/Content.php b/app/Models/Content.php index c5c7e0f..c75f4f1 100644 --- a/app/Models/Content.php +++ b/app/Models/Content.php @@ -6,6 +6,4 @@ use Illuminate\Database\Eloquent\Model; class Content extends Model { - - protected $table = "content"; } diff --git a/app/Models/FaqQuestions.php b/app/Models/FaqQuestion.php similarity index 63% rename from app/Models/FaqQuestions.php rename to app/Models/FaqQuestion.php index c572d88..be32475 100644 --- a/app/Models/FaqQuestions.php +++ b/app/Models/FaqQuestion.php @@ -4,16 +4,21 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -class FaqQuestions extends Model +class FaqQuestion extends Model { - - protected $table = "faq_questions"; - - protected $fillable = ["question", "answer", "positive_vote", "negative_vote", "theme_id"]; + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = [ + 'question', 'answer', 'positive_vote', + 'negative_vote', 'theme_id' + ]; public function theme() { - return $this->belongsTo('App\Models\FaqThemes', 'theme_id'); + return $this->belongsTo(FaqTheme::class, 'theme_id'); } public function getUtilityAttribute() diff --git a/app/Models/FaqTheme.php b/app/Models/FaqTheme.php new file mode 100644 index 0000000..20cd541 --- /dev/null +++ b/app/Models/FaqTheme.php @@ -0,0 +1,27 @@ +hasMany(FaqQuestion::class, 'theme_id'); + } +} diff --git a/app/Models/FaqThemes.php b/app/Models/FaqThemes.php deleted file mode 100644 index ec2f972..0000000 --- a/app/Models/FaqThemes.php +++ /dev/null @@ -1,20 +0,0 @@ -hasMany('App\Models\FaqQuestions', 'theme_id'); - } -} diff --git a/app/Models/GainView.php b/app/Models/GainView.php index c96a0e6..9a87f34 100644 --- a/app/Models/GainView.php +++ b/app/Models/GainView.php @@ -6,11 +6,15 @@ use Illuminate\Database\Eloquent\Model; class GainView extends Model { - - protected $fillable = ["name", "file_name"]; + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = ['name', 'file_name']; public function prizes() { - return $this->hasMany('App\Models\Prizes', 'gain_view_id'); + return $this->hasMany(Prize::class, 'gain_view_id'); } } diff --git a/app/Models/InstantWin.php b/app/Models/InstantWin.php index ecca487..4c58117 100644 --- a/app/Models/InstantWin.php +++ b/app/Models/InstantWin.php @@ -6,20 +6,46 @@ use Illuminate\Database\Eloquent\Model; class InstantWin extends Model { - - protected $table = "instant_win"; - + /** + * Indicates if the model should be timestamped. + * + * @var boolean + */ public $timestamps = false; + /** + * The relations to eager load on every query. + * + * @var array + */ protected $with = ['prize']; + /** + * The attributes that should be cast to native types. + * + * @var array + */ + protected $casts = [ + 'won' => 'bool' + ]; + + /** + * BelongsTo Prize relation + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ public function prize() { - return $this->belongsTo('App\Models\Prizes', 'prize_id'); + return $this->belongsTo(Prize::class, 'prize_id'); } + /** + * One to one relation participation + * + * @return \Illuminate\Database\Eloquent\Relations\HasOne + */ public function participation() { - return $this->hasOne('App\Models\Participation', 'instant_win_id'); + return $this->belongsTo(Participation::class); } } diff --git a/app/Models/Participation.php b/app/Models/Participation.php index db81c3b..6919406 100644 --- a/app/Models/Participation.php +++ b/app/Models/Participation.php @@ -6,37 +6,63 @@ use Illuminate\Database\Eloquent\Model; class Participation extends Model { - - protected $table = "participation"; - + /** + * BelongsTo User relation + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ public function user() { - return $this->belongsTo('App\User', 'user_id'); + return $this->belongsTo(User::class); } + /** + * BelongsTo Codes relation + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ public function code() { - return $this->belongsTo('App\Models\Codes', 'code_unique_id'); + return $this->belongsTo(Code::class, 'code_unique_id'); } - public function code_ean() + /** + * BelongsTo CodesEAN relation + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ + public function codeEan() { - return $this->belongsTo('App\Models\CodesEAN', 'code_ean_id'); + return $this->belongsTo(CodeEan::class); } - public function instant_win() + /** + * One to one InstantWin relation + * + * @return \Illuminate\Database\Eloquent\Relations\HasOne + */ + public function instantWin() { - return $this->hasOne('App\Models\InstantWin', 'participation_id'); + return $this->hasOne(InstantWin::class); } + /** + * One to one Reduction relation + * + * @return \Illuminate\Database\Eloquent\Relations\HasOne + */ public function reduction() { - return $this->hasOne('App\Models\Reductions', 'reduction_id'); + return $this->hasOne(Reduction::class); } + /** + * ean_code_value accessor + * + * @return integer|null + */ public function getCodeEanValueAttribute() { - $code = CodesEAN::find($this->code_ean_id)->code; - return $code; + return optional($this->codeEan)->code; } } diff --git a/app/Models/Prizes.php b/app/Models/Prize.php similarity index 50% rename from app/Models/Prizes.php rename to app/Models/Prize.php index 0a5be3d..6f4fc37 100644 --- a/app/Models/Prizes.php +++ b/app/Models/Prize.php @@ -4,15 +4,15 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -class Prizes extends Model +class Prize extends Model { public function gain_view() { - return $this->belongsTo('App\Models\GainView', 'gain_view_id'); + return $this->belongsTo(GainView::class, 'gain_view_id'); } public function instant_wins() { - return $this->hasMany('App\Models\InstantWin', 'prize_id'); + return $this->hasMany(InstantWin::class, 'prize_id'); } } diff --git a/app/Models/Range.php b/app/Models/Range.php index 504c88b..22b8ee0 100644 --- a/app/Models/Range.php +++ b/app/Models/Range.php @@ -6,7 +6,11 @@ use Illuminate\Database\Eloquent\Model; class Range extends Model { - + /** + * The attributes that are mass assignable. + * + * @var array + */ protected $fillable = ['name']; public function products() diff --git a/app/Models/Reduction.php b/app/Models/Reduction.php new file mode 100644 index 0000000..7323441 --- /dev/null +++ b/app/Models/Reduction.php @@ -0,0 +1,18 @@ +belongsTo(Participation::class); + } +} diff --git a/app/Models/Reductions.php b/app/Models/Reductions.php deleted file mode 100644 index bc50eb6..0000000 --- a/app/Models/Reductions.php +++ /dev/null @@ -1,13 +0,0 @@ -hasOne('App\Models\Participation', 'participation_id'); - } -} diff --git a/app/Models/Settings.php b/app/Models/Settings.php index 1b99395..b8da128 100644 --- a/app/Models/Settings.php +++ b/app/Models/Settings.php @@ -6,7 +6,6 @@ use Illuminate\Database\Eloquent\Model; class Settings extends Model { - /** * The attributes that should be cast to native types. * diff --git a/app/User.php b/app/Models/User.php similarity index 82% rename from app/User.php rename to app/Models/User.php index 8de79e3..cc656bb 100644 --- a/app/User.php +++ b/app/Models/User.php @@ -1,6 +1,6 @@ 'datetime', ]; + /** + * Has Many Participation relation + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ public function participations() { - return $this->hasMany('App\Models\Participation', 'user_id'); + return $this->hasMany(Participation::class, 'user_id'); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 106e3b1..80e2a73 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,25 +2,19 @@ namespace App\Providers; -use App\Models\Prizes; +use App\Models\Prize; use App\Models\Settings; +use Illuminate\Pagination\Paginator; +use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\Blade; +use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { - /** - * Register any application services. - * - * @return void - */ - public function register() - { - // - } - /** * Bootstrap any application services. * @@ -28,11 +22,32 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - if (config('app.env') !== 'local') { - \URL::forceScheme('https'); + // * LOCAL HTTPS FIX. + if (!in_array(config('app.env'), ['local', 'testing'])) { + URL::forceScheme('https'); + } + // * HA PROXY FIX. + App::singleton('clientIp', function () { + if ( + config('app.env') === 'local' + ) { + return request()->getClientIp(); + } else { + return request()->server('HTTP_X_FORWARDED_FOR') ?? + request()->getClientIp(); + } + }); + // * LOCAL FORCE eg: for Carbon. + setlocale(LC_ALL, \sprintf( + '%s_%s.UTF-8', + config('app.locale'), + \strtoupper(config('app.locale')) + )); + Carbon::setLocale(config('app.locale')); + // * FORCE BOOTSTRAP PAGINATOR. + if (!app()->runningInConsole()) { + Paginator::useBootstrap(); } - - setlocale(LC_TIME, config('app.locale') . "_" . strtoupper(config('app.locale')) . '.utf8'); app()->singleton(Settings::class, function () { if (!($settings = Settings::find(1))) { @@ -42,18 +57,20 @@ class AppServiceProvider extends ServiceProvider }); if (!app()->runningInConsole()) { - // On ramène le nom du jeu et le nom de la société sur toute les pages + // On ramène le nom du jeu et le nom de la société sur toute les pages. $settingsGlobal = Cache::get('settingsGlobal'); if (!$settingsGlobal) { - $settingsGlobal = app(Settings::class)->select('name', 'company', 'analytics', 'start_date', 'end_date')->first(); + $settingsGlobal = app(Settings::class) + ->select('name', 'company', 'analytics', 'start_date', 'end_date') + ->first(); Cache::put('settingsGlobal', $settingsGlobal); } View::share('settingsGlobal', $settingsGlobal); - // On ramène aussi tout les prix car on en a besoin sur le header + // On ramène aussi tout les prix car on en a besoin sur le header. $prizesGlobal = Cache::get('prizesGlobal'); if (!$prizesGlobal) { - $prizesGlobal = Prizes::all(); + $prizesGlobal = Prize::all(); Cache::put('prizesGlobal', $prizesGlobal); } View::share('prizesGlobal', $prizesGlobal); @@ -62,6 +79,6 @@ class AppServiceProvider extends ServiceProvider Blade::if('superadmin', function () { return auth()->user() && auth()->user()->role == 1; }); - } + }//end if } } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index cbf066c..3ffc67d 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -6,15 +6,12 @@ use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvid class AuthServiceProvider extends ServiceProvider { - /** * The policy mappings for the application. * * @var array */ - protected $policies = [ - // 'App\Model' => 'App\Policies\ModelPolicy', - ]; + protected $policies = []; /** * Register any authentication / authorization services. @@ -24,7 +21,5 @@ class AuthServiceProvider extends ServiceProvider public function boot() { $this->registerPolicies(); - - // } } diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 8463253..fcdee6b 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -8,7 +8,6 @@ use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvi class EventServiceProvider extends ServiceProvider { - /** * The event listener mappings for the application. * @@ -19,16 +18,4 @@ class EventServiceProvider extends ServiceProvider SendEmailVerificationNotification::class, ], ]; - - /** - * Register any events for your application. - * - * @return void - */ - public function boot() - { - parent::boot(); - - // - } } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 3cb7cf8..b728d32 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -2,12 +2,14 @@ namespace App\Providers; +use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Route; class RouteServiceProvider extends ServiceProvider { - /** * This namespace is applied to your controller routes. * @@ -15,7 +17,7 @@ class RouteServiceProvider extends ServiceProvider * * @var string */ - protected $namespace = 'App\Http\Controllers'; + protected $namespace = null; /** * The path to the "home" route for your application. @@ -31,51 +33,38 @@ class RouteServiceProvider extends ServiceProvider */ public function boot() { - // + $this->configureRateLimiting(); - parent::boot(); - } + $this->routes(function () { - /** - * Define the routes for the application. - * - * @return void - */ - public function map() - { - $this->mapApiRoutes(); - - $this->mapWebRoutes(); - - // - } - - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapWebRoutes() - { - Route::middleware('web') + Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); + + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web-bo.php')); + + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web-re7.php')); + + Route::prefix('api') + ->middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); + }); } /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. + * Configure the rate limiters for the application. * * @return void */ - protected function mapApiRoutes() + protected function configureRateLimiting() { - Route::prefix('api') - ->middleware('api') - ->namespace($this->namespace) - ->group(base_path('routes/api.php')); + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); + }); } } diff --git a/composer.json b/composer.json index a373091..ca3683b 100644 --- a/composer.json +++ b/composer.json @@ -8,24 +8,25 @@ ], "license": "MIT", "require": { - "php": "^7.2.5", + "php": "^7.3", "ext-curl": "*", "ext-json": "*", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^2.0", - "guzzlehttp/guzzle": "^6.3", + "guzzlehttp/guzzle": "^7.0.1", + "kwaadpepper/exception-handler": "^0.0.6", "kwaadpepper/serial-int-caster": "^1.0", - "laravel/framework": "^7.24", + "laravel/framework": "^8.0", "laravel/tinker": "^2.0", - "laravel/ui": "2.4" + "laravel/ui": "^3.0" }, "require-dev": { "doctrine/dbal": "^2.0", - "facade/ignition": "^2.0", + "facade/ignition": "^2.3.6", "fzaninotto/faker": "^1.9.1", "mockery/mockery": "^1.3.1", - "nunomaduro/collision": "^4.1", - "phpunit/phpunit": "^8.5", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.0", "slevomat/coding-standard": "^7.0", "squizlabs/php_codesniffer": "^3.6" }, @@ -41,11 +42,11 @@ }, "autoload": { "psr-4": { - "App\\": "app/" + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" }, "classmap": [ - "database/seeds", - "database/factories", "class" ] }, diff --git a/composer.lock b/composer.lock index a72d65b..285ff02 100644 --- a/composer.lock +++ b/composer.lock @@ -4,26 +4,26 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a1071d5ef8b5a8f12e458a6866973b27", + "content-hash": "bd553522eb8eb68c6c6662ee2c92d282", "packages": [ { "name": "asm89/stack-cors", - "version": "v2.0.3", + "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/asm89/stack-cors.git", - "reference": "9cb795bf30988e8c96dd3c40623c48a877bc6714" + "reference": "7a198ec737e926eab15d29368fc6fff66772b0e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/asm89/stack-cors/zipball/9cb795bf30988e8c96dd3c40623c48a877bc6714", - "reference": "9cb795bf30988e8c96dd3c40623c48a877bc6714", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/7a198ec737e926eab15d29368fc6fff66772b0e2", + "reference": "7a198ec737e926eab15d29368fc6fff66772b0e2", "shasum": "" }, "require": { "php": "^7.0|^8.0", - "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0", - "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0" + "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0|~6.0", + "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0|~6.0" }, "require-dev": { "phpunit/phpunit": "^6|^7|^8|^9", @@ -58,9 +58,9 @@ ], "support": { "issues": "https://github.com/asm89/stack-cors/issues", - "source": "https://github.com/asm89/stack-cors/tree/v2.0.3" + "source": "https://github.com/asm89/stack-cors/tree/v2.0.5" }, - "time": "2021-03-11T06:42:03+00:00" + "time": "2022-01-03T15:27:13+00:00" }, { "name": "brick/math", @@ -124,34 +124,30 @@ }, { "name": "doctrine/inflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "doctrine/coding-standard": "^8.2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.10" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" @@ -199,7 +195,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.x" + "source": "https://github.com/doctrine/inflector/tree/2.0.4" }, "funding": [ { @@ -215,7 +211,7 @@ "type": "tidelift" } ], - "time": "2020-05-29T15:13:26+00:00" + "time": "2021-10-22T20:16:43+00:00" }, { "name": "doctrine/lexer", @@ -299,30 +295,32 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v2.3.1", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2" + "reference": "47c53bbb260d3c398fba9bfa9683dcf67add2579" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/47c53bbb260d3c398fba9bfa9683dcf67add2579", + "reference": "47c53bbb260d3c398fba9bfa9683dcf67add2579", "shasum": "" }, "require": { - "php": "^7.0|^8.0" + "php": "^7.2|^8.0", + "webmozart/assert": "^1.7.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^6.4|^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12.7", + "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -333,11 +331,6 @@ "MIT" ], "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, { "name": "Chris Tankersley", "email": "chris@ctankersley.com", @@ -351,7 +344,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.2.3" }, "funding": [ { @@ -359,7 +352,7 @@ "type": "github" } ], - "time": "2020-10-13T00:52:37+00:00" + "time": "2022-01-06T05:35:07+00:00" }, { "name": "egulias/email-validator", @@ -489,16 +482,16 @@ }, { "name": "fruitcake/laravel-cors", - "version": "v2.0.4", + "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/fruitcake/laravel-cors.git", - "reference": "a8ccedc7ca95189ead0e407c43b530dc17791d6a" + "reference": "3a066e5cac32e2d1cdaacd6b961692778f37b5fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/a8ccedc7ca95189ead0e407c43b530dc17791d6a", - "reference": "a8ccedc7ca95189ead0e407c43b530dc17791d6a", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/3a066e5cac32e2d1cdaacd6b961692778f37b5fc", + "reference": "3a066e5cac32e2d1cdaacd6b961692778f37b5fc", "shasum": "" }, "require": { @@ -506,11 +499,11 @@ "illuminate/contracts": "^6|^7|^8|^9", "illuminate/support": "^6|^7|^8|^9", "php": ">=7.2", - "symfony/http-foundation": "^4|^5", - "symfony/http-kernel": "^4.3.4|^5" + "symfony/http-foundation": "^4|^5|^6", + "symfony/http-kernel": "^4.3.4|^5|^6" }, "require-dev": { - "laravel/framework": "^6|^7|^8", + "laravel/framework": "^6|^7.24|^8", "orchestra/testbench-dusk": "^4|^5|^6|^7", "phpunit/phpunit": "^6|^7|^8|^9", "squizlabs/php_codesniffer": "^3.5" @@ -554,49 +547,123 @@ ], "support": { "issues": "https://github.com/fruitcake/laravel-cors/issues", - "source": "https://github.com/fruitcake/laravel-cors/tree/v2.0.4" + "source": "https://github.com/fruitcake/laravel-cors/tree/v2.0.5" }, "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, { "url": "https://github.com/barryvdh", "type": "github" } ], - "time": "2021-04-26T11:24:25+00:00" + "time": "2022-01-03T14:53:04+00:00" }, { - "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "name": "graham-campbell/result-type", + "version": "v1.0.4", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "0690bde05318336c7221785f2a932467f98b64ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/0690bde05318336c7221785f2a932467f98b64ca", + "reference": "0690bde05318336c7221785f2a932467f98b64ca", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "phpoption/phpoption": "^1.8" + }, + "require-dev": { + "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.4" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2021-11-21T21:41:47+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.4.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79", + "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "guzzlehttp/promises": "^1.5", + "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.1" + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5-dev" + "dev-master": "7.4-dev" } }, "autoload": { @@ -612,41 +679,86 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", "keywords": [ "client", "curl", "framework", "http", "http client", + "psr-18", + "psr-7", "rest", "web service" ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/6.5" + "source": "https://github.com/guzzle/guzzle/tree/7.4.1" }, - "time": "2020-06-16T21:01:06+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2021-12-06T18:43:05+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.4.1", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", "shasum": "" }, "require": { @@ -658,7 +770,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -674,10 +786,25 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle promises library", @@ -686,35 +813,52 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.1" + "source": "https://github.com/guzzle/promises/tree/1.5.1" }, - "time": "2021-03-07T09:25:29+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2021-10-22T20:56:57+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.2", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91" + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -722,30 +866,53 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.1-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, { "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -761,9 +928,84 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.2" + "source": "https://github.com/guzzle/psr7/tree/2.1.0" }, - "time": "2021-04-26T09:17:50+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-06T17:43:30+00:00" + }, + { + "name": "kwaadpepper/exception-handler", + "version": "0.0.6", + "source": { + "type": "git", + "url": "https://github.com/Kwaadpepper/exception-handler.git", + "reference": "9e17a9c0a43755d91cb98717e3fc7ba17db0c1c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Kwaadpepper/exception-handler/zipball/9e17a9c0a43755d91cb98717e3fc7ba17db0c1c7", + "reference": "9e17a9c0a43755d91cb98717e3fc7ba17db0c1c7", + "shasum": "" + }, + "require": { + "illuminate/support": "~7|~8", + "laravel/framework": "~7|~8" + }, + "require-dev": { + "orchestra/testbench": "^6.13", + "phpunit/phpunit": "~9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Kwaadpepper\\ExceptionHandler\\ExceptionHandlerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Kwaadpepper\\ExceptionHandler\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jérémy Munsch", + "email": "github@jeremydev.ovh", + "homepage": "https://jeremydev.ovh" + } + ], + "description": "Send emails when exceptions occurs", + "homepage": "https://github.com/kwaadpepper/exception-handler", + "keywords": [ + "email", + "exception", + "laravel", + "policies" + ], + "support": { + "issues": "https://github.com/Kwaadpepper/exception-handler/issues", + "source": "https://github.com/Kwaadpepper/exception-handler/tree/0.0.6" + }, + "time": "2021-12-01T08:54:11+00:00" }, { "name": "kwaadpepper/serial-int-caster", @@ -811,60 +1053,63 @@ }, { "name": "laravel/framework", - "version": "v7.30.4", + "version": "v8.78.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "9dd38140dc2924daa1a020a3d7a45f9ceff03df3" + "reference": "16359b5ebafba6579b397d7505b082a6d1bb2e31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/9dd38140dc2924daa1a020a3d7a45f9ceff03df3", - "reference": "9dd38140dc2924daa1a020a3d7a45f9ceff03df3", + "url": "https://api.github.com/repos/laravel/framework/zipball/16359b5ebafba6579b397d7505b082a6d1bb2e31", + "reference": "16359b5ebafba6579b397d7505b082a6d1bb2e31", "shasum": "" }, "require": { "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^2.3.1", + "dragonmantank/cron-expression": "^3.0.2", "egulias/email-validator": "^2.1.10", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/commonmark": "^1.3", + "laravel/serializable-closure": "^1.0", + "league/commonmark": "^1.3|^2.0.2", "league/flysystem": "^1.1", "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", + "nesbot/carbon": "^2.53.1", "opis/closure": "^3.6", - "php": "^7.2.5|^8.0", + "php": "^7.3|^8.0", "psr/container": "^1.0", + "psr/log": "^1.0|^2.0", "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7|^4.0", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^5.0", - "symfony/error-handler": "^5.0", - "symfony/finder": "^5.0", - "symfony/http-foundation": "^5.0", - "symfony/http-kernel": "^5.0", - "symfony/mime": "^5.0", - "symfony/polyfill-php73": "^1.17", - "symfony/process": "^5.0", - "symfony/routing": "^5.0", - "symfony/var-dumper": "^5.0", + "ramsey/uuid": "^4.2.2", + "swiftmailer/swiftmailer": "^6.3", + "symfony/console": "^5.4", + "symfony/error-handler": "^5.4", + "symfony/finder": "^5.4", + "symfony/http-foundation": "^5.4", + "symfony/http-kernel": "^5.4", + "symfony/mime": "^5.4", + "symfony/process": "^5.4", + "symfony/routing": "^5.4", + "symfony/var-dumper": "^5.4", "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^4.0", + "vlucas/phpdotenv": "^5.2", "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" }, "provide": { - "psr/container-implementation": "1.0" + "psr/container-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" }, "replace": { "illuminate/auth": "self.version", "illuminate/broadcasting": "self.version", "illuminate/bus": "self.version", "illuminate/cache": "self.version", + "illuminate/collections": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -877,6 +1122,7 @@ "illuminate/hashing": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", + "illuminate/macroable": "self.version", "illuminate/mail": "self.version", "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", @@ -892,22 +1138,23 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.155", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.8", - "guzzlehttp/guzzle": "^6.3.1|^7.0.1", + "aws/aws-sdk-php": "^3.198.1", + "doctrine/dbal": "^2.13.3|^3.1.4", + "filp/whoops": "^2.14.3", + "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "~1.3.3|^1.4.2", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "^5.8", + "mockery/mockery": "^1.4.4", + "orchestra/testbench-core": "^6.27", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.4|^9.3.3", - "predis/predis": "^1.1.1", - "symfony/cache": "^5.0" + "phpunit/phpunit": "^8.5.19|^9.5.8", + "predis/predis": "^1.1.9", + "symfony/cache": "^5.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", + "ext-bcmath": "Required to use the multiple_of validation rule.", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", @@ -915,38 +1162,43 @@ "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.3.1|^7.0.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (~1.3.3|^1.4.2).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "mockery/mockery": "Required to use mocking (^1.4.4).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.3.3).", - "predis/predis": "Required to use the predis connector (^1.1.2).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", + "predis/predis": "Required to use the predis connector (^1.1.9).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", - "symfony/filesystem": "Required to create relative storage directory symbolic links (^5.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.4).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.4).", "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { - "Illuminate\\": "src/Illuminate/" + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -969,20 +1221,79 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-01-21T14:10:48+00:00" + "time": "2022-01-05T14:52:50+00:00" }, { - "name": "laravel/tinker", - "version": "v2.6.1", + "name": "laravel/serializable-closure", + "version": "v1.0.5", "source": { "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "04ad32c1a3328081097a181875733fa51f402083" + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "25de3be1bca1b17d52ff0dc02b646c667ac7266c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/04ad32c1a3328081097a181875733fa51f402083", - "reference": "04ad32c1a3328081097a181875733fa51f402083", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/25de3be1bca1b17d52ff0dc02b646c667ac7266c", + "reference": "25de3be1bca1b17d52ff0dc02b646c667ac7266c", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.18", + "phpstan/phpstan": "^0.12.98", + "symfony/var-dumper": "^5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2021-11-30T15:53:04+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.6.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "a9ddee4761ec8453c584e393b393caff189a3e42" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/a9ddee4761ec8453c584e393b393caff189a3e42", + "reference": "a9ddee4761ec8453c584e393b393caff189a3e42", "shasum": "" }, "require": { @@ -1035,36 +1346,39 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.6.1" + "source": "https://github.com/laravel/tinker/tree/v2.6.3" }, - "time": "2021-03-02T16:53:12+00:00" + "time": "2021-12-07T16:41:42+00:00" }, { "name": "laravel/ui", - "version": "v2.4.0", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "f5398544a9cd4804a42d09ce51735e37cd51ea2d" + "reference": "9a1e52442dd238647905b98d773d59e438eb9f9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/f5398544a9cd4804a42d09ce51735e37cd51ea2d", - "reference": "f5398544a9cd4804a42d09ce51735e37cd51ea2d", + "url": "https://api.github.com/repos/laravel/ui/zipball/9a1e52442dd238647905b98d773d59e438eb9f9d", + "reference": "9a1e52442dd238647905b98d773d59e438eb9f9d", "shasum": "" }, "require": { - "illuminate/console": "^7.0", - "illuminate/filesystem": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5" + "illuminate/console": "^8.42|^9.0", + "illuminate/filesystem": "^8.42|^9.0", + "illuminate/support": "^8.42|^9.0", + "illuminate/validation": "^8.42|^9.0", + "php": "^7.3|^8.0" }, "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^8.0" + "orchestra/testbench": "^6.23|^7.0" }, "type": "library", "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, "laravel": { "providers": [ "Laravel\\Ui\\UiServiceProvider" @@ -1093,10 +1407,9 @@ "ui" ], "support": { - "issues": "https://github.com/laravel/ui/issues", - "source": "https://github.com/laravel/ui/tree/v2.4.0" + "source": "https://github.com/laravel/ui/tree/v3.4.1" }, - "time": "2020-09-11T15:31:52+00:00" + "time": "2021-12-22T10:40:50+00:00" }, { "name": "league/commonmark", @@ -1201,16 +1514,16 @@ }, { "name": "league/flysystem", - "version": "1.1.5", + "version": "1.1.9", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea" + "reference": "094defdb4a7001845300334e7c1ee2335925ef99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/18634df356bfd4119fe3d6156bdb990c414c14ea", - "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99", + "reference": "094defdb4a7001845300334e7c1ee2335925ef99", "shasum": "" }, "require": { @@ -1283,7 +1596,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.5" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.9" }, "funding": [ { @@ -1291,20 +1604,20 @@ "type": "other" } ], - "time": "2021-08-17T13:49:42+00:00" + "time": "2021-12-09T09:40:50+00:00" }, { "name": "league/mime-type-detection", - "version": "1.7.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" + "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69", + "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69", "shasum": "" }, "require": { @@ -1312,7 +1625,7 @@ "php": "^7.2 || ^8.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", + "friendsofphp/php-cs-fixer": "^3.2", "phpstan/phpstan": "^0.12.68", "phpunit/phpunit": "^8.5.8 || ^9.3" }, @@ -1335,7 +1648,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0" }, "funding": [ { @@ -1347,28 +1660,28 @@ "type": "tidelift" } ], - "time": "2021-01-18T20:58:21+00:00" + "time": "2021-11-21T11:48:40+00:00" }, { "name": "monolog/monolog", - "version": "2.3.2", + "version": "2.3.5", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "71312564759a7db5b789296369c1a264efc43aad" + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad", - "reference": "71312564759a7db5b789296369c1a264efc43aad", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", "shasum": "" }, "require": { "php": ">=7.2", - "psr/log": "^1.0.1" + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "1.0.0" + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" }, "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", @@ -1376,14 +1689,14 @@ "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", + "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", "phpstan/phpstan": "^0.12.91", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <7.0.1", + "ruflin/elastica": ">=0.90@dev", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { @@ -1391,8 +1704,11 @@ "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", "ext-mbstring": "Allow to work properly with unicode symbols", "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", @@ -1431,7 +1747,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.2" + "source": "https://github.com/Seldaek/monolog/tree/2.3.5" }, "funding": [ { @@ -1443,20 +1759,20 @@ "type": "tidelift" } ], - "time": "2021-07-23T07:42:52+00:00" + "time": "2021-10-01T21:08:31+00:00" }, { "name": "nesbot/carbon", - "version": "2.51.1", + "version": "2.55.2", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922" + "reference": "8c2a18ce3e67c34efc1b29f64fe61304368259a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", - "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8c2a18ce3e67c34efc1b29f64fe61304368259a2", + "reference": "8c2a18ce3e67c34efc1b29f64fe61304368259a2", "shasum": "" }, "require": { @@ -1464,11 +1780,12 @@ "php": "^7.1.8 || ^8.0", "symfony/polyfill-mbstring": "^1.0", "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0" + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { + "doctrine/dbal": "^2.0 || ^3.0", "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", @@ -1524,6 +1841,7 @@ "time" ], "support": { + "docs": "https://carbon.nesbot.com/docs", "issues": "https://github.com/briannesbitt/Carbon/issues", "source": "https://github.com/briannesbitt/Carbon" }, @@ -1537,20 +1855,20 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:16:28+00:00" + "time": "2021-12-03T14:59:52+00:00" }, { "name": "nikic/php-parser", - "version": "v4.12.0", + "version": "v4.13.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "6608f01670c3cc5079e18c1dab1104e002579143" + "reference": "210577fe3cf7badcc5814d99455df46564f3c077" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143", - "reference": "6608f01670c3cc5079e18c1dab1104e002579143", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", + "reference": "210577fe3cf7badcc5814d99455df46564f3c077", "shasum": "" }, "require": { @@ -1591,9 +1909,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2" }, - "time": "2021-07-21T10:44:31+00:00" + "time": "2021-11-30T19:35:32+00:00" }, { "name": "opis/closure", @@ -1662,29 +1980,29 @@ }, { "name": "phpoption/phpoption", - "version": "1.7.5", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", + "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" + "php": "^7.0 || ^8.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -1699,11 +2017,13 @@ "authors": [ { "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" }, { "name": "Graham Campbell", - "email": "graham@alt-three.com" + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" } ], "description": "Option Type for PHP", @@ -1715,7 +2035,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + "source": "https://github.com/schmittjoh/php-option/tree/1.8.1" }, "funding": [ { @@ -1727,7 +2047,7 @@ "type": "tidelift" } ], - "time": "2020-07-20T17:29:33+00:00" + "time": "2021-12-04T23:24:31+00:00" }, { "name": "psr/container", @@ -1827,6 +2147,113 @@ }, "time": "2019-01-08T18:20:26+00:00" }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -1983,16 +2410,16 @@ }, { "name": "psy/psysh", - "version": "v0.10.8", + "version": "v0.10.12", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" + "reference": "a0d9981aa07ecfcbea28e4bfa868031cca121e7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a0d9981aa07ecfcbea28e4bfa868031cca121e7d", + "reference": "a0d9981aa07ecfcbea28e4bfa868031cca121e7d", "shasum": "" }, "require": { @@ -2052,9 +2479,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" + "source": "https://github.com/bobthecow/psysh/tree/v0.10.12" }, - "time": "2021-04-10T16:23:39+00:00" + "time": "2021-11-30T14:05:36+00:00" }, { "name": "ralouphie/getallheaders", @@ -2102,16 +2529,16 @@ }, { "name": "ramsey/collection", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa" + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa", - "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", "shasum": "" }, "require": { @@ -2165,7 +2592,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.2.1" + "source": "https://github.com/ramsey/collection/tree/1.2.2" }, "funding": [ { @@ -2177,28 +2604,29 @@ "type": "tidelift" } ], - "time": "2021-08-06T03:41:06+00:00" + "time": "2021-10-10T03:01:02+00:00" }, { "name": "ramsey/uuid", - "version": "4.2.1", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae" + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fe665a03df4f056aa65af552a96e1976df8c8dae", - "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", "shasum": "" }, "require": { "brick/math": "^0.8 || ^0.9", "ext-json": "*", - "php": "^7.2 || ^8", + "php": "^7.2 || ^8.0", "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8" + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php80": "^1.14" }, "replace": { "rhumsaa/uuid": "self.version" @@ -2262,7 +2690,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.2.1" + "source": "https://github.com/ramsey/uuid/tree/4.2.3" }, "funding": [ { @@ -2274,20 +2702,20 @@ "type": "tidelift" } ], - "time": "2021-08-11T01:06:55+00:00" + "time": "2021-09-25T23:10:38+00:00" }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.7", + "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933" + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", "shasum": "" }, "require": { @@ -2299,7 +2727,7 @@ }, "require-dev": { "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" + "symfony/phpunit-bridge": "^4.4|^5.4" }, "suggest": { "ext-intl": "Needed to support internationalized email addresses" @@ -2337,7 +2765,7 @@ ], "support": { "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" }, "funding": [ { @@ -2349,30 +2777,31 @@ "type": "tidelift" } ], - "time": "2021-03-09T12:30:35+00:00" + "abandoned": "symfony/mailer", + "time": "2021-10-18T15:26:12+00:00" }, { "name": "symfony/console", - "version": "v5.3.6", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" + "reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", - "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "url": "https://api.github.com/repos/symfony/console/zipball/a2c6b7ced2eb7799a35375fb9022519282b5405e", + "reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" }, "conflict": { "psr/log": ">=3", @@ -2387,12 +2816,12 @@ }, "require-dev": { "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -2432,7 +2861,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.3.6" + "source": "https://github.com/symfony/console/tree/v5.4.2" }, "funding": [ { @@ -2448,20 +2877,20 @@ "type": "tidelift" } ], - "time": "2021-07-27T19:10:22+00:00" + "time": "2021-12-20T16:11:12+00:00" }, { "name": "symfony/css-selector", - "version": "v5.3.4", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "7fb120adc7f600a59027775b224c13a33530dd90" + "reference": "cfcbee910e159df402603502fe387e8b677c22fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90", - "reference": "7fb120adc7f600a59027775b224c13a33530dd90", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/cfcbee910e159df402603502fe387e8b677c22fd", + "reference": "cfcbee910e159df402603502fe387e8b677c22fd", "shasum": "" }, "require": { @@ -2498,7 +2927,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.3.4" + "source": "https://github.com/symfony/css-selector/tree/v5.4.2" }, "funding": [ { @@ -2514,20 +2943,20 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:38:00+00:00" + "time": "2021-12-16T21:58:21+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.4.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8", + "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8", "shasum": "" }, "require": { @@ -2536,7 +2965,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2565,7 +2994,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0" }, "funding": [ { @@ -2581,32 +3010,35 @@ "type": "tidelift" } ], - "time": "2021-03-23T23:28:01+00:00" + "time": "2021-07-12T14:48:14+00:00" }, { "name": "symfony/error-handler", - "version": "v5.3.4", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73" + "reference": "e0c0dd0f9d4120a20158fc9aec2367d07d38bc56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/281f6c4660bcf5844bb0346fe3a4664722fe4c73", - "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/e0c0dd0f9d4120a20158fc9aec2367d07d38bc56", + "reference": "e0c0dd0f9d4120a20158fc9aec2367d07d38bc56", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4.4|^5.0" + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "require-dev": { - "symfony/deprecation-contracts": "^2.1", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], "type": "library", "autoload": { "psr-4": { @@ -2633,7 +3065,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.3.4" + "source": "https://github.com/symfony/error-handler/tree/v5.4.2" }, "funding": [ { @@ -2649,26 +3081,26 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-12-19T20:02:00+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.3.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f2fd2208157553874560f3645d4594303058c4bd" + "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f2fd2208157553874560f3645d4594303058c4bd", - "reference": "f2fd2208157553874560f3645d4594303058c4bd", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb", + "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/event-dispatcher-contracts": "^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^2|^3", "symfony/polyfill-php80": "^1.16" }, "conflict": { @@ -2680,13 +3112,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/error-handler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^4.4|^5.0" + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/dependency-injection": "", @@ -2718,7 +3150,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.4" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.0" }, "funding": [ { @@ -2734,20 +3166,20 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-11-23T10:19:22+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.4.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" + "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a", + "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a", "shasum": "" }, "require": { @@ -2760,7 +3192,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2797,7 +3229,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0" }, "funding": [ { @@ -2813,24 +3245,25 @@ "type": "tidelift" } ], - "time": "2021-03-23T23:28:01+00:00" + "time": "2021-07-12T14:48:14+00:00" }, { "name": "symfony/finder", - "version": "v5.3.4", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "17f50e06018baec41551a71a15731287dbaab186" + "reference": "e77046c252be48c48a40816187ed527703c8f76c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186", - "reference": "17f50e06018baec41551a71a15731287dbaab186", + "url": "https://api.github.com/repos/symfony/finder/zipball/e77046c252be48c48a40816187ed527703c8f76c", + "reference": "e77046c252be48c48a40816187ed527703c8f76c", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16" }, "type": "library", @@ -2859,7 +3292,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.3.4" + "source": "https://github.com/symfony/finder/tree/v5.4.2" }, "funding": [ { @@ -2875,111 +3308,33 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:54:19+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/http-client-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-04-11T23:07:08+00:00" + "time": "2021-12-15T11:06:13+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.3.6", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75" + "reference": "ce952af52877eaf3eab5d0c08cc0ea865ed37313" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", - "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ce952af52877eaf3eab5d0c08cc0ea865ed37313", + "reference": "ce952af52877eaf3eab5d0c08cc0ea865ed37313", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php80": "^1.16" }, "require-dev": { "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0" + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/mime": "To use the file extension guesser" @@ -3010,7 +3365,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.6" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.2" }, "funding": [ { @@ -3026,36 +3381,35 @@ "type": "tidelift" } ], - "time": "2021-07-27T17:08:17+00:00" + "time": "2021-12-28T17:15:56+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.3.6", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0" + "reference": "35b7e9868953e0d1df84320bb063543369e43ef5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0", - "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/35b7e9868953e0d1df84320bb063543369e43ef5", + "reference": "35b7e9868953e0d1df84320bb063543369e43ef5", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/log": "^1|^2", - "symfony/deprecation-contracts": "^2.1", - "symfony/error-handler": "^4.4|^5.0", - "symfony/event-dispatcher": "^5.0", - "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^5.3", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^5.0|^6.0", + "symfony/http-foundation": "^5.3.7|^6.0", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.16" }, "conflict": { - "symfony/browser-kit": "<4.4", + "symfony/browser-kit": "<5.4", "symfony/cache": "<5.0", "symfony/config": "<5.0", "symfony/console": "<4.4", @@ -3075,19 +3429,20 @@ }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^4.4|^5.0", - "symfony/config": "^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.3", - "symfony/dom-crawler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/routing": "^4.4|^5.0", - "symfony/stopwatch": "^4.4|^5.0", - "symfony/translation": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/config": "^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/dom-crawler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2|^3", "twig/twig": "^2.13|^3.0.4" }, "suggest": { @@ -3122,7 +3477,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.6" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.2" }, "funding": [ { @@ -3138,25 +3493,25 @@ "type": "tidelift" } ], - "time": "2021-07-29T07:06:27+00:00" + "time": "2021-12-29T13:20:26+00:00" }, { "name": "symfony/mime", - "version": "v5.3.4", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "633e4e8afe9e529e5599d71238849a4218dd497b" + "reference": "1bfd938cf9562822c05c4d00e8f92134d3c8e42d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/633e4e8afe9e529e5599d71238849a4218dd497b", - "reference": "633e4e8afe9e529e5599d71238849a4218dd497b", + "url": "https://api.github.com/repos/symfony/mime/zipball/1bfd938cf9562822c05c4d00e8f92134d3c8e42d", + "reference": "1bfd938cf9562822c05c4d00e8f92134d3c8e42d", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0", "symfony/polyfill-php80": "^1.16" @@ -3170,10 +3525,10 @@ "require-dev": { "egulias/email-validator": "^2.1.10|^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/property-access": "^4.4|^5.1", - "symfony/property-info": "^4.4|^5.1", - "symfony/serializer": "^5.2" + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.1|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/serializer": "^5.2|^6.0" }, "type": "library", "autoload": { @@ -3205,7 +3560,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.3.4" + "source": "https://github.com/symfony/mime/tree/v5.4.2" }, "funding": [ { @@ -3221,25 +3576,28 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:40:44+00:00" + "time": "2021-12-28T17:15:56+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + "reference": "30885182c981ab175d4d034db0f6f469898070ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-ctype": "*" + }, "suggest": { "ext-ctype": "For best performance" }, @@ -3284,7 +3642,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0" }, "funding": [ { @@ -3300,25 +3658,28 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-10-20T20:35:02+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", + "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-iconv": "*" + }, "suggest": { "ext-iconv": "For best performance" }, @@ -3364,7 +3725,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.24.0" }, "funding": [ { @@ -3380,20 +3741,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2022-01-04T09:04:05+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", - "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", "shasum": "" }, "require": { @@ -3445,7 +3806,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0" }, "funding": [ { @@ -3461,20 +3822,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2021-11-23T21:10:46+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44", "shasum": "" }, "require": { @@ -3532,7 +3893,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" }, "funding": [ { @@ -3548,11 +3909,11 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2021-09-14T14:02:44+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -3616,7 +3977,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" }, "funding": [ { @@ -3636,21 +3997,24 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, @@ -3696,7 +4060,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" }, "funding": [ { @@ -3712,11 +4076,11 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2021-11-30T18:21:41+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", @@ -3772,7 +4136,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.24.0" }, "funding": [ { @@ -3792,16 +4156,16 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", "shasum": "" }, "require": { @@ -3851,7 +4215,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.24.0" }, "funding": [ { @@ -3867,20 +4231,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-06-05T21:20:04+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9", + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9", "shasum": "" }, "require": { @@ -3934,7 +4298,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0" }, "funding": [ { @@ -3950,20 +4314,20 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:41:28+00:00" + "time": "2021-09-13T13:58:33+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "e66119f3de95efc359483f810c4c3e6436279436" + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", - "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", "shasum": "" }, "require": { @@ -4013,7 +4377,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.24.0" }, "funding": [ { @@ -4029,20 +4393,20 @@ "type": "tidelift" } ], - "time": "2021-05-21T13:25:03+00:00" + "time": "2021-09-13T13:58:11+00:00" }, { "name": "symfony/process", - "version": "v5.3.4", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030" + "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030", - "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030", + "url": "https://api.github.com/repos/symfony/process/zipball/2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", + "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", "shasum": "" }, "require": { @@ -4075,7 +4439,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.3.4" + "source": "https://github.com/symfony/process/tree/v5.4.2" }, "funding": [ { @@ -4091,25 +4455,25 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:54:19+00:00" + "time": "2021-12-27T21:01:00+00:00" }, { "name": "symfony/routing", - "version": "v5.3.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4" + "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0a35d2f57d73c46ab6d042ced783b81d09a624c4", - "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4", + "url": "https://api.github.com/repos/symfony/routing/zipball/9eeae93c32ca86746e5d38f3679e9569981038b1", + "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16" }, "conflict": { @@ -4121,11 +4485,11 @@ "require-dev": { "doctrine/annotations": "^1.12", "psr/log": "^1|^2|^3", - "symfony/config": "^5.3", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/config": "For using the all-in-one router or any loader", @@ -4165,7 +4529,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.3.4" + "source": "https://github.com/symfony/routing/tree/v5.4.0" }, "funding": [ { @@ -4181,25 +4545,29 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-11-23T10:19:22+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.4.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" + "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc", + "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.1" + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, "suggest": { "symfony/service-implementation": "" @@ -4207,7 +4575,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4244,7 +4612,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.0" }, "funding": [ { @@ -4260,20 +4628,20 @@ "type": "tidelift" } ], - "time": "2021-04-01T10:43:52+00:00" + "time": "2021-11-04T16:48:04+00:00" }, { "name": "symfony/string", - "version": "v5.3.3", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" + "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", - "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "url": "https://api.github.com/repos/symfony/string/zipball/e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", + "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", "shasum": "" }, "require": { @@ -4284,11 +4652,14 @@ "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php80": "~1.15" }, + "conflict": { + "symfony/translation-contracts": ">=3.0" + }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" + "symfony/var-exporter": "^4.4|^5.0|^6.0" }, "type": "library", "autoload": { @@ -4327,7 +4698,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.3.3" + "source": "https://github.com/symfony/string/tree/v5.4.2" }, "funding": [ { @@ -4343,31 +4714,32 @@ "type": "tidelift" } ], - "time": "2021-06-27T11:44:38+00:00" + "time": "2021-12-16T21:52:00+00:00" }, { "name": "symfony/translation", - "version": "v5.3.4", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1" + "reference": "ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1", - "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1", + "url": "https://api.github.com/repos/symfony/translation/zipball/ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca", + "reference": "ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^2.3" }, "conflict": { "symfony/config": "<4.4", + "symfony/console": "<5.3", "symfony/dependency-injection": "<5.0", "symfony/http-kernel": "<5.0", "symfony/twig-bundle": "<5.0", @@ -4378,15 +4750,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -4422,7 +4795,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.4" + "source": "https://github.com/symfony/translation/tree/v5.4.2" }, "funding": [ { @@ -4438,20 +4811,20 @@ "type": "tidelift" } ], - "time": "2021-07-25T09:39:16+00:00" + "time": "2021-12-25T19:45:36+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.4.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95" + "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e", + "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e", "shasum": "" }, "require": { @@ -4463,7 +4836,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4500,7 +4873,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0" }, "funding": [ { @@ -4516,20 +4889,20 @@ "type": "tidelift" } ], - "time": "2021-03-23T23:28:01+00:00" + "time": "2021-08-17T14:20:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.3.6", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0" + "reference": "1b56c32c3679002b3a42384a580e16e2600f41c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", - "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1b56c32c3679002b3a42384a580e16e2600f41c1", + "reference": "1b56c32c3679002b3a42384a580e16e2600f41c1", "shasum": "" }, "require": { @@ -4543,8 +4916,9 @@ }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", "twig/twig": "^2.13|^3.0.4" }, "suggest": { @@ -4588,7 +4962,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.6" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.2" }, "funding": [ { @@ -4604,30 +4978,30 @@ "type": "tidelift" } ], - "time": "2021-07-27T01:56:02+00:00" + "time": "2021-12-29T10:10:35+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", + "version": "2.2.4", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" + "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c", + "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" }, "type": "library", "extra": { @@ -4655,43 +5029,45 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.4" }, - "time": "2020-07-13T06:12:54+00:00" + "time": "2021-12-08T09:12:39+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v4.2.0", + "version": "v5.4.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "da64796370fc4eb03cc277088f6fede9fde88482" + "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/da64796370fc4eb03cc277088f6fede9fde88482", - "reference": "da64796370fc4eb03cc277088f6fede9fde88482", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f", + "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.7.3", - "symfony/polyfill-ctype": "^1.17" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.2", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.8", + "symfony/polyfill-ctype": "^1.23", + "symfony/polyfill-mbstring": "^1.23.1", + "symfony/polyfill-php80": "^1.23.1" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20" + "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" }, "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "5.4-dev" } }, "autoload": { @@ -4706,13 +5082,13 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { "name": "Vance Lucas", "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" + "homepage": "https://github.com/vlucas" } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", @@ -4723,7 +5099,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v4.2.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1" }, "funding": [ { @@ -4735,7 +5111,7 @@ "type": "tidelift" } ], - "time": "2021-01-20T15:11:48+00:00" + "time": "2021-12-12T23:22:04+00:00" }, { "name": "voku/portable-ascii", @@ -4810,6 +5186,64 @@ } ], "time": "2020-11-12T00:07:28+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" } ], "packages-dev": [ @@ -4984,16 +5418,16 @@ }, { "name": "doctrine/dbal", - "version": "2.13.2", + "version": "2.13.7", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4" + "reference": "6e22f6012b42d7932674857989fcf184e9e9b1c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/8dd39d2ead4409ce652fd4f02621060f009ea5e4", - "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/6e22f6012b42d7932674857989fcf184e9e9b1c3", + "reference": "6e22f6012b42d7932674857989fcf184e9e9b1c3", "shasum": "" }, "require": { @@ -5005,13 +5439,14 @@ }, "require-dev": { "doctrine/coding-standard": "9.0.0", - "jetbrains/phpstorm-stubs": "2020.2", - "phpstan/phpstan": "0.12.81", - "phpunit/phpunit": "^7.5.20|^8.5|9.5.5", - "squizlabs/php_codesniffer": "3.6.0", + "jetbrains/phpstorm-stubs": "2021.1", + "phpstan/phpstan": "1.3.0", + "phpunit/phpunit": "^7.5.20|^8.5|9.5.11", + "psalm/plugin-phpunit": "0.16.1", + "squizlabs/php_codesniffer": "3.6.2", "symfony/cache": "^4.4", "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "4.6.4" + "vimeo/psalm": "4.16.1" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -5072,7 +5507,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/2.13.2" + "source": "https://github.com/doctrine/dbal/tree/2.13.7" }, "funding": [ { @@ -5088,7 +5523,7 @@ "type": "tidelift" } ], - "time": "2021-06-18T21:48:39+00:00" + "time": "2022-01-06T09:08:04+00:00" }, { "name": "doctrine/deprecations", @@ -5298,16 +5733,16 @@ }, { "name": "facade/flare-client-php", - "version": "1.8.1", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/facade/flare-client-php.git", - "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f" + "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/47b639dc02bcfdfc4ebb83de703856fa01e35f5f", - "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/b2adf1512755637d0cef4f7d1b54301325ac78ed", + "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed", "shasum": "" }, "require": { @@ -5351,7 +5786,7 @@ ], "support": { "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.8.1" + "source": "https://github.com/facade/flare-client-php/tree/1.9.1" }, "funding": [ { @@ -5359,26 +5794,27 @@ "type": "github" } ], - "time": "2021-05-31T19:23:29+00:00" + "time": "2021-09-13T12:16:46+00:00" }, { "name": "facade/ignition", - "version": "2.11.4", + "version": "2.17.4", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "1b8d83c5dac7c5ee8429daf284ce3f19b1d17ea2" + "reference": "95c80bd35ee6858e9e1439b2f6a698295eeb2070" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/1b8d83c5dac7c5ee8429daf284ce3f19b1d17ea2", - "reference": "1b8d83c5dac7c5ee8429daf284ce3f19b1d17ea2", + "url": "https://api.github.com/repos/facade/ignition/zipball/95c80bd35ee6858e9e1439b2f6a698295eeb2070", + "reference": "95c80bd35ee6858e9e1439b2f6a698295eeb2070", "shasum": "" }, "require": { + "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "facade/flare-client-php": "^1.6", + "facade/flare-client-php": "^1.9.1", "facade/ignition-contracts": "^1.0.2", "illuminate/support": "^7.0|^8.0", "monolog/monolog": "^2.0", @@ -5388,6 +5824,7 @@ }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.14", + "livewire/livewire": "^2.4", "mockery/mockery": "^1.3", "orchestra/testbench": "^5.0|^6.0", "psalm/plugin-laravel": "^1.2" @@ -5435,7 +5872,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-08-17T11:45:33+00:00" + "time": "2021-12-27T15:11:24+00:00" }, { "name": "facade/ignition-contracts", @@ -5492,21 +5929,21 @@ }, { "name": "filp/whoops", - "version": "2.14.0", + "version": "2.14.5", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b" + "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b", - "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b", + "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", + "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1" + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { "mockery/mockery": "^0.9 || ^1.0", @@ -5551,7 +5988,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.0" + "source": "https://github.com/filp/whoops/tree/2.14.5" }, "funding": [ { @@ -5559,7 +5996,7 @@ "type": "github" } ], - "time": "2021-07-13T12:00:00+00:00" + "time": "2022-01-07T12:00:00+00:00" }, { "name": "fzaninotto/faker", @@ -5669,16 +6106,16 @@ }, { "name": "mockery/mockery", - "version": "1.4.3", + "version": "1.4.4", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea" + "reference": "e01123a0e847d52d186c5eb4b9bf58b0c6d00346" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/d1339f64479af1bee0e82a0413813fe5345a54ea", - "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea", + "url": "https://api.github.com/repos/mockery/mockery/zipball/e01123a0e847d52d186c5eb4b9bf58b0c6d00346", + "reference": "e01123a0e847d52d186c5eb4b9bf58b0c6d00346", "shasum": "" }, "require": { @@ -5735,9 +6172,9 @@ ], "support": { "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.4.3" + "source": "https://github.com/mockery/mockery/tree/1.4.4" }, - "time": "2021-02-24T09:51:49+00:00" + "time": "2021-09-13T15:28:59+00:00" }, { "name": "myclabs/deep-copy", @@ -5799,35 +6236,34 @@ }, { "name": "nunomaduro/collision", - "version": "v4.3.0", + "version": "v5.10.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "7c125dc2463f3e144ddc7e05e63077109508c94e" + "reference": "3004cfa49c022183395eabc6d0e5207dfe498d00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c125dc2463f3e144ddc7e05e63077109508c94e", - "reference": "7c125dc2463f3e144ddc7e05e63077109508c94e", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/3004cfa49c022183395eabc6d0e5207dfe498d00", + "reference": "3004cfa49c022183395eabc6d0e5207dfe498d00", "shasum": "" }, "require": { "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.4", - "php": "^7.2.5 || ^8.0", + "filp/whoops": "^2.14.3", + "php": "^7.3 || ^8.0", "symfony/console": "^5.0" }, "require-dev": { - "facade/ignition": "^2.0", - "fideloper/proxy": "^4.2", - "friendsofphp/php-cs-fixer": "^2.16", - "fruitcake/laravel-cors": "^1.0", - "laravel/framework": "^7.0", - "laravel/tinker": "^2.0", - "nunomaduro/larastan": "^0.6", - "orchestra/testbench": "^5.0", - "phpstan/phpstan": "^0.12.3", - "phpunit/phpunit": "^8.5.1 || ^9.0" + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "8.x-dev", + "nunomaduro/larastan": "^0.6.2", + "nunomaduro/mock-final-classes": "^1.0", + "orchestra/testbench": "^6.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" }, "type": "library", "extra": { @@ -5883,7 +6319,7 @@ "type": "patreon" } ], - "time": "2020-10-29T15:12:23+00:00" + "time": "2021-09-20T15:06:32+00:00" }, { "name": "phar-io/manifest", @@ -6051,16 +6487,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -6071,7 +6507,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -6101,22 +6538,22 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2020-09-03T19:13:55+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/93ebd0014cab80c4ea9f5e297ea48672f1b87706", + "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706", "shasum": "" }, "require": { @@ -6124,7 +6561,8 @@ "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "*" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -6150,39 +6588,39 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.0" }, - "time": "2020-09-17T18:55:26+00:00" + "time": "2022-01-04T19:58:01+00:00" }, { "name": "phpspec/prophecy", - "version": "1.13.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.1", + "php": "^7.2 || ~8.0, <8.2", "phpdocumentor/reflection-docblock": "^5.2", "sebastian/comparator": "^3.0 || ^4.0", "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^6.0", + "phpspec/phpspec": "^6.0 || ^7.0", "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -6217,22 +6655,22 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.13.0" + "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" }, - "time": "2021-03-17T13:42:18+00:00" + "time": "2021-12-08T12:19:24+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "0.5.5", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "ea0b17460ec38e20d7eb64e7ec49b5d44af5d28c" + "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ea0b17460ec38e20d7eb64e7ec49b5d44af5d28c", - "reference": "ea0b17460ec38e20d7eb64e7ec49b5d44af5d28c", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/dbc093d7af60eff5cd575d2ed761b15ed40bd08e", + "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e", "shasum": "" }, "require": { @@ -6241,15 +6679,15 @@ "require-dev": { "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.87", - "phpstan/phpstan-strict-rules": "^0.12.5", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.0", "phpunit/phpunit": "^9.5", "symfony/process": "^5.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.5-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -6266,46 +6704,50 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/0.5.5" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.2.0" }, - "time": "2021-06-11T13:24:46+00:00" + "time": "2021-09-16T20:46:02+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.15", + "version": "9.2.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "819f92bba8b001d4363065928088de22f25a3a48" + "reference": "d5850aaf931743067f4bfc1ae4cbd06468400687" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48", - "reference": "819f92bba8b001d4363065928088de22f25a3a48", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d5850aaf931743067f4bfc1ae4cbd06468400687", + "reference": "d5850aaf931743067f4bfc1ae4cbd06468400687", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": ">=7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.3 || ^4.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.13.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^8.2.2" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.7.2" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -6333,7 +6775,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.10" }, "funding": [ { @@ -6341,32 +6783,32 @@ "type": "github" } ], - "time": "2021-07-26T12:20:09+00:00" + "time": "2021-12-05T09:12:13+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.4", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05" + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/28af674ff175d0768a5a978e6de83f697d4a7f05", - "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -6393,7 +6835,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" }, "funding": [ { @@ -6401,26 +6843,97 @@ "type": "github" } ], - "time": "2021-07-19T06:46:01+00:00" + "time": "2021-12-02T12:48:52+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -6444,34 +6957,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" }, - "time": "2015-06-21T13:50:34+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", - "version": "2.1.3", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -6497,7 +7016,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" }, "funding": [ { @@ -6505,80 +7024,20 @@ "type": "github" } ], - "time": "2020-11-30T08:20:02+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "abandoned": true, - "time": "2020-08-04T08:28:15+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.19", + "version": "9.5.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "496281b64ec781856ed0a583483b5923b4033722" + "reference": "2406855036db1102126125537adb1406f7242fdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/496281b64ec781856ed0a583483b5923b4033722", - "reference": "496281b64ec781856ed0a583483b5923b4033722", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2406855036db1102126125537adb1406f7242fdd", + "reference": "2406855036db1102126125537adb1406f7242fdd", "shasum": "" }, "require": { @@ -6589,32 +7048,35 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.0", + "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=7.2", - "phpspec/prophecy": "^1.10.3", - "phpunit/php-code-coverage": "^7.0.12", - "phpunit/php-file-iterator": "^2.0.4", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.3", - "sebastian/exporter": "^3.1.2", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.7", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3.4", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -6622,12 +7084,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6650,11 +7115,11 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.19" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.11" }, "funding": [ { - "url": "https://phpunit.de/donate.html", + "url": "https://phpunit.de/sponsors.html", "type": "custom" }, { @@ -6662,32 +7127,144 @@ "type": "github" } ], - "time": "2021-07-31T15:15:06+00:00" + "time": "2021-12-25T07:07:57+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "name": "sebastian/cli-parser", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" } }, "autoload": { @@ -6709,7 +7286,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, "funding": [ { @@ -6717,34 +7294,34 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.3", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": ">=7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -6783,7 +7360,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" }, "funding": [ { @@ -6791,33 +7368,90 @@ "type": "github" } ], - "time": "2020-11-30T08:04:30+00:00" + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.3", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { - "php": ">=7.1" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" } }, "autoload": { @@ -6849,7 +7483,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" }, "funding": [ { @@ -6857,27 +7491,27 @@ "type": "github" } ], - "time": "2020-11-30T07:59:04+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", - "version": "4.2.4", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -6885,7 +7519,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -6912,7 +7546,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" }, "funding": [ { @@ -6920,34 +7554,34 @@ "type": "github" } ], - "time": "2020-11-30T07:53:42+00:00" + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -6982,14 +7616,14 @@ } ], "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" }, "funding": [ { @@ -6997,30 +7631,30 @@ "type": "github" } ], - "time": "2020-11-30T07:47:53+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.1", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b" + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/474fb9edb7ab891665d3bfc6317f42a0a150454b", - "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49", + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49", "shasum": "" }, "require": { - "php": ">=7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -7028,7 +7662,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -7053,7 +7687,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3" }, "funding": [ { @@ -7061,34 +7695,91 @@ "type": "github" } ], - "time": "2020-11-30T07:43:24+00:00" + "time": "2021-06-11T13:31:12+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "3.0.4", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "nikic/php-parser": "^4.6", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" } }, "autoload": { @@ -7110,7 +7801,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, "funding": [ { @@ -7118,32 +7809,32 @@ "type": "github" } ], - "time": "2020-11-30T07:40:27+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.2", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -7165,7 +7856,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, "funding": [ { @@ -7173,32 +7864,32 @@ "type": "github" } ], - "time": "2020-11-30T07:37:18+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.1", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -7228,7 +7919,7 @@ "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" }, "funding": [ { @@ -7236,29 +7927,32 @@ "type": "github" } ], - "time": "2020-11-30T07:34:24+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.2", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7280,7 +7974,7 @@ "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, "funding": [ { @@ -7288,32 +7982,32 @@ "type": "github" } ], - "time": "2020-11-30T07:30:19+00:00" + "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "1.1.4", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4" + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.3-dev" } }, "autoload": { @@ -7336,7 +8030,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/1.1.4" + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" }, "funding": [ { @@ -7344,29 +8038,29 @@ "type": "github" } ], - "time": "2020-11-30T07:25:11+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7389,38 +8083,44 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/master" + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" }, - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "slevomat/coding-standard", - "version": "7.0.15", + "version": "7.0.18", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "cc80e59f9b4ca642f02dc1b615c37a9afc2a0f80" + "reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/cc80e59f9b4ca642f02dc1b615c37a9afc2a0f80", - "reference": "cc80e59f9b4ca642f02dc1b615c37a9afc2a0f80", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/b81ac84f41a4797dc25c8ede1b0718e2a74be0fc", + "reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc", "shasum": "" }, "require": { "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", "php": "^7.1 || ^8.0", - "phpstan/phpdoc-parser": "0.5.1 - 0.5.6", - "squizlabs/php_codesniffer": "^3.6.0" + "phpstan/phpdoc-parser": "^1.0.0", + "squizlabs/php_codesniffer": "^3.6.1" }, "require-dev": { "phing/phing": "2.17.0", "php-parallel-lint/php-parallel-lint": "1.3.1", - "phpstan/phpstan": "0.12.98", - "phpstan/phpstan-deprecation-rules": "0.12.6", - "phpstan/phpstan-phpunit": "0.12.22", - "phpstan/phpstan-strict-rules": "0.12.11", - "phpunit/phpunit": "7.5.20|8.5.5|9.5.9" + "phpstan/phpstan": "1.2.0", + "phpstan/phpstan-deprecation-rules": "1.0.0", + "phpstan/phpstan-phpunit": "1.0.0", + "phpstan/phpstan-strict-rules": "1.1.0", + "phpunit/phpunit": "7.5.20|8.5.21|9.5.10" }, "type": "phpcodesniffer-standard", "extra": { @@ -7440,7 +8140,7 @@ "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", "support": { "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/7.0.15" + "source": "https://github.com/slevomat/coding-standard/tree/7.0.18" }, "funding": [ { @@ -7452,7 +8152,7 @@ "type": "tidelift" } ], - "time": "2021-09-09T10:29:09+00:00" + "time": "2021-12-07T17:19:06+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -7559,64 +8259,6 @@ } ], "time": "2021-07-28T10:34:58+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.10.0" - }, - "time": "2021-03-09T10:59:23+00:00" } ], "aliases": [], @@ -7625,7 +8267,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.2.5", + "php": "^7.3", "ext-curl": "*", "ext-json": "*" }, diff --git a/config/auth.php b/config/auth.php index 3739176..f45f0e3 100644 --- a/config/auth.php +++ b/config/auth.php @@ -68,7 +68,7 @@ return [ 'providers' => [ 'users' => [ 'driver' => 'eloquent', - 'model' => App\User::class, + 'model' => App\Models\User::class, ], ], diff --git a/config/exception-handler.php b/config/exception-handler.php new file mode 100644 index 0000000..e6bd69b --- /dev/null +++ b/config/exception-handler.php @@ -0,0 +1,17 @@ + !config('app.debug'), + + /** + * Put a developper secured mailbox in here + * so you can receive email if things go mad + */ + 'contactsList' => [ + env('MAIL_LIST_SERVICEWEB', 'equipe.web@ldc.fr') + ] +]; diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 741edea..169cb30 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -1,28 +1,26 @@ define(User::class, function (Faker $faker) { - return [ - 'name' => $faker->name, - 'email' => $faker->unique()->safeEmail, - 'email_verified_at' => now(), - 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password - 'remember_token' => Str::random(10), - ]; -}); +class UserFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + 'name' => $this->faker->name(), + 'email' => $this->faker->unique()->safeEmail(), + 'email_verified_at' => now(), + // * password + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', + 'remember_token' => Str::random(10), + ]; + } +} diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php index 9bddee3..fc1304f 100644 --- a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -15,6 +15,7 @@ class CreateFailedJobsTable extends Migration { Schema::create('failed_jobs', function (Blueprint $table) { $table->id(); + $table->string('uuid')->nullable()->unique(); $table->text('connection'); $table->text('queue'); $table->longText('payload'); diff --git a/database/migrations/2020_10_12_123129_create_settings.php b/database/migrations/2020_10_12_123129_create_settings.php index 0dd1bfc..e3d2b5f 100644 --- a/database/migrations/2020_10_12_123129_create_settings.php +++ b/database/migrations/2020_10_12_123129_create_settings.php @@ -21,6 +21,8 @@ class CreateSettings extends Migration $table->integer('nb_participation_player'); $table->integer('nb_participation_ip'); $table->integer('nb_unique_code_use'); + $table->smallInteger('code_length') + ->default(config('codes.codeLength')); $table->boolean('use_ean_codes'); $table->boolean('activated_teaser'); $table->dateTime('teaser_end_activity')->nullable(); @@ -37,11 +39,11 @@ class CreateSettings extends Migration $table->text('notification_emails')->nullable(); $table->boolean('winning_proof'); $table->string('company'); - $table->text('analytics')->nullable(); + $table->string('analytics', strlen('UA-XXXXXXXX-1'))->nullable(); $table->timestamps(); $table->collation = 'utf8mb4_unicode_ci'; }); -} + } /** * Reverse the migrations. diff --git a/database/migrations/2020_10_15_093304_create_gain_view.php b/database/migrations/2020_10_15_093304_create_gain_views.php similarity index 93% rename from database/migrations/2020_10_15_093304_create_gain_view.php rename to database/migrations/2020_10_15_093304_create_gain_views.php index 413bdb1..3d26e29 100644 --- a/database/migrations/2020_10_15_093304_create_gain_view.php +++ b/database/migrations/2020_10_15_093304_create_gain_views.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateGainView extends Migration +class CreateGainViews extends Migration { /** * Run the migrations. diff --git a/database/migrations/2020_10_20_120243_create_instant_win.php b/database/migrations/2020_10_20_120243_create_instant_win.php deleted file mode 100644 index 237359e..0000000 --- a/database/migrations/2020_10_20_120243_create_instant_win.php +++ /dev/null @@ -1,33 +0,0 @@ -id(); - $table->foreignId("prize_id")->constrained("prizes"); - $table->dateTime("appear_date"); - $table->boolean("won")->default(0); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('instant_win'); - } -} diff --git a/database/migrations/2020_10_20_165858_create_codes.php b/database/migrations/2020_10_20_165858_create_codes.php index da9e815..4846556 100644 --- a/database/migrations/2020_10_20_165858_create_codes.php +++ b/database/migrations/2020_10_20_165858_create_codes.php @@ -15,7 +15,6 @@ class CreateCodes extends Migration { Schema::create('codes', function (Blueprint $table) { $table->id(); - $table->string('code_unique')->unique(); $table->boolean('code_used')->default(0); $table->boolean('code_exported')->default(0); $table->date('date_creation'); diff --git a/database/migrations/2020_10_20_171937_create_codes_ean.php b/database/migrations/2020_10_20_171937_create_code_eans.php similarity index 77% rename from database/migrations/2020_10_20_171937_create_codes_ean.php rename to database/migrations/2020_10_20_171937_create_code_eans.php index bd03ff4..56c2cb6 100644 --- a/database/migrations/2020_10_20_171937_create_codes_ean.php +++ b/database/migrations/2020_10_20_171937_create_code_eans.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateCodesEan extends Migration +class CreateCodeEans extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CreateCodesEan extends Migration */ public function up() { - Schema::create('codes_ean', function (Blueprint $table) { + Schema::create('code_eans', function (Blueprint $table) { $table->id(); $table->string('code'); $table->string('product'); @@ -28,6 +28,6 @@ class CreateCodesEan extends Migration */ public function down() { - Schema::dropIfExists('codes_ean'); + Schema::dropIfExists('code_eans'); } } diff --git a/database/migrations/2020_10_23_094235_create_banned_ip.php b/database/migrations/2020_10_23_094235_create_banned_ips.php similarity index 75% rename from database/migrations/2020_10_23_094235_create_banned_ip.php rename to database/migrations/2020_10_23_094235_create_banned_ips.php index 6270215..152e2aa 100644 --- a/database/migrations/2020_10_23_094235_create_banned_ip.php +++ b/database/migrations/2020_10_23_094235_create_banned_ips.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateBannedIp extends Migration +class CreateBannedIps extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CreateBannedIp extends Migration */ public function up() { - Schema::create('banned_ip', function (Blueprint $table) { + Schema::create('banned_ips', function (Blueprint $table) { $table->id(); $table->string('ip'); $table->unique('ip'); @@ -27,6 +27,6 @@ class CreateBannedIp extends Migration */ public function down() { - Schema::dropIfExists('banned_ip'); + Schema::dropIfExists('banned_ips'); } } diff --git a/database/migrations/2020_10_23_153212_create_content.php b/database/migrations/2020_10_23_153212_create_contents.php similarity index 83% rename from database/migrations/2020_10_23_153212_create_content.php rename to database/migrations/2020_10_23_153212_create_contents.php index 222fbbc..6617b31 100644 --- a/database/migrations/2020_10_23_153212_create_content.php +++ b/database/migrations/2020_10_23_153212_create_contents.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateContent extends Migration +class CreateContents extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CreateContent extends Migration */ public function up() { - Schema::create('content', function (Blueprint $table) { + Schema::create('contents', function (Blueprint $table) { $table->id(); $table->string('key'); $table->text('value'); diff --git a/database/migrations/2020_10_26_093746_create_faq_questions.php b/database/migrations/2020_10_26_093746_create_faq_questions.php index a2606bd..ef4d55d 100644 --- a/database/migrations/2020_10_26_093746_create_faq_questions.php +++ b/database/migrations/2020_10_26_093746_create_faq_questions.php @@ -16,7 +16,7 @@ class CreateFaqQuestions extends Migration Schema::create('faq_questions', function (Blueprint $table) { $table->id(); $table->string('question'); - $table->string('answer'); + $table->text('answer'); $table->unsignedInteger('positive_vote')->nullable(); $table->unsignedInteger('negative_vote')->nullable(); $table->foreignId('theme_id')->constrained('faq_themes'); diff --git a/database/migrations/2020_11_03_160038_create_reductions.php b/database/migrations/2020_10_27_160038_create_reductions.php similarity index 89% rename from database/migrations/2020_11_03_160038_create_reductions.php rename to database/migrations/2020_10_27_160038_create_reductions.php index 1d26702..88a96b5 100644 --- a/database/migrations/2020_11_03_160038_create_reductions.php +++ b/database/migrations/2020_10_27_160038_create_reductions.php @@ -15,7 +15,6 @@ class CreateReductions extends Migration { Schema::create('reductions', function (Blueprint $table) { $table->id(); - $table->foreignId('participation_id')->constrained('participation'); $table->string('link'); $table->string('basket_id'); $table->string('verification'); diff --git a/database/migrations/2020_10_28_091935_create_participation.php b/database/migrations/2020_10_28_091935_create_participations.php similarity index 75% rename from database/migrations/2020_10_28_091935_create_participation.php rename to database/migrations/2020_10_28_091935_create_participations.php index 44a4a4f..fff21fe 100644 --- a/database/migrations/2020_10_28_091935_create_participation.php +++ b/database/migrations/2020_10_28_091935_create_participations.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateParticipation extends Migration +class CreateParticipations extends Migration { /** * Run the migrations. @@ -13,16 +13,16 @@ class CreateParticipation extends Migration */ public function up() { - Schema::create('participation', function (Blueprint $table) { + Schema::create('participations', function (Blueprint $table) { $table->id(); - $table->foreignId('user_id')->constrained('users'); - $table->foreignId('code_unique_id')->constrained('codes'); - $table->foreignId('code_ean_id')->nullable()->constrained('codes_ean'); - $table->foreignId('instant_win_id')->nullable()->constrained('instant_win'); $table->string('ip'); $table->string('sticker')->nullable(); $table->string('ticket')->nullable(); $table->string('barcode')->nullable(); + $table->foreignId('user_id')->constrained('users'); + $table->foreignId('code_unique_id')->constrained('codes'); + $table->foreignId('code_ean_id')->nullable()->constrained('code_eans'); + $table->foreignId('reduction_id')->nullable()->constrained('reductions'); $table->timestamps(); }); } @@ -34,6 +34,6 @@ class CreateParticipation extends Migration */ public function down() { - Schema::dropIfExists('participation'); + Schema::dropIfExists('participations'); } } diff --git a/database/migrations/2020_10_16_091811_create_prizes.php b/database/migrations/2020_10_29_091811_create_prizes.php similarity index 100% rename from database/migrations/2020_10_16_091811_create_prizes.php rename to database/migrations/2020_10_29_091811_create_prizes.php index 8164e39..91c0aec 100644 --- a/database/migrations/2020_10_16_091811_create_prizes.php +++ b/database/migrations/2020_10_29_091811_create_prizes.php @@ -15,7 +15,6 @@ class CreatePrizes extends Migration { Schema::create('prizes', function (Blueprint $table) { $table->id(); - $table->unsignedBigInteger("arcadia_id"); $table->string("label_one"); $table->string("label_many"); $table->integer("quantity"); @@ -23,6 +22,7 @@ class CreatePrizes extends Migration $table->integer("arcadia_support_code"); $table->string("pdf_winning_proof")->nullable(); $table->boolean("need_proof"); + $table->unsignedBigInteger("arcadia_id"); $table->foreignId("gain_view_id")->constrained("gain_views"); $table->timestamps(); }); diff --git a/database/migrations/2020_10_29_120243_create_instant_wins.php b/database/migrations/2020_10_29_120243_create_instant_wins.php new file mode 100644 index 0000000..34e8f80 --- /dev/null +++ b/database/migrations/2020_10_29_120243_create_instant_wins.php @@ -0,0 +1,35 @@ +id(); + $table->dateTime('appear_date'); + $table->boolean('won')->default(0); + $table->foreignId('prize_id')->constrained('prizes'); + $table->foreignId('participation_id')->nullable() + ->constrained('participations')->unique(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('instant_wins'); + } +} diff --git a/database/migrations/2020_11_03_161626_participation_add_reduction_id.php b/database/migrations/2020_11_03_161626_participation_add_reduction_id.php deleted file mode 100644 index f260c09..0000000 --- a/database/migrations/2020_11_03_161626_participation_add_reduction_id.php +++ /dev/null @@ -1,33 +0,0 @@ -foreignId('reduction_id')->after("instant_win_id")->nullable()->constrained('reductions'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table("participation", function(Blueprint $table) { - $table->dropForeign(["reduction_id"]); - $table->dropColumn("reduction_id"); - }); - } -} diff --git a/database/migrations/2020_11_04_102756_update_instant_win_participation_id.php b/database/migrations/2020_11_04_102756_update_instant_win_participation_id.php deleted file mode 100644 index e926ba4..0000000 --- a/database/migrations/2020_11_04_102756_update_instant_win_participation_id.php +++ /dev/null @@ -1,33 +0,0 @@ -foreignId('participation_id')->nullable()->constrained('participation'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table("instant_win", function(Blueprint $table) { - $table->dropForeign(["participation_id"]); - $table->dropColumn("participation_id"); - }); - } -} diff --git a/database/migrations/2021_07_13_165809_extend_answer_field_in_faq_questions.php b/database/migrations/2021_07_13_165809_extend_answer_field_in_faq_questions.php deleted file mode 100644 index 1950002..0000000 --- a/database/migrations/2021_07_13_165809_extend_answer_field_in_faq_questions.php +++ /dev/null @@ -1,32 +0,0 @@ -text('answer')->change(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('faq_questions', function (Blueprint $table) { - // - }); - } -} diff --git a/database/migrations/2021_08_18_154119_create_models_ranges_table.php b/database/migrations/2021_08_18_154119_create_model_ranges_table.php similarity index 72% rename from database/migrations/2021_08_18_154119_create_models_ranges_table.php rename to database/migrations/2021_08_18_154119_create_model_ranges_table.php index d0132e2..f393ab8 100644 --- a/database/migrations/2021_08_18_154119_create_models_ranges_table.php +++ b/database/migrations/2021_08_18_154119_create_model_ranges_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateModelsRangesTable extends Migration +class CreateModelRangesTable extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CreateModelsRangesTable extends Migration */ public function up() { - Schema::create('models_ranges', function (Blueprint $table) { + Schema::create('model_ranges', function (Blueprint $table) { $table->id(); $table->timestamps(); }); @@ -26,6 +26,6 @@ class CreateModelsRangesTable extends Migration */ public function down() { - Schema::dropIfExists('models_ranges'); + Schema::dropIfExists('model_ranges'); } } diff --git a/database/migrations/2021_08_18_154140_create_ranges_table.php b/database/migrations/2021_08_18_154140_create_ranges_table.php index 0fa3fd4..77a3fdd 100644 --- a/database/migrations/2021_08_18_154140_create_ranges_table.php +++ b/database/migrations/2021_08_18_154140_create_ranges_table.php @@ -16,6 +16,7 @@ class CreateRangesTable extends Migration Schema::create('ranges', function (Blueprint $table) { $table->id(); $table->string('name'); + $table->string('picture')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2021_08_18_154206_add_range_id_to_products_table.php b/database/migrations/2021_08_18_154206_add_range_id_to_products_table.php deleted file mode 100644 index bc11a2c..0000000 --- a/database/migrations/2021_08_18_154206_add_range_id_to_products_table.php +++ /dev/null @@ -1,34 +0,0 @@ -foreignId('range_id')->before('created_at')->references('id') - ->on('ranges')->onDelete('cascade'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('products', function (Blueprint $table) { - $table->dropForeign(['range_id']); - $table->dropColumn('range_id'); - }); - } -} diff --git a/database/migrations/2021_07_15_142010_create_products_table.php b/database/migrations/2021_08_18_162010_create_products_table.php similarity index 80% rename from database/migrations/2021_07_15_142010_create_products_table.php rename to database/migrations/2021_08_18_162010_create_products_table.php index 7fb3ff6..2911e7d 100644 --- a/database/migrations/2021_07_15_142010_create_products_table.php +++ b/database/migrations/2021_08_18_162010_create_products_table.php @@ -18,6 +18,9 @@ class CreateProductsTable extends Migration $table->string('name'); $table->unsignedInteger('no_art')->nullable(); $table->string('picture')->nullable(); + $table->string('code_ean'); + $table->foreignId('range_id')->before('created_at')->references('id') + ->on('ranges')->onDelete('cascade'); $table->timestamps(); }); } diff --git a/database/migrations/2021_09_06_123234_add_image_to_ranges_table.php b/database/migrations/2021_09_06_123234_add_image_to_ranges_table.php deleted file mode 100644 index 1fb86b1..0000000 --- a/database/migrations/2021_09_06_123234_add_image_to_ranges_table.php +++ /dev/null @@ -1,32 +0,0 @@ -string('picture')->nullable()->before('created_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('ranges', function (Blueprint $table) { - $table->dropColumn('picture'); - }); - } -} diff --git a/database/migrations/2021_09_06_123345_add_ean_to_products_table.php b/database/migrations/2021_09_06_123345_add_ean_to_products_table.php deleted file mode 100644 index 1bafb3a..0000000 --- a/database/migrations/2021_09_06_123345_add_ean_to_products_table.php +++ /dev/null @@ -1,32 +0,0 @@ -string('code_ean')->before('created_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('products', function (Blueprint $table) { - $table->dropColumn('code_ean'); - }); - } -} diff --git a/database/migrations/2021_09_29_173331_make_instant_win_unique_in_participation.php b/database/migrations/2021_09_29_173331_make_instant_win_unique_in_participation.php deleted file mode 100644 index 3831f7f..0000000 --- a/database/migrations/2021_09_29_173331_make_instant_win_unique_in_participation.php +++ /dev/null @@ -1,32 +0,0 @@ -unique('instant_win_id'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('participation', function (Blueprint $table) { - // - }); - } -} diff --git a/database/migrations/2022_01_07_102059_remove_code_unique_from_codes.php b/database/migrations/2022_01_07_102059_remove_code_unique_from_codes.php deleted file mode 100644 index 77b223f..0000000 --- a/database/migrations/2022_01_07_102059_remove_code_unique_from_codes.php +++ /dev/null @@ -1,32 +0,0 @@ -dropColumn('code_unique'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('codes', function (Blueprint $table) { - $table->string('code_unique')->unique(); - }); - } -} diff --git a/database/migrations/2022_01_07_110932_add_code_length_to_settings_table.php b/database/migrations/2022_01_07_110932_add_code_length_to_settings_table.php deleted file mode 100644 index 5c6fc69..0000000 --- a/database/migrations/2022_01_07_110932_add_code_length_to_settings_table.php +++ /dev/null @@ -1,33 +0,0 @@ -smallInteger('code_length') - ->default(config('codes.codeLength'))->after('nb_unique_code_use'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('settings', function (Blueprint $table) { - $table->dropColumn('code_length'); - }); - } -} diff --git a/database/seeds/ContentSeeder.php b/database/seeders/ContentSeeder.php similarity index 59% rename from database/seeds/ContentSeeder.php rename to database/seeders/ContentSeeder.php index 62dab0b..b58c58a 100644 --- a/database/seeds/ContentSeeder.php +++ b/database/seeders/ContentSeeder.php @@ -1,5 +1,7 @@ key = "mentions legales"; + $mentions = new Content(); + $mentions->key = "mentions legales"; $mentions->value = "..."; - $charte = new Content(); - $charte->key = "charte"; + $charte = new Content(); + $charte->key = "charte"; $charte->value = "..."; - $reglement = new Content(); - $reglement->key = "reglement"; + $reglement = new Content(); + $reglement->key = "reglement"; $reglement->value = "..."; $mentions->save(); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php similarity index 90% rename from database/seeds/DatabaseSeeder.php rename to database/seeders/DatabaseSeeder.php index b636659..b3b07e3 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -1,5 +1,7 @@ name = "Nom du jeu"; + $settings->start_date = now(); + $settings->end_date = new Carbon(strtotime("+30 days")); + $settings->nb_participation_player = 30; + $settings->nb_participation_ip = 30; + $settings->nb_unique_code_use = 0; + $settings->use_ean_codes = false; + $settings->activated_teaser = false; + $settings->activated_close_page = false; + $settings->redirect_close = "https://example.test"; + $settings->reductions_activated = false; + $settings->facebook_activated = false; + $settings->notification_emails = "[]"; + $settings->winning_proof = 0; + $settings->company = "Société"; + $settings->web_coupons = "[]"; + $settings->save(); + } +} diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php deleted file mode 100644 index b6c920f..0000000 --- a/database/seeds/SettingsSeeder.php +++ /dev/null @@ -1,35 +0,0 @@ -name = "Nom du jeu"; - $settings->start_date = now(); - $settings->end_date = new Carbon(strtotime("+30 days")); - $settings->nb_participation_player = 30; - $settings->nb_participation_ip = 30; - $settings->nb_unique_code_use = 0; - $settings->use_ean_codes = false; - $settings->activated_teaser = false; - $settings->activated_close_page = false; - $settings->redirect_close = "https://example.test"; - $settings->reductions_activated = false; - $settings->facebook_activated = false; - $settings->notification_emails = "[]"; - $settings->winning_proof = 0; - $settings->company = "Société"; - $settings->web_coupons = "[]"; - $settings->save(); - } -} diff --git a/public/css/app.css b/public/css/app.css index c69aeec..2fb1b80 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -633,13 +633,13 @@ pre code{ } .col-1{ - flex:0 0 8.3333333333%; - max-width:8.3333333333%; + flex:0 0 8.33333333%; + max-width:8.33333333%; } .col-2{ - flex:0 0 16.6666666667%; - max-width:16.6666666667%; + flex:0 0 16.66666667%; + max-width:16.66666667%; } .col-3{ @@ -648,13 +648,13 @@ pre code{ } .col-4{ - flex:0 0 33.3333333333%; - max-width:33.3333333333%; + flex:0 0 33.33333333%; + max-width:33.33333333%; } .col-5{ - flex:0 0 41.6666666667%; - max-width:41.6666666667%; + flex:0 0 41.66666667%; + max-width:41.66666667%; } .col-6{ @@ -663,13 +663,13 @@ pre code{ } .col-7{ - flex:0 0 58.3333333333%; - max-width:58.3333333333%; + flex:0 0 58.33333333%; + max-width:58.33333333%; } .col-8{ - flex:0 0 66.6666666667%; - max-width:66.6666666667%; + flex:0 0 66.66666667%; + max-width:66.66666667%; } .col-9{ @@ -678,13 +678,13 @@ pre code{ } .col-10{ - flex:0 0 83.3333333333%; - max-width:83.3333333333%; + flex:0 0 83.33333333%; + max-width:83.33333333%; } .col-11{ - flex:0 0 91.6666666667%; - max-width:91.6666666667%; + flex:0 0 91.66666667%; + max-width:91.66666667%; } .col-12{ @@ -753,11 +753,11 @@ pre code{ } .offset-1{ - margin-left:8.3333333333%; + margin-left:8.33333333%; } .offset-2{ - margin-left:16.6666666667%; + margin-left:16.66666667%; } .offset-3{ @@ -765,11 +765,11 @@ pre code{ } .offset-4{ - margin-left:33.3333333333%; + margin-left:33.33333333%; } .offset-5{ - margin-left:41.6666666667%; + margin-left:41.66666667%; } .offset-6{ @@ -777,11 +777,11 @@ pre code{ } .offset-7{ - margin-left:58.3333333333%; + margin-left:58.33333333%; } .offset-8{ - margin-left:66.6666666667%; + margin-left:66.66666667%; } .offset-9{ @@ -789,11 +789,11 @@ pre code{ } .offset-10{ - margin-left:83.3333333333%; + margin-left:83.33333333%; } .offset-11{ - margin-left:91.6666666667%; + margin-left:91.66666667%; } @media (min-width: 576px){ @@ -840,13 +840,13 @@ pre code{ } .col-sm-1{ - flex:0 0 8.3333333333%; - max-width:8.3333333333%; + flex:0 0 8.33333333%; + max-width:8.33333333%; } .col-sm-2{ - flex:0 0 16.6666666667%; - max-width:16.6666666667%; + flex:0 0 16.66666667%; + max-width:16.66666667%; } .col-sm-3{ @@ -855,13 +855,13 @@ pre code{ } .col-sm-4{ - flex:0 0 33.3333333333%; - max-width:33.3333333333%; + flex:0 0 33.33333333%; + max-width:33.33333333%; } .col-sm-5{ - flex:0 0 41.6666666667%; - max-width:41.6666666667%; + flex:0 0 41.66666667%; + max-width:41.66666667%; } .col-sm-6{ @@ -870,13 +870,13 @@ pre code{ } .col-sm-7{ - flex:0 0 58.3333333333%; - max-width:58.3333333333%; + flex:0 0 58.33333333%; + max-width:58.33333333%; } .col-sm-8{ - flex:0 0 66.6666666667%; - max-width:66.6666666667%; + flex:0 0 66.66666667%; + max-width:66.66666667%; } .col-sm-9{ @@ -885,13 +885,13 @@ pre code{ } .col-sm-10{ - flex:0 0 83.3333333333%; - max-width:83.3333333333%; + flex:0 0 83.33333333%; + max-width:83.33333333%; } .col-sm-11{ - flex:0 0 91.6666666667%; - max-width:91.6666666667%; + flex:0 0 91.66666667%; + max-width:91.66666667%; } .col-sm-12{ @@ -964,11 +964,11 @@ pre code{ } .offset-sm-1{ - margin-left:8.3333333333%; + margin-left:8.33333333%; } .offset-sm-2{ - margin-left:16.6666666667%; + margin-left:16.66666667%; } .offset-sm-3{ @@ -976,11 +976,11 @@ pre code{ } .offset-sm-4{ - margin-left:33.3333333333%; + margin-left:33.33333333%; } .offset-sm-5{ - margin-left:41.6666666667%; + margin-left:41.66666667%; } .offset-sm-6{ @@ -988,11 +988,11 @@ pre code{ } .offset-sm-7{ - margin-left:58.3333333333%; + margin-left:58.33333333%; } .offset-sm-8{ - margin-left:66.6666666667%; + margin-left:66.66666667%; } .offset-sm-9{ @@ -1000,11 +1000,11 @@ pre code{ } .offset-sm-10{ - margin-left:83.3333333333%; + margin-left:83.33333333%; } .offset-sm-11{ - margin-left:91.6666666667%; + margin-left:91.66666667%; } } @media (min-width: 768px){ @@ -1051,13 +1051,13 @@ pre code{ } .col-md-1{ - flex:0 0 8.3333333333%; - max-width:8.3333333333%; + flex:0 0 8.33333333%; + max-width:8.33333333%; } .col-md-2{ - flex:0 0 16.6666666667%; - max-width:16.6666666667%; + flex:0 0 16.66666667%; + max-width:16.66666667%; } .col-md-3{ @@ -1066,13 +1066,13 @@ pre code{ } .col-md-4{ - flex:0 0 33.3333333333%; - max-width:33.3333333333%; + flex:0 0 33.33333333%; + max-width:33.33333333%; } .col-md-5{ - flex:0 0 41.6666666667%; - max-width:41.6666666667%; + flex:0 0 41.66666667%; + max-width:41.66666667%; } .col-md-6{ @@ -1081,13 +1081,13 @@ pre code{ } .col-md-7{ - flex:0 0 58.3333333333%; - max-width:58.3333333333%; + flex:0 0 58.33333333%; + max-width:58.33333333%; } .col-md-8{ - flex:0 0 66.6666666667%; - max-width:66.6666666667%; + flex:0 0 66.66666667%; + max-width:66.66666667%; } .col-md-9{ @@ -1096,13 +1096,13 @@ pre code{ } .col-md-10{ - flex:0 0 83.3333333333%; - max-width:83.3333333333%; + flex:0 0 83.33333333%; + max-width:83.33333333%; } .col-md-11{ - flex:0 0 91.6666666667%; - max-width:91.6666666667%; + flex:0 0 91.66666667%; + max-width:91.66666667%; } .col-md-12{ @@ -1175,11 +1175,11 @@ pre code{ } .offset-md-1{ - margin-left:8.3333333333%; + margin-left:8.33333333%; } .offset-md-2{ - margin-left:16.6666666667%; + margin-left:16.66666667%; } .offset-md-3{ @@ -1187,11 +1187,11 @@ pre code{ } .offset-md-4{ - margin-left:33.3333333333%; + margin-left:33.33333333%; } .offset-md-5{ - margin-left:41.6666666667%; + margin-left:41.66666667%; } .offset-md-6{ @@ -1199,11 +1199,11 @@ pre code{ } .offset-md-7{ - margin-left:58.3333333333%; + margin-left:58.33333333%; } .offset-md-8{ - margin-left:66.6666666667%; + margin-left:66.66666667%; } .offset-md-9{ @@ -1211,11 +1211,11 @@ pre code{ } .offset-md-10{ - margin-left:83.3333333333%; + margin-left:83.33333333%; } .offset-md-11{ - margin-left:91.6666666667%; + margin-left:91.66666667%; } } @media (min-width: 992px){ @@ -1262,13 +1262,13 @@ pre code{ } .col-lg-1{ - flex:0 0 8.3333333333%; - max-width:8.3333333333%; + flex:0 0 8.33333333%; + max-width:8.33333333%; } .col-lg-2{ - flex:0 0 16.6666666667%; - max-width:16.6666666667%; + flex:0 0 16.66666667%; + max-width:16.66666667%; } .col-lg-3{ @@ -1277,13 +1277,13 @@ pre code{ } .col-lg-4{ - flex:0 0 33.3333333333%; - max-width:33.3333333333%; + flex:0 0 33.33333333%; + max-width:33.33333333%; } .col-lg-5{ - flex:0 0 41.6666666667%; - max-width:41.6666666667%; + flex:0 0 41.66666667%; + max-width:41.66666667%; } .col-lg-6{ @@ -1292,13 +1292,13 @@ pre code{ } .col-lg-7{ - flex:0 0 58.3333333333%; - max-width:58.3333333333%; + flex:0 0 58.33333333%; + max-width:58.33333333%; } .col-lg-8{ - flex:0 0 66.6666666667%; - max-width:66.6666666667%; + flex:0 0 66.66666667%; + max-width:66.66666667%; } .col-lg-9{ @@ -1307,13 +1307,13 @@ pre code{ } .col-lg-10{ - flex:0 0 83.3333333333%; - max-width:83.3333333333%; + flex:0 0 83.33333333%; + max-width:83.33333333%; } .col-lg-11{ - flex:0 0 91.6666666667%; - max-width:91.6666666667%; + flex:0 0 91.66666667%; + max-width:91.66666667%; } .col-lg-12{ @@ -1386,11 +1386,11 @@ pre code{ } .offset-lg-1{ - margin-left:8.3333333333%; + margin-left:8.33333333%; } .offset-lg-2{ - margin-left:16.6666666667%; + margin-left:16.66666667%; } .offset-lg-3{ @@ -1398,11 +1398,11 @@ pre code{ } .offset-lg-4{ - margin-left:33.3333333333%; + margin-left:33.33333333%; } .offset-lg-5{ - margin-left:41.6666666667%; + margin-left:41.66666667%; } .offset-lg-6{ @@ -1410,11 +1410,11 @@ pre code{ } .offset-lg-7{ - margin-left:58.3333333333%; + margin-left:58.33333333%; } .offset-lg-8{ - margin-left:66.6666666667%; + margin-left:66.66666667%; } .offset-lg-9{ @@ -1422,11 +1422,11 @@ pre code{ } .offset-lg-10{ - margin-left:83.3333333333%; + margin-left:83.33333333%; } .offset-lg-11{ - margin-left:91.6666666667%; + margin-left:91.66666667%; } } @media (min-width: 1200px){ @@ -1473,13 +1473,13 @@ pre code{ } .col-xl-1{ - flex:0 0 8.3333333333%; - max-width:8.3333333333%; + flex:0 0 8.33333333%; + max-width:8.33333333%; } .col-xl-2{ - flex:0 0 16.6666666667%; - max-width:16.6666666667%; + flex:0 0 16.66666667%; + max-width:16.66666667%; } .col-xl-3{ @@ -1488,13 +1488,13 @@ pre code{ } .col-xl-4{ - flex:0 0 33.3333333333%; - max-width:33.3333333333%; + flex:0 0 33.33333333%; + max-width:33.33333333%; } .col-xl-5{ - flex:0 0 41.6666666667%; - max-width:41.6666666667%; + flex:0 0 41.66666667%; + max-width:41.66666667%; } .col-xl-6{ @@ -1503,13 +1503,13 @@ pre code{ } .col-xl-7{ - flex:0 0 58.3333333333%; - max-width:58.3333333333%; + flex:0 0 58.33333333%; + max-width:58.33333333%; } .col-xl-8{ - flex:0 0 66.6666666667%; - max-width:66.6666666667%; + flex:0 0 66.66666667%; + max-width:66.66666667%; } .col-xl-9{ @@ -1518,13 +1518,13 @@ pre code{ } .col-xl-10{ - flex:0 0 83.3333333333%; - max-width:83.3333333333%; + flex:0 0 83.33333333%; + max-width:83.33333333%; } .col-xl-11{ - flex:0 0 91.6666666667%; - max-width:91.6666666667%; + flex:0 0 91.66666667%; + max-width:91.66666667%; } .col-xl-12{ @@ -1597,11 +1597,11 @@ pre code{ } .offset-xl-1{ - margin-left:8.3333333333%; + margin-left:8.33333333%; } .offset-xl-2{ - margin-left:16.6666666667%; + margin-left:16.66666667%; } .offset-xl-3{ @@ -1609,11 +1609,11 @@ pre code{ } .offset-xl-4{ - margin-left:33.3333333333%; + margin-left:33.33333333%; } .offset-xl-5{ - margin-left:41.6666666667%; + margin-left:41.66666667%; } .offset-xl-6{ @@ -1621,11 +1621,11 @@ pre code{ } .offset-xl-7{ - margin-left:58.3333333333%; + margin-left:58.33333333%; } .offset-xl-8{ - margin-left:66.6666666667%; + margin-left:66.66666667%; } .offset-xl-9{ @@ -1633,11 +1633,11 @@ pre code{ } .offset-xl-10{ - margin-left:83.3333333333%; + margin-left:83.33333333%; } .offset-xl-11{ - margin-left:91.6666666667%; + margin-left:91.66666667%; } } .table{ @@ -1975,10 +1975,6 @@ pre code{ background-color:transparent; border:0; } -.form-control:-moz-focusring{ - color:transparent; - text-shadow:0 0 0 #495057; -} .form-control:focus{ color:#495057; background-color:#fff; @@ -2012,6 +2008,10 @@ input[type=month].form-control{ appearance:none; } +select.form-control:-moz-focusring{ + color:transparent; + text-shadow:0 0 0 #495057; +} select.form-control:focus::-ms-value{ color:#495057; background-color:#fff; @@ -2175,7 +2175,7 @@ textarea.form-control{ .was-validated .form-control:valid, .form-control.is-valid{ border-color:#38c172; - padding-right:calc(1.6em + 0.75rem); + padding-right:calc(1.6em + 0.75rem) !important; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-repeat:no-repeat; background-position:right calc(0.4em + 0.1875rem) center; @@ -2186,6 +2186,11 @@ textarea.form-control{ box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.25); } +.was-validated select.form-control:valid, select.form-control.is-valid{ + padding-right:3rem !important; + background-position:right 1.5rem center; +} + .was-validated textarea.form-control:valid, textarea.form-control.is-valid{ padding-right:calc(1.6em + 0.75rem); background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem); @@ -2193,7 +2198,7 @@ textarea.form-control{ .was-validated .custom-select:valid, .custom-select.is-valid{ border-color:#38c172; - padding-right:calc(0.75em + 2.3125rem); + padding-right:calc(0.75em + 2.3125rem) !important; background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem) no-repeat; } .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus{ @@ -2271,7 +2276,7 @@ textarea.form-control{ .was-validated .form-control:invalid, .form-control.is-invalid{ border-color:#e3342f; - padding-right:calc(1.6em + 0.75rem); + padding-right:calc(1.6em + 0.75rem) !important; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e"); background-repeat:no-repeat; background-position:right calc(0.4em + 0.1875rem) center; @@ -2282,6 +2287,11 @@ textarea.form-control{ box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.25); } +.was-validated select.form-control:invalid, select.form-control.is-invalid{ + padding-right:3rem !important; + background-position:right 1.5rem center; +} + .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid{ padding-right:calc(1.6em + 0.75rem); background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem); @@ -2289,7 +2299,7 @@ textarea.form-control{ .was-validated .custom-select:invalid, .custom-select.is-invalid{ border-color:#e3342f; - padding-right:calc(0.75em + 2.3125rem); + padding-right:calc(0.75em + 2.3125rem) !important; background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem) no-repeat; } .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus{ @@ -3328,18 +3338,24 @@ input[type=button].btn-block{ display:flex; align-items:center; } -.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:first-child) .custom-file-label{ +.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after{ + border-top-right-radius:0; + border-bottom-right-radius:0; +} +.input-group > .custom-file:not(:first-child) .custom-file-label{ border-top-left-radius:0; border-bottom-left-radius:0; } .input-group:not(.has-validation) > .form-control:not(:last-child), .input-group:not(.has-validation) > .custom-select:not(:last-child), +.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label, .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after{ border-top-right-radius:0; border-bottom-right-radius:0; } .input-group.has-validation > .form-control:nth-last-child(n+3), .input-group.has-validation > .custom-select:nth-last-child(n+3), +.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label, .input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after{ border-top-right-radius:0; border-bottom-right-radius:0; @@ -5904,8 +5920,11 @@ a.close.disabled{ align-items:center; justify-content:center; width:15%; + padding:0; color:#fff; text-align:center; + background:none; + border:0; opacity:0.5; transition:opacity 0.15s ease; } @@ -6013,7 +6032,7 @@ a.close.disabled{ display:inline-block; width:2rem; height:2rem; - vertical-align:text-bottom; + vertical-align:-0.125em; border:0.25em solid currentColor; border-right-color:transparent; border-radius:50%; @@ -6050,7 +6069,7 @@ a.close.disabled{ display:inline-block; width:2rem; height:2rem; - vertical-align:text-bottom; + vertical-align:-0.125em; background-color:currentColor; border-radius:50%; opacity:0; @@ -6555,7 +6574,7 @@ button.bg-dark:focus{ } .embed-responsive-21by9::before{ - padding-top:42.8571428571%; + padding-top:42.85714286%; } .embed-responsive-16by9::before{ @@ -7363,6 +7382,7 @@ button.bg-dark:focus{ } .position-sticky{ + position:-webkit-sticky !important; position:sticky !important; } @@ -7382,8 +7402,9 @@ button.bg-dark:focus{ z-index:1030; } -@supports (position: sticky){ +@supports ((position: -webkit-sticky) or (position: sticky)){ .sticky-top{ + position:-webkit-sticky; position:sticky; top:0; z-index:1020; @@ -9928,10 +9949,6 @@ blockquote{ page-break-inside:avoid; } - thead{ - display:table-header-group; - } - tr, img{ page-break-inside:avoid; @@ -10451,7 +10468,7 @@ body.compensate-for-scrollbar{ z-index:99996; } -@supports (padding: max(0px)){ +@supports (padding: 0px){ .fancybox-caption{ padding:75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left)); } @@ -10615,7 +10632,7 @@ body.compensate-for-scrollbar{ padding-right:12px; } - @supports (padding: max(0px)){ + @supports (padding: 0px){ .fancybox-caption{ padding-left:max(12px, env(safe-area-inset-left)); padding-right:max(12px, env(safe-area-inset-right)); diff --git a/public/index.php b/public/index.php index 4584cbc..70f7a93 100644 --- a/public/index.php +++ b/public/index.php @@ -9,6 +9,10 @@ define('LARAVEL_START', microtime(true)); +if (file_exists(__DIR__ . '/../storage/framework/maintenance.php')) { + require __DIR__ . '/../storage/framework/maintenance.php'; +} + /* |-------------------------------------------------------------------------- | Register The Auto Loader diff --git a/public/js/app.js b/public/js/app.js index 86ac93c..1248bad 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -5674,6 +5674,7 @@ module.exports = function xhrAdapter(config) { return new Promise(function dispatchXhrRequest(resolve, reject) { var requestData = config.data; var requestHeaders = config.headers; + var responseType = config.responseType; if (utils.isFormData(requestData)) { delete requestHeaders['Content-Type']; // Let the browser set it @@ -5694,23 +5695,14 @@ module.exports = function xhrAdapter(config) { // Set the request timeout in MS request.timeout = config.timeout; - // Listen for ready state - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + function onloadend() { + if (!request) { return; } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - // Prepare the response var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; var response = { data: responseData, status: request.status, @@ -5724,7 +5716,30 @@ module.exports = function xhrAdapter(config) { // Clean up request request = null; - }; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { @@ -5754,7 +5769,10 @@ module.exports = function xhrAdapter(config) { if (config.timeoutErrorMessage) { timeoutErrorMessage = config.timeoutErrorMessage; } - reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', + reject(createError( + timeoutErrorMessage, + config, + config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED', request)); // Clean up request @@ -5794,16 +5812,8 @@ module.exports = function xhrAdapter(config) { } // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== 'json') { - throw e; - } - } + if (responseType && responseType !== 'json') { + request.responseType = config.responseType; } // Handle progress if needed @@ -5904,7 +5914,7 @@ axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_m module.exports = axios; // Allow use of default import syntax in TypeScript -module.exports.default = axios; +module.exports["default"] = axios; /***/ }), @@ -6037,7 +6047,9 @@ var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/ax var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); +var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js"); +var validators = validator.validators; /** * Create a new instance of Axios * @@ -6077,20 +6089,71 @@ Axios.prototype.request = function request(config) { config.method = 'get'; } - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); + var transitional = config.transitional; + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0') + }, false); + } + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); }); + var responseInterceptorChain = []; this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - chain.push(interceptor.fulfilled, interceptor.rejected); + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); }); - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); + var promise; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, undefined]; + + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + } + + + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); } return promise; @@ -6152,10 +6215,12 @@ function InterceptorManager() { * * @return {Number} An ID used to remove interceptor later */ -InterceptorManager.prototype.use = function use(fulfilled, rejected) { +InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { this.handlers.push({ fulfilled: fulfilled, - rejected: rejected + rejected: rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null }); return this.handlers.length - 1; }; @@ -6288,7 +6353,8 @@ module.exports = function dispatchRequest(config) { config.headers = config.headers || {}; // Transform request data - config.data = transformData( + config.data = transformData.call( + config, config.data, config.headers, config.transformRequest @@ -6314,7 +6380,8 @@ module.exports = function dispatchRequest(config) { throwIfCancellationRequested(config); // Transform response data - response.data = transformData( + response.data = transformData.call( + config, response.data, response.headers, config.transformResponse @@ -6327,7 +6394,8 @@ module.exports = function dispatchRequest(config) { // Transform response data if (reason && reason.response) { - reason.response.data = transformData( + reason.response.data = transformData.call( + config, reason.response.data, reason.response.headers, config.transformResponse @@ -6539,6 +6607,7 @@ module.exports = function settle(resolve, reject, response) { var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js"); /** * Transform the data for a request or a response @@ -6549,9 +6618,10 @@ var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/util * @returns {*} The resulting transformed data */ module.exports = function transformData(data, headers, fns) { + var context = this || defaults; /*eslint no-param-reassign:0*/ utils.forEach(fns, function transform(fn) { - data = fn(data, headers); + data = fn.call(context, data, headers); }); return data; @@ -6567,11 +6637,12 @@ module.exports = function transformData(data, headers, fns) { /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; -/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js"); +/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); +var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); var DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' @@ -6595,12 +6666,35 @@ function getDefaultAdapter() { return adapter; } +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + var defaults = { + + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + adapter: getDefaultAdapter(), transformRequest: [function transformRequest(data, headers) { normalizeHeaderName(headers, 'Accept'); normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || @@ -6617,20 +6711,32 @@ var defaults = { setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); return data.toString(); } - if (utils.isObject(data)) { - setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); - return JSON.stringify(data); + if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) { + setContentTypeIfUnset(headers, 'application/json'); + return stringifySafely(data); } return data; }], transformResponse: [function transformResponse(data) { - /*eslint no-param-reassign:0*/ - if (typeof data === 'string') { + var transitional = this.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; + + if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { try { - data = JSON.parse(data); - } catch (e) { /* Ignore */ } + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw enhanceError(e, this, 'E_JSON_PARSE'); + } + throw e; + } + } } + return data; }], @@ -7111,6 +7217,122 @@ module.exports = function spread(callback) { }; +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/validator.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/axios/package.json"); + +var validators = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +var deprecatedWarnings = {}; +var currentVerArr = pkg.version.split('.'); + +/** + * Compare package versions + * @param {string} version + * @param {string?} thanVersion + * @returns {boolean} + */ +function isOlderVersion(version, thanVersion) { + var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr; + var destVer = version.split('.'); + for (var i = 0; i < 3; i++) { + if (pkgVersionArr[i] > destVer[i]) { + return true; + } else if (pkgVersionArr[i] < destVer[i]) { + return false; + } + } + return false; +} + +/** + * Transitional option validator + * @param {function|boolean?} validator + * @param {string?} version + * @param {string} message + * @returns {function} + */ +validators.transitional = function transitional(validator, version, message) { + var isDeprecated = version && isOlderVersion(version); + + function formatMessage(opt, desc) { + return '[Axios v' + pkg.version + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return function(value, opt, opts) { + if (validator === false) { + throw new Error(formatMessage(opt, ' has been removed in ' + version)); + } + + if (isDeprecated && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +/** + * Assert object's properties type + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new TypeError('options must be an object'); + } + var keys = Object.keys(options); + var i = keys.length; + while (i-- > 0) { + var opt = keys[i]; + var validator = schema[opt]; + if (validator) { + var value = options[opt]; + var result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new TypeError('option ' + opt + ' must be ' + result); + } + continue; + } + if (allowUnknown !== true) { + throw Error('Unknown option ' + opt); + } + } +} + +module.exports = { + isOlderVersion: isOlderVersion, + assertOptions: assertOptions, + validators: validators +}; + + /***/ }), /***/ "./node_modules/axios/lib/utils.js": @@ -7124,8 +7346,6 @@ module.exports = function spread(callback) { var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -/*global toString:true*/ - // utils is a library of generic helper functions non-specific to axios var toString = Object.prototype.toString; @@ -7309,7 +7529,7 @@ function isURLSearchParams(val) { * @returns {String} The String freed of excess whitespace */ function trim(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); } /** @@ -7781,18 +8001,18 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js"); -/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ "./node_modules/core-js/modules/es.array.find-index.js"); -/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js"); -/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js"); -/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js"); -/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js"); -/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ "./node_modules/core-js/modules/es.array.find-index.js"); +/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js"); +/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js"); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js"); +/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js"); +/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js"); +/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js"); /* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_8__); @@ -7913,7 +8133,7 @@ __webpack_require__.r(__webpack_exports__); if (code != null) { codeOk = this.baseDatas.filter(function (elem) { - return elem.code.toString().indexOf(code) >= 0; + return elem.code == code; }).length == 0 ? true : false; } @@ -8509,10 +8729,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); -/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); -/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js"); -/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js"); +/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_2__); + // @@ -8853,8 +9076,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ }); /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js"); /* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); -/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); +/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js"); +/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__); + // @@ -9029,7 +9255,7 @@ __webpack_require__(/*! ./bootstrap */ "./resources/js/bootstrap.js"); __webpack_require__(/*! @fancyapps/fancybox */ "./node_modules/@fancyapps/fancybox/dist/jquery.fancybox.js"); -window.Vue = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js").default; +window.Vue = (__webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js")["default"]); Vue.use((v_clipboard__WEBPACK_IMPORTED_MODULE_0___default())); @@ -9043,15 +9269,15 @@ Vue.use((v_clipboard__WEBPACK_IMPORTED_MODULE_0___default())); // const files = require.context('./', true, /\.vue$/i) // files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) -Vue.component('win-notification', __webpack_require__(/*! ./components/WinNotification.vue */ "./resources/js/components/WinNotification.vue").default); -Vue.component('gain-views', __webpack_require__(/*! ./components/GainViews.vue */ "./resources/js/components/GainViews.vue").default); -Vue.component('prizes', __webpack_require__(/*! ./components/Prizes.vue */ "./resources/js/components/Prizes.vue").default); -Vue.component('instant-win', __webpack_require__(/*! ./components/InstantWin.vue */ "./resources/js/components/InstantWin.vue").default); -Vue.component('codes-ean', __webpack_require__(/*! ./components/CodesEAN.vue */ "./resources/js/components/CodesEAN.vue").default); -Vue.component('banned-ip', __webpack_require__(/*! ./components/BannedIP.vue */ "./resources/js/components/BannedIP.vue").default); -Vue.component('faq-themes', __webpack_require__(/*! ./components/FaqThemes.vue */ "./resources/js/components/FaqThemes.vue").default); -Vue.component('faq-questions', __webpack_require__(/*! ./components/FaqQuestions.vue */ "./resources/js/components/FaqQuestions.vue").default); -Vue.component('web-coupons', __webpack_require__(/*! ./components/WebCoupons.vue */ "./resources/js/components/WebCoupons.vue").default); +Vue.component('win-notification', (__webpack_require__(/*! ./components/WinNotification.vue */ "./resources/js/components/WinNotification.vue")["default"])); +Vue.component('gain-views', (__webpack_require__(/*! ./components/GainViews.vue */ "./resources/js/components/GainViews.vue")["default"])); +Vue.component('prizes', (__webpack_require__(/*! ./components/Prizes.vue */ "./resources/js/components/Prizes.vue")["default"])); +Vue.component('instant-win', (__webpack_require__(/*! ./components/InstantWin.vue */ "./resources/js/components/InstantWin.vue")["default"])); +Vue.component('codes-ean', (__webpack_require__(/*! ./components/CodesEAN.vue */ "./resources/js/components/CodesEAN.vue")["default"])); +Vue.component('banned-ip', (__webpack_require__(/*! ./components/BannedIP.vue */ "./resources/js/components/BannedIP.vue")["default"])); +Vue.component('faq-themes', (__webpack_require__(/*! ./components/FaqThemes.vue */ "./resources/js/components/FaqThemes.vue")["default"])); +Vue.component('faq-questions', (__webpack_require__(/*! ./components/FaqQuestions.vue */ "./resources/js/components/FaqQuestions.vue")["default"])); +Vue.component('web-coupons', (__webpack_require__(/*! ./components/WebCoupons.vue */ "./resources/js/components/WebCoupons.vue")["default"])); /** * Next, we will create a fresh Vue application instance and attach it to * the page. Then, you may begin adding components to this application @@ -9078,7 +9304,7 @@ window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); */ try { - window.Popper = __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js").default; + window.Popper = (__webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")["default"]); window.$ = window.jQuery = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); @@ -9091,7 +9317,10 @@ try { window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); -window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; +window.axios.defaults.headers.common = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content') +}; /** * Echo exposes an expressive API for subscribing to channels and listening * for events that are broadcast by Laravel. Echo and event broadcasting @@ -9115,14 +9344,14 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; /***/ (function(__unused_webpack_module, exports, __webpack_require__) { /*! - * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Bootstrap v4.6.1 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { true ? factory(exports, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"), __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")) : 0; -}(this, (function (exports, $, Popper) { 'use strict'; +})(this, (function (exports, $, Popper) { 'use strict'; function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } @@ -9166,19 +9395,27 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** * -------------------------------------------------------------------------- - * Bootstrap (v4.6.0): util.js + * Bootstrap (v4.6.1): util.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ /** - * ------------------------------------------------------------------------ * Private TransitionEnd Helpers - * ------------------------------------------------------------------------ */ var TRANSITION_END = 'transitionend'; @@ -9198,7 +9435,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; bindType: TRANSITION_END, delegateType: TRANSITION_END, handle: function handle(event) { - if ($__default['default'](event.target).is(this)) { + if ($__default["default"](event.target).is(this)) { return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params } @@ -9211,7 +9448,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var _this = this; var called = false; - $__default['default'](this).one(Util.TRANSITION_END, function () { + $__default["default"](this).one(Util.TRANSITION_END, function () { called = true; }); setTimeout(function () { @@ -9223,13 +9460,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } function setTransitionEndSupport() { - $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator; - $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + $__default["default"].fn.emulateTransitionEnd = transitionEndEmulator; + $__default["default"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); } /** - * -------------------------------------------------------------------------- - * Public Util Api - * -------------------------------------------------------------------------- + * Public Util API */ @@ -9237,6 +9472,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; TRANSITION_END: 'bsTransitionEnd', getUID: function getUID(prefix) { do { + // eslint-disable-next-line no-bitwise prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)); @@ -9262,8 +9498,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } // Get transition-duration of the element - var transitionDuration = $__default['default'](element).css('transition-duration'); - var transitionDelay = $__default['default'](element).css('transition-delay'); + var transitionDuration = $__default["default"](element).css('transition-duration'); + var transitionDelay = $__default["default"](element).css('transition-delay'); var floatTransitionDuration = parseFloat(transitionDuration); var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found @@ -9280,7 +9516,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return element.offsetHeight; }, triggerTransitionEnd: function triggerTransitionEnd(element) { - $__default['default'](element).trigger(TRANSITION_END); + $__default["default"](element).trigger(TRANSITION_END); }, supportsTransitionEnd: function supportsTransitionEnd() { return Boolean(TRANSITION_END); @@ -9324,11 +9560,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return Util.findShadowRoot(element.parentNode); }, jQueryDetection: function jQueryDetection() { - if (typeof $__default['default'] === 'undefined') { + if (typeof $__default["default"] === 'undefined') { throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); } - var version = $__default['default'].fn.jquery.split(' ')[0].split('.'); + var version = $__default["default"].fn.jquery.split(' ')[0].split('.'); var minMajor = 1; var ltMajor = 2; var minMinor = 9; @@ -9344,28 +9580,24 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; setTransitionEndSupport(); /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME = 'alert'; - var VERSION = '4.6.0'; - var DATA_KEY = 'bs.alert'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME]; - var SELECTOR_DISMISS = '[data-dismiss="alert"]'; - var EVENT_CLOSE = "close" + EVENT_KEY; - var EVENT_CLOSED = "closed" + EVENT_KEY; - var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; + var NAME$a = 'alert'; + var VERSION$a = '4.6.1'; + var DATA_KEY$a = 'bs.alert'; + var EVENT_KEY$a = "." + DATA_KEY$a; + var DATA_API_KEY$7 = '.data-api'; + var JQUERY_NO_CONFLICT$a = $__default["default"].fn[NAME$a]; var CLASS_NAME_ALERT = 'alert'; - var CLASS_NAME_FADE = 'fade'; - var CLASS_NAME_SHOW = 'show'; + var CLASS_NAME_FADE$5 = 'fade'; + var CLASS_NAME_SHOW$7 = 'show'; + var EVENT_CLOSE = "close" + EVENT_KEY$a; + var EVENT_CLOSED = "closed" + EVENT_KEY$a; + var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$a + DATA_API_KEY$7; + var SELECTOR_DISMISS = '[data-dismiss="alert"]'; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Alert = /*#__PURE__*/function () { @@ -9394,7 +9626,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.dispose = function dispose() { - $__default['default'].removeData(this._element, DATA_KEY); + $__default["default"].removeData(this._element, DATA_KEY$a); this._element = null; } // Private ; @@ -9408,48 +9640,48 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } if (!parent) { - parent = $__default['default'](element).closest("." + CLASS_NAME_ALERT)[0]; + parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0]; } return parent; }; _proto._triggerCloseEvent = function _triggerCloseEvent(element) { - var closeEvent = $__default['default'].Event(EVENT_CLOSE); - $__default['default'](element).trigger(closeEvent); + var closeEvent = $__default["default"].Event(EVENT_CLOSE); + $__default["default"](element).trigger(closeEvent); return closeEvent; }; _proto._removeElement = function _removeElement(element) { var _this = this; - $__default['default'](element).removeClass(CLASS_NAME_SHOW); + $__default["default"](element).removeClass(CLASS_NAME_SHOW$7); - if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) { + if (!$__default["default"](element).hasClass(CLASS_NAME_FADE$5)) { this._destroyElement(element); return; } var transitionDuration = Util.getTransitionDurationFromElement(element); - $__default['default'](element).one(Util.TRANSITION_END, function (event) { + $__default["default"](element).one(Util.TRANSITION_END, function (event) { return _this._destroyElement(element, event); }).emulateTransitionEnd(transitionDuration); }; _proto._destroyElement = function _destroyElement(element) { - $__default['default'](element).detach().trigger(EVENT_CLOSED).remove(); + $__default["default"](element).detach().trigger(EVENT_CLOSED).remove(); } // Static ; Alert._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { - var $element = $__default['default'](this); - var data = $element.data(DATA_KEY); + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$a); if (!data) { data = new Alert(this); - $element.data(DATA_KEY, data); + $element.data(DATA_KEY$a, data); } if (config === 'close') { @@ -9471,63 +9703,55 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Alert, null, [{ key: "VERSION", get: function get() { - return VERSION; + return VERSION$a; } }]); return Alert; }(); /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ + * Data API implementation */ - $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert())); + $__default["default"](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DISMISS, Alert._handleDismiss(new Alert())); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME] = Alert._jQueryInterface; - $__default['default'].fn[NAME].Constructor = Alert; + $__default["default"].fn[NAME$a] = Alert._jQueryInterface; + $__default["default"].fn[NAME$a].Constructor = Alert; - $__default['default'].fn[NAME].noConflict = function () { - $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT; + $__default["default"].fn[NAME$a].noConflict = function () { + $__default["default"].fn[NAME$a] = JQUERY_NO_CONFLICT$a; return Alert._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$1 = 'button'; - var VERSION$1 = '4.6.0'; - var DATA_KEY$1 = 'bs.button'; - var EVENT_KEY$1 = "." + DATA_KEY$1; - var DATA_API_KEY$1 = '.data-api'; - var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1]; - var CLASS_NAME_ACTIVE = 'active'; + var NAME$9 = 'button'; + var VERSION$9 = '4.6.1'; + var DATA_KEY$9 = 'bs.button'; + var EVENT_KEY$9 = "." + DATA_KEY$9; + var DATA_API_KEY$6 = '.data-api'; + var JQUERY_NO_CONFLICT$9 = $__default["default"].fn[NAME$9]; + var CLASS_NAME_ACTIVE$3 = 'active'; var CLASS_NAME_BUTTON = 'btn'; var CLASS_NAME_FOCUS = 'focus'; + var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$9 + DATA_API_KEY$6; + var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$9 + DATA_API_KEY$6 + " " + ("blur" + EVENT_KEY$9 + DATA_API_KEY$6); + var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$9 + DATA_API_KEY$6; var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]'; var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]'; - var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]'; + var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="button"]'; var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn'; var SELECTOR_INPUT = 'input:not([type="hidden"])'; - var SELECTOR_ACTIVE = '.active'; + var SELECTOR_ACTIVE$2 = '.active'; var SELECTOR_BUTTON = '.btn'; - var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1; - var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1); - var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$1 + DATA_API_KEY$1; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Button = /*#__PURE__*/function () { @@ -9543,20 +9767,20 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto.toggle = function toggle() { var triggerChangeEvent = true; var addAriaPressed = true; - var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0]; + var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0]; if (rootElement) { var input = this._element.querySelector(SELECTOR_INPUT); if (input) { if (input.type === 'radio') { - if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) { + if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE$3)) { triggerChangeEvent = false; } else { - var activeElement = rootElement.querySelector(SELECTOR_ACTIVE); + var activeElement = rootElement.querySelector(SELECTOR_ACTIVE$2); if (activeElement) { - $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE); + $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$3); } } } @@ -9564,11 +9788,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (triggerChangeEvent) { // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input if (input.type === 'checkbox' || input.type === 'radio') { - input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE); + input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE$3); } if (!this.shouldAvoidTriggerChange) { - $__default['default'](input).trigger('change'); + $__default["default"](input).trigger('change'); } } @@ -9579,29 +9803,29 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { if (addAriaPressed) { - this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE)); + this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE$3)); } if (triggerChangeEvent) { - $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE); + $__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE$3); } } }; _proto.dispose = function dispose() { - $__default['default'].removeData(this._element, DATA_KEY$1); + $__default["default"].removeData(this._element, DATA_KEY$9); this._element = null; } // Static ; Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) { return this.each(function () { - var $element = $__default['default'](this); - var data = $element.data(DATA_KEY$1); + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$9); if (!data) { data = new Button(this); - $element.data(DATA_KEY$1, data); + $element.data(DATA_KEY$9, data); } data.shouldAvoidTriggerChange = avoidTriggerChange; @@ -9615,25 +9839,23 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Button, null, [{ key: "VERSION", get: function get() { - return VERSION$1; + return VERSION$9; } }]); return Button; }(); /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ + * Data API implementation */ - $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) { + $__default["default"](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE_CARROT, function (event) { var button = event.target; var initialButton = button; - if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) { - button = $__default['default'](button).closest(SELECTOR_BUTTON)[0]; + if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) { + button = $__default["default"](button).closest(SELECTOR_BUTTON)[0]; } if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { @@ -9648,14 +9870,14 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') { - Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT'); + Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT'); } } }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) { - var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0]; - $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type)); + var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0]; + $__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type)); }); - $__default['default'](window).on(EVENT_LOAD_DATA_API, function () { + $__default["default"](window).on(EVENT_LOAD_DATA_API$2, function () { // ensure correct active class is set to match the controls' actual values/states // find all checkboxes/readio buttons inside data-toggle groups var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS)); @@ -9665,51 +9887,47 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var input = button.querySelector(SELECTOR_INPUT); if (input.checked || input.hasAttribute('checked')) { - button.classList.add(CLASS_NAME_ACTIVE); + button.classList.add(CLASS_NAME_ACTIVE$3); } else { - button.classList.remove(CLASS_NAME_ACTIVE); + button.classList.remove(CLASS_NAME_ACTIVE$3); } } // find all button toggles - buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE)); + buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$4)); for (var _i = 0, _len = buttons.length; _i < _len; _i++) { var _button = buttons[_i]; if (_button.getAttribute('aria-pressed') === 'true') { - _button.classList.add(CLASS_NAME_ACTIVE); + _button.classList.add(CLASS_NAME_ACTIVE$3); } else { - _button.classList.remove(CLASS_NAME_ACTIVE); + _button.classList.remove(CLASS_NAME_ACTIVE$3); } } }); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$1] = Button._jQueryInterface; - $__default['default'].fn[NAME$1].Constructor = Button; + $__default["default"].fn[NAME$9] = Button._jQueryInterface; + $__default["default"].fn[NAME$9].Constructor = Button; - $__default['default'].fn[NAME$1].noConflict = function () { - $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1; + $__default["default"].fn[NAME$9].noConflict = function () { + $__default["default"].fn[NAME$9] = JQUERY_NO_CONFLICT$9; return Button._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$2 = 'carousel'; - var VERSION$2 = '4.6.0'; - var DATA_KEY$2 = 'bs.carousel'; - var EVENT_KEY$2 = "." + DATA_KEY$2; - var DATA_API_KEY$2 = '.data-api'; - var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2]; + var NAME$8 = 'carousel'; + var VERSION$8 = '4.6.1'; + var DATA_KEY$8 = 'bs.carousel'; + var EVENT_KEY$8 = "." + DATA_KEY$8; + var DATA_API_KEY$5 = '.data-api'; + var JQUERY_NO_CONFLICT$8 = $__default["default"].fn[NAME$8]; var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key @@ -9717,47 +9935,31 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch var SWIPE_THRESHOLD = 40; - var Default = { - interval: 5000, - keyboard: true, - slide: false, - pause: 'hover', - wrap: true, - touch: true - }; - var DefaultType = { - interval: '(number|boolean)', - keyboard: 'boolean', - slide: '(boolean|string)', - pause: '(string|boolean)', - wrap: 'boolean', - touch: 'boolean' - }; - var DIRECTION_NEXT = 'next'; - var DIRECTION_PREV = 'prev'; - var DIRECTION_LEFT = 'left'; - var DIRECTION_RIGHT = 'right'; - var EVENT_SLIDE = "slide" + EVENT_KEY$2; - var EVENT_SLID = "slid" + EVENT_KEY$2; - var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2; - var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2; - var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2; - var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2; - var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2; - var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2; - var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2; - var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2; - var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2; - var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$2 + DATA_API_KEY$2; - var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2; var CLASS_NAME_CAROUSEL = 'carousel'; - var CLASS_NAME_ACTIVE$1 = 'active'; + var CLASS_NAME_ACTIVE$2 = 'active'; var CLASS_NAME_SLIDE = 'slide'; var CLASS_NAME_RIGHT = 'carousel-item-right'; var CLASS_NAME_LEFT = 'carousel-item-left'; var CLASS_NAME_NEXT = 'carousel-item-next'; var CLASS_NAME_PREV = 'carousel-item-prev'; var CLASS_NAME_POINTER_EVENT = 'pointer-event'; + var DIRECTION_NEXT = 'next'; + var DIRECTION_PREV = 'prev'; + var DIRECTION_LEFT = 'left'; + var DIRECTION_RIGHT = 'right'; + var EVENT_SLIDE = "slide" + EVENT_KEY$8; + var EVENT_SLID = "slid" + EVENT_KEY$8; + var EVENT_KEYDOWN = "keydown" + EVENT_KEY$8; + var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$8; + var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$8; + var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$8; + var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$8; + var EVENT_TOUCHEND = "touchend" + EVENT_KEY$8; + var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$8; + var EVENT_POINTERUP = "pointerup" + EVENT_KEY$8; + var EVENT_DRAG_START = "dragstart" + EVENT_KEY$8; + var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$5; + var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$8 + DATA_API_KEY$5; var SELECTOR_ACTIVE$1 = '.active'; var SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; var SELECTOR_ITEM = '.carousel-item'; @@ -9766,14 +9968,28 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var SELECTOR_INDICATORS = '.carousel-indicators'; var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'; var SELECTOR_DATA_RIDE = '[data-ride="carousel"]'; + var Default$7 = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true + }; + var DefaultType$7 = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' + }; var PointerType = { TOUCH: 'touch', PEN: 'pen' }; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Carousel = /*#__PURE__*/function () { @@ -9806,7 +10022,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.nextWhenVisible = function nextWhenVisible() { - var $element = $__default['default'](this._element); // Don't call next when the page isn't visible + var $element = $__default["default"](this._element); // Don't call next when the page isn't visible // or the carousel or its parent isn't visible if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') { @@ -9863,7 +10079,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } if (this._isSliding) { - $__default['default'](this._element).one(EVENT_SLID, function () { + $__default["default"](this._element).one(EVENT_SLID, function () { return _this.to(index); }); return; @@ -9881,8 +10097,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.dispose = function dispose() { - $__default['default'](this._element).off(EVENT_KEY$2); - $__default['default'].removeData(this._element, DATA_KEY$2); + $__default["default"](this._element).off(EVENT_KEY$8); + $__default["default"].removeData(this._element, DATA_KEY$8); this._items = null; this._config = null; this._element = null; @@ -9895,8 +10111,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; ; _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default, config); - Util.typeCheckConfig(NAME$2, config, DefaultType); + config = _extends({}, Default$7, config); + Util.typeCheckConfig(NAME$8, config, DefaultType$7); return config; }; @@ -9924,13 +10140,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var _this2 = this; if (this._config.keyboard) { - $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) { + $__default["default"](this._element).on(EVENT_KEYDOWN, function (event) { return _this2._keydown(event); }); } if (this._config.pause === 'hover') { - $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) { + $__default["default"](this._element).on(EVENT_MOUSEENTER, function (event) { return _this2.pause(event); }).on(EVENT_MOUSELEAVE, function (event) { return _this2.cycle(event); @@ -9959,11 +10175,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var move = function move(event) { // ensure swiping with one touch and not pinching - if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { - _this3.touchDeltaX = 0; - } else { - _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; - } + _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX; }; var end = function end(event) { @@ -9993,27 +10205,27 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } }; - $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) { + $__default["default"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) { return e.preventDefault(); }); if (this._pointerEvent) { - $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) { + $__default["default"](this._element).on(EVENT_POINTERDOWN, function (event) { return start(event); }); - $__default['default'](this._element).on(EVENT_POINTERUP, function (event) { + $__default["default"](this._element).on(EVENT_POINTERUP, function (event) { return end(event); }); this._element.classList.add(CLASS_NAME_POINTER_EVENT); } else { - $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) { + $__default["default"](this._element).on(EVENT_TOUCHSTART, function (event) { return start(event); }); - $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) { + $__default["default"](this._element).on(EVENT_TOUCHMOVE, function (event) { return move(event); }); - $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) { + $__default["default"](this._element).on(EVENT_TOUCHEND, function (event) { return end(event); }); } @@ -10065,25 +10277,25 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM)); - var slideEvent = $__default['default'].Event(EVENT_SLIDE, { + var slideEvent = $__default["default"].Event(EVENT_SLIDE, { relatedTarget: relatedTarget, direction: eventDirectionName, from: fromIndex, to: targetIndex }); - $__default['default'](this._element).trigger(slideEvent); + $__default["default"](this._element).trigger(slideEvent); return slideEvent; }; _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { if (this._indicatorsElement) { var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1)); - $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1); + $__default["default"](indicators).removeClass(CLASS_NAME_ACTIVE$2); var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; if (nextIndicator) { - $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1); + $__default["default"](nextIndicator).addClass(CLASS_NAME_ACTIVE$2); } } }; @@ -10131,7 +10343,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; eventDirectionName = DIRECTION_RIGHT; } - if (nextElement && $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) { + if (nextElement && $__default["default"](nextElement).hasClass(CLASS_NAME_ACTIVE$2)) { this._isSliding = false; return; } @@ -10156,32 +10368,32 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._setActiveIndicatorElement(nextElement); this._activeElement = nextElement; - var slidEvent = $__default['default'].Event(EVENT_SLID, { + var slidEvent = $__default["default"].Event(EVENT_SLID, { relatedTarget: nextElement, direction: eventDirectionName, from: activeElementIndex, to: nextElementIndex }); - if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) { - $__default['default'](nextElement).addClass(orderClassName); + if ($__default["default"](this._element).hasClass(CLASS_NAME_SLIDE)) { + $__default["default"](nextElement).addClass(orderClassName); Util.reflow(nextElement); - $__default['default'](activeElement).addClass(directionalClassName); - $__default['default'](nextElement).addClass(directionalClassName); + $__default["default"](activeElement).addClass(directionalClassName); + $__default["default"](nextElement).addClass(directionalClassName); var transitionDuration = Util.getTransitionDurationFromElement(activeElement); - $__default['default'](activeElement).one(Util.TRANSITION_END, function () { - $__default['default'](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1); - $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName); + $__default["default"](activeElement).one(Util.TRANSITION_END, function () { + $__default["default"](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$2); + $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2 + " " + orderClassName + " " + directionalClassName); _this4._isSliding = false; setTimeout(function () { - return $__default['default'](_this4._element).trigger(slidEvent); + return $__default["default"](_this4._element).trigger(slidEvent); }, 0); }).emulateTransitionEnd(transitionDuration); } else { - $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1); - $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1); + $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2); + $__default["default"](nextElement).addClass(CLASS_NAME_ACTIVE$2); this._isSliding = false; - $__default['default'](this._element).trigger(slidEvent); + $__default["default"](this._element).trigger(slidEvent); } if (isCycling) { @@ -10192,9 +10404,9 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Carousel._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { - var data = $__default['default'](this).data(DATA_KEY$2); + var data = $__default["default"](this).data(DATA_KEY$8); - var _config = _extends({}, Default, $__default['default'](this).data()); + var _config = _extends({}, Default$7, $__default["default"](this).data()); if (typeof config === 'object') { _config = _extends({}, _config, config); @@ -10204,7 +10416,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (!data) { data = new Carousel(this, _config); - $__default['default'](this).data(DATA_KEY$2, data); + $__default["default"](this).data(DATA_KEY$8, data); } if (typeof config === 'number') { @@ -10229,13 +10441,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return; } - var target = $__default['default'](selector)[0]; + var target = $__default["default"](selector)[0]; - if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) { + if (!target || !$__default["default"](target).hasClass(CLASS_NAME_CAROUSEL)) { return; } - var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data()); + var config = _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); var slideIndex = this.getAttribute('data-slide-to'); @@ -10243,10 +10455,10 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; config.interval = false; } - Carousel._jQueryInterface.call($__default['default'](target), config); + Carousel._jQueryInterface.call($__default["default"](target), config); if (slideIndex) { - $__default['default'](target).data(DATA_KEY$2).to(slideIndex); + $__default["default"](target).data(DATA_KEY$8).to(slideIndex); } event.preventDefault(); @@ -10255,85 +10467,77 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Carousel, null, [{ key: "VERSION", get: function get() { - return VERSION$2; + return VERSION$8; } }, { key: "Default", get: function get() { - return Default; + return Default$7; } }]); return Carousel; }(); /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ + * Data API implementation */ - $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler); - $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () { + $__default["default"](document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler); + $__default["default"](window).on(EVENT_LOAD_DATA_API$1, function () { var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE)); for (var i = 0, len = carousels.length; i < len; i++) { - var $carousel = $__default['default'](carousels[i]); + var $carousel = $__default["default"](carousels[i]); Carousel._jQueryInterface.call($carousel, $carousel.data()); } }); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$2] = Carousel._jQueryInterface; - $__default['default'].fn[NAME$2].Constructor = Carousel; + $__default["default"].fn[NAME$8] = Carousel._jQueryInterface; + $__default["default"].fn[NAME$8].Constructor = Carousel; - $__default['default'].fn[NAME$2].noConflict = function () { - $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2; + $__default["default"].fn[NAME$8].noConflict = function () { + $__default["default"].fn[NAME$8] = JQUERY_NO_CONFLICT$8; return Carousel._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$3 = 'collapse'; - var VERSION$3 = '4.6.0'; - var DATA_KEY$3 = 'bs.collapse'; - var EVENT_KEY$3 = "." + DATA_KEY$3; - var DATA_API_KEY$3 = '.data-api'; - var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3]; - var Default$1 = { - toggle: true, - parent: '' - }; - var DefaultType$1 = { - toggle: 'boolean', - parent: '(string|element)' - }; - var EVENT_SHOW = "show" + EVENT_KEY$3; - var EVENT_SHOWN = "shown" + EVENT_KEY$3; - var EVENT_HIDE = "hide" + EVENT_KEY$3; - var EVENT_HIDDEN = "hidden" + EVENT_KEY$3; - var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3; - var CLASS_NAME_SHOW$1 = 'show'; + var NAME$7 = 'collapse'; + var VERSION$7 = '4.6.1'; + var DATA_KEY$7 = 'bs.collapse'; + var EVENT_KEY$7 = "." + DATA_KEY$7; + var DATA_API_KEY$4 = '.data-api'; + var JQUERY_NO_CONFLICT$7 = $__default["default"].fn[NAME$7]; + var CLASS_NAME_SHOW$6 = 'show'; var CLASS_NAME_COLLAPSE = 'collapse'; var CLASS_NAME_COLLAPSING = 'collapsing'; var CLASS_NAME_COLLAPSED = 'collapsed'; var DIMENSION_WIDTH = 'width'; var DIMENSION_HEIGHT = 'height'; + var EVENT_SHOW$4 = "show" + EVENT_KEY$7; + var EVENT_SHOWN$4 = "shown" + EVENT_KEY$7; + var EVENT_HIDE$4 = "hide" + EVENT_KEY$7; + var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$7; + var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$7 + DATA_API_KEY$4; var SELECTOR_ACTIVES = '.show, .collapsing'; - var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]'; + var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="collapse"]'; + var Default$6 = { + toggle: true, + parent: '' + }; + var DefaultType$6 = { + toggle: 'boolean', + parent: '(string|element)' + }; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Collapse = /*#__PURE__*/function () { @@ -10342,7 +10546,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._element = element; this._config = this._getConfig(config); this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); - var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1)); + var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$3)); for (var i = 0, len = toggleList.length; i < len; i++) { var elem = toggleList[i]; @@ -10374,7 +10578,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; // Public _proto.toggle = function toggle() { - if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { + if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { this.hide(); } else { this.show(); @@ -10384,7 +10588,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto.show = function show() { var _this = this; - if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { + if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { return; } @@ -10406,64 +10610,64 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } if (actives) { - activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3); + activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY$7); if (activesData && activesData._isTransitioning) { return; } } - var startEvent = $__default['default'].Event(EVENT_SHOW); - $__default['default'](this._element).trigger(startEvent); + var startEvent = $__default["default"].Event(EVENT_SHOW$4); + $__default["default"](this._element).trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } if (actives) { - Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide'); + Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide'); if (!activesData) { - $__default['default'](actives).data(DATA_KEY$3, null); + $__default["default"](actives).data(DATA_KEY$7, null); } } var dimension = this._getDimension(); - $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING); + $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING); this._element.style[dimension] = 0; if (this._triggerArray.length) { - $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true); + $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true); } this.setTransitioning(true); var complete = function complete() { - $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1); + $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6); _this._element.style[dimension] = ''; _this.setTransitioning(false); - $__default['default'](_this._element).trigger(EVENT_SHOWN); + $__default["default"](_this._element).trigger(EVENT_SHOWN$4); }; var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); var scrollSize = "scroll" + capitalizedDimension; var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); this._element.style[dimension] = this._element[scrollSize] + "px"; }; _proto.hide = function hide() { var _this2 = this; - if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { + if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { return; } - var startEvent = $__default['default'].Event(EVENT_HIDE); - $__default['default'](this._element).trigger(startEvent); + var startEvent = $__default["default"].Event(EVENT_HIDE$4); + $__default["default"](this._element).trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; @@ -10473,7 +10677,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; Util.reflow(this._element); - $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1); + $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6); var triggerArrayLength = this._triggerArray.length; if (triggerArrayLength > 0) { @@ -10482,10 +10686,10 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var selector = Util.getSelectorFromElement(trigger); if (selector !== null) { - var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector))); + var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector))); - if (!$elem.hasClass(CLASS_NAME_SHOW$1)) { - $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false); + if (!$elem.hasClass(CLASS_NAME_SHOW$6)) { + $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false); } } } @@ -10496,12 +10700,12 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var complete = function complete() { _this2.setTransitioning(false); - $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN); + $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN$4); }; this._element.style[dimension] = ''; var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); }; _proto.setTransitioning = function setTransitioning(isTransitioning) { @@ -10509,7 +10713,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.dispose = function dispose() { - $__default['default'].removeData(this._element, DATA_KEY$3); + $__default["default"].removeData(this._element, DATA_KEY$7); this._config = null; this._parent = null; this._element = null; @@ -10519,15 +10723,15 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; ; _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default$1, config); + config = _extends({}, Default$6, config); config.toggle = Boolean(config.toggle); // Coerce string values - Util.typeCheckConfig(NAME$3, config, DefaultType$1); + Util.typeCheckConfig(NAME$7, config, DefaultType$6); return config; }; _proto._getDimension = function _getDimension() { - var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH); + var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH); return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT; }; @@ -10548,17 +10752,17 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; var children = [].slice.call(parent.querySelectorAll(selector)); - $__default['default'](children).each(function (i, element) { + $__default["default"](children).each(function (i, element) { _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); }); return parent; }; _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { - var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1); + var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW$6); if (triggerArray.length) { - $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen); } } // Static ; @@ -10570,10 +10774,10 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Collapse._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { - var $element = $__default['default'](this); - var data = $element.data(DATA_KEY$3); + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$7); - var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' && config ? config : {}); + var _config = _extends({}, Default$6, $element.data(), typeof config === 'object' && config ? config : {}); if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { _config.toggle = false; @@ -10581,7 +10785,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (!data) { data = new Collapse(this, _config); - $element.data(DATA_KEY$3, data); + $element.data(DATA_KEY$7, data); } if (typeof config === 'string') { @@ -10597,68 +10801,62 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Collapse, null, [{ key: "VERSION", get: function get() { - return VERSION$3; + return VERSION$7; } }, { key: "Default", get: function get() { - return Default$1; + return Default$6; } }]); return Collapse; }(); /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ + * Data API implementation */ - $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) { + $__default["default"](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { // preventDefault only for elements (which change the URL) not inside the collapsible element if (event.currentTarget.tagName === 'A') { event.preventDefault(); } - var $trigger = $__default['default'](this); + var $trigger = $__default["default"](this); var selector = Util.getSelectorFromElement(this); var selectors = [].slice.call(document.querySelectorAll(selector)); - $__default['default'](selectors).each(function () { - var $target = $__default['default'](this); - var data = $target.data(DATA_KEY$3); + $__default["default"](selectors).each(function () { + var $target = $__default["default"](this); + var data = $target.data(DATA_KEY$7); var config = data ? 'toggle' : $trigger.data(); Collapse._jQueryInterface.call($target, config); }); }); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$3] = Collapse._jQueryInterface; - $__default['default'].fn[NAME$3].Constructor = Collapse; + $__default["default"].fn[NAME$7] = Collapse._jQueryInterface; + $__default["default"].fn[NAME$7].Constructor = Collapse; - $__default['default'].fn[NAME$3].noConflict = function () { - $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3; + $__default["default"].fn[NAME$7].noConflict = function () { + $__default["default"].fn[NAME$7] = JQUERY_NO_CONFLICT$7; return Collapse._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$4 = 'dropdown'; - var VERSION$4 = '4.6.0'; - var DATA_KEY$4 = 'bs.dropdown'; - var EVENT_KEY$4 = "." + DATA_KEY$4; - var DATA_API_KEY$4 = '.data-api'; - var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4]; - var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + var NAME$6 = 'dropdown'; + var VERSION$6 = '4.6.1'; + var DATA_KEY$6 = 'bs.dropdown'; + var EVENT_KEY$6 = "." + DATA_KEY$6; + var DATA_API_KEY$3 = '.data-api'; + var JQUERY_NO_CONFLICT$6 = $__default["default"].fn[NAME$6]; + var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key @@ -10670,22 +10868,22 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) - var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); - var EVENT_HIDE$1 = "hide" + EVENT_KEY$4; - var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4; - var EVENT_SHOW$1 = "show" + EVENT_KEY$4; - var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4; - var EVENT_CLICK = "click" + EVENT_KEY$4; - var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4; - var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4; - var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4; - var CLASS_NAME_DISABLED = 'disabled'; - var CLASS_NAME_SHOW$2 = 'show'; + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE$1); + var CLASS_NAME_DISABLED$1 = 'disabled'; + var CLASS_NAME_SHOW$5 = 'show'; var CLASS_NAME_DROPUP = 'dropup'; var CLASS_NAME_DROPRIGHT = 'dropright'; var CLASS_NAME_DROPLEFT = 'dropleft'; var CLASS_NAME_MENURIGHT = 'dropdown-menu-right'; var CLASS_NAME_POSITION_STATIC = 'position-static'; + var EVENT_HIDE$3 = "hide" + EVENT_KEY$6; + var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$6; + var EVENT_SHOW$3 = "show" + EVENT_KEY$6; + var EVENT_SHOWN$3 = "shown" + EVENT_KEY$6; + var EVENT_CLICK = "click" + EVENT_KEY$6; + var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$6 + DATA_API_KEY$3; + var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$6 + DATA_API_KEY$3; + var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$6 + DATA_API_KEY$3; var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]'; var SELECTOR_FORM_CHILD = '.dropdown form'; var SELECTOR_MENU = '.dropdown-menu'; @@ -10697,7 +10895,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var PLACEMENT_BOTTOMEND = 'bottom-end'; var PLACEMENT_RIGHT = 'right-start'; var PLACEMENT_LEFT = 'left-start'; - var Default$2 = { + var Default$5 = { offset: 0, flip: true, boundary: 'scrollParent', @@ -10705,7 +10903,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; display: 'dynamic', popperConfig: null }; - var DefaultType$2 = { + var DefaultType$5 = { offset: '(number|string|function)', flip: 'boolean', boundary: '(string|element)', @@ -10714,9 +10912,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; popperConfig: '(null|object)' }; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Dropdown = /*#__PURE__*/function () { @@ -10735,11 +10931,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; // Public _proto.toggle = function toggle() { - if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) { + if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1)) { return; } - var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2); + var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5); Dropdown._clearMenus(); @@ -10755,18 +10951,18 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; usePopper = false; } - if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) { + if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) { return; } var relatedTarget = { relatedTarget: this._element }; - var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget); + var showEvent = $__default["default"].Event(EVENT_SHOW$3, relatedTarget); var parent = Dropdown._getParentFromElement(this._element); - $__default['default'](parent).trigger(showEvent); + $__default["default"](parent).trigger(showEvent); if (showEvent.isDefaultPrevented()) { return; @@ -10774,11 +10970,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (!this._inNavbar && usePopper) { - /** - * Check for Popper dependency - * Popper - https://popper.js.org - */ - if (typeof Popper__default['default'] === 'undefined') { + // Check for Popper dependency + if (typeof Popper__default["default"] === 'undefined') { throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); } @@ -10798,41 +10991,41 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (this._config.boundary !== 'scrollParent') { - $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC); + $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC); } - this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig()); + this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig()); } // If this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on iOS // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) { - $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop); + if ('ontouchstart' in document.documentElement && $__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) { + $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); } this._element.focus(); this._element.setAttribute('aria-expanded', true); - $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2); - $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget)); + $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5); + $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_SHOWN$3, relatedTarget)); }; _proto.hide = function hide() { - if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) { + if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) { return; } var relatedTarget = { relatedTarget: this._element }; - var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget); + var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget); var parent = Dropdown._getParentFromElement(this._element); - $__default['default'](parent).trigger(hideEvent); + $__default["default"](parent).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { return; @@ -10842,13 +11035,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._popper.destroy(); } - $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2); - $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget)); + $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5); + $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget)); }; _proto.dispose = function dispose() { - $__default['default'].removeData(this._element, DATA_KEY$4); - $__default['default'](this._element).off(EVENT_KEY$4); + $__default["default"].removeData(this._element, DATA_KEY$6); + $__default["default"](this._element).off(EVENT_KEY$6); this._element = null; this._menu = null; @@ -10871,7 +11064,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto._addEventListeners = function _addEventListeners() { var _this = this; - $__default['default'](this._element).on(EVENT_CLICK, function (event) { + $__default["default"](this._element).on(EVENT_CLICK, function (event) { event.preventDefault(); event.stopPropagation(); @@ -10880,8 +11073,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto._getConfig = function _getConfig(config) { - config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config); - Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config); + Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); return config; }; @@ -10898,16 +11091,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto._getPlacement = function _getPlacement() { - var $parentDropdown = $__default['default'](this._element.parentNode); + var $parentDropdown = $__default["default"](this._element.parentNode); var placement = PLACEMENT_BOTTOM; // Handle dropup if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) { - placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; + placement = $__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) { placement = PLACEMENT_RIGHT; } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) { placement = PLACEMENT_LEFT; - } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) { + } else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) { placement = PLACEMENT_BOTTOMEND; } @@ -10915,7 +11108,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto._detectNavbar = function _detectNavbar() { - return $__default['default'](this._element).closest('.navbar').length > 0; + return $__default["default"](this._element).closest('.navbar').length > 0; }; _proto._getOffset = function _getOffset() { @@ -10925,7 +11118,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (typeof this._config.offset === 'function') { offset.fn = function (data) { - data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); + data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element)); return data; }; } else { @@ -10961,13 +11154,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Dropdown._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { - var data = $__default['default'](this).data(DATA_KEY$4); + var data = $__default["default"](this).data(DATA_KEY$6); var _config = typeof config === 'object' ? config : null; if (!data) { data = new Dropdown(this, _config); - $__default['default'](this).data(DATA_KEY$4, data); + $__default["default"](this).data(DATA_KEY$6, data); } if (typeof config === 'string') { @@ -10990,7 +11183,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; for (var i = 0, len = toggles.length; i < len; i++) { var parent = Dropdown._getParentFromElement(toggles[i]); - var context = $__default['default'](toggles[i]).data(DATA_KEY$4); + var context = $__default["default"](toggles[i]).data(DATA_KEY$6); var relatedTarget = { relatedTarget: toggles[i] }; @@ -11005,16 +11198,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var dropdownMenu = context._menu; - if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) { + if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW$5)) { continue; } - if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) { + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default["default"].contains(parent, event.target)) { continue; } - var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget); - $__default['default'](parent).trigger(hideEvent); + var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget); + $__default["default"](parent).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { continue; @@ -11023,7 +11216,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if ('ontouchstart' in document.documentElement) { - $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop); + $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); } toggles[i].setAttribute('aria-expanded', 'false'); @@ -11032,8 +11225,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; context._popper.destroy(); } - $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2); - $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget)); + $__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW$5); + $__default["default"](parent).removeClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget)); } }; @@ -11057,36 +11250,36 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; // - If key is other than escape // - If key is not up or down => not a dropdown command // - If trigger inside the menu => not a dropdown command - if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE$1 && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default["default"](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { return; } - if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) { + if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED$1)) { return; } var parent = Dropdown._getParentFromElement(this); - var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2); + var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW$5); - if (!isActive && event.which === ESCAPE_KEYCODE) { + if (!isActive && event.which === ESCAPE_KEYCODE$1) { return; } event.preventDefault(); event.stopPropagation(); - if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) { - if (event.which === ESCAPE_KEYCODE) { - $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus'); + if (!isActive || event.which === ESCAPE_KEYCODE$1 || event.which === SPACE_KEYCODE) { + if (event.which === ESCAPE_KEYCODE$1) { + $__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus'); } - $__default['default'](this).trigger('click'); + $__default["default"](this).trigger('click'); return; } var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) { - return $__default['default'](item).is(':visible'); + return $__default["default"](item).is(':visible'); }); if (items.length === 0) { @@ -11115,77 +11308,66 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Dropdown, null, [{ key: "VERSION", get: function get() { - return VERSION$4; + return VERSION$6; } }, { key: "Default", get: function get() { - return Default$2; + return Default$5; } }, { key: "DefaultType", get: function get() { - return DefaultType$2; + return DefaultType$5; } }]); return Dropdown; }(); /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ + * Data API implementation */ - $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) { + $__default["default"](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$2 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { event.preventDefault(); event.stopPropagation(); - Dropdown._jQueryInterface.call($__default['default'](this), 'toggle'); - }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) { + Dropdown._jQueryInterface.call($__default["default"](this), 'toggle'); + }).on(EVENT_CLICK_DATA_API$2, SELECTOR_FORM_CHILD, function (e) { e.stopPropagation(); }); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface; - $__default['default'].fn[NAME$4].Constructor = Dropdown; + $__default["default"].fn[NAME$6] = Dropdown._jQueryInterface; + $__default["default"].fn[NAME$6].Constructor = Dropdown; - $__default['default'].fn[NAME$4].noConflict = function () { - $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4; + $__default["default"].fn[NAME$6].noConflict = function () { + $__default["default"].fn[NAME$6] = JQUERY_NO_CONFLICT$6; return Dropdown._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ var NAME$5 = 'modal'; - var VERSION$5 = '4.6.0'; + var VERSION$5 = '4.6.1'; var DATA_KEY$5 = 'bs.modal'; var EVENT_KEY$5 = "." + DATA_KEY$5; - var DATA_API_KEY$5 = '.data-api'; - var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5]; - var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key + var DATA_API_KEY$2 = '.data-api'; + var JQUERY_NO_CONFLICT$5 = $__default["default"].fn[NAME$5]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key - var Default$3 = { - backdrop: true, - keyboard: true, - focus: true, - show: true - }; - var DefaultType$3 = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - focus: 'boolean', - show: 'boolean' - }; + var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'; + var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; + var CLASS_NAME_BACKDROP = 'modal-backdrop'; + var CLASS_NAME_OPEN = 'modal-open'; + var CLASS_NAME_FADE$4 = 'fade'; + var CLASS_NAME_SHOW$4 = 'show'; + var CLASS_NAME_STATIC = 'modal-static'; var EVENT_HIDE$2 = "hide" + EVENT_KEY$5; var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5; var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5; @@ -11193,28 +11375,31 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5; var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5; var EVENT_RESIZE = "resize" + EVENT_KEY$5; - var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5; + var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$5; var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5; var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5; var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5; - var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5; - var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'; - var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; - var CLASS_NAME_BACKDROP = 'modal-backdrop'; - var CLASS_NAME_OPEN = 'modal-open'; - var CLASS_NAME_FADE$1 = 'fade'; - var CLASS_NAME_SHOW$3 = 'show'; - var CLASS_NAME_STATIC = 'modal-static'; + var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$5 + DATA_API_KEY$2; var SELECTOR_DIALOG = '.modal-dialog'; var SELECTOR_MODAL_BODY = '.modal-body'; - var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]'; - var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]'; + var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="modal"]'; + var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="modal"]'; var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; var SELECTOR_STICKY_CONTENT = '.sticky-top'; + var Default$4 = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType$4 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Modal = /*#__PURE__*/function () { @@ -11245,21 +11430,21 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return; } - if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) { - this._isTransitioning = true; - } - - var showEvent = $__default['default'].Event(EVENT_SHOW$2, { + var showEvent = $__default["default"].Event(EVENT_SHOW$2, { relatedTarget: relatedTarget }); - $__default['default'](this._element).trigger(showEvent); + $__default["default"](this._element).trigger(showEvent); - if (this._isShown || showEvent.isDefaultPrevented()) { + if (showEvent.isDefaultPrevented()) { return; } this._isShown = true; + if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) { + this._isTransitioning = true; + } + this._checkScrollbar(); this._setScrollbar(); @@ -11270,12 +11455,12 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._setResizeEvent(); - $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) { + $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function (event) { return _this.hide(event); }); - $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () { - $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) { - if ($__default['default'](event.target).is(_this._element)) { + $__default["default"](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () { + $__default["default"](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) { + if ($__default["default"](event.target).is(_this._element)) { _this._ignoreBackdropClick = true; } }); @@ -11297,15 +11482,15 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return; } - var hideEvent = $__default['default'].Event(EVENT_HIDE$2); - $__default['default'](this._element).trigger(hideEvent); + var hideEvent = $__default["default"].Event(EVENT_HIDE$2); + $__default["default"](this._element).trigger(hideEvent); if (!this._isShown || hideEvent.isDefaultPrevented()) { return; } this._isShown = false; - var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1); + var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4); if (transition) { this._isTransitioning = true; @@ -11315,14 +11500,14 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._setResizeEvent(); - $__default['default'](document).off(EVENT_FOCUSIN); - $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3); - $__default['default'](this._element).off(EVENT_CLICK_DISMISS); - $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS); + $__default["default"](document).off(EVENT_FOCUSIN); + $__default["default"](this._element).removeClass(CLASS_NAME_SHOW$4); + $__default["default"](this._element).off(EVENT_CLICK_DISMISS$1); + $__default["default"](this._dialog).off(EVENT_MOUSEDOWN_DISMISS); if (transition) { var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $__default['default'](this._element).one(Util.TRANSITION_END, function (event) { + $__default["default"](this._element).one(Util.TRANSITION_END, function (event) { return _this2._hideModal(event); }).emulateTransitionEnd(transitionDuration); } else { @@ -11332,7 +11517,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto.dispose = function dispose() { [window, this._element, this._dialog].forEach(function (htmlElement) { - return $__default['default'](htmlElement).off(EVENT_KEY$5); + return $__default["default"](htmlElement).off(EVENT_KEY$5); }); /** * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API` @@ -11340,8 +11525,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; * It will remove `EVENT_CLICK_DATA_API` event that should remain */ - $__default['default'](document).off(EVENT_FOCUSIN); - $__default['default'].removeData(this._element, DATA_KEY$5); + $__default["default"](document).off(EVENT_FOCUSIN); + $__default["default"].removeData(this._element, DATA_KEY$5); this._config = null; this._element = null; this._dialog = null; @@ -11359,16 +11544,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; ; _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default$3, config); - Util.typeCheckConfig(NAME$5, config, DefaultType$3); + config = _extends({}, Default$4, config); + Util.typeCheckConfig(NAME$5, config, DefaultType$4); return config; }; _proto._triggerBackdropTransition = function _triggerBackdropTransition() { var _this3 = this; - var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED); - $__default['default'](this._element).trigger(hideEventPrevented); + var hideEventPrevented = $__default["default"].Event(EVENT_HIDE_PREVENTED); + $__default["default"](this._element).trigger(hideEventPrevented); if (hideEventPrevented.isDefaultPrevented()) { return; @@ -11383,12 +11568,12 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._element.classList.add(CLASS_NAME_STATIC); var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog); - $__default['default'](this._element).off(Util.TRANSITION_END); - $__default['default'](this._element).one(Util.TRANSITION_END, function () { + $__default["default"](this._element).off(Util.TRANSITION_END); + $__default["default"](this._element).one(Util.TRANSITION_END, function () { _this3._element.classList.remove(CLASS_NAME_STATIC); if (!isModalOverflowing) { - $__default['default'](_this3._element).one(Util.TRANSITION_END, function () { + $__default["default"](_this3._element).one(Util.TRANSITION_END, function () { _this3._element.style.overflowY = ''; }).emulateTransitionEnd(_this3._element, modalTransitionDuration); } @@ -11400,7 +11585,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto._showElement = function _showElement(relatedTarget) { var _this4 = this; - var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1); + var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4); var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null; if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { @@ -11416,7 +11601,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._element.setAttribute('role', 'dialog'); - if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) { + if ($__default["default"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) { modalBody.scrollTop = 0; } else { this._element.scrollTop = 0; @@ -11426,13 +11611,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Util.reflow(this._element); } - $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3); + $__default["default"](this._element).addClass(CLASS_NAME_SHOW$4); if (this._config.focus) { this._enforceFocus(); } - var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, { + var shownEvent = $__default["default"].Event(EVENT_SHOWN$2, { relatedTarget: relatedTarget }); @@ -11442,12 +11627,12 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } _this4._isTransitioning = false; - $__default['default'](_this4._element).trigger(shownEvent); + $__default["default"](_this4._element).trigger(shownEvent); }; if (transition) { var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); - $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + $__default["default"](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); } else { transitionComplete(); } @@ -11456,9 +11641,9 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto._enforceFocus = function _enforceFocus() { var _this5 = this; - $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop + $__default["default"](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop .on(EVENT_FOCUSIN, function (event) { - if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) { + if (document !== event.target && _this5._element !== event.target && $__default["default"](_this5._element).has(event.target).length === 0) { _this5._element.focus(); } }); @@ -11468,17 +11653,17 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var _this6 = this; if (this._isShown) { - $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) { - if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) { + $__default["default"](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) { + if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) { event.preventDefault(); _this6.hide(); - } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) { + } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) { _this6._triggerBackdropTransition(); } }); } else if (!this._isShown) { - $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS); + $__default["default"](this._element).off(EVENT_KEYDOWN_DISMISS); } }; @@ -11486,11 +11671,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var _this7 = this; if (this._isShown) { - $__default['default'](window).on(EVENT_RESIZE, function (event) { + $__default["default"](window).on(EVENT_RESIZE, function (event) { return _this7.handleUpdate(event); }); } else { - $__default['default'](window).off(EVENT_RESIZE); + $__default["default"](window).off(EVENT_RESIZE); } }; @@ -11508,19 +11693,19 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._isTransitioning = false; this._showBackdrop(function () { - $__default['default'](document.body).removeClass(CLASS_NAME_OPEN); + $__default["default"](document.body).removeClass(CLASS_NAME_OPEN); _this8._resetAdjustments(); _this8._resetScrollbar(); - $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2); + $__default["default"](_this8._element).trigger(EVENT_HIDDEN$2); }); }; _proto._removeBackdrop = function _removeBackdrop() { if (this._backdrop) { - $__default['default'](this._backdrop).remove(); + $__default["default"](this._backdrop).remove(); this._backdrop = null; } }; @@ -11528,7 +11713,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto._showBackdrop = function _showBackdrop(callback) { var _this9 = this; - var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : ''; + var animate = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4) ? CLASS_NAME_FADE$4 : ''; if (this._isShown && this._config.backdrop) { this._backdrop = document.createElement('div'); @@ -11538,8 +11723,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._backdrop.classList.add(animate); } - $__default['default'](this._backdrop).appendTo(document.body); - $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) { + $__default["default"](this._backdrop).appendTo(document.body); + $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, function (event) { if (_this9._ignoreBackdropClick) { _this9._ignoreBackdropClick = false; return; @@ -11560,7 +11745,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Util.reflow(this._backdrop); } - $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3); + $__default["default"](this._backdrop).addClass(CLASS_NAME_SHOW$4); if (!callback) { return; @@ -11572,9 +11757,9 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + $__default["default"](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); } else if (!this._isShown && this._backdrop) { - $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3); + $__default["default"](this._backdrop).removeClass(CLASS_NAME_SHOW$4); var callbackRemove = function callbackRemove() { _this9._removeBackdrop(); @@ -11584,10 +11769,10 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } }; - if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) { + if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) { var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + $__default["default"](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); } else { callbackRemove(); } @@ -11632,46 +11817,46 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding - $__default['default'](fixedContent).each(function (index, element) { + $__default["default"](fixedContent).each(function (index, element) { var actualPadding = element.style.paddingRight; - var calculatedPadding = $__default['default'](element).css('padding-right'); - $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); + var calculatedPadding = $__default["default"](element).css('padding-right'); + $__default["default"](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); }); // Adjust sticky content margin - $__default['default'](stickyContent).each(function (index, element) { + $__default["default"](stickyContent).each(function (index, element) { var actualMargin = element.style.marginRight; - var calculatedMargin = $__default['default'](element).css('margin-right'); - $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); + var calculatedMargin = $__default["default"](element).css('margin-right'); + $__default["default"](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); }); // Adjust body padding var actualPadding = document.body.style.paddingRight; - var calculatedPadding = $__default['default'](document.body).css('padding-right'); - $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + var calculatedPadding = $__default["default"](document.body).css('padding-right'); + $__default["default"](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); } - $__default['default'](document.body).addClass(CLASS_NAME_OPEN); + $__default["default"](document.body).addClass(CLASS_NAME_OPEN); }; _proto._resetScrollbar = function _resetScrollbar() { // Restore fixed content padding var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); - $__default['default'](fixedContent).each(function (index, element) { - var padding = $__default['default'](element).data('padding-right'); - $__default['default'](element).removeData('padding-right'); + $__default["default"](fixedContent).each(function (index, element) { + var padding = $__default["default"](element).data('padding-right'); + $__default["default"](element).removeData('padding-right'); element.style.paddingRight = padding ? padding : ''; }); // Restore sticky content var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT)); - $__default['default'](elements).each(function (index, element) { - var margin = $__default['default'](element).data('margin-right'); + $__default["default"](elements).each(function (index, element) { + var margin = $__default["default"](element).data('margin-right'); if (typeof margin !== 'undefined') { - $__default['default'](element).css('margin-right', margin).removeData('margin-right'); + $__default["default"](element).css('margin-right', margin).removeData('margin-right'); } }); // Restore body padding - var padding = $__default['default'](document.body).data('padding-right'); - $__default['default'](document.body).removeData('padding-right'); + var padding = $__default["default"](document.body).data('padding-right'); + $__default["default"](document.body).removeData('padding-right'); document.body.style.paddingRight = padding ? padding : ''; }; @@ -11688,13 +11873,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { return this.each(function () { - var data = $__default['default'](this).data(DATA_KEY$5); + var data = $__default["default"](this).data(DATA_KEY$5); - var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' && config ? config : {}); + var _config = _extends({}, Default$4, $__default["default"](this).data(), typeof config === 'object' && config ? config : {}); if (!data) { data = new Modal(this, _config); - $__default['default'](this).data(DATA_KEY$5, data); + $__default["default"](this).data(DATA_KEY$5, data); } if (typeof config === 'string') { @@ -11717,20 +11902,18 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }, { key: "Default", get: function get() { - return Default$3; + return Default$4; } }]); return Modal; }(); /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ + * Data API implementation */ - $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) { + $__default["default"](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { var _this11 = this; var target; @@ -11740,44 +11923,42 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; target = document.querySelector(selector); } - var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data()); + var config = $__default["default"](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); if (this.tagName === 'A' || this.tagName === 'AREA') { event.preventDefault(); } - var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) { + var $target = $__default["default"](target).one(EVENT_SHOW$2, function (showEvent) { if (showEvent.isDefaultPrevented()) { // Only register focus restorer if modal will actually get shown return; } $target.one(EVENT_HIDDEN$2, function () { - if ($__default['default'](_this11).is(':visible')) { + if ($__default["default"](_this11).is(':visible')) { _this11.focus(); } }); }); - Modal._jQueryInterface.call($__default['default'](target), config, this); + Modal._jQueryInterface.call($__default["default"](target), config, this); }); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$5] = Modal._jQueryInterface; - $__default['default'].fn[NAME$5].Constructor = Modal; + $__default["default"].fn[NAME$5] = Modal._jQueryInterface; + $__default["default"].fn[NAME$5].Constructor = Modal; - $__default['default'].fn[NAME$5].noConflict = function () { - $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5; + $__default["default"].fn[NAME$5].noConflict = function () { + $__default["default"].fn[NAME$5] = JQUERY_NO_CONFLICT$5; return Modal._jQueryInterface; }; /** * -------------------------------------------------------------------------- - * Bootstrap (v4.6.0): tools/sanitizer.js + * Bootstrap (v4.6.1): tools/sanitizer.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ @@ -11819,14 +12000,14 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; /** * A pattern that recognizes a commonly useful subset of URLs that are safe. * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts */ - var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi; + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; /** * A pattern that matches safe data URLs. Only matches image, video and audio types. * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts */ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; @@ -11836,7 +12017,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (allowedAttributeList.indexOf(attrName) !== -1) { if (uriAttrs.indexOf(attrName) !== -1) { - return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)); } return true; @@ -11847,7 +12028,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }); // Check if a regular expression validates the attribute. for (var i = 0, len = regExp.length; i < len; i++) { - if (attrName.match(regExp[i])) { + if (regExp[i].test(attrName)) { return true; } } @@ -11878,7 +12059,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return "continue"; } - var attributeList = [].slice.call(el.attributes); + var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); attributeList.forEach(function (attr) { if (!allowedAttribute(attr, whitelistedAttributes)) { @@ -11897,38 +12079,27 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$6 = 'tooltip'; - var VERSION$6 = '4.6.0'; - var DATA_KEY$6 = 'bs.tooltip'; - var EVENT_KEY$6 = "." + DATA_KEY$6; - var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6]; - var CLASS_PREFIX = 'bs-tooltip'; - var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var NAME$4 = 'tooltip'; + var VERSION$4 = '4.6.1'; + var DATA_KEY$4 = 'bs.tooltip'; + var EVENT_KEY$4 = "." + DATA_KEY$4; + var JQUERY_NO_CONFLICT$4 = $__default["default"].fn[NAME$4]; + var CLASS_PREFIX$1 = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; - var DefaultType$4 = { - animation: 'boolean', - template: 'string', - title: '(string|element|function)', - trigger: 'string', - delay: '(number|object)', - html: 'boolean', - selector: '(string|boolean)', - placement: '(string|function)', - offset: '(number|string|function)', - container: '(string|element|boolean)', - fallbackPlacement: '(string|array)', - boundary: '(string|element)', - customClass: '(string|function)', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - whiteList: 'object', - popperConfig: '(null|object)' - }; + var CLASS_NAME_FADE$3 = 'fade'; + var CLASS_NAME_SHOW$3 = 'show'; + var HOVER_STATE_SHOW = 'show'; + var HOVER_STATE_OUT = 'out'; + var SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; + var SELECTOR_ARROW = '.arrow'; + var TRIGGER_HOVER = 'hover'; + var TRIGGER_FOCUS = 'focus'; + var TRIGGER_CLICK = 'click'; + var TRIGGER_MANUAL = 'manual'; var AttachmentMap = { AUTO: 'auto', TOP: 'top', @@ -11936,7 +12107,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; BOTTOM: 'bottom', LEFT: 'left' }; - var Default$4 = { + var Default$3 = { animation: true, template: '', trigger: 'hover focus', @@ -11955,39 +12126,46 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; whiteList: DefaultWhitelist, popperConfig: null }; - var HOVER_STATE_SHOW = 'show'; - var HOVER_STATE_OUT = 'out'; - var Event = { - HIDE: "hide" + EVENT_KEY$6, - HIDDEN: "hidden" + EVENT_KEY$6, - SHOW: "show" + EVENT_KEY$6, - SHOWN: "shown" + EVENT_KEY$6, - INSERTED: "inserted" + EVENT_KEY$6, - CLICK: "click" + EVENT_KEY$6, - FOCUSIN: "focusin" + EVENT_KEY$6, - FOCUSOUT: "focusout" + EVENT_KEY$6, - MOUSEENTER: "mouseenter" + EVENT_KEY$6, - MOUSELEAVE: "mouseleave" + EVENT_KEY$6 + var DefaultType$3 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + customClass: '(string|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object', + popperConfig: '(null|object)' + }; + var Event$1 = { + HIDE: "hide" + EVENT_KEY$4, + HIDDEN: "hidden" + EVENT_KEY$4, + SHOW: "show" + EVENT_KEY$4, + SHOWN: "shown" + EVENT_KEY$4, + INSERTED: "inserted" + EVENT_KEY$4, + CLICK: "click" + EVENT_KEY$4, + FOCUSIN: "focusin" + EVENT_KEY$4, + FOCUSOUT: "focusout" + EVENT_KEY$4, + MOUSEENTER: "mouseenter" + EVENT_KEY$4, + MOUSELEAVE: "mouseleave" + EVENT_KEY$4 }; - var CLASS_NAME_FADE$2 = 'fade'; - var CLASS_NAME_SHOW$4 = 'show'; - var SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; - var SELECTOR_ARROW = '.arrow'; - var TRIGGER_HOVER = 'hover'; - var TRIGGER_FOCUS = 'focus'; - var TRIGGER_CLICK = 'click'; - var TRIGGER_MANUAL = 'manual'; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Tooltip = /*#__PURE__*/function () { function Tooltip(element, config) { - if (typeof Popper__default['default'] === 'undefined') { + if (typeof Popper__default["default"] === 'undefined') { throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); - } // private + } // Private this._isEnabled = true; @@ -12026,11 +12204,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (event) { var dataKey = this.constructor.DATA_KEY; - var context = $__default['default'](event.currentTarget).data(dataKey); + var context = $__default["default"](event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $__default['default'](event.currentTarget).data(dataKey, context); + $__default["default"](event.currentTarget).data(dataKey, context); } context._activeTrigger.click = !context._activeTrigger.click; @@ -12041,7 +12219,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; context._leave(null, context); } } else { - if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) { + if ($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW$3)) { this._leave(null, this); return; @@ -12053,12 +12231,12 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto.dispose = function dispose() { clearTimeout(this._timeout); - $__default['default'].removeData(this.element, this.constructor.DATA_KEY); - $__default['default'](this.element).off(this.constructor.EVENT_KEY); - $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); + $__default["default"].removeData(this.element, this.constructor.DATA_KEY); + $__default["default"](this.element).off(this.constructor.EVENT_KEY); + $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); if (this.tip) { - $__default['default'](this.tip).remove(); + $__default["default"](this.tip).remove(); } this._isEnabled = null; @@ -12079,16 +12257,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto.show = function show() { var _this = this; - if ($__default['default'](this.element).css('display') === 'none') { + if ($__default["default"](this.element).css('display') === 'none') { throw new Error('Please use show on visible elements'); } - var showEvent = $__default['default'].Event(this.constructor.Event.SHOW); + var showEvent = $__default["default"].Event(this.constructor.Event.SHOW); if (this.isWithContent() && this._isEnabled) { - $__default['default'](this.element).trigger(showEvent); + $__default["default"](this.element).trigger(showEvent); var shadowRoot = Util.findShadowRoot(this.element); - var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + var isInTheDom = $__default["default"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); if (showEvent.isDefaultPrevented() || !isInTheDom) { return; @@ -12101,7 +12279,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this.setContent(); if (this.config.animation) { - $__default['default'](tip).addClass(CLASS_NAME_FADE$2); + $__default["default"](tip).addClass(CLASS_NAME_FADE$3); } var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; @@ -12112,22 +12290,22 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var container = this._getContainer(); - $__default['default'](tip).data(this.constructor.DATA_KEY, this); + $__default["default"](tip).data(this.constructor.DATA_KEY, this); - if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) { - $__default['default'](tip).appendTo(container); + if (!$__default["default"].contains(this.element.ownerDocument.documentElement, this.tip)) { + $__default["default"](tip).appendTo(container); } - $__default['default'](this.element).trigger(this.constructor.Event.INSERTED); - this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment)); - $__default['default'](tip).addClass(CLASS_NAME_SHOW$4); - $__default['default'](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra + $__default["default"](this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper__default["default"](this.element, tip, this._getPopperConfig(attachment)); + $__default["default"](tip).addClass(CLASS_NAME_SHOW$3); + $__default["default"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on iOS // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentElement) { - $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop); + $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); } var complete = function complete() { @@ -12137,16 +12315,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var prevHoverState = _this._hoverState; _this._hoverState = null; - $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN); + $__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN); if (prevHoverState === HOVER_STATE_OUT) { _this._leave(null, _this); } }; - if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) { + if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) { var transitionDuration = Util.getTransitionDurationFromElement(this.tip); - $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + $__default["default"](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); } else { complete(); } @@ -12157,7 +12335,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var _this2 = this; var tip = this.getTipElement(); - var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE); + var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE); var complete = function complete() { if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { @@ -12168,7 +12346,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _this2.element.removeAttribute('aria-describedby'); - $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN); + $__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN); if (_this2._popper !== null) { _this2._popper.destroy(); @@ -12179,26 +12357,26 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } }; - $__default['default'](this.element).trigger(hideEvent); + $__default["default"](this.element).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { return; } - $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra + $__default["default"](tip).removeClass(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra // empty mouseover listeners we added for iOS support if ('ontouchstart' in document.documentElement) { - $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop); + $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); } this._activeTrigger[TRIGGER_CLICK] = false; this._activeTrigger[TRIGGER_FOCUS] = false; this._activeTrigger[TRIGGER_HOVER] = false; - if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) { + if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) { var transitionDuration = Util.getTransitionDurationFromElement(tip); - $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + $__default["default"](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); } else { complete(); } @@ -12218,29 +12396,29 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); }; _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $__default['default'](this.config.template)[0]; + this.tip = this.tip || $__default["default"](this.config.template)[0]; return this.tip; }; _proto.setContent = function setContent() { var tip = this.getTipElement(); - this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle()); - $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4); + this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle()); + $__default["default"](tip).removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$3); }; _proto.setElementContent = function setElementContent($element, content) { if (typeof content === 'object' && (content.nodeType || content.jquery)) { // Content is a DOM node or a jQuery if (this.config.html) { - if (!$__default['default'](content).parent().is($element)) { + if (!$__default["default"](content).parent().is($element)) { $element.empty().append(content); } } else { - $element.text($__default['default'](content).text()); + $element.text($__default["default"](content).text()); } return; @@ -12304,7 +12482,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (typeof this.config.offset === 'function') { offset.fn = function (data) { - data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {}); + data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element)); return data; }; } else { @@ -12320,10 +12498,10 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } if (Util.isElement(this.config.container)) { - return $__default['default'](this.config.container); + return $__default["default"](this.config.container); } - return $__default['default'](document).find(this.config.container); + return $__default["default"](document).find(this.config.container); }; _proto._getAttachment = function _getAttachment(placement) { @@ -12336,13 +12514,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; var triggers = this.config.trigger.split(' '); triggers.forEach(function (trigger) { if (trigger === 'click') { - $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { + $__default["default"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { return _this5.toggle(event); }); } else if (trigger !== TRIGGER_MANUAL) { var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; - $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) { + $__default["default"](_this5.element).on(eventIn, _this5.config.selector, function (event) { return _this5._enter(event); }).on(eventOut, _this5.config.selector, function (event) { return _this5._leave(event); @@ -12356,7 +12534,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } }; - $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); + $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); if (this.config.selector) { this.config = _extends({}, this.config, { @@ -12379,18 +12557,18 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto._enter = function _enter(event, context) { var dataKey = this.constructor.DATA_KEY; - context = context || $__default['default'](event.currentTarget).data(dataKey); + context = context || $__default["default"](event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $__default['default'](event.currentTarget).data(dataKey, context); + $__default["default"](event.currentTarget).data(dataKey, context); } if (event) { context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; } - if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) { + if ($__default["default"](context.getTipElement()).hasClass(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) { context._hoverState = HOVER_STATE_SHOW; return; } @@ -12412,11 +12590,11 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _proto._leave = function _leave(event, context) { var dataKey = this.constructor.DATA_KEY; - context = context || $__default['default'](event.currentTarget).data(dataKey); + context = context || $__default["default"](event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $__default['default'](event.currentTarget).data(dataKey, context); + $__default["default"](event.currentTarget).data(dataKey, context); } if (event) { @@ -12453,7 +12631,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto._getConfig = function _getConfig(config) { - var dataAttributes = $__default['default'](this.element).data(); + var dataAttributes = $__default["default"](this.element).data(); Object.keys(dataAttributes).forEach(function (dataAttr) { if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { delete dataAttributes[dataAttr]; @@ -12476,7 +12654,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; config.content = config.content.toString(); } - Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); + Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); if (config.sanitize) { config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); @@ -12500,8 +12678,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $__default['default'](this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + var $tip = $__default["default"](this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); if (tabClass !== null && tabClass.length) { $tip.removeClass(tabClass.join('')); @@ -12524,7 +12702,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return; } - $__default['default'](tip).removeClass(CLASS_NAME_FADE$2); + $__default["default"](tip).removeClass(CLASS_NAME_FADE$3); this.config.animation = false; this.hide(); this.show(); @@ -12534,8 +12712,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Tooltip._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { - var $element = $__default['default'](this); - var data = $element.data(DATA_KEY$6); + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$4); var _config = typeof config === 'object' && config; @@ -12545,7 +12723,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (!data) { data = new Tooltip(this, _config); - $element.data(DATA_KEY$6, data); + $element.data(DATA_KEY$4, data); } if (typeof config === 'string') { @@ -12561,102 +12739,96 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Tooltip, null, [{ key: "VERSION", get: function get() { - return VERSION$6; + return VERSION$4; } }, { key: "Default", get: function get() { - return Default$4; + return Default$3; } }, { key: "NAME", get: function get() { - return NAME$6; + return NAME$4; } }, { key: "DATA_KEY", get: function get() { - return DATA_KEY$6; + return DATA_KEY$4; } }, { key: "Event", get: function get() { - return Event; + return Event$1; } }, { key: "EVENT_KEY", get: function get() { - return EVENT_KEY$6; + return EVENT_KEY$4; } }, { key: "DefaultType", get: function get() { - return DefaultType$4; + return DefaultType$3; } }]); return Tooltip; }(); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface; - $__default['default'].fn[NAME$6].Constructor = Tooltip; + $__default["default"].fn[NAME$4] = Tooltip._jQueryInterface; + $__default["default"].fn[NAME$4].Constructor = Tooltip; - $__default['default'].fn[NAME$6].noConflict = function () { - $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6; + $__default["default"].fn[NAME$4].noConflict = function () { + $__default["default"].fn[NAME$4] = JQUERY_NO_CONFLICT$4; return Tooltip._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$7 = 'popover'; - var VERSION$7 = '4.6.0'; - var DATA_KEY$7 = 'bs.popover'; - var EVENT_KEY$7 = "." + DATA_KEY$7; - var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7]; - var CLASS_PREFIX$1 = 'bs-popover'; - var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); + var NAME$3 = 'popover'; + var VERSION$3 = '4.6.1'; + var DATA_KEY$3 = 'bs.popover'; + var EVENT_KEY$3 = "." + DATA_KEY$3; + var JQUERY_NO_CONFLICT$3 = $__default["default"].fn[NAME$3]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var CLASS_NAME_FADE$2 = 'fade'; + var CLASS_NAME_SHOW$2 = 'show'; + var SELECTOR_TITLE = '.popover-header'; + var SELECTOR_CONTENT = '.popover-body'; - var Default$5 = _extends({}, Tooltip.Default, { + var Default$2 = _extends({}, Tooltip.Default, { placement: 'right', trigger: 'click', content: '', template: '' }); - var DefaultType$5 = _extends({}, Tooltip.DefaultType, { + var DefaultType$2 = _extends({}, Tooltip.DefaultType, { content: '(string|element|function)' }); - var CLASS_NAME_FADE$3 = 'fade'; - var CLASS_NAME_SHOW$5 = 'show'; - var SELECTOR_TITLE = '.popover-header'; - var SELECTOR_CONTENT = '.popover-body'; - var Event$1 = { - HIDE: "hide" + EVENT_KEY$7, - HIDDEN: "hidden" + EVENT_KEY$7, - SHOW: "show" + EVENT_KEY$7, - SHOWN: "shown" + EVENT_KEY$7, - INSERTED: "inserted" + EVENT_KEY$7, - CLICK: "click" + EVENT_KEY$7, - FOCUSIN: "focusin" + EVENT_KEY$7, - FOCUSOUT: "focusout" + EVENT_KEY$7, - MOUSEENTER: "mouseenter" + EVENT_KEY$7, - MOUSELEAVE: "mouseleave" + EVENT_KEY$7 + var Event = { + HIDE: "hide" + EVENT_KEY$3, + HIDDEN: "hidden" + EVENT_KEY$3, + SHOW: "show" + EVENT_KEY$3, + SHOWN: "shown" + EVENT_KEY$3, + INSERTED: "inserted" + EVENT_KEY$3, + CLICK: "click" + EVENT_KEY$3, + FOCUSIN: "focusin" + EVENT_KEY$3, + FOCUSOUT: "focusout" + EVENT_KEY$3, + MOUSEENTER: "mouseenter" + EVENT_KEY$3, + MOUSELEAVE: "mouseleave" + EVENT_KEY$3 }; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var Popover = /*#__PURE__*/function (_Tooltip) { @@ -12674,16 +12846,16 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); + $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); }; _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $__default['default'](this.config.template)[0]; + this.tip = this.tip || $__default["default"](this.config.template)[0]; return this.tip; }; _proto.setContent = function setContent() { - var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events + var $tip = $__default["default"](this.getTipElement()); // We use append for html objects to maintain js events this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle()); @@ -12694,7 +12866,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; } this.setElementContent($tip.find(SELECTOR_CONTENT), content); - $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5); + $tip.removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$2); } // Private ; @@ -12703,8 +12875,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $__default['default'](this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); + var $tip = $__default["default"](this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); if (tabClass !== null && tabClass.length > 0) { $tip.removeClass(tabClass.join('')); @@ -12714,7 +12886,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; Popover._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { - var data = $__default['default'](this).data(DATA_KEY$7); + var data = $__default["default"](this).data(DATA_KEY$3); var _config = typeof config === 'object' ? config : null; @@ -12724,7 +12896,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (!data) { data = new Popover(this, _config); - $__default['default'](this).data(DATA_KEY$7, data); + $__default["default"](this).data(DATA_KEY$3, data); } if (typeof config === 'string') { @@ -12739,100 +12911,94 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; _createClass(Popover, null, [{ key: "VERSION", - // Getters - get: function get() { - return VERSION$7; + get: // Getters + function get() { + return VERSION$3; } }, { key: "Default", get: function get() { - return Default$5; + return Default$2; } }, { key: "NAME", get: function get() { - return NAME$7; + return NAME$3; } }, { key: "DATA_KEY", get: function get() { - return DATA_KEY$7; + return DATA_KEY$3; } }, { key: "Event", get: function get() { - return Event$1; + return Event; } }, { key: "EVENT_KEY", get: function get() { - return EVENT_KEY$7; + return EVENT_KEY$3; } }, { key: "DefaultType", get: function get() { - return DefaultType$5; + return DefaultType$2; } }]); return Popover; }(Tooltip); /** - * ------------------------------------------------------------------------ * jQuery - * ------------------------------------------------------------------------ */ - $__default['default'].fn[NAME$7] = Popover._jQueryInterface; - $__default['default'].fn[NAME$7].Constructor = Popover; + $__default["default"].fn[NAME$3] = Popover._jQueryInterface; + $__default["default"].fn[NAME$3].Constructor = Popover; - $__default['default'].fn[NAME$7].noConflict = function () { - $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7; + $__default["default"].fn[NAME$3].noConflict = function () { + $__default["default"].fn[NAME$3] = JQUERY_NO_CONFLICT$3; return Popover._jQueryInterface; }; /** - * ------------------------------------------------------------------------ * Constants - * ------------------------------------------------------------------------ */ - var NAME$8 = 'scrollspy'; - var VERSION$8 = '4.6.0'; - var DATA_KEY$8 = 'bs.scrollspy'; - var EVENT_KEY$8 = "." + DATA_KEY$8; - var DATA_API_KEY$6 = '.data-api'; - var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8]; - var Default$6 = { + var NAME$2 = 'scrollspy'; + var VERSION$2 = '4.6.1'; + var DATA_KEY$2 = 'bs.scrollspy'; + var EVENT_KEY$2 = "." + DATA_KEY$2; + var DATA_API_KEY$1 = '.data-api'; + var JQUERY_NO_CONFLICT$2 = $__default["default"].fn[NAME$2]; + var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; + var CLASS_NAME_ACTIVE$1 = 'active'; + var EVENT_ACTIVATE = "activate" + EVENT_KEY$2; + var EVENT_SCROLL = "scroll" + EVENT_KEY$2; + var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$2 + DATA_API_KEY$1; + var METHOD_OFFSET = 'offset'; + var METHOD_POSITION = 'position'; + var SELECTOR_DATA_SPY = '[data-spy="scroll"]'; + var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group'; + var SELECTOR_NAV_LINKS = '.nav-link'; + var SELECTOR_NAV_ITEMS = '.nav-item'; + var SELECTOR_LIST_ITEMS = '.list-group-item'; + var SELECTOR_DROPDOWN$1 = '.dropdown'; + var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'; + var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; + var Default$1 = { offset: 10, method: 'auto', target: '' }; - var DefaultType$6 = { + var DefaultType$1 = { offset: 'number', method: 'string', target: '(string|element)' }; - var EVENT_ACTIVATE = "activate" + EVENT_KEY$8; - var EVENT_SCROLL = "scroll" + EVENT_KEY$8; - var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$8 + DATA_API_KEY$6; - var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; - var CLASS_NAME_ACTIVE$2 = 'active'; - var SELECTOR_DATA_SPY = '[data-spy="scroll"]'; - var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; - var SELECTOR_NAV_LINKS = '.nav-link'; - var SELECTOR_NAV_ITEMS = '.nav-item'; - var SELECTOR_LIST_ITEMS = '.list-group-item'; - var SELECTOR_DROPDOWN = '.dropdown'; - var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'; - var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; - var METHOD_OFFSET = 'offset'; - var METHOD_POSITION = 'position'; /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Class definition */ var ScrollSpy = /*#__PURE__*/function () { @@ -12847,7 +13013,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; this._targets = []; this._activeTarget = null; this._scrollHeight = 0; - $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) { + $__default["default"](this._scrollElement).on(EVENT_SCROLL, function (event) { return _this._process(event); }); this.refresh(); @@ -12882,7 +13048,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; if (targetBCR.width || targetBCR.height) { // TODO (fat): remove sketch reliance on jQuery position/offset - return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector]; + return [$__default["default"](target)[offsetMethod]().top + offsetBase, targetSelector]; } } @@ -12899,8 +13065,8 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }; _proto.dispose = function dispose() { - $__default['default'].removeData(this._element, DATA_KEY$8); - $__default['default'](this._scrollElement).off(EVENT_KEY$8); + $__default["default"].removeData(this._element, DATA_KEY$2); + $__default["default"](this._scrollElement).off(EVENT_KEY$2); this._element = null; this._scrollElement = null; this._config = null; @@ -12913,20 +13079,20 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; ; _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default$6, typeof config === 'object' && config ? config : {}); + config = _extends({}, Default$1, typeof config === 'object' && config ? config : {}); if (typeof config.target !== 'string' && Util.isElement(config.target)) { - var id = $__default['default'](config.target).attr('id'); + var id = $__default["default"](config.target).attr('id'); if (!id) { - id = Util.getUID(NAME$8); - $__default['default'](config.target).attr('id', id); + id = Util.getUID(NAME$2); + $__default["default"](config.target).attr('id', id); } config.target = "#" + id; } - Util.typeCheckConfig(NAME$8, config, DefaultType$6); + Util.typeCheckConfig(NAME$2, config, DefaultType$1); return config; }; @@ -12989,44 +13155,44 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; }); - var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(',')))); + var $link = $__default["default"]([].slice.call(document.querySelectorAll(queries.join(',')))); if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) { - $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2); - $link.addClass(CLASS_NAME_ACTIVE$2); + $link.closest(SELECTOR_DROPDOWN$1).find(SELECTOR_DROPDOWN_TOGGLE$1).addClass(CLASS_NAME_ACTIVE$1); + $link.addClass(CLASS_NAME_ACTIVE$1); } else { // Set triggered link as active - $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active + $link.addClass(CLASS_NAME_ACTIVE$1); // Set triggered links parents as active // With both