diff --git a/app/Http/Controllers/ManuscriptPeerReviewerController.php b/app/Http/Controllers/ManuscriptPeerReviewerController.php new file mode 100644 index 00000000..a08953e0 --- /dev/null +++ b/app/Http/Controllers/ManuscriptPeerReviewerController.php @@ -0,0 +1,78 @@ +peerReviewers()->with(['author.organization', 'manuscriptRecord'])->get()); + + } + + /** + * Store a newly created resource in storage. + */ + public function store(ManuscriptRecord $manuscriptRecord, Request $request): JsonResource + { + Gate::authorize('update', $manuscriptRecord); + + if ($manuscriptRecord->type === ManuscriptRecordType::PRIMARY) { + throw ValidationException::withMessages(['manuscript_record_id' => 'A third-party primary manuscript cannot have peer reviewers']); + } + + $validated = $request->validate([ + 'author_id' => 'required|exists:authors,id', + ]); + + if($manuscriptRecord->peerReviewers()->where('author_id', $validated['author_id'])->exists()) { + throw ValidationException::withMessages(['author_id' => 'This author is already a peer reviewer for this manuscript']); + } + + if($manuscriptRecord->manuscriptAuthors()->where('author_id', $validated['author_id'])->exists()) { + throw ValidationException::withMessages(['author_id' => 'This author is already on the list of manuscript authors']); + } + + $manuscriptPeerReviewer = new ManuscriptPeerReviewer($validated); + $manuscriptPeerReviewer->manuscript_record_id = $manuscriptRecord->id; + $manuscriptPeerReviewer->review_date = now(); + $manuscriptPeerReviewer->save(); + + return new ManuscriptPeerReviewerResource($manuscriptPeerReviewer); + + } + + /** + * Display the specified resource. + */ + public function show(ManuscriptRecord $manuscriptRecord, ManuscriptPeerReviewer $manuscriptPeerReviewer) + { + Gate::authorize('view', $manuscriptPeerReviewer); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(ManuscriptRecord $manuscriptRecord, ManuscriptPeerReviewer $manuscriptPeerReviewer) + { + Gate::authorize('delete', $manuscriptPeerReviewer); + + $manuscriptPeerReviewer->delete(); + + return response()->noContent(); + } +} diff --git a/app/Http/Integrations/Orcid/Enums/PeerReviewRole.php b/app/Http/Integrations/Orcid/Enums/PeerReviewRole.php new file mode 100644 index 00000000..6a21d9e3 --- /dev/null +++ b/app/Http/Integrations/Orcid/Enums/PeerReviewRole.php @@ -0,0 +1,12 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'data' => [ + 'id' => $this->id, + 'manuscript_record_id' => $this->manuscript_record_id, + 'author_id' => $this->author_id, + 'author' => AuthorResource::make($this->whenLoaded('author')), + ], + 'can' => [ + 'update' => Auth::user()->can('update', $this->resource), + 'delete' => Auth::user()->can('delete', $this->resource), + ], + ]; + } +} diff --git a/app/Models/Author.php b/app/Models/Author.php index 49d5106a..b6a638ca 100644 --- a/app/Models/Author.php +++ b/app/Models/Author.php @@ -136,4 +136,9 @@ public function employments(): HasMany { return $this->hasMany('App\Models\AuthorEmployment'); } + + public function peerReviews(): HasMany + { + return $this->hasMany('App\Models\ManuscriptPeerReviewer'); + } } diff --git a/app/Models/ManuscriptPeerReviewer.php b/app/Models/ManuscriptPeerReviewer.php new file mode 100644 index 00000000..94f388aa --- /dev/null +++ b/app/Models/ManuscriptPeerReviewer.php @@ -0,0 +1,45 @@ + */ + use HasFactory; + + protected $fillable = [ + 'manuscript_record_id', + 'author_id', + 'review_date', + ]; + + protected $attributes = [ + 'role' => PeerReviewRole::REVIEWER, + 'type' => PeerReviewType::REVIEW, + ]; + + public function casts(): array + { + return [ + 'review_date' => 'date', + 'type' => PeerReviewType::class, + 'role' => PeerReviewRole::class, + ]; + } + + public function manuscriptRecord(): BelongsTo + { + return $this->belongsTo(ManuscriptRecord::class); + } + + public function author(): BelongsTo + { + return $this->belongsTo(Author::class); + } +} diff --git a/app/Models/ManuscriptRecord.php b/app/Models/ManuscriptRecord.php index b21f90b9..7ee3830a 100644 --- a/app/Models/ManuscriptRecord.php +++ b/app/Models/ManuscriptRecord.php @@ -131,6 +131,15 @@ public function managementReviewSteps(): HasMany return $this->hasMany('App\Models\ManagementReviewStep'); } + /** + * A manuscript has no to many peer reviewers. Only + * internal publications have peer reviewers. + */ + public function peerReviewers(): HasMany + { + return $this->hasMany(ManuscriptPeerReviewer::class); + } + /** * A manuscript can have one publication */ diff --git a/app/Policies/ManuscriptPeerReviewerPolicy.php b/app/Policies/ManuscriptPeerReviewerPolicy.php new file mode 100644 index 00000000..807500c8 --- /dev/null +++ b/app/Policies/ManuscriptPeerReviewerPolicy.php @@ -0,0 +1,49 @@ +can('view', $manuscriptPeerReviewer->manuscriptRecord); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return false; + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, ManuscriptPeerReviewer $manuscriptPeerReviewer): bool + { + return $user->can('update', $manuscriptPeerReviewer->manuscriptRecord); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, ManuscriptPeerReviewer $manuscriptPeerReviewer): bool + { + return $user->can('update', $manuscriptPeerReviewer->manuscriptRecord); + } +} diff --git a/composer.lock b/composer.lock index 445f674e..aecba69a 100644 --- a/composer.lock +++ b/composer.lock @@ -867,16 +867,16 @@ }, { "name": "anourvalar/eloquent-serialize", - "version": "1.2.25", + "version": "1.2.26", "source": { "type": "git", "url": "https://github.com/AnourValar/eloquent-serialize.git", - "reference": "6d7a868ae4218b9d7796334ff9a17e1539bad48a" + "reference": "756c1232ff0d02321fd90f4fe3c221d6a7b8d697" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/6d7a868ae4218b9d7796334ff9a17e1539bad48a", - "reference": "6d7a868ae4218b9d7796334ff9a17e1539bad48a", + "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/756c1232ff0d02321fd90f4fe3c221d6a7b8d697", + "reference": "756c1232ff0d02321fd90f4fe3c221d6a7b8d697", "shasum": "" }, "require": { @@ -927,9 +927,9 @@ ], "support": { "issues": "https://github.com/AnourValar/eloquent-serialize/issues", - "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.25" + "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.26" }, - "time": "2024-09-16T12:59:37+00:00" + "time": "2024-11-16T12:29:47+00:00" }, { "name": "aws/aws-crt-php", @@ -987,16 +987,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.326.0", + "version": "3.328.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "5420284de9aad84e375fa8012cefd834bebfd623" + "reference": "52d8219935146c3261181de2da4d36bf04c76298" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5420284de9aad84e375fa8012cefd834bebfd623", - "reference": "5420284de9aad84e375fa8012cefd834bebfd623", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/52d8219935146c3261181de2da4d36bf04c76298", + "reference": "52d8219935146c3261181de2da4d36bf04c76298", "shasum": "" }, "require": { @@ -1079,9 +1079,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.326.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.328.1" }, - "time": "2024-11-13T19:07:44+00:00" + "time": "2024-11-18T19:13:28+00:00" }, { "name": "blade-ui-kit/blade-heroicons", @@ -3476,16 +3476,16 @@ }, { "name": "laravel/framework", - "version": "v11.31.0", + "version": "v11.32.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40" + "reference": "bc2aad63f83ee5089be7b21cf29d645ccf31e927" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/365090ed2c68244e3141cdb5e247cdf3dfba2c40", - "reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40", + "url": "https://api.github.com/repos/laravel/framework/zipball/bc2aad63f83ee5089be7b21cf29d645ccf31e927", + "reference": "bc2aad63f83ee5089be7b21cf29d645ccf31e927", "shasum": "" }, "require": { @@ -3681,7 +3681,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-11-12T15:36:15+00:00" + "time": "2024-11-15T17:04:33+00:00" }, { "name": "laravel/horizon", @@ -6629,16 +6629,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.10", + "version": "1.12.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "fc463b5d0fe906dcf19689be692c65c50406a071" + "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/fc463b5d0fe906dcf19689be692c65c50406a071", - "reference": "fc463b5d0fe906dcf19689be692c65c50406a071", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", + "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", "shasum": "" }, "require": { @@ -6683,7 +6683,7 @@ "type": "github" } ], - "time": "2024-11-11T15:37:09+00:00" + "time": "2024-11-17T14:08:01+00:00" }, { "name": "predis/predis", @@ -7942,16 +7942,16 @@ }, { "name": "spatie/backtrace", - "version": "1.6.2", + "version": "1.6.3", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9" + "reference": "7c18db2bc667ac84e5d7c18e33f16c38ff2d8838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/7c18db2bc667ac84e5d7c18e33f16c38ff2d8838", + "reference": "7c18db2bc667ac84e5d7c18e33f16c38ff2d8838", "shasum": "" }, "require": { @@ -7989,7 +7989,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.2" + "source": "https://github.com/spatie/backtrace/tree/1.6.3" }, "funding": [ { @@ -8001,20 +8001,20 @@ "type": "other" } ], - "time": "2024-07-22T08:21:24+00:00" + "time": "2024-11-18T14:58:58+00:00" }, { "name": "spatie/color", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/spatie/color.git", - "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a" + "reference": "4c540ffbef68a3df3d209718ae06deaab081e708" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/color/zipball/02ce48c480f86d65702188f738f4e8ccad1b999a", - "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a", + "url": "https://api.github.com/repos/spatie/color/zipball/4c540ffbef68a3df3d209718ae06deaab081e708", + "reference": "4c540ffbef68a3df3d209718ae06deaab081e708", "shasum": "" }, "require": { @@ -8052,7 +8052,7 @@ ], "support": { "issues": "https://github.com/spatie/color/issues", - "source": "https://github.com/spatie/color/tree/1.6.0" + "source": "https://github.com/spatie/color/tree/1.6.1" }, "funding": [ { @@ -8060,20 +8060,20 @@ "type": "github" } ], - "time": "2024-09-20T14:00:15+00:00" + "time": "2024-11-18T15:00:47+00:00" }, { "name": "spatie/db-dumper", - "version": "3.7.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705" + "reference": "55d4d6710e1ab18c1e7ce2b22b8ad4bea2a30016" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/22553ab8c34a9bb70645cb9bc2d9f236f3135705", - "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/55d4d6710e1ab18c1e7ce2b22b8ad4bea2a30016", + "reference": "55d4d6710e1ab18c1e7ce2b22b8ad4bea2a30016", "shasum": "" }, "require": { @@ -8111,7 +8111,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.7.0" + "source": "https://github.com/spatie/db-dumper/tree/3.7.1" }, "funding": [ { @@ -8123,7 +8123,7 @@ "type": "github" } ], - "time": "2024-09-23T08:58:35+00:00" + "time": "2024-11-18T14:54:31+00:00" }, { "name": "spatie/enum", @@ -8390,16 +8390,16 @@ }, { "name": "spatie/laravel-activitylog", - "version": "4.9.0", + "version": "4.9.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-activitylog.git", - "reference": "e0fc28178515a5396f48e107ed697719189bbe02" + "reference": "9abddaa9f2681d97943748c7fa04161cf4642e8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/e0fc28178515a5396f48e107ed697719189bbe02", - "reference": "e0fc28178515a5396f48e107ed697719189bbe02", + "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/9abddaa9f2681d97943748c7fa04161cf4642e8c", + "reference": "9abddaa9f2681d97943748c7fa04161cf4642e8c", "shasum": "" }, "require": { @@ -8465,7 +8465,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-activitylog/issues", - "source": "https://github.com/spatie/laravel-activitylog/tree/4.9.0" + "source": "https://github.com/spatie/laravel-activitylog/tree/4.9.1" }, "funding": [ { @@ -8477,7 +8477,7 @@ "type": "github" } ], - "time": "2024-10-18T13:38:47+00:00" + "time": "2024-11-18T11:31:57+00:00" }, { "name": "spatie/laravel-backup", @@ -8950,16 +8950,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.5", + "version": "1.16.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2" + "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/1f26942dc1e5c49eacfced34fdbc29ed234bd7b3", + "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3", "shasum": "" }, "require": { @@ -8998,7 +8998,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.6" }, "funding": [ { @@ -9006,7 +9006,7 @@ "type": "github" } ], - "time": "2024-08-27T18:56:10+00:00" + "time": "2024-11-18T15:02:02+00:00" }, { "name": "spatie/laravel-permission", @@ -13927,28 +13927,28 @@ }, { "name": "jean85/pretty-package-versions", - "version": "2.0.6", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4" + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", "shasum": "" }, "require": { - "composer-runtime-api": "^2.0.0", - "php": "^7.1|^8.0" + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^7.5|^8.5|^9.4", - "vimeo/psalm": "^4.3" + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "vimeo/psalm": "^4.3 || ^5.0" }, "type": "library", "extra": { @@ -13980,9 +13980,9 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0" }, - "time": "2024-03-08T09:58:59+00:00" + "time": "2024-11-18T16:19:46+00:00" }, { "name": "larastan/larastan", diff --git a/database/factories/FunctionalAreaFactory.php b/database/factories/FunctionalAreaFactory.php index 21e8e807..a1e01949 100644 --- a/database/factories/FunctionalAreaFactory.php +++ b/database/factories/FunctionalAreaFactory.php @@ -17,8 +17,8 @@ class FunctionalAreaFactory extends Factory public function definition(): array { return [ - 'name_en' => $this->faker->word, - 'name_fr' => $this->faker->word, + 'name_en' => $this->faker->word(), + 'name_fr' => $this->faker->word(), ]; } } diff --git a/database/factories/ManuscriptPeerReviewerFactory.php b/database/factories/ManuscriptPeerReviewerFactory.php new file mode 100644 index 00000000..ff78ea2c --- /dev/null +++ b/database/factories/ManuscriptPeerReviewerFactory.php @@ -0,0 +1,27 @@ + + */ +class ManuscriptPeerReviewerFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'manuscript_record_id' => ManuscriptRecord::factory(), + 'author_id' => Author::factory(), + 'review_date' => $this->faker->date(), + ]; + } +} diff --git a/database/factories/ManuscriptRecordFactory.php b/database/factories/ManuscriptRecordFactory.php index 9c5e8325..898f8d7f 100644 --- a/database/factories/ManuscriptRecordFactory.php +++ b/database/factories/ManuscriptRecordFactory.php @@ -9,7 +9,7 @@ use App\Models\ManuscriptAuthor; use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; -use Str; +use Illuminate\Support\Str; /** * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\ManuscriptRecord> @@ -33,6 +33,16 @@ public function definition() ]; } + /** + * Secondary manuscript record + */ + public function secondary() + { + return $this->state([ + 'type' => ManuscriptRecordType::SECONDARY, + ]); + } + /** * A fully filled out manuscript record, ready to be submitted for internal review */ @@ -50,21 +60,27 @@ public function filled() $manuscript->manuscriptAuthors()->save(ManuscriptAuthor::factory()->make(['is_corresponding_author' => true])); // create a corresponding author $manuscript->manuscriptAuthors()->saveMany(ManuscriptAuthor::factory()->count(3)->make()); // create 3 other authors $manuscript->fundingSources()->saveMany(FundingSource::factory()->count(3)->make()); // create 3 funding sources - $manuscript->addManuscriptFile(getcwd().'/database/factories/files/BieberFever.pdf', true); // add a manuscript file + $manuscript->addManuscriptFile(getcwd() . '/database/factories/files/BieberFever.pdf', true); // add a manuscript file + if ($manuscript->type == ManuscriptRecordType::SECONDARY) { + $manuscript->peerReviewers()->saveMany(\App\Models\ManuscriptPeerReviewer::factory()->count(2)->make()); // add 2 peer reviewers for secondary manuscripts + } }); } /** * A manuscript record that has been submitted for internal review */ - public function in_review() + public function in_review(bool $withAreviewstep = true) { return $this->filled()->state([ 'title' => 'A manuscript record that has been submitted for internal review', 'status' => ManuscriptRecordStatus::IN_REVIEW, 'sent_for_review_at' => now(), - ])->afterCreating(function ($manuscript) { + ])->afterCreating(function ($manuscript) use ($withAreviewstep) { $manuscript->lockManuscriptFiles(); + if($withAreviewstep) { + $manuscript->managementReviewSteps()->save(\App\Models\ManagementReviewStep::factory()->make()); + } }); } @@ -78,7 +94,12 @@ public function reviewed() 'status' => ManuscriptRecordStatus::REVIEWED, 'reviewed_at' => now(), ])->afterCreating(function ($manuscript) { - $manuscript->managementReviewSteps()->save(\App\Models\ManagementReviewStep::factory()->approved()->make()); + $manuscript->managementReviewSteps()->update([ + 'status' => \App\Enums\ManagementReviewStepStatus::COMPLETED, + 'decision' => \App\Enums\ManagementReviewStepDecision::APPROVED, + 'comments' => 'This manuscript is approved - great job!', + 'completed_at' => now(), + ]); }); } diff --git a/database/migrations/2024_11_15_132734_create_manuscript_peer_reviewers_table.php b/database/migrations/2024_11_15_132734_create_manuscript_peer_reviewers_table.php new file mode 100644 index 00000000..3bf81b37 --- /dev/null +++ b/database/migrations/2024_11_15_132734_create_manuscript_peer_reviewers_table.php @@ -0,0 +1,24 @@ +id(); + $table->timestamps(); + $table->foreignId('manuscript_record_id')->constrained()->cascadeOnDelete(); + $table->foreignId('author_id')->constrained()->cascadeOnDelete(); + $table->string('type', 25)->nullable(); + $table->string('role', 25)->nullable(); + $table->date('review_date')->nullable(); + }); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 04075412..09aa1244 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,7 +3,7 @@ namespace Database\Seeders; use Illuminate\Database\Seeder; -use Log; +use Illuminate\Support\Facades\Log; class DatabaseSeeder extends Seeder { diff --git a/database/seeders/LocalTestDataSeeder.php b/database/seeders/LocalTestDataSeeder.php index b7b54a9d..b76a271d 100644 --- a/database/seeders/LocalTestDataSeeder.php +++ b/database/seeders/LocalTestDataSeeder.php @@ -55,12 +55,17 @@ public function run(): void ]); // create 1 filled out manuscript record for the test user - \App\Models\ManuscriptRecord::factory()->filled()->count(5)->create([ + \App\Models\ManuscriptRecord::factory()->filled()->create([ + 'user_id' => $user->id, + ]); + + // create 1 filled out secondary manuscript record for the test user + \App\Models\ManuscriptRecord::factory()->secondary()->filled()->create([ 'user_id' => $user->id, ]); // create 1 manuscript record for the test user with a review step - $toReview = \App\Models\ManuscriptRecord::factory()->in_review()->create([ + $toReview = \App\Models\ManuscriptRecord::factory()->in_review(false)->create([ 'user_id' => $user->id, ]); diff --git a/package.json b/package.json index 3ab10487..308fe6ea 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,10 @@ "@vueuse/core": "^11.2.0", "dompurify": "^3.2.0", "pinia": "^2.2.6", - "quasar": "^2.17.2", - "sass-embedded": "^1.80.7", + "quasar": "^2.17.4", + "sass-embedded": "^1.81.0", "vite-plugin-manifest-sri": "^0.2.0", - "vue": "^3.5.12", + "vue": "^3.5.13", "vue-i18n": "^9.14.1", "vue-router": "^4.4.5" }, @@ -29,7 +29,7 @@ "@types/node": "^22.9.0", "axios": "^1.7.7", "cypress": "^13.15.2", - "eslint": "^9.14.0", + "eslint": "^9.15.0", "eslint-plugin-quasar": "^1.1.0", "globals": "^15.12.0", "laravel-vite-plugin": "^1.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 65b9d022..aa6da78c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,47 +10,47 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^4.0.0 - version: 4.0.0(rollup@4.26.0)(vue-i18n@9.14.1(vue@3.5.12(typescript@5.6.3))) + version: 4.0.0(rollup@4.27.3)(vue-i18n@9.14.1(vue@3.5.13(typescript@5.6.3))) '@quasar/extras': specifier: ^1.16.13 version: 1.16.13 '@vitejs/plugin-vue': specifier: ^5.2.0 - version: 5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3)) + version: 5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3)) '@vueuse/core': specifier: ^11.2.0 - version: 11.2.0(vue@3.5.12(typescript@5.6.3)) + version: 11.2.0(vue@3.5.13(typescript@5.6.3)) dompurify: specifier: ^3.2.0 version: 3.2.0 pinia: specifier: ^2.2.6 - version: 2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)) + version: 2.2.6(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)) quasar: - specifier: ^2.17.2 - version: 2.17.2 + specifier: ^2.17.4 + version: 2.17.4 sass-embedded: - specifier: ^1.80.7 - version: 1.80.7 + specifier: ^1.81.0 + version: 1.81.0 vite-plugin-manifest-sri: specifier: ^0.2.0 version: 0.2.0 vue: - specifier: ^3.5.12 - version: 3.5.12(typescript@5.6.3) + specifier: ^3.5.13 + version: 3.5.13(typescript@5.6.3) vue-i18n: specifier: ^9.14.1 - version: 9.14.1(vue@3.5.12(typescript@5.6.3)) + version: 9.14.1(vue@3.5.13(typescript@5.6.3)) vue-router: specifier: ^4.4.5 - version: 4.4.5(vue@3.5.12(typescript@5.6.3)) + version: 4.4.5(vue@3.5.13(typescript@5.6.3)) devDependencies: '@antfu/eslint-config': specifier: ^3.9.1 - version: 3.9.1(@typescript-eslint/utils@8.14.0(eslint@9.14.0)(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(eslint@9.14.0)(typescript@5.6.3) + version: 3.9.1(@typescript-eslint/utils@8.15.0(eslint@9.15.0)(typescript@5.6.3))(@vue/compiler-sfc@3.5.13)(eslint@9.15.0)(typescript@5.6.3) '@quasar/vite-plugin': specifier: ^1.8.1 - version: 1.8.1(@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3)))(quasar@2.17.2)(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3)) + version: 1.8.1(@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3)) '@types/dompurify': specifier: ^3.0.5 version: 3.0.5 @@ -64,8 +64,8 @@ importers: specifier: ^13.15.2 version: 13.15.2 eslint: - specifier: ^9.14.0 - version: 9.14.0 + specifier: ^9.15.0 + version: 9.15.0 eslint-plugin-quasar: specifier: ^1.1.0 version: 1.1.0 @@ -74,7 +74,7 @@ importers: version: 15.12.0 laravel-vite-plugin: specifier: ^1.0.6 - version: 1.0.6(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3)) + version: 1.0.6(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -86,10 +86,10 @@ importers: version: 5.6.3 unplugin-auto-import: specifier: ^0.18.4 - version: 0.18.4(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.26.0) + version: 0.18.4(@vueuse/core@11.2.0(vue@3.5.13(typescript@5.6.3)))(rollup@4.27.3) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3) + version: 5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3) vue-tsc: specifier: ^2.1.10 version: 2.1.10(typescript@5.6.3) @@ -353,8 +353,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.2.2': - resolution: {integrity: sha512-jhgiIrsw+tRfcBQ4BFl2C3vCrIUw2trCY0cnDvGZpwTtKCEDmZhAtMfrEUP/KpnwM6PrO0T+Ltm+ccW74olG3Q==} + '@eslint/compat@1.2.3': + resolution: {integrity: sha512-wlZhwlDFxkxIZ571aH0FoK4h4Vwx7P3HJx62Gp8hTc10bfpwT2x0nULuAHmQSJBOWPgPeVf+9YtnD4j50zVHmA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -362,20 +362,20 @@ packages: eslint: optional: true - '@eslint/config-array@0.18.0': - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + '@eslint/config-array@0.19.0': + resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.7.0': - resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} + '@eslint/core@0.9.0': + resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.14.0': - resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} + '@eslint/js@9.15.0': + resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/markdown@6.2.1': @@ -386,8 +386,8 @@ packages: resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.2': - resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} + '@eslint/plugin-kit@0.2.3': + resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': @@ -571,93 +571,93 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.26.0': - resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} + '@rollup/rollup-android-arm-eabi@4.27.3': + resolution: {integrity: sha512-EzxVSkIvCFxUd4Mgm4xR9YXrcp976qVaHnqom/Tgm+vU79k4vV4eYTjmRvGfeoW8m9LVcsAy/lGjcgVegKEhLQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.26.0': - resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} + '@rollup/rollup-android-arm64@4.27.3': + resolution: {integrity: sha512-LJc5pDf1wjlt9o/Giaw9Ofl+k/vLUaYsE2zeQGH85giX2F+wn/Cg8b3c5CDP3qmVmeO5NzwVUzQQxwZvC2eQKw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.26.0': - resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} + '@rollup/rollup-darwin-arm64@4.27.3': + resolution: {integrity: sha512-OuRysZ1Mt7wpWJ+aYKblVbJWtVn3Cy52h8nLuNSzTqSesYw1EuN6wKp5NW/4eSre3mp12gqFRXOKTcN3AI3LqA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.26.0': - resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} + '@rollup/rollup-darwin-x64@4.27.3': + resolution: {integrity: sha512-xW//zjJMlJs2sOrCmXdB4d0uiilZsOdlGQIC/jjmMWT47lkLLoB1nsNhPUcnoqyi5YR6I4h+FjBpILxbEy8JRg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.26.0': - resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} + '@rollup/rollup-freebsd-arm64@4.27.3': + resolution: {integrity: sha512-58E0tIcwZ+12nK1WiLzHOD8I0d0kdrY/+o7yFVPRHuVGY3twBwzwDdTIBGRxLmyjciMYl1B/U515GJy+yn46qw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.26.0': - resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} + '@rollup/rollup-freebsd-x64@4.27.3': + resolution: {integrity: sha512-78fohrpcVwTLxg1ZzBMlwEimoAJmY6B+5TsyAZ3Vok7YabRBUvjYTsRXPTjGEvv/mfgVBepbW28OlMEz4w8wGA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': - resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} + '@rollup/rollup-linux-arm-gnueabihf@4.27.3': + resolution: {integrity: sha512-h2Ay79YFXyQi+QZKo3ISZDyKaVD7uUvukEHTOft7kh00WF9mxAaxZsNs3o/eukbeKuH35jBvQqrT61fzKfAB/Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.26.0': - resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} + '@rollup/rollup-linux-arm-musleabihf@4.27.3': + resolution: {integrity: sha512-Sv2GWmrJfRY57urktVLQ0VKZjNZGogVtASAgosDZ1aUB+ykPxSi3X1nWORL5Jk0sTIIwQiPH7iE3BMi9zGWfkg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.26.0': - resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} + '@rollup/rollup-linux-arm64-gnu@4.27.3': + resolution: {integrity: sha512-FPoJBLsPW2bDNWjSrwNuTPUt30VnfM8GPGRoLCYKZpPx0xiIEdFip3dH6CqgoT0RnoGXptaNziM0WlKgBc+OWQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.26.0': - resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} + '@rollup/rollup-linux-arm64-musl@4.27.3': + resolution: {integrity: sha512-TKxiOvBorYq4sUpA0JT+Fkh+l+G9DScnG5Dqx7wiiqVMiRSkzTclP35pE6eQQYjP4Gc8yEkJGea6rz4qyWhp3g==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': - resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.27.3': + resolution: {integrity: sha512-v2M/mPvVUKVOKITa0oCFksnQQ/TqGrT+yD0184/cWHIu0LoIuYHwox0Pm3ccXEz8cEQDLk6FPKd1CCm+PlsISw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.26.0': - resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} + '@rollup/rollup-linux-riscv64-gnu@4.27.3': + resolution: {integrity: sha512-LdrI4Yocb1a/tFVkzmOE5WyYRgEBOyEhWYJe4gsDWDiwnjYKjNs7PS6SGlTDB7maOHF4kxevsuNBl2iOcj3b4A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.26.0': - resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} + '@rollup/rollup-linux-s390x-gnu@4.27.3': + resolution: {integrity: sha512-d4wVu6SXij/jyiwPvI6C4KxdGzuZOvJ6y9VfrcleHTwo68fl8vZC5ZYHsCVPUi4tndCfMlFniWgwonQ5CUpQcA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.26.0': - resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} + '@rollup/rollup-linux-x64-gnu@4.27.3': + resolution: {integrity: sha512-/6bn6pp1fsCGEY5n3yajmzZQAh+mW4QPItbiWxs69zskBzJuheb3tNynEjL+mKOsUSFK11X4LYF2BwwXnzWleA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.26.0': - resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} + '@rollup/rollup-linux-x64-musl@4.27.3': + resolution: {integrity: sha512-nBXOfJds8OzUT1qUreT/en3eyOXd2EH5b0wr2bVB5999qHdGKkzGzIyKYaKj02lXk6wpN71ltLIaQpu58YFBoQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.26.0': - resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} + '@rollup/rollup-win32-arm64-msvc@4.27.3': + resolution: {integrity: sha512-ogfbEVQgIZOz5WPWXF2HVb6En+kWzScuxJo/WdQTqEgeyGkaa2ui5sQav9Zkr7bnNCLK48uxmmK0TySm22eiuw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.26.0': - resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} + '@rollup/rollup-win32-ia32-msvc@4.27.3': + resolution: {integrity: sha512-ecE36ZBMLINqiTtSNQ1vzWc5pXLQHlf/oqGp/bSbi7iedcjcNb6QbCBNG73Euyy2C+l/fn8qKWEwxr+0SSfs3w==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.26.0': - resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} + '@rollup/rollup-win32-x64-msvc@4.27.3': + resolution: {integrity: sha512-vliZLrDmYKyaUoMzEbMTg2JkerfBjn03KmAw9CykO0Zzkzoyd7o3iZNam/TpyWNjNT+Cz2iO3P9Smv2wgrR+Eg==} cpu: [x64] os: [win32] @@ -709,8 +709,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.14.0': - resolution: {integrity: sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==} + '@typescript-eslint/eslint-plugin@8.15.0': + resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -720,8 +720,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.14.0': - resolution: {integrity: sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==} + '@typescript-eslint/parser@8.15.0': + resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -730,25 +730,26 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.14.0': - resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} + '@typescript-eslint/scope-manager@8.15.0': + resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.14.0': - resolution: {integrity: sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==} + '@typescript-eslint/type-utils@8.15.0': + resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@8.14.0': - resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} + '@typescript-eslint/types@8.15.0': + resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.14.0': - resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} + '@typescript-eslint/typescript-estree@8.15.0': + resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -756,14 +757,18 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.14.0': - resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} + '@typescript-eslint/utils@8.15.0': + resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/visitor-keys@8.14.0': - resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} + '@typescript-eslint/visitor-keys@8.15.0': + resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-vue@5.2.0': @@ -795,17 +800,17 @@ packages: '@volar/typescript@2.4.10': resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==} - '@vue/compiler-core@3.5.12': - resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-dom@3.5.12': - resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@vue/compiler-sfc@3.5.12': - resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - '@vue/compiler-ssr@3.5.12': - resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -821,22 +826,22 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.12': - resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} + '@vue/reactivity@3.5.13': + resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - '@vue/runtime-core@3.5.12': - resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} + '@vue/runtime-core@3.5.13': + resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - '@vue/runtime-dom@3.5.12': - resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} + '@vue/runtime-dom@3.5.13': + resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - '@vue/server-renderer@3.5.12': - resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} + '@vue/server-renderer@3.5.13': + resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} peerDependencies: - vue: 3.5.12 + vue: 3.5.13 - '@vue/shared@3.5.12': - resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} '@vueuse/core@11.2.0': resolution: {integrity: sha512-JIUwRcOqOWzcdu1dGlfW04kaJhW3EXnnjJJfLTtddJanymTL7lF1C0+dVVZ/siLfc73mWn+cGP1PE1PKPruRSA==} @@ -1074,8 +1079,8 @@ packages: core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - cross-spawn@7.0.5: - resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} cssesc@3.0.0: @@ -1154,8 +1159,8 @@ packages: ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - electron-to-chromium@1.5.58: - resolution: {integrity: sha512-al2l4r+24ZFL7WzyPTlyD0fC33LLzvxqLCwurtBibVPghRGO9hSTl+tis8t1kD7biPiH/en4U0I7o/nQbYeoVA==} + electron-to-chromium@1.5.63: + resolution: {integrity: sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1221,8 +1226,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-compat-utils@0.6.0: - resolution: {integrity: sha512-1vVBdI/HLS6HTHVQCJGlN+LOF0w1Rs/WB9se23mQr84cRM0iMM8PulMFFhQdQ1BvS0cGwjpis4xziI91Rk0l6g==} + eslint-compat-utils@0.6.3: + resolution: {integrity: sha512-9IDdksh5pUYP2ZLi7mOdROxVjLY8gY2qKxprmrJ/5Dyqud7M/IFKxF3o0VLlRhITm1pK6Fk7NiBxE39M/VlUcw==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' @@ -1282,14 +1287,14 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-jsonc@2.18.1: - resolution: {integrity: sha512-6qY8zDpxOwPQNcr8eZ+RxwGX6IPHws5/Qef7aBEjER8rB9+UMB6zQWVIVcbP7xzFmEMHAesNFPe/sIlU4c78dg==} + eslint-plugin-jsonc@2.18.2: + resolution: {integrity: sha512-SDhJiSsWt3nItl/UuIv+ti4g3m4gpGkmnUJS9UWR3TrpyNsIcnJoBRD7Kof6cM4Rk3L0wrmY5Tm3z7ZPjR2uGg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' - eslint-plugin-n@17.13.1: - resolution: {integrity: sha512-97qzhk1z3DdSJNCqT45EslwCu5+LB9GDadSyBItgKUfGsXAmN/aa7LRQ0ZxHffUxUzvgbTPJL27/pE9ZQWHy7A==} + eslint-plugin-n@17.13.2: + resolution: {integrity: sha512-MhBAKkT01h8cOXcTBTlpuR7bxH5OBUNpUXefsvwSVEy46cY4m/Kzr2osUCQvA3zJFD6KuCeNNDv0+HDuWk/OcA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -1321,8 +1326,8 @@ packages: resolution: {integrity: sha512-lVOfr6kTRPu91pAVYisiziMwU+bW33Z+AMnmnj3hM1xjzqeo0KBHovcX5J+YDyna8GWwiL8kAzrDvy0eG52aIQ==} engines: {node: '>= 8.9.0', npm: '>= 5.6.0', yarn: '>= 1.6.0'} - eslint-plugin-regexp@2.6.0: - resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==} + eslint-plugin-regexp@2.7.0: + resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} engines: {node: ^18 || >=20} peerDependencies: eslint: '>=8.44.0' @@ -1382,8 +1387,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.14.0: - resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==} + eslint@9.15.0: + resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1497,8 +1502,8 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} @@ -1819,8 +1824,8 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - magic-string@0.30.12: - resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.13: + resolution: {integrity: sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g==} markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -2057,8 +2062,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-manager-detector@0.2.2: - resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==} + package-manager-detector@0.2.4: + resolution: {integrity: sha512-H/OUu9/zUfP89z1APcBf2X8Us0tt8dUK4lUmKqz12QNXif3DxAs1/YqjGtcutZi1zQqeNQRWr9C+EbQnnvSSFA==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -2175,8 +2180,8 @@ packages: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} - quasar@2.17.2: - resolution: {integrity: sha512-wycJcrjXsNxyNFYaw7eviKAo0I3LaQap0GCHXUEiaAi4H+a9LJbgkoZSZKCP4M0UO4iVnkWVkQzsFodyHk5uHQ==} + quasar@2.17.4: + resolution: {integrity: sha512-EqfV7taxfHIGN9gTwpwRayF6VMxk2I7ztapTwr+A1h22Jop4gNpl40HDuNtjpKbXaw/ZsIBK9cbch0aXDCGhNg==} engines: {node: '>= 10.18.1', npm: '>= 6.13.4', yarn: '>= 1.21.1'} queue-microtask@1.2.3: @@ -2243,8 +2248,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.26.0: - resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} + rollup@4.27.3: + resolution: {integrity: sha512-SLsCOnlmGt9VoZ9Ek8yBK8tAdmPHeppkw+Xa7yDlCEhDTvwYei03JlWo1fdc7YTfLZ4tD8riJCUyAgTbszk1fQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2260,128 +2265,128 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-embedded-android-arm64@1.80.7: - resolution: {integrity: sha512-Gwl/OY80uEA14MLm7efJvc1ErgGT51SvAv4/kIpTziOJpkk+999/nrEJHQ6YAJ7r5DuQcKvC3lHipcENUIpP9A==} + sass-embedded-android-arm64@1.81.0: + resolution: {integrity: sha512-I36P77/PKAHx6sqOmexO2iEY5kpsmQ1VxcgITZSOxPMQhdB6m4t3bTabfDuWQQmCrqqiNFtLQHeytB65bUqwiw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - sass-embedded-android-arm@1.80.7: - resolution: {integrity: sha512-pMxJ70yOGXYGmfoGlAMKqnr/nuP/UgKV3jc7v5kpmWGpPPMF2u63DM2QkvTqM32FyfwyxSycVaNFNT+gPomTiw==} + sass-embedded-android-arm@1.81.0: + resolution: {integrity: sha512-NWEmIuaIEsGFNsIRa+5JpIpPJyZ32H15E85CNZqEIhhwWlk9UNw7vlOCmTH8MtabtnACwC/2NG8VyNa3nxKzUQ==} engines: {node: '>=14.0.0'} cpu: [arm] os: [android] - sass-embedded-android-ia32@1.80.7: - resolution: {integrity: sha512-CJccGPgBePPYiXhyQWvgHF8AqjIDSGf+mcC4Ac/f5upRd9Z/vhQVrJfsDxt4c4tV0HGEfbQpT9xOCYF1Z6luZQ==} + sass-embedded-android-ia32@1.81.0: + resolution: {integrity: sha512-k8V1usXw30w1GVxvrteG1RzgYJzYQ9PfL2aeOqGdroBN7zYTD9VGJXTGcxA4IeeRxmRd7szVW2mKXXS472fh8g==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [android] - sass-embedded-android-riscv64@1.80.7: - resolution: {integrity: sha512-kIGcyuhNes9NUDzJ9VHy/ZGKdADCCt7JAwiC7lFSc6/xs5rJtGRn6hZ+mcG7gQWAezb5oK/VMQl8ps7HBFUEXw==} + sass-embedded-android-riscv64@1.81.0: + resolution: {integrity: sha512-RXlanyLXEpN/DEehXgLuKPsqT//GYlsGFxKXgRiCc8hIPAueFLQXKJmLWlL3BEtHgmFdbsStIu4aZCcb1hOFlQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [android] - sass-embedded-android-x64@1.80.7: - resolution: {integrity: sha512-oLMQiFpbSczOrGZSWlZvVJ1T9L6nDjS2u8PTxfT0MFX/FT3EhaxylHeiYKrmtY4epRufNCC/G96DMVqnSNa1QQ==} + sass-embedded-android-x64@1.81.0: + resolution: {integrity: sha512-RQG0FxGQ1DERNyUDED8+BDVaLIjI+BNg8lVcyqlLZUrWY6NhzjwYEeiN/DNZmMmHtqDucAPNDcsdVUNQqsBy2A==} engines: {node: '>=14.0.0'} cpu: [x64] os: [android] - sass-embedded-darwin-arm64@1.80.7: - resolution: {integrity: sha512-Vi5BbTWd9OO0tC60CPw5IY7w3Tccr1/Gy2DdkfE4qP6Rc368WmUis5ceG8ehAye0IT7aoRXpw8XTzWyXAZHbfw==} + sass-embedded-darwin-arm64@1.81.0: + resolution: {integrity: sha512-gLKbsfII9Ppua76N41ODFnKGutla9qv0OGAas8gxe0jYBeAQFi/1iKQYdNtQtKi4mA9n5TQTqz+HHCKszZCoyA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - sass-embedded-darwin-x64@1.80.7: - resolution: {integrity: sha512-yeANclgSHJ7K/XLG4Lnk7aQ5dk7K+oqIOtoOP0bjXgWsdPbes9V7k1ZJ9mZGl+f/XAPaRRPqjKs4WHU9s8m8MA==} + sass-embedded-darwin-x64@1.81.0: + resolution: {integrity: sha512-7uMOlT9hD2KUJCbTN2XcfghDxt/rc50ujjfSjSHjX1SYj7mGplkINUXvVbbvvaV2wt6t9vkGkCo5qNbeBhfwBg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - sass-embedded-linux-arm64@1.80.7: - resolution: {integrity: sha512-Idb5K9LHHWklN7A/kqWUd6sktA36V70bSjZ/gvCDu/5CBJBkMsVNdrxcdpGzrZe7pYV4XUTkMZOwf91owEywtQ==} + sass-embedded-linux-arm64@1.81.0: + resolution: {integrity: sha512-jy4bvhdUmqbyw1jv1f3Uxl+MF8EU/Y/GDx4w6XPJm4Ds+mwH/TwnyAwsxxoBhWfnBnW8q2ADy039DlS5p+9csQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-arm@1.80.7: - resolution: {integrity: sha512-ZttC6H2Z9YXUVFlprqZ0AgXuHdzqhvhUWsG7UUqkND9JSHvyFSwRij4h90aOK3gKg3PBGI4yG5tonLq2yV525A==} + sass-embedded-linux-arm@1.81.0: + resolution: {integrity: sha512-REqR9qM4RchCE3cKqzRy9Q4zigIV82SbSpCi/O4O3oK3pg2I1z7vkb3TiJsivusG/li7aqKZGmYOtAXjruGQDA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-ia32@1.80.7: - resolution: {integrity: sha512-xKnWWEFz1jFc9xDAG7nMcjPBCTuiJbqvTmEtwQoWj79hQrzVdkLM6SiUGVbGa1c2s2fJMS3Bg2fkDJBK6/BcuQ==} + sass-embedded-linux-ia32@1.81.0: + resolution: {integrity: sha512-ga/Jk4q5Bn1aC+iHJteDZuLSKnmBUiS3dEg1fnl/Z7GaHIChceKDJOw0zNaILRXI0qT2E1at9MwzoRaRA5Nn/g==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-arm64@1.80.7: - resolution: {integrity: sha512-7+GCYIh+c1BG4ot/PbTvVXUxd2GxDWcMxV7i3sARStQBDpTZFfohWdjUytLyqGxQgJIrbq0Q60Ucrw6HUJtJ9A==} + sass-embedded-linux-musl-arm64@1.81.0: + resolution: {integrity: sha512-hpntWf5kjkoxncA1Vh8vhsUOquZ8AROZKx0rQh7ZjSRs4JrYZASz1cfevPKaEM3wIim/nYa6TJqm0VqWsrERlA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-musl-arm@1.80.7: - resolution: {integrity: sha512-gJLfSFiiuGaqWjaj0bcuhOlQ+t1jS9StuzXnW1b9gy2I6Y0uCprgbbELgtRVPSZlCG2BBolR76YCGQTB85M43Q==} + sass-embedded-linux-musl-arm@1.81.0: + resolution: {integrity: sha512-oWVUvQ4d5Kx1Md75YXZl5z1WBjc+uOhfRRqzkJ3nWc8tjszxJN+y/5EOJavhsNI3/2yoTt6eMXRTqDD9b0tWSQ==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-musl-ia32@1.80.7: - resolution: {integrity: sha512-Iw2E6P1lha335C5tGNgPjLD7Oll7OdLBJ7uPKaU+I7KbiOPk7ELsxUL9AYIrKO0/MLtgxGqOWWfTo/5cvU8xSA==} + sass-embedded-linux-musl-ia32@1.81.0: + resolution: {integrity: sha512-UEXUYkBuqTSwg5JNWiNlfMZ1Jx6SJkaEdx+fsL3Tk099L8cKSoJWH2EPz4ZJjNbyIMymrSdVfymheTeZ8u24xA==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-riscv64@1.80.7: - resolution: {integrity: sha512-gd92dkDVpTh4xJb2hpX82E6el30h4MxCb7VJLwtbQSrQuxOlZgaDX4plMSZifsNTLvOsafdLCYyI+QsZRr8bkA==} + sass-embedded-linux-musl-riscv64@1.81.0: + resolution: {integrity: sha512-1D7OznytbIhx2XDHWi1nuQ8d/uCVR7FGGzELgaU//T8A9DapVTUgPKvB70AF1k4GzChR9IXU/WvFZs2hDTbaJg==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-musl-x64@1.80.7: - resolution: {integrity: sha512-i5udU+i0LZrL3dhHAgIfK7LBaHtScwAceiykndNIHyRXc1TY2DX3lG0EolVUvPyWFUNnvGCgxZF8oUToPzJ+pw==} + sass-embedded-linux-musl-x64@1.81.0: + resolution: {integrity: sha512-ia6VCTeVDQtBSMktXRFza1AZCt8/6aUoujot6Ugf4KmdytQqPJIHxkHaGftm5xwi9WdrMGYS7zgolToPijR11A==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-linux-riscv64@1.80.7: - resolution: {integrity: sha512-DvnXvu019c6THNQnSWfy2eY/HFWZ2ogGUjRkdKAxj7U7i/YD+bsDIxdDQHZ48qzOguzx8n2aRa/clriM0HQPUA==} + sass-embedded-linux-riscv64@1.81.0: + resolution: {integrity: sha512-KbxSsqu4tT1XbhZfJV/5NfW0VtJIGlD58RjqJqJBi8Rnjrx29/upBsuwoDWtsPV/LhoGwwU1XkSa9Q1ifCz4fQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-x64@1.80.7: - resolution: {integrity: sha512-nQB+IZwCzVPpPkP5L9zV416/AGPLky7L2GGPWtvxG2CEeTV1Rzet+gkhzk2eYEdbh+3py/w9YVRTaQuZ3QV0vQ==} + sass-embedded-linux-x64@1.81.0: + resolution: {integrity: sha512-AMDeVY2T9WAnSFkuQcsOn5c29GRs/TuqnCiblKeXfxCSKym5uKdBl/N7GnTV6OjzoxiJBbkYKdVIaS5By7Gj4g==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-win32-arm64@1.80.7: - resolution: {integrity: sha512-Q6Rh/CM30m8txoKK5SIVamnwPXs028Mvfq4Ol4saHgSYro9kY/HTrrWlG/RPd6sPvYBCYIm1mX8oBteDUMCajQ==} + sass-embedded-win32-arm64@1.81.0: + resolution: {integrity: sha512-YOmBRYnygwWUmCoH14QbMRHjcvCJufeJBAp0m61tOJXIQh64ziwV4mjdqjS/Rx3zhTT4T+nulDUw4d3kLiMncA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - sass-embedded-win32-ia32@1.80.7: - resolution: {integrity: sha512-VZMRp81KWUZZDqNwkL3yTDT+VRxB7ScJKUJD1M8fq6P1nyJP35+r1byXLF4UQMoNgpC5B16txxMvqdkv43OqAA==} + sass-embedded-win32-ia32@1.81.0: + resolution: {integrity: sha512-HFfr/C+uLJGGTENdnssuNTmXI/xnIasUuEHEKqI+2J0FHCWT5cpz3PGAOHymPyJcZVYGUG/7gIxIx/d7t0LFYw==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [win32] - sass-embedded-win32-x64@1.80.7: - resolution: {integrity: sha512-4p+GzOJJ1KqxPKrkIkKisod4YAcC70fj4WMRLrQLLuUW+MzAvtKgX2+ZJf90D50CozSdgETGBvdPSj3VLjBzZw==} + sass-embedded-win32-x64@1.81.0: + resolution: {integrity: sha512-wxj52jDcIAwWcXb7ShZ7vQYKcVUkJ+04YM9l46jDY+qwHzliGuorAUyujLyKTE9heGD3gShJ3wPPC1lXzq6v9A==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - sass-embedded@1.80.7: - resolution: {integrity: sha512-OwF0QvpDUjW2udPCvxgaObU0tQHycpsIgCDtHBVHuOqZ2LN0OkkY+uxSO7bOaw9wD7vXtt+1V+jiIZDTxiSRVQ==} + sass-embedded@1.81.0: + resolution: {integrity: sha512-uZQ2Faxb1oWBHpeSSzjxnhClbMb3QadN0ql0ZFNuqWOLUxwaVhrMlMhPq6TDPbbfDUjihuwrMCuy695Bgna5RA==} engines: {node: '>=16.0.0'} hasBin: true @@ -2528,9 +2533,6 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - throttleit@1.0.1: resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} @@ -2752,8 +2754,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.12: - resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} + vue@3.5.13: + resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2820,42 +2822,42 @@ packages: snapshots: - '@antfu/eslint-config@3.9.1(@typescript-eslint/utils@8.14.0(eslint@9.14.0)(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(eslint@9.14.0)(typescript@5.6.3)': + '@antfu/eslint-config@3.9.1(@typescript-eslint/utils@8.15.0(eslint@9.15.0)(typescript@5.6.3))(@vue/compiler-sfc@3.5.13)(eslint@9.15.0)(typescript@5.6.3)': dependencies: '@antfu/install-pkg': 0.4.1 '@clack/prompts': 0.7.0 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.14.0) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.15.0) '@eslint/markdown': 6.2.1 - '@stylistic/eslint-plugin': 2.10.1(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - '@vitest/eslint-plugin': 1.1.10(@typescript-eslint/utils@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3) - eslint: 9.14.0 - eslint-config-flat-gitignore: 0.3.0(eslint@9.14.0) + '@stylistic/eslint-plugin': 2.10.1(eslint@9.15.0)(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + '@vitest/eslint-plugin': 1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3) + eslint: 9.15.0 + eslint-config-flat-gitignore: 0.3.0(eslint@9.15.0) eslint-flat-config-utils: 0.4.0 - eslint-merge-processors: 0.1.0(eslint@9.14.0) - eslint-plugin-antfu: 2.7.0(eslint@9.14.0) - eslint-plugin-command: 0.2.6(eslint@9.14.0) - eslint-plugin-import-x: 4.4.2(eslint@9.14.0)(typescript@5.6.3) - eslint-plugin-jsdoc: 50.5.0(eslint@9.14.0) - eslint-plugin-jsonc: 2.18.1(eslint@9.14.0) - eslint-plugin-n: 17.13.1(eslint@9.14.0) + eslint-merge-processors: 0.1.0(eslint@9.15.0) + eslint-plugin-antfu: 2.7.0(eslint@9.15.0) + eslint-plugin-command: 0.2.6(eslint@9.15.0) + eslint-plugin-import-x: 4.4.2(eslint@9.15.0)(typescript@5.6.3) + eslint-plugin-jsdoc: 50.5.0(eslint@9.15.0) + eslint-plugin-jsonc: 2.18.2(eslint@9.15.0) + eslint-plugin-n: 17.13.2(eslint@9.15.0) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 3.9.1(eslint@9.14.0)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.14.0)) - eslint-plugin-regexp: 2.6.0(eslint@9.14.0) - eslint-plugin-toml: 0.11.1(eslint@9.14.0) - eslint-plugin-unicorn: 56.0.0(eslint@9.14.0) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0) - eslint-plugin-vue: 9.31.0(eslint@9.14.0) - eslint-plugin-yml: 1.15.0(eslint@9.14.0) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.14.0) + eslint-plugin-perfectionist: 3.9.1(eslint@9.15.0)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.15.0)) + eslint-plugin-regexp: 2.7.0(eslint@9.15.0) + eslint-plugin-toml: 0.11.1(eslint@9.15.0) + eslint-plugin-unicorn: 56.0.0(eslint@9.15.0) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0) + eslint-plugin-vue: 9.31.0(eslint@9.15.0) + eslint-plugin-yml: 1.15.0(eslint@9.15.0) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.15.0) globals: 15.12.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.1.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.14.0) + vue-eslint-parser: 9.4.3(eslint@9.15.0) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -2869,7 +2871,7 @@ snapshots: '@antfu/install-pkg@0.4.1': dependencies: - package-manager-detector: 0.2.2 + package-manager-detector: 0.2.4 tinyexec: 0.3.1 '@antfu/utils@0.7.10': {} @@ -3018,24 +3020,24 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.14.0)': + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.15.0)': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.14.0 + eslint: 9.15.0 ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.1(eslint@9.14.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0)': dependencies: - eslint: 9.14.0 + eslint: 9.15.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.2(eslint@9.14.0)': + '@eslint/compat@1.2.3(eslint@9.15.0)': optionalDependencies: - eslint: 9.14.0 + eslint: 9.15.0 - '@eslint/config-array@0.18.0': + '@eslint/config-array@0.19.0': dependencies: '@eslint/object-schema': 2.1.4 debug: 4.3.7(supports-color@8.1.1) @@ -3043,9 +3045,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/core@0.7.0': {} + '@eslint/core@0.9.0': {} - '@eslint/eslintrc@3.1.0': + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@8.1.1) @@ -3059,11 +3061,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.14.0': {} + '@eslint/js@9.15.0': {} '@eslint/markdown@6.2.1': dependencies: - '@eslint/plugin-kit': 0.2.2 + '@eslint/plugin-kit': 0.2.3 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 micromark-extension-gfm: 3.0.0 @@ -3072,7 +3074,7 @@ snapshots: '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.2.2': + '@eslint/plugin-kit@0.2.3': dependencies: levn: 0.4.1 @@ -3089,7 +3091,7 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@intlify/bundle-utils@8.0.0(vue-i18n@9.14.1(vue@3.5.12(typescript@5.6.3)))': + '@intlify/bundle-utils@8.0.0(vue-i18n@9.14.1(vue@3.5.13(typescript@5.6.3)))': dependencies: '@intlify/message-compiler': 9.14.1 '@intlify/shared': 9.14.1 @@ -3101,7 +3103,7 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.14.1(vue@3.5.12(typescript@5.6.3)) + vue-i18n: 9.14.1(vue@3.5.13(typescript@5.6.3)) '@intlify/core-base@9.14.1': dependencies: @@ -3115,12 +3117,12 @@ snapshots: '@intlify/shared@9.14.1': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.26.0)(vue-i18n@9.14.1(vue@3.5.12(typescript@5.6.3)))': + '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.27.3)(vue-i18n@9.14.1(vue@3.5.13(typescript@5.6.3)))': dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.14.1(vue@3.5.12(typescript@5.6.3))) + '@intlify/bundle-utils': 8.0.0(vue-i18n@9.14.1(vue@3.5.13(typescript@5.6.3))) '@intlify/shared': 9.14.1 - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) - '@vue/compiler-sfc': 3.5.12 + '@rollup/pluginutils': 5.1.3(rollup@4.27.3) + '@vue/compiler-sfc': 3.5.13 debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 js-yaml: 4.1.0 @@ -3130,7 +3132,7 @@ snapshots: source-map-js: 1.2.1 unplugin: 1.16.0 optionalDependencies: - vue-i18n: 9.14.1(vue@3.5.12(typescript@5.6.3)) + vue-i18n: 9.14.1(vue@3.5.13(typescript@5.6.3)) transitivePeerDependencies: - rollup - supports-color @@ -3214,79 +3216,79 @@ snapshots: '@quasar/extras@1.16.13': {} - '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3)))(quasar@2.17.2)(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3))': + '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3))': dependencies: - '@vitejs/plugin-vue': 5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3)) - quasar: 2.17.2 - vite: 5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3) - vue: 3.5.12(typescript@5.6.3) + '@vitejs/plugin-vue': 5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3)) + quasar: 2.17.4 + vite: 5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3) + vue: 3.5.13(typescript@5.6.3) - '@rollup/pluginutils@5.1.3(rollup@4.26.0)': + '@rollup/pluginutils@5.1.3(rollup@4.27.3)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.3 - '@rollup/rollup-android-arm-eabi@4.26.0': + '@rollup/rollup-android-arm-eabi@4.27.3': optional: true - '@rollup/rollup-android-arm64@4.26.0': + '@rollup/rollup-android-arm64@4.27.3': optional: true - '@rollup/rollup-darwin-arm64@4.26.0': + '@rollup/rollup-darwin-arm64@4.27.3': optional: true - '@rollup/rollup-darwin-x64@4.26.0': + '@rollup/rollup-darwin-x64@4.27.3': optional: true - '@rollup/rollup-freebsd-arm64@4.26.0': + '@rollup/rollup-freebsd-arm64@4.27.3': optional: true - '@rollup/rollup-freebsd-x64@4.26.0': + '@rollup/rollup-freebsd-x64@4.27.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': + '@rollup/rollup-linux-arm-gnueabihf@4.27.3': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.26.0': + '@rollup/rollup-linux-arm-musleabihf@4.27.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.26.0': + '@rollup/rollup-linux-arm64-gnu@4.27.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.26.0': + '@rollup/rollup-linux-arm64-musl@4.27.3': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.27.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.26.0': + '@rollup/rollup-linux-riscv64-gnu@4.27.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.26.0': + '@rollup/rollup-linux-s390x-gnu@4.27.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.26.0': + '@rollup/rollup-linux-x64-gnu@4.27.3': optional: true - '@rollup/rollup-linux-x64-musl@4.26.0': + '@rollup/rollup-linux-x64-musl@4.27.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.26.0': + '@rollup/rollup-win32-arm64-msvc@4.27.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.26.0': + '@rollup/rollup-win32-ia32-msvc@4.27.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.26.0': + '@rollup/rollup-win32-x64-msvc@4.27.3': optional: true - '@stylistic/eslint-plugin@2.10.1(eslint@9.14.0)(typescript@5.6.3)': + '@stylistic/eslint-plugin@2.10.1(eslint@9.15.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - eslint: 9.14.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + eslint: 9.15.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -3334,15 +3336,15 @@ snapshots: '@types/node': 22.9.0 optional: true - '@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.14.0 - eslint: 9.14.0 + '@typescript-eslint/parser': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.15.0 + eslint: 9.15.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3352,42 +3354,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.14.0(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@8.1.1) - eslint: 9.14.0 + eslint: 9.15.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.14.0': + '@typescript-eslint/scope-manager@8.15.0': dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 - '@typescript-eslint/type-utils@8.14.0(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.15.0(eslint@9.15.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) debug: 4.3.7(supports-color@8.1.1) + eslint: 9.15.0 ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - - eslint - supports-color - '@typescript-eslint/types@8.14.0': {} + '@typescript-eslint/types@8.15.0': {} - '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.15.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 @@ -3399,31 +3401,32 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.14.0(eslint@9.14.0)(typescript@5.6.3)': + '@typescript-eslint/utils@8.15.0(eslint@9.15.0)(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - eslint: 9.14.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + eslint: 9.15.0 + optionalDependencies: + typescript: 5.6.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@8.14.0': + '@typescript-eslint/visitor-keys@8.15.0': dependencies: - '@typescript-eslint/types': 8.14.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.15.0 + eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3))(vue@3.5.12(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3) - vue: 3.5.12(typescript@5.6.3) + vite: 5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3) + vue: 3.5.13(typescript@5.6.3) - '@vitest/eslint-plugin@1.1.10(@typescript-eslint/utils@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)': + '@vitest/eslint-plugin@1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - eslint: 9.14.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + eslint: 9.15.0 optionalDependencies: typescript: 5.6.3 @@ -3439,35 +3442,35 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.5.12': + '@vue/compiler-core@3.5.13': dependencies: '@babel/parser': 7.26.2 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.12': + '@vue/compiler-dom@3.5.13': dependencies: - '@vue/compiler-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/compiler-sfc@3.5.12': + '@vue/compiler-sfc@3.5.13': dependencies: '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.5.12 - '@vue/compiler-dom': 3.5.12 - '@vue/compiler-ssr': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.13 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 estree-walker: 2.0.2 - magic-string: 0.30.12 + magic-string: 0.30.13 postcss: 8.4.49 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.12': + '@vue/compiler-ssr@3.5.13': dependencies: - '@vue/compiler-dom': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 '@vue/compiler-vue2@2.7.16': dependencies: @@ -3479,9 +3482,9 @@ snapshots: '@vue/language-core@2.1.10(typescript@5.6.3)': dependencies: '@volar/language-core': 2.4.10 - '@vue/compiler-dom': 3.5.12 + '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 alien-signals: 0.2.2 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -3489,45 +3492,45 @@ snapshots: optionalDependencies: typescript: 5.6.3 - '@vue/reactivity@3.5.12': + '@vue/reactivity@3.5.13': dependencies: - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 - '@vue/runtime-core@3.5.12': + '@vue/runtime-core@3.5.13': dependencies: - '@vue/reactivity': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/reactivity': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/runtime-dom@3.5.12': + '@vue/runtime-dom@3.5.13': dependencies: - '@vue/reactivity': 3.5.12 - '@vue/runtime-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/reactivity': 3.5.13 + '@vue/runtime-core': 3.5.13 + '@vue/shared': 3.5.13 csstype: 3.1.3 - '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.6.3))': dependencies: - '@vue/compiler-ssr': 3.5.12 - '@vue/shared': 3.5.12 - vue: 3.5.12(typescript@5.6.3) + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + vue: 3.5.13(typescript@5.6.3) - '@vue/shared@3.5.12': {} + '@vue/shared@3.5.13': {} - '@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3))': + '@vueuse/core@11.2.0(vue@3.5.13(typescript@5.6.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.2.0 - '@vueuse/shared': 11.2.0(vue@3.5.12(typescript@5.6.3)) - vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) + '@vueuse/shared': 11.2.0(vue@3.5.13(typescript@5.6.3)) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@11.2.0': {} - '@vueuse/shared@11.2.0(vue@3.5.12(typescript@5.6.3))': + '@vueuse/shared@11.2.0(vue@3.5.13(typescript@5.6.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -3626,7 +3629,7 @@ snapshots: browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.58 + electron-to-chromium: 1.5.63 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -3732,7 +3735,7 @@ snapshots: core-util-is@1.0.2: {} - cross-spawn@7.0.5: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -3842,7 +3845,7 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 - electron-to-chromium@1.5.58: {} + electron-to-chromium@1.5.63: {} emoji-regex@8.0.0: {} @@ -3916,20 +3919,20 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.14.0): + eslint-compat-utils@0.5.1(eslint@9.15.0): dependencies: - eslint: 9.14.0 + eslint: 9.15.0 semver: 7.6.3 - eslint-compat-utils@0.6.0(eslint@9.14.0): + eslint-compat-utils@0.6.3(eslint@9.15.0): dependencies: - eslint: 9.14.0 + eslint: 9.15.0 semver: 7.6.3 - eslint-config-flat-gitignore@0.3.0(eslint@9.14.0): + eslint-config-flat-gitignore@0.3.0(eslint@9.15.0): dependencies: - '@eslint/compat': 1.2.2(eslint@9.14.0) - eslint: 9.14.0 + '@eslint/compat': 1.2.3(eslint@9.15.0) + eslint: 9.15.0 find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: @@ -3944,39 +3947,39 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-json-compat-utils@0.2.1(eslint@9.14.0)(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.15.0)(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.14.0 + eslint: 9.15.0 esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@0.1.0(eslint@9.14.0): + eslint-merge-processors@0.1.0(eslint@9.15.0): dependencies: - eslint: 9.14.0 + eslint: 9.15.0 - eslint-plugin-antfu@2.7.0(eslint@9.14.0): + eslint-plugin-antfu@2.7.0(eslint@9.15.0): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.14.0 + eslint: 9.15.0 - eslint-plugin-command@0.2.6(eslint@9.14.0): + eslint-plugin-command@0.2.6(eslint@9.15.0): dependencies: '@es-joy/jsdoccomment': 0.48.0 - eslint: 9.14.0 + eslint: 9.15.0 - eslint-plugin-es-x@7.8.0(eslint@9.14.0): + eslint-plugin-es-x@7.8.0(eslint@9.15.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) '@eslint-community/regexpp': 4.12.1 - eslint: 9.14.0 - eslint-compat-utils: 0.5.1(eslint@9.14.0) + eslint: 9.15.0 + eslint-compat-utils: 0.5.1(eslint@9.15.0) - eslint-plugin-import-x@4.4.2(eslint@9.14.0)(typescript@5.6.3): + eslint-plugin-import-x@4.4.2(eslint@9.15.0)(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) debug: 4.3.7(supports-color@8.1.1) doctrine: 3.0.0 - eslint: 9.14.0 + eslint: 9.15.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -3988,14 +3991,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.5.0(eslint@9.14.0): + eslint-plugin-jsdoc@50.5.0(eslint@9.15.0): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint: 9.14.0 + eslint: 9.15.0 espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.2.1 @@ -4005,12 +4008,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.18.1(eslint@9.14.0): + eslint-plugin-jsonc@2.18.2(eslint@9.15.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) - eslint: 9.14.0 - eslint-compat-utils: 0.6.0(eslint@9.14.0) - eslint-json-compat-utils: 0.2.1(eslint@9.14.0)(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) + eslint: 9.15.0 + eslint-compat-utils: 0.6.3(eslint@9.15.0) + eslint-json-compat-utils: 0.2.1(eslint@9.15.0)(jsonc-eslint-parser@2.4.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -4019,12 +4022,12 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.13.1(eslint@9.14.0): + eslint-plugin-n@17.13.2(eslint@9.15.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) enhanced-resolve: 5.17.1 - eslint: 9.14.0 - eslint-plugin-es-x: 7.8.0(eslint@9.14.0) + eslint: 9.15.0 + eslint-plugin-es-x: 7.8.0(eslint@9.15.0) get-tsconfig: 4.8.1 globals: 15.12.0 ignore: 5.3.2 @@ -4033,15 +4036,15 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@3.9.1(eslint@9.14.0)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.14.0)): + eslint-plugin-perfectionist@3.9.1(eslint@9.15.0)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.15.0)): dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0)(typescript@5.6.3) - eslint: 9.14.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3) + eslint: 9.15.0 minimatch: 9.0.5 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.14.0) + vue-eslint-parser: 9.4.3(eslint@9.15.0) transitivePeerDependencies: - supports-color - typescript @@ -4051,35 +4054,35 @@ snapshots: requireindex: 1.2.0 semver-compare: 1.0.0 - eslint-plugin-regexp@2.6.0(eslint@9.14.0): + eslint-plugin-regexp@2.7.0(eslint@9.15.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.14.0 + eslint: 9.15.0 jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.14.0): + eslint-plugin-toml@0.11.1(eslint@9.15.0): dependencies: debug: 4.3.7(supports-color@8.1.1) - eslint: 9.14.0 - eslint-compat-utils: 0.5.1(eslint@9.14.0) + eslint: 9.15.0 + eslint-compat-utils: 0.5.1(eslint@9.15.0) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@56.0.0(eslint@9.14.0): + eslint-plugin-unicorn@56.0.0(eslint@9.15.0): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) ci-info: 4.1.0 clean-regexp: 1.0.0 core-js-compat: 3.39.0 - eslint: 9.14.0 + eslint: 9.15.0 esquery: 1.6.0 globals: 15.12.0 indent-string: 4.0.0 @@ -4092,41 +4095,41 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0): dependencies: - eslint: 9.14.0 + eslint: 9.15.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3) - eslint-plugin-vue@9.31.0(eslint@9.14.0): + eslint-plugin-vue@9.31.0(eslint@9.15.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) - eslint: 9.14.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) + eslint: 9.15.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.14.0) + vue-eslint-parser: 9.4.3(eslint@9.15.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.15.0(eslint@9.14.0): + eslint-plugin-yml@1.15.0(eslint@9.15.0): dependencies: debug: 4.3.7(supports-color@8.1.1) - eslint: 9.14.0 - eslint-compat-utils: 0.5.1(eslint@9.14.0) + eslint: 9.15.0 + eslint-compat-utils: 0.5.1(eslint@9.15.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.14.0): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.15.0): dependencies: - '@vue/compiler-sfc': 3.5.12 - eslint: 9.14.0 + '@vue/compiler-sfc': 3.5.13 + eslint: 9.15.0 eslint-scope@7.2.2: dependencies: @@ -4142,15 +4145,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.14.0: + eslint@9.15.0: dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.18.0 - '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.14.0 - '@eslint/plugin-kit': 0.2.2 + '@eslint/config-array': 0.19.0 + '@eslint/core': 0.9.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.15.0 + '@eslint/plugin-kit': 0.2.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -4158,7 +4161,7 @@ snapshots: '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 debug: 4.3.7(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 @@ -4178,7 +4181,6 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -4218,7 +4220,7 @@ snapshots: execa@4.1.0: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 get-stream: 5.2.0 human-signals: 1.1.1 is-stream: 2.0.1 @@ -4294,10 +4296,10 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 - flatted@3.3.1: {} + flatted@3.3.2: {} follow-redirects@1.15.9: {} @@ -4512,10 +4514,10 @@ snapshots: dependencies: json-buffer: 3.0.1 - laravel-vite-plugin@1.0.6(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3)): + laravel-vite-plugin@1.0.6(vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3)): dependencies: picocolors: 1.1.1 - vite: 5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3) + vite: 5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3) vite-plugin-full-reload: 1.2.0 lazy-ass@1.6.0: {} @@ -4573,7 +4575,7 @@ snapshots: longest-streak@3.1.0: {} - magic-string@0.30.12: + magic-string@0.30.13: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -4981,7 +4983,7 @@ snapshots: p-try@2.2.0: {} - package-manager-detector@0.2.2: {} + package-manager-detector@0.2.4: {} parent-module@1.0.1: dependencies: @@ -5023,11 +5025,11 @@ snapshots: pify@2.3.0: {} - pinia@2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)): + pinia@2.2.6(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.12(typescript@5.6.3) - vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) + vue: 3.5.13(typescript@5.6.3) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3)) optionalDependencies: typescript: 5.6.3 @@ -5073,7 +5075,7 @@ snapshots: dependencies: side-channel: 1.0.6 - quasar@2.17.2: {} + quasar@2.17.4: {} queue-microtask@1.2.3: {} @@ -5135,28 +5137,28 @@ snapshots: rfdc@1.4.1: {} - rollup@4.26.0: + rollup@4.27.3: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.26.0 - '@rollup/rollup-android-arm64': 4.26.0 - '@rollup/rollup-darwin-arm64': 4.26.0 - '@rollup/rollup-darwin-x64': 4.26.0 - '@rollup/rollup-freebsd-arm64': 4.26.0 - '@rollup/rollup-freebsd-x64': 4.26.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 - '@rollup/rollup-linux-arm-musleabihf': 4.26.0 - '@rollup/rollup-linux-arm64-gnu': 4.26.0 - '@rollup/rollup-linux-arm64-musl': 4.26.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 - '@rollup/rollup-linux-riscv64-gnu': 4.26.0 - '@rollup/rollup-linux-s390x-gnu': 4.26.0 - '@rollup/rollup-linux-x64-gnu': 4.26.0 - '@rollup/rollup-linux-x64-musl': 4.26.0 - '@rollup/rollup-win32-arm64-msvc': 4.26.0 - '@rollup/rollup-win32-ia32-msvc': 4.26.0 - '@rollup/rollup-win32-x64-msvc': 4.26.0 + '@rollup/rollup-android-arm-eabi': 4.27.3 + '@rollup/rollup-android-arm64': 4.27.3 + '@rollup/rollup-darwin-arm64': 4.27.3 + '@rollup/rollup-darwin-x64': 4.27.3 + '@rollup/rollup-freebsd-arm64': 4.27.3 + '@rollup/rollup-freebsd-x64': 4.27.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.3 + '@rollup/rollup-linux-arm-musleabihf': 4.27.3 + '@rollup/rollup-linux-arm64-gnu': 4.27.3 + '@rollup/rollup-linux-arm64-musl': 4.27.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.3 + '@rollup/rollup-linux-riscv64-gnu': 4.27.3 + '@rollup/rollup-linux-s390x-gnu': 4.27.3 + '@rollup/rollup-linux-x64-gnu': 4.27.3 + '@rollup/rollup-linux-x64-musl': 4.27.3 + '@rollup/rollup-win32-arm64-msvc': 4.27.3 + '@rollup/rollup-win32-ia32-msvc': 4.27.3 + '@rollup/rollup-win32-x64-msvc': 4.27.3 fsevents: 2.3.3 run-parallel@1.2.0: @@ -5171,67 +5173,67 @@ snapshots: safer-buffer@2.1.2: {} - sass-embedded-android-arm64@1.80.7: + sass-embedded-android-arm64@1.81.0: optional: true - sass-embedded-android-arm@1.80.7: + sass-embedded-android-arm@1.81.0: optional: true - sass-embedded-android-ia32@1.80.7: + sass-embedded-android-ia32@1.81.0: optional: true - sass-embedded-android-riscv64@1.80.7: + sass-embedded-android-riscv64@1.81.0: optional: true - sass-embedded-android-x64@1.80.7: + sass-embedded-android-x64@1.81.0: optional: true - sass-embedded-darwin-arm64@1.80.7: + sass-embedded-darwin-arm64@1.81.0: optional: true - sass-embedded-darwin-x64@1.80.7: + sass-embedded-darwin-x64@1.81.0: optional: true - sass-embedded-linux-arm64@1.80.7: + sass-embedded-linux-arm64@1.81.0: optional: true - sass-embedded-linux-arm@1.80.7: + sass-embedded-linux-arm@1.81.0: optional: true - sass-embedded-linux-ia32@1.80.7: + sass-embedded-linux-ia32@1.81.0: optional: true - sass-embedded-linux-musl-arm64@1.80.7: + sass-embedded-linux-musl-arm64@1.81.0: optional: true - sass-embedded-linux-musl-arm@1.80.7: + sass-embedded-linux-musl-arm@1.81.0: optional: true - sass-embedded-linux-musl-ia32@1.80.7: + sass-embedded-linux-musl-ia32@1.81.0: optional: true - sass-embedded-linux-musl-riscv64@1.80.7: + sass-embedded-linux-musl-riscv64@1.81.0: optional: true - sass-embedded-linux-musl-x64@1.80.7: + sass-embedded-linux-musl-x64@1.81.0: optional: true - sass-embedded-linux-riscv64@1.80.7: + sass-embedded-linux-riscv64@1.81.0: optional: true - sass-embedded-linux-x64@1.80.7: + sass-embedded-linux-x64@1.81.0: optional: true - sass-embedded-win32-arm64@1.80.7: + sass-embedded-win32-arm64@1.81.0: optional: true - sass-embedded-win32-ia32@1.80.7: + sass-embedded-win32-ia32@1.81.0: optional: true - sass-embedded-win32-x64@1.80.7: + sass-embedded-win32-x64@1.81.0: optional: true - sass-embedded@1.80.7: + sass-embedded@1.81.0: dependencies: '@bufbuild/protobuf': 2.2.2 buffer-builder: 0.2.0 @@ -5242,26 +5244,26 @@ snapshots: sync-child-process: 1.0.2 varint: 6.0.0 optionalDependencies: - sass-embedded-android-arm: 1.80.7 - sass-embedded-android-arm64: 1.80.7 - sass-embedded-android-ia32: 1.80.7 - sass-embedded-android-riscv64: 1.80.7 - sass-embedded-android-x64: 1.80.7 - sass-embedded-darwin-arm64: 1.80.7 - sass-embedded-darwin-x64: 1.80.7 - sass-embedded-linux-arm: 1.80.7 - sass-embedded-linux-arm64: 1.80.7 - sass-embedded-linux-ia32: 1.80.7 - sass-embedded-linux-musl-arm: 1.80.7 - sass-embedded-linux-musl-arm64: 1.80.7 - sass-embedded-linux-musl-ia32: 1.80.7 - sass-embedded-linux-musl-riscv64: 1.80.7 - sass-embedded-linux-musl-x64: 1.80.7 - sass-embedded-linux-riscv64: 1.80.7 - sass-embedded-linux-x64: 1.80.7 - sass-embedded-win32-arm64: 1.80.7 - sass-embedded-win32-ia32: 1.80.7 - sass-embedded-win32-x64: 1.80.7 + sass-embedded-android-arm: 1.81.0 + sass-embedded-android-arm64: 1.81.0 + sass-embedded-android-ia32: 1.81.0 + sass-embedded-android-riscv64: 1.81.0 + sass-embedded-android-x64: 1.81.0 + sass-embedded-darwin-arm64: 1.81.0 + sass-embedded-darwin-x64: 1.81.0 + sass-embedded-linux-arm: 1.81.0 + sass-embedded-linux-arm64: 1.81.0 + sass-embedded-linux-ia32: 1.81.0 + sass-embedded-linux-musl-arm: 1.81.0 + sass-embedded-linux-musl-arm64: 1.81.0 + sass-embedded-linux-musl-ia32: 1.81.0 + sass-embedded-linux-musl-riscv64: 1.81.0 + sass-embedded-linux-musl-x64: 1.81.0 + sass-embedded-linux-riscv64: 1.81.0 + sass-embedded-linux-x64: 1.81.0 + sass-embedded-win32-arm64: 1.81.0 + sass-embedded-win32-ia32: 1.81.0 + sass-embedded-win32-x64: 1.81.0 sass@1.80.3: dependencies: @@ -5412,8 +5414,6 @@ snapshots: tapable@2.2.1: {} - text-table@0.2.0: {} - throttleit@1.0.1: {} through@2.3.8: {} @@ -5472,15 +5472,15 @@ snapshots: undici-types@6.19.8: {} - unimport@3.13.2(rollup@4.26.0): + unimport@3.13.2(rollup@4.27.3): dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.3) acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.12 + magic-string: 0.30.13 mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 @@ -5511,18 +5511,18 @@ snapshots: universalify@2.0.1: {} - unplugin-auto-import@0.18.4(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.26.0): + unplugin-auto-import@0.18.4(@vueuse/core@11.2.0(vue@3.5.13(typescript@5.6.3)))(rollup@4.27.3): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.3) fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.12 + magic-string: 0.30.13 minimatch: 9.0.5 - unimport: 3.13.2(rollup@4.26.0) + unimport: 3.13.2(rollup@4.27.3) unplugin: 1.16.0 optionalDependencies: - '@vueuse/core': 11.2.0(vue@3.5.12(typescript@5.6.3)) + '@vueuse/core': 11.2.0(vue@3.5.13(typescript@5.6.3)) transitivePeerDependencies: - rollup @@ -5567,27 +5567,27 @@ snapshots: vite-plugin-manifest-sri@0.2.0: {} - vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.80.7)(sass@1.80.3): + vite@5.4.11(@types/node@22.9.0)(sass-embedded@1.81.0)(sass@1.80.3): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.26.0 + rollup: 4.27.3 optionalDependencies: '@types/node': 22.9.0 fsevents: 2.3.3 sass: 1.80.3 - sass-embedded: 1.80.7 + sass-embedded: 1.81.0 vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)): + vue-demi@0.14.10(vue@3.5.13(typescript@5.6.3)): dependencies: - vue: 3.5.12(typescript@5.6.3) + vue: 3.5.13(typescript@5.6.3) - vue-eslint-parser@9.4.3(eslint@9.14.0): + vue-eslint-parser@9.4.3(eslint@9.15.0): dependencies: debug: 4.3.7(supports-color@8.1.1) - eslint: 9.14.0 + eslint: 9.15.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -5597,17 +5597,17 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.14.1(vue@3.5.12(typescript@5.6.3)): + vue-i18n@9.14.1(vue@3.5.13(typescript@5.6.3)): dependencies: '@intlify/core-base': 9.14.1 '@intlify/shared': 9.14.1 '@vue/devtools-api': 6.6.4 - vue: 3.5.12(typescript@5.6.3) + vue: 3.5.13(typescript@5.6.3) - vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)): + vue-router@4.4.5(vue@3.5.13(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.12(typescript@5.6.3) + vue: 3.5.13(typescript@5.6.3) vue-tsc@2.1.10(typescript@5.6.3): dependencies: @@ -5616,13 +5616,13 @@ snapshots: semver: 7.6.3 typescript: 5.6.3 - vue@3.5.12(typescript@5.6.3): + vue@3.5.13(typescript@5.6.3): dependencies: - '@vue/compiler-dom': 3.5.12 - '@vue/compiler-sfc': 3.5.12 - '@vue/runtime-dom': 3.5.12 - '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3)) - '@vue/shared': 3.5.12 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-sfc': 3.5.13 + '@vue/runtime-dom': 3.5.13 + '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.6.3)) + '@vue/shared': 3.5.13 optionalDependencies: typescript: 5.6.3 diff --git a/resources/src/locales/en.json b/resources/src/locales/en.json index e3683ac1..defe89d8 100644 --- a/resources/src/locales/en.json +++ b/resources/src/locales/en.json @@ -266,7 +266,8 @@ "protected-a-tooltip": "This information is Protected A", "review": "Review", "present": "present", - "confirm": "Confirm" + "confirm": "Confirm", + "reviewer": "Peer Reviewer" }, "create-author-dialog": { "title": "Create a new author" @@ -752,5 +753,19 @@ "author-employment": { "add-employment-tooltip": "Link your ORCID to add Employment", "add-employment": "Add Employment" + }, + "manage-peer-review": { + "title": "Peer Review", + "description": "Please enter the peer reviewers for this report. At least two subject matter experts must have conducted a peer review of the report. Note that a peer review for data reports and contactor reports is optional.", + "peer-reviewer": "Peer-Reviewers", + "no-reviewers": "No reviewers. Please add at least two if applicable for your report.", + "add-peer-reviewer": "Add a reviewer", + "delete-peer-reviewer-confirm": "Are you sure you want to delete this peer reviewer?" + }, + "manuscript-peer-reviewer-dialog": { + "instructions": "Search for the peer reviewer you'd want to add using their name or professional email. If you cannot find the author you are looking for, or their affiliation or email has changed, you can create a new author record." + }, + "mannage-peer-review": { + "delete-peer-reviewer": "Delete Peer Reviewer" } } diff --git a/resources/src/locales/fr.json b/resources/src/locales/fr.json index 45050902..386286f4 100644 --- a/resources/src/locales/fr.json +++ b/resources/src/locales/fr.json @@ -266,7 +266,8 @@ "protected-a-tooltip": "Ces informations sont protégées A", "review": "Revoir", "confirm": "Confirmer", - "present": "présent" + "present": "présent", + "reviewer": "Évaluateur par les pairs" }, "create-author-dialog": { "title": "Créer un nouvel auteur" @@ -752,5 +753,19 @@ "author-employment": { "add-employment-tooltip": "Liez votre ORCID pour ajouter un emploi", "add-employment": "Ajouter un emploi" + }, + "manage-peer-review": { + "title": "Examen par les pairs", + "description": "Veuillez indiquer les évaluateurs de ce rapport. Au moins deux experts en la matière doivent avoir procédé à un examen par les pairs du rapport. Notez qu'un examen par les pairs des rapports de données et des rapports de contacteurs est facultatif.", + "peer-reviewer": "Évaluateurs", + "no-reviewers": "Aucun évaluateur. \nVeuillez en ajouter au moins deux, si applicable pour votre rapport.", + "add-peer-reviewer": "Ajouté un évaluateur", + "delete-peer-reviewer-confirm": "Êtes-vous sûr de vouloir supprimer cet évaluateur ?" + }, + "manuscript-peer-reviewer-dialog": { + "instructions": "Recherchez l'évaluateur que vous souhaitez ajouter en utilisant son nom ou son adresse e-mail professionnelle. Si vous ne trouvez pas l'auteur que vous recherchez, ou si son affiliation ou son adresse électronique a changé, vous pouvez créer une nouvelle fiche d'auteur." + }, + "mannage-peer-review": { + "delete-peer-reviewer": "Supprimer l'évaluateur" } } diff --git a/resources/src/models/ManuscriptAuthor/components/AddManuscriptAuthorDialog.vue b/resources/src/models/ManuscriptAuthor/components/AddManuscriptAuthorDialog.vue index 10844f39..a4e86afd 100644 --- a/resources/src/models/ManuscriptAuthor/components/AddManuscriptAuthorDialog.vue +++ b/resources/src/models/ManuscriptAuthor/components/AddManuscriptAuthorDialog.vue @@ -2,11 +2,11 @@ import type { ManuscriptAuthorResource, } from '../ManuscriptAuthor' +import BaseDialog from '@/components/BaseDialog.vue' +import AuthorSelect from '@/models/Author/components/AuthorSelect.vue' import { ManuscriptAuthorService, } from '../ManuscriptAuthor' -import AuthorSelect from '@/models/Author/components/AuthorSelect.vue' -import BaseDialog from '@/components/BaseDialog.vue' const props = withDefaults( defineProps<{ diff --git a/resources/src/models/ManuscriptAuthor/components/ManageManuscriptAuthorsCard.vue b/resources/src/models/ManuscriptAuthor/components/ManageManuscriptAuthorsCard.vue index f6a69596..21c7f8a1 100644 --- a/resources/src/models/ManuscriptAuthor/components/ManageManuscriptAuthorsCard.vue +++ b/resources/src/models/ManuscriptAuthor/components/ManageManuscriptAuthorsCard.vue @@ -1,20 +1,20 @@ + + + + diff --git a/resources/src/models/ManuscriptPeerReviewer/components/ManageManuscriptPeerReviewersCard.vue b/resources/src/models/ManuscriptPeerReviewer/components/ManageManuscriptPeerReviewersCard.vue new file mode 100644 index 00000000..9911d180 --- /dev/null +++ b/resources/src/models/ManuscriptPeerReviewer/components/ManageManuscriptPeerReviewersCard.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/resources/src/models/ManuscriptPeerReviewer/components/ManuscriptPeerReviewerChip.vue b/resources/src/models/ManuscriptPeerReviewer/components/ManuscriptPeerReviewerChip.vue new file mode 100644 index 00000000..d472d26d --- /dev/null +++ b/resources/src/models/ManuscriptPeerReviewer/components/ManuscriptPeerReviewerChip.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/resources/src/models/ManuscriptRecord/components/SubmitManuscriptDialog.vue b/resources/src/models/ManuscriptRecord/components/SubmitManuscriptDialog.vue index fd95faf0..f3345dff 100644 --- a/resources/src/models/ManuscriptRecord/components/SubmitManuscriptDialog.vue +++ b/resources/src/models/ManuscriptRecord/components/SubmitManuscriptDialog.vue @@ -1,19 +1,20 @@ @@ -153,7 +136,7 @@ async function submit() { :label="$t('common.division-manager')" class="q-ma-md" :disabled-emails="authorEmails" - :disabled-ids="[ownerId]" + :disabled-ids="[manuscriptRecord.data.user_id]" :rules="[(val: number|null) => val !== null || $t('common.required')]" /> diff --git a/resources/src/models/ManuscriptRecord/views/ManuscriptRecordFormView.vue b/resources/src/models/ManuscriptRecord/views/ManuscriptRecordFormView.vue index 6e6bca9c..2b3c9013 100644 --- a/resources/src/models/ManuscriptRecord/views/ManuscriptRecordFormView.vue +++ b/resources/src/models/ManuscriptRecord/views/ManuscriptRecordFormView.vue @@ -12,6 +12,7 @@ import WarnOnUnsavedChanges from '@/components/WarnOnUnsavedChanges.vue' import FunctionalAreaSelect from '@/models/FunctionalArea/components/FunctionalAreaSelect.vue' import ManageFundingSourcesCard from '@/models/FundingSource/components/ManageFundingSourcesCard.vue' import ManageManuscriptAuthorsCard from '@/models/ManuscriptAuthor/components/ManageManuscriptAuthorsCard.vue' +import ManageManuscriptPeerReviewersCard from '@/models/ManuscriptPeerReviewer/components/ManageManuscriptPeerReviewersCard.vue' import RegionSelect from '@/models/Region/components/RegionSelect.vue' import { QForm, useQuasar } from 'quasar' import DeleteManuscriptButton from '../components/DeleteManuscriptButton.vue' @@ -45,6 +46,9 @@ const manuscriptAuthorsCard = ref | null>(null) +const manuscriptPeerReviewersCard = ref | null>(null) // watch if there is a change const isDirty = ref(false) @@ -352,6 +356,15 @@ async function generatePLS() { class="q-mb-lg" secondary /> +