diff --git a/app/Models/Author.php b/app/Models/Author.php index b6a638ca..5f25afd6 100644 --- a/app/Models/Author.php +++ b/app/Models/Author.php @@ -3,6 +3,7 @@ namespace App\Models; use App\Traits\HasExpertises; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -141,4 +142,21 @@ public function peerReviews(): HasMany { return $this->hasMany('App\Models\ManuscriptPeerReviewer'); } + + public function scopeInternalAuthor(Builder $query): void + { + $Organization = Organization::getDefaultOrganization(); + $query->where('organization_id', $Organization->id); + } + + public function scopeExternalAuthor(Builder $query): void + { + $Organization = Organization::getDefaultOrganization(); + $query->where('organization_id', '!=', $Organization->id); + } + + public function scopeWithOrcid(Builder $query): void + { + $query->whereNotNull('orcid'); + } } diff --git a/app/Queries/AuthorListQuery.php b/app/Queries/AuthorListQuery.php index 7cd0803b..f668e1dd 100644 --- a/app/Queries/AuthorListQuery.php +++ b/app/Queries/AuthorListQuery.php @@ -25,6 +25,9 @@ public function __construct() AllowedFilter::exact('organization_id'), AllowedFilter::exact('orcid'), AllowedFilter::custom('search', new FuzzyFilter('first_name', 'last_name', 'email')), + AllowedFilter::scope('internal_author'), + AllowedFilter::scope('external_author'), + AllowedFilter::scope('with_orcid'), ]); } } diff --git a/composer.lock b/composer.lock index 0f772df0..eb4fc975 100644 --- a/composer.lock +++ b/composer.lock @@ -987,16 +987,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.332.2", + "version": "3.334.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "6790e53ab0aceca59e1d44fae06c66481013950c" + "reference": "3938b3467f64a30fed7ee1762a6785f808a5ae4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6790e53ab0aceca59e1d44fae06c66481013950c", - "reference": "6790e53ab0aceca59e1d44fae06c66481013950c", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3938b3467f64a30fed7ee1762a6785f808a5ae4d", + "reference": "3938b3467f64a30fed7ee1762a6785f808a5ae4d", "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.332.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.334.1" }, - "time": "2024-12-03T06:16:16+00:00" + "time": "2024-12-05T01:17:41+00:00" }, { "name": "blade-ui-kit/blade-heroicons", @@ -2320,16 +2320,16 @@ }, { "name": "filament/actions", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "f325e315c365cfcea5c9da96662ddea37e3663fc" + "reference": "1ee8b0a890b53e8b0b341134d3ba9bdaeee294d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/f325e315c365cfcea5c9da96662ddea37e3663fc", - "reference": "f325e315c365cfcea5c9da96662ddea37e3663fc", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/1ee8b0a890b53e8b0b341134d3ba9bdaeee294d3", + "reference": "1ee8b0a890b53e8b0b341134d3ba9bdaeee294d3", "shasum": "" }, "require": { @@ -2369,20 +2369,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-29T09:30:57+00:00" + "time": "2024-12-05T08:56:37+00:00" }, { "name": "filament/filament", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "4aea767e8c872842b624fe47affe078433111259" + "reference": "27b834f6f1213c547580443e28e5028dfe125bdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/4aea767e8c872842b624fe47affe078433111259", - "reference": "4aea767e8c872842b624fe47affe078433111259", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/27b834f6f1213c547580443e28e5028dfe125bdd", + "reference": "27b834f6f1213c547580443e28e5028dfe125bdd", "shasum": "" }, "require": { @@ -2434,20 +2434,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-29T09:30:58+00:00" + "time": "2024-12-05T08:56:42+00:00" }, { "name": "filament/forms", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "c78071f1aabb63a0d9bf74268005d3294b61dc2a" + "reference": "c86af3606b8fd3f908b29a03e3056628e4cea57e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/c78071f1aabb63a0d9bf74268005d3294b61dc2a", - "reference": "c78071f1aabb63a0d9bf74268005d3294b61dc2a", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/c86af3606b8fd3f908b29a03e3056628e4cea57e", + "reference": "c86af3606b8fd3f908b29a03e3056628e4cea57e", "shasum": "" }, "require": { @@ -2490,11 +2490,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-29T09:30:53+00:00" + "time": "2024-12-05T08:56:35+00:00" }, { "name": "filament/infolists", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", @@ -2545,7 +2545,7 @@ }, { "name": "filament/notifications", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", @@ -2597,16 +2597,16 @@ }, { "name": "filament/support", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "a720fb2508a1d84a9b35aedc9991d4b53d18fea6" + "reference": "437d4f3305458f29c32ef4de5ef1d9dbdc74c3fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/a720fb2508a1d84a9b35aedc9991d4b53d18fea6", - "reference": "a720fb2508a1d84a9b35aedc9991d4b53d18fea6", + "url": "https://api.github.com/repos/filamentphp/support/zipball/437d4f3305458f29c32ef4de5ef1d9dbdc74c3fe", + "reference": "437d4f3305458f29c32ef4de5ef1d9dbdc74c3fe", "shasum": "" }, "require": { @@ -2652,20 +2652,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-29T09:31:13+00:00" + "time": "2024-12-05T08:56:49+00:00" }, { "name": "filament/tables", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "c287a68e084c96c3f2991eaddf1d6b5159af5147" + "reference": "4a60fda65574f248e082f109345216a38567093a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/c287a68e084c96c3f2991eaddf1d6b5159af5147", - "reference": "c287a68e084c96c3f2991eaddf1d6b5159af5147", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/4a60fda65574f248e082f109345216a38567093a", + "reference": "4a60fda65574f248e082f109345216a38567093a", "shasum": "" }, "require": { @@ -2704,11 +2704,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-30T09:21:26+00:00" + "time": "2024-12-05T08:56:53+00:00" }, { "name": "filament/widgets", - "version": "v3.2.127", + "version": "v3.2.128", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", @@ -5165,16 +5165,16 @@ }, { "name": "monolog/monolog", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67" + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67", - "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4", + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4", "shasum": "" }, "require": { @@ -5252,7 +5252,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.8.0" + "source": "https://github.com/Seldaek/monolog/tree/3.8.1" }, "funding": [ { @@ -5264,7 +5264,7 @@ "type": "tidelift" } ], - "time": "2024-11-12T13:57:08+00:00" + "time": "2024-12-05T17:15:07+00:00" }, { "name": "mtdowling/jmespath.php", @@ -5913,16 +5913,16 @@ }, { "name": "openspout/openspout", - "version": "v4.28.0", + "version": "v4.28.1", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "3e9ef74f13ba5e887e4afc7a4e0110e63559e902" + "reference": "229a9c837bd768e8767660671f9fdf429f343a74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/3e9ef74f13ba5e887e4afc7a4e0110e63559e902", - "reference": "3e9ef74f13ba5e887e4afc7a4e0110e63559e902", + "url": "https://api.github.com/repos/openspout/openspout/zipball/229a9c837bd768e8767660671f9fdf429f343a74", + "reference": "229a9c837bd768e8767660671f9fdf429f343a74", "shasum": "" }, "require": { @@ -5990,7 +5990,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.28.0" + "source": "https://github.com/openspout/openspout/tree/v4.28.1" }, "funding": [ { @@ -6002,7 +6002,7 @@ "type": "github" } ], - "time": "2024-11-29T09:45:53+00:00" + "time": "2024-12-05T13:34:00+00:00" }, { "name": "php-di/invoker", @@ -9288,12 +9288,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" - ], "aliases": { "Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal" - } + }, + "providers": [ + "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" + ] } }, "autoload": { @@ -13292,16 +13292,16 @@ }, { "name": "brianium/paratest", - "version": "v7.6.0", + "version": "v7.6.1", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "68ff89a8de47d086588e391a516d2a5b5fde6254" + "reference": "9ac8eda68f17acda4dad4aa02ecdcc327d7e6675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/68ff89a8de47d086588e391a516d2a5b5fde6254", - "reference": "68ff89a8de47d086588e391a516d2a5b5fde6254", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/9ac8eda68f17acda4dad4aa02ecdcc327d7e6675", + "reference": "9ac8eda68f17acda4dad4aa02ecdcc327d7e6675", "shasum": "" }, "require": { @@ -13310,26 +13310,26 @@ "ext-reflection": "*", "ext-simplexml": "*", "fidry/cpu-core-counter": "^1.2.0", - "jean85/pretty-package-versions": "^2.0.6", + "jean85/pretty-package-versions": "^2.1.0", "php": "~8.2.0 || ~8.3.0 || ~8.4.0", "phpunit/php-code-coverage": "^11.0.7", "phpunit/php-file-iterator": "^5.1.0", "phpunit/php-timer": "^7.0.1", - "phpunit/phpunit": "^11.4.1", + "phpunit/phpunit": "^11.4.4", "sebastian/environment": "^7.2.0", - "symfony/console": "^6.4.11 || ^7.1.5", - "symfony/process": "^6.4.8 || ^7.1.5" + "symfony/console": "^6.4.14 || ^7.1.7", + "symfony/process": "^6.4.14 || ^7.1.7" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^1.12.6", - "phpstan/phpstan-deprecation-rules": "^1.2.1", - "phpstan/phpstan-phpunit": "^1.4.0", - "phpstan/phpstan-strict-rules": "^1.6.1", - "squizlabs/php_codesniffer": "^3.10.3", - "symfony/filesystem": "^6.4.9 || ^7.1.5" + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-phpunit": "^2", + "phpstan/phpstan-strict-rules": "^2", + "squizlabs/php_codesniffer": "^3.11.1", + "symfony/filesystem": "^6.4.13 || ^7.1.6" }, "bin": [ "bin/paratest", @@ -13369,7 +13369,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.6.0" + "source": "https://github.com/paratestphp/paratest/tree/v7.6.1" }, "funding": [ { @@ -13381,7 +13381,7 @@ "type": "paypal" } ], - "time": "2024-10-15T12:38:31+00:00" + "time": "2024-12-05T10:55:39+00:00" }, { "name": "composer/class-map-generator", @@ -15034,16 +15034,16 @@ }, { "name": "phpmyadmin/sql-parser", - "version": "5.10.1", + "version": "5.10.2", "source": { "type": "git", "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "b14fd66496a22d8dd7f7e2791edd9e8674422f17" + "reference": "72afbce7e4b421593b60d2eb7281e37a50734df8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/b14fd66496a22d8dd7f7e2791edd9e8674422f17", - "reference": "b14fd66496a22d8dd7f7e2791edd9e8674422f17", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/72afbce7e4b421593b60d2eb7281e37a50734df8", + "reference": "72afbce7e4b421593b60d2eb7281e37a50734df8", "shasum": "" }, "require": { @@ -15117,7 +15117,7 @@ "type": "other" } ], - "time": "2024-11-10T04:10:31+00:00" + "time": "2024-12-05T15:04:09+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -16027,16 +16027,16 @@ }, { "name": "sebastian/exporter", - "version": "6.1.3", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e" + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e", - "reference": "c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3", + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3", "shasum": "" }, "require": { @@ -16045,7 +16045,7 @@ "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^11.2" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { @@ -16093,7 +16093,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/6.1.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0" }, "funding": [ { @@ -16101,7 +16101,7 @@ "type": "github" } ], - "time": "2024-07-03T04:56:19+00:00" + "time": "2024-12-05T09:17:50+00:00" }, { "name": "sebastian/global-state", diff --git a/package.json b/package.json index 4f3196dc..d0f67b1f 100644 --- a/package.json +++ b/package.json @@ -10,13 +10,13 @@ }, "dependencies": { "@intlify/unplugin-vue-i18n": "^4.0.0", - "@quasar/extras": "^1.16.14", + "@quasar/extras": "^1.16.15", "@vitejs/plugin-vue": "^5.2.1", "@vueuse/core": "^12.0.0", "dompurify": "^3.2.2", - "pinia": "^2.2.8", + "pinia": "^2.3.0", "quasar": "^2.17.4", - "sass-embedded": "^1.81.0", + "sass-embedded": "^1.82.0", "vite-plugin-manifest-sri": "^0.2.0", "vue": "^3.5.13", "vue-i18n": "^9.14.2", @@ -26,14 +26,14 @@ "@antfu/eslint-config": "^3.11.2", "@quasar/vite-plugin": "^1.8.1", "@types/node": "^22.10.1", - "axios": "^1.7.8", - "cypress": "^13.16.0", + "axios": "^1.7.9", + "cypress": "^13.16.1", "eslint": "^9.16.0", "eslint-plugin-quasar": "^1.1.0", "globals": "^15.13.0", - "laravel-vite-plugin": "^1.0.6", + "laravel-vite-plugin": "^1.1.1", "lodash": "^4.17.21", - "prettier": "^3.4.1", + "prettier": "^3.4.2", "typescript": "^5.7.2", "unplugin-auto-import": "^0.18.6", "vite": "^5.4.11", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f2038844..c0f63e5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,11 +12,11 @@ importers: specifier: ^4.0.0 version: 4.0.0(rollup@4.28.0)(vue-i18n@9.14.2(vue@3.5.13(typescript@5.7.2))) '@quasar/extras': - specifier: ^1.16.14 - version: 1.16.14 + specifier: ^1.16.15 + version: 1.16.15 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) '@vueuse/core': specifier: ^12.0.0 version: 12.0.0(typescript@5.7.2) @@ -24,14 +24,14 @@ importers: specifier: ^3.2.2 version: 3.2.2 pinia: - specifier: ^2.2.8 - version: 2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) + specifier: ^2.3.0 + version: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) quasar: specifier: ^2.17.4 version: 2.17.4 sass-embedded: - specifier: ^1.81.0 - version: 1.81.0 + specifier: ^1.82.0 + version: 1.82.0 vite-plugin-manifest-sri: specifier: ^0.2.0 version: 0.2.0 @@ -47,19 +47,19 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^3.11.2 - version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0)(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0)(typescript@5.7.2) + version: 3.11.2(@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0)(typescript@5.7.2) '@quasar/vite-plugin': specifier: ^1.8.1 - version: 1.8.1(@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) + version: 1.8.1(@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) '@types/node': specifier: ^22.10.1 version: 22.10.1 axios: - specifier: ^1.7.8 - version: 1.7.8 + specifier: ^1.7.9 + version: 1.7.9 cypress: - specifier: ^13.16.0 - version: 13.16.0 + specifier: ^13.16.1 + version: 13.16.1 eslint: specifier: ^9.16.0 version: 9.16.0 @@ -70,14 +70,14 @@ importers: specifier: ^15.13.0 version: 15.13.0 laravel-vite-plugin: - specifier: ^1.0.6 - version: 1.0.6(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3)) + specifier: ^1.1.1 + version: 1.1.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)) lodash: specifier: ^4.17.21 version: 4.17.21 prettier: - specifier: ^3.4.1 - version: 3.4.1 + specifier: ^3.4.2 + version: 3.4.2 typescript: specifier: ^5.7.2 version: 5.7.2 @@ -86,7 +86,7 @@ importers: version: 0.18.6(@vueuse/core@12.0.0(typescript@5.7.2))(rollup@4.28.0) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3) + version: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) vue-tsc: specifier: ^2.1.10 version: 2.1.10(typescript@5.7.2) @@ -157,13 +157,13 @@ packages: resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.2': - resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.26.0': - resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} '@bufbuild/protobuf@2.2.2': @@ -348,8 +348,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.2.3': - resolution: {integrity: sha512-wlZhwlDFxkxIZ571aH0FoK4h4Vwx7P3HJx62Gp8hTc10bfpwT2x0nULuAHmQSJBOWPgPeVf+9YtnD4j50zVHmA==} + '@eslint/compat@1.2.4': + resolution: {integrity: sha512-S8ZdQj/N69YAtuqFt7653jwcvuUj131+6qGLUyDqfDg1OIoBQ66OCuXC473YQfO2AaxITTutiRQiDwoo7ZLYyg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 @@ -357,12 +357,12 @@ packages: eslint: optional: true - '@eslint/config-array@0.19.0': - resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.9.0': - resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.2.0': @@ -377,12 +377,12 @@ packages: resolution: {integrity: sha512-cKVd110hG4ICHmWhIwZJfKmmJBvbiDWyrHODJknAtudKgZtlROGoLX9UEOA0o746zC0hCY4UV4vR+aOGW9S6JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.4': - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.3': - resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': @@ -545,8 +545,8 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@quasar/extras@1.16.14': - resolution: {integrity: sha512-kXVCX9GAV2l/av9EQJFRhJ3yp/sshOvc6quo+hGJYnCYj47061sxHXP6amw1vCIlVnyCFjBPeqZP2WcKmGwsOw==} + '@quasar/extras@1.16.15': + resolution: {integrity: sha512-ZM8rUAagZ3Gm7Thu6DjKdGfkyFBv61RaCeVSIWdve6+q300yN+6aouxttf2RmxCk12RsSqEyzBnIg7BlF1s7MA==} '@quasar/vite-plugin@1.8.1': resolution: {integrity: sha512-uaws342JRToH+6TMJRA4/oxuzzEM8K68y0C1xYlBYaCll/FoS9rIx9kDpuu5bYHA51Y3q7yRGN01EsUaAq9vCA==} @@ -701,8 +701,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.16.0': - resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==} + '@typescript-eslint/eslint-plugin@8.17.0': + resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -712,8 +712,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.16.0': - resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==} + '@typescript-eslint/parser@8.17.0': + resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -722,12 +722,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.16.0': - resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==} + '@typescript-eslint/scope-manager@8.17.0': + resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.16.0': - resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==} + '@typescript-eslint/type-utils@8.17.0': + resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -736,12 +736,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.16.0': - resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==} + '@typescript-eslint/types@8.17.0': + resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.16.0': - resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==} + '@typescript-eslint/typescript-estree@8.17.0': + resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -749,8 +749,8 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.16.0': - resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==} + '@typescript-eslint/utils@8.17.0': + resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -759,8 +759,8 @@ packages: typescript: optional: true - '@typescript-eslint/visitor-keys@8.16.0': - resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} + '@typescript-eslint/visitor-keys@8.17.0': + resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-vue@5.2.1': @@ -770,8 +770,8 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@vitest/eslint-plugin@1.1.13': - resolution: {integrity: sha512-oabbCT4fCQfmFNtH2UuDfHx1d7dzi+VD3qwCpBfECfyzQq/Re9u7qTtE2WqV/hAuAOALw3ZVRiub2mXmpTyn/Q==} + '@vitest/eslint-plugin@1.1.14': + resolution: {integrity: sha512-ej0cT5rUt7uvwxuu7Qxkm7fI+eaOq8vD34qGpuRoXCdvOybOlE5GDqtgvVCYbxLANkcRJfm5VDU1TnJmQRHi9g==} peerDependencies: '@typescript-eslint/utils': '>= 8.0' eslint: '>= 8.57.0' @@ -917,8 +917,8 @@ packages: aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - axios@1.7.8: - resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -978,8 +978,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001685: - resolution: {integrity: sha512-e/kJN1EMyHQzgcMEEgoo+YTCO1NGCmIYHk5Qk8jT6AazWemS5QFKJ5ShCJlH3GZrNIdZofcNCEwZqbMjjKzmnA==} + caniuse-lite@1.0.30001686: + resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -1083,8 +1083,8 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - cypress@13.16.0: - resolution: {integrity: sha512-g6XcwqnvzXrqiBQR/5gN+QsyRmKRhls1y5E42fyOvsmU7JuY+wM6uHJWj4ZPttjabzbnRvxcik2WemR8+xT6FA==} + cypress@13.16.1: + resolution: {integrity: sha512-17FtCaz0cx7ssWYKXzGB0Vub8xHwpVPr+iPt2fHhLMDhVAPVrplD+rTQsZUsfb19LVBn5iwkEUFjQ1yVVJXsLA==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -1151,8 +1151,8 @@ packages: ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - electron-to-chromium@1.5.67: - resolution: {integrity: sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==} + electron-to-chromium@1.5.70: + resolution: {integrity: sha512-P6FPqAWIZrC3sHDAwBitJBs7N7IF58m39XVny7DFseQXK2eiMn7nNQizFf63mWDDUnFvaqsM8FI0+ZZfLkdUGA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1267,8 +1267,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@4.4.3: - resolution: {integrity: sha512-QBprHvhLsfDhP++2T1NnjsOUt6bLDX3NMHaYwAB1FD3xmYTkdFH+HS1OamGhz28jLkRyIZa6UNAzTxbHnJwz5w==} + eslint-plugin-import-x@4.5.0: + resolution: {integrity: sha512-l0OTfnPF8RwmSXfjT75N8d6ZYLVrVYWpaGlgvVkVqFERCI5SyBfDP7QEMr3kt0zWi2sOa9EQ47clbdFsHkF83Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1295,8 +1295,8 @@ packages: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@4.1.2: - resolution: {integrity: sha512-YjXPWB/rKe/gPUsyuxw75wTUrzN5MuJnRV0PH9NoonFvgcdVIXk551mkBKPr59nRZCbu7S3dFHwfo4gA42DB2w==} + eslint-plugin-perfectionist@4.2.0: + resolution: {integrity: sha512-hEMFx5xfSc/0OLZXJhSaLUKkFxATuRf4yL2iVfxEcxkkb17DfoLZY9eH960dPSw5uB7o+4avqP3rtkNp1Vwo7w==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.0.0' @@ -1565,8 +1565,8 @@ packages: resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} - gopd@1.1.0: - resolution: {integrity: sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} graceful-fs@4.2.11: @@ -1586,8 +1586,8 @@ packages: resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} engines: {node: '>= 0.4'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} hasown@2.0.2: @@ -1753,12 +1753,12 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - laravel-vite-plugin@1.0.6: - resolution: {integrity: sha512-B34OqmZc/rV1KvSjst8SsUm/LKHsuDusw8jiZCIhlnTHXbXnK89JUM9pTJuk6E/Vc/1DT2gX7qNfhipak1WS8w==} - engines: {node: ^18.0.0 || >=20.0.0} + laravel-vite-plugin@1.1.1: + resolution: {integrity: sha512-HMZXpoSs1OR+7Lw1+g4Iy/s3HF3Ldl8KxxYT2Ot8pEB4XB/QRuZeWgDYJdu552UN03YRSRNK84CLC9NzYRtncA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - vite: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 lazy-ass@1.6.0: resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} @@ -2051,8 +2051,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-manager-detector@0.2.6: - resolution: {integrity: sha512-9vPH3qooBlYRJdmdYP00nvjZOulm40r5dhtal8st18ctf+6S1k7pi5yIHLvI4w5D70x0Y+xdVD9qITH0QO/A8A==} + package-manager-detector@0.2.7: + resolution: {integrity: sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -2108,15 +2108,12 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - pinia@2.2.8: - resolution: {integrity: sha512-NRTYy2g+kju5tBRe0oNlriZIbMNvma8ZJrpHsp3qudyiMEA8jMmPPKQ2QMHg0Oc4BkUyQYWagACabrwriCK9HQ==} + pinia@2.3.0: + resolution: {integrity: sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==} peerDependencies: - '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.5.11 + vue: ^2.7.0 || ^3.5.11 peerDependenciesMeta: - '@vue/composition-api': - optional: true typescript: optional: true @@ -2139,8 +2136,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.4.1: - resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true @@ -2254,128 +2251,128 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-embedded-android-arm64@1.81.0: - resolution: {integrity: sha512-I36P77/PKAHx6sqOmexO2iEY5kpsmQ1VxcgITZSOxPMQhdB6m4t3bTabfDuWQQmCrqqiNFtLQHeytB65bUqwiw==} + sass-embedded-android-arm64@1.82.0: + resolution: {integrity: sha512-bldHMs02QQWXsgHUZRgolNnZdMjN6XHvmUYoRkzmFq7lsvtLU6SJg2S1Wa9IZJs9jRWdTmOgA6YibSf3pROyFQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - sass-embedded-android-arm@1.81.0: - resolution: {integrity: sha512-NWEmIuaIEsGFNsIRa+5JpIpPJyZ32H15E85CNZqEIhhwWlk9UNw7vlOCmTH8MtabtnACwC/2NG8VyNa3nxKzUQ==} + sass-embedded-android-arm@1.82.0: + resolution: {integrity: sha512-ttGMvWnA/5TYdZTjr5fWHDbb9nZgKipHKCc9zZQRF5HjUydOYWKNqmAJHQtbFWaq35kd5qn6yiE73IJN6eJ6wA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [android] - sass-embedded-android-ia32@1.81.0: - resolution: {integrity: sha512-k8V1usXw30w1GVxvrteG1RzgYJzYQ9PfL2aeOqGdroBN7zYTD9VGJXTGcxA4IeeRxmRd7szVW2mKXXS472fh8g==} + sass-embedded-android-ia32@1.82.0: + resolution: {integrity: sha512-FUJOnxw8IYKuYuxxiOkk6QXle8/yQFtKjnuSAJuZ5ZpLVMcSZzLc3SWOtuEXYx5iSAfJCO075o2ZoG/pPrJ9aw==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [android] - sass-embedded-android-riscv64@1.81.0: - resolution: {integrity: sha512-RXlanyLXEpN/DEehXgLuKPsqT//GYlsGFxKXgRiCc8hIPAueFLQXKJmLWlL3BEtHgmFdbsStIu4aZCcb1hOFlQ==} + sass-embedded-android-riscv64@1.82.0: + resolution: {integrity: sha512-rd+vc+sxJxNnbhaubiIJmnb1b3FvC9wxCIq8spstopbO7o1uufvBBDeRoFSJaN+7oNhamzjlYGdu6aQoQNs3+A==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [android] - sass-embedded-android-x64@1.81.0: - resolution: {integrity: sha512-RQG0FxGQ1DERNyUDED8+BDVaLIjI+BNg8lVcyqlLZUrWY6NhzjwYEeiN/DNZmMmHtqDucAPNDcsdVUNQqsBy2A==} + sass-embedded-android-x64@1.82.0: + resolution: {integrity: sha512-EVlybGTgJ8wNLyWj8RUatPXSnmIcvCsx3EfsRfBfhGihLbn4NNpavYO9QsvZzI2XWbJqHLBCd+CvkTcDw/TaSQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [android] - sass-embedded-darwin-arm64@1.81.0: - resolution: {integrity: sha512-gLKbsfII9Ppua76N41ODFnKGutla9qv0OGAas8gxe0jYBeAQFi/1iKQYdNtQtKi4mA9n5TQTqz+HHCKszZCoyA==} + sass-embedded-darwin-arm64@1.82.0: + resolution: {integrity: sha512-LvdJPojjKlNGYOB0nSUR/ZtMDuAF4puspHlwK42aA/qK292bfSkMUKZPPapB2aSRwccc/ieBq5fI7n/WHrOCVw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - sass-embedded-darwin-x64@1.81.0: - resolution: {integrity: sha512-7uMOlT9hD2KUJCbTN2XcfghDxt/rc50ujjfSjSHjX1SYj7mGplkINUXvVbbvvaV2wt6t9vkGkCo5qNbeBhfwBg==} + sass-embedded-darwin-x64@1.82.0: + resolution: {integrity: sha512-6LfnD6YmG1aBfd3ReqMOJDb6Pg2Z/hmlJB7nU+Lb3E+hCNjAZAgeUHQxU/Pm1eIqJJTU/h4ib5QP0Pt9O8yVnw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - sass-embedded-linux-arm64@1.81.0: - resolution: {integrity: sha512-jy4bvhdUmqbyw1jv1f3Uxl+MF8EU/Y/GDx4w6XPJm4Ds+mwH/TwnyAwsxxoBhWfnBnW8q2ADy039DlS5p+9csQ==} + sass-embedded-linux-arm64@1.82.0: + resolution: {integrity: sha512-590/y0HJr/JiyxaqgR7Xf9P20BIhJ+zhB/afAnVuZe/4lEfCpTyM5xMe2+sKLsqtrVyzs9Zm/M4S4ASUOPCggA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-arm@1.81.0: - resolution: {integrity: sha512-REqR9qM4RchCE3cKqzRy9Q4zigIV82SbSpCi/O4O3oK3pg2I1z7vkb3TiJsivusG/li7aqKZGmYOtAXjruGQDA==} + sass-embedded-linux-arm@1.82.0: + resolution: {integrity: sha512-ozjdC5rWzyi5Vo300I4tVZzneXOTQUiaxOr7DjtN26HuFaGAGCGmvThh2BRV4RvySg++5H9rdFu+VgyUQ5iukw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-ia32@1.81.0: - resolution: {integrity: sha512-ga/Jk4q5Bn1aC+iHJteDZuLSKnmBUiS3dEg1fnl/Z7GaHIChceKDJOw0zNaILRXI0qT2E1at9MwzoRaRA5Nn/g==} + sass-embedded-linux-ia32@1.82.0: + resolution: {integrity: sha512-hpc4acZ3UTjjJ3Q/GUXqQOCSml6AFKaku0HMawra9bKyRmOpxn8V5hqgXeOWVjK2oQzCmCnJvwKoQUP+S/SIYQ==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-arm64@1.81.0: - resolution: {integrity: sha512-hpntWf5kjkoxncA1Vh8vhsUOquZ8AROZKx0rQh7ZjSRs4JrYZASz1cfevPKaEM3wIim/nYa6TJqm0VqWsrERlA==} + sass-embedded-linux-musl-arm64@1.82.0: + resolution: {integrity: sha512-bc2MUSMv/jabnNGEyKP2jQAYZoEzTT/c633W6QoeSEWETGCuTNjaHvWWE6qSI6/UfRg1EpuV1LQA2jPMzZfv/w==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-musl-arm@1.81.0: - resolution: {integrity: sha512-oWVUvQ4d5Kx1Md75YXZl5z1WBjc+uOhfRRqzkJ3nWc8tjszxJN+y/5EOJavhsNI3/2yoTt6eMXRTqDD9b0tWSQ==} + sass-embedded-linux-musl-arm@1.82.0: + resolution: {integrity: sha512-R5PQmY/I+GSoMtfLo8GgHkvF/q6x6y8VNM7yu/Ac1mJj86n48VFi29W1HfY2496+Q6cpAq7toobDj7YfldIdVA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-musl-ia32@1.81.0: - resolution: {integrity: sha512-UEXUYkBuqTSwg5JNWiNlfMZ1Jx6SJkaEdx+fsL3Tk099L8cKSoJWH2EPz4ZJjNbyIMymrSdVfymheTeZ8u24xA==} + sass-embedded-linux-musl-ia32@1.82.0: + resolution: {integrity: sha512-ZQKCFKm5TBcJ19UG6uUQmIKfVCJIWMb7e1a93lGeujSb9gyKF5Fb6MN3tuExoT7iFK8zU0Z9iyHqh93F58lcCw==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-riscv64@1.81.0: - resolution: {integrity: sha512-1D7OznytbIhx2XDHWi1nuQ8d/uCVR7FGGzELgaU//T8A9DapVTUgPKvB70AF1k4GzChR9IXU/WvFZs2hDTbaJg==} + sass-embedded-linux-musl-riscv64@1.82.0: + resolution: {integrity: sha512-5meSU8BHFeaT09RWfkuUrikRlC+WZcYb9To7MpfV1d9nlD7CZ2xydPExK+mj3DqRuQvTbvhMPcr7f+pHlgHINQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-musl-x64@1.81.0: - resolution: {integrity: sha512-ia6VCTeVDQtBSMktXRFza1AZCt8/6aUoujot6Ugf4KmdytQqPJIHxkHaGftm5xwi9WdrMGYS7zgolToPijR11A==} + sass-embedded-linux-musl-x64@1.82.0: + resolution: {integrity: sha512-ASLAMfjWv7YEPBvEOVlb3zzHq8l4Y9Eh4x3m7B1dNauGVbO11Yng5cPCX/XbwGVf30BtE75pwqvV7oXxBtN15w==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-linux-riscv64@1.81.0: - resolution: {integrity: sha512-KbxSsqu4tT1XbhZfJV/5NfW0VtJIGlD58RjqJqJBi8Rnjrx29/upBsuwoDWtsPV/LhoGwwU1XkSa9Q1ifCz4fQ==} + sass-embedded-linux-riscv64@1.82.0: + resolution: {integrity: sha512-qWvRDXCXH3GzD8OcP0ntd8gBTK3kZyUeyXmxQDZyEtMAM4STC2Tn7+5+2JYYHlppzqWnZPFBNESvpKeOtHaBBw==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-x64@1.81.0: - resolution: {integrity: sha512-AMDeVY2T9WAnSFkuQcsOn5c29GRs/TuqnCiblKeXfxCSKym5uKdBl/N7GnTV6OjzoxiJBbkYKdVIaS5By7Gj4g==} + sass-embedded-linux-x64@1.82.0: + resolution: {integrity: sha512-AmRaHqShztwfep+M4NagdGaY7fTyWGSOM3k4Z/dd7q4nZclXbALLqNJtKx8xOM7A41LHYJ9zDpIBVRkrh0PzTA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-win32-arm64@1.81.0: - resolution: {integrity: sha512-YOmBRYnygwWUmCoH14QbMRHjcvCJufeJBAp0m61tOJXIQh64ziwV4mjdqjS/Rx3zhTT4T+nulDUw4d3kLiMncA==} + sass-embedded-win32-arm64@1.82.0: + resolution: {integrity: sha512-zL9JDQZHXHSGAZe5DqSrR86wMHbm9QPziU4/3hoIG+99StuS74CuV42+hw/+FXXBkXMWbjKWsyF/HZt+I/wJuw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - sass-embedded-win32-ia32@1.81.0: - resolution: {integrity: sha512-HFfr/C+uLJGGTENdnssuNTmXI/xnIasUuEHEKqI+2J0FHCWT5cpz3PGAOHymPyJcZVYGUG/7gIxIx/d7t0LFYw==} + sass-embedded-win32-ia32@1.82.0: + resolution: {integrity: sha512-xE+AzLquCkFPnnpo0NHjQdLRIhG1bVs42xIKx42aUbVLYKkBDvbBGpw6EtTscRMyvcjoOqGH5saRvSFComUQcw==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [win32] - sass-embedded-win32-x64@1.81.0: - resolution: {integrity: sha512-wxj52jDcIAwWcXb7ShZ7vQYKcVUkJ+04YM9l46jDY+qwHzliGuorAUyujLyKTE9heGD3gShJ3wPPC1lXzq6v9A==} + sass-embedded-win32-x64@1.82.0: + resolution: {integrity: sha512-cEgfOQG5womOzzk16ReTv2dxPq5BG16LgLUold/LH9IZH86u4E/MN7Fspf4RWeEJ2EcLdew9QYSC2YWs1l98dQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - sass-embedded@1.81.0: - resolution: {integrity: sha512-uZQ2Faxb1oWBHpeSSzjxnhClbMb3QadN0ql0ZFNuqWOLUxwaVhrMlMhPq6TDPbbfDUjihuwrMCuy695Bgna5RA==} + sass-embedded@1.82.0: + resolution: {integrity: sha512-v13sRVVZtWAQLpAGTz5D8hy+oyNKRHao5tKVc/P6AMqSP+jDM8X6GkEpL0jfbu3MaN2/hAQsd4Qx14GG1u0prQ==} engines: {node: '>=16.0.0'} hasBin: true @@ -2608,8 +2605,8 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - unimport@3.14.2: - resolution: {integrity: sha512-FSxhbAylGGanyuTb3K0Ka3T9mnsD0+cRKbwOS11Li4Lh2whWS091e32JH4bIHrTckxlW9GnExAglADlxXjjzFw==} + unimport@3.14.3: + resolution: {integrity: sha512-yEJps4GW7jBdoQlxEV0ElBCJsJmH8FdZtk4oog0y++8hgLh0dGnDpE4oaTc0Lfx4N5rRJiGFUWHrBqC8CyUBmQ==} unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -2815,32 +2812,32 @@ packages: snapshots: - '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0)(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0)(typescript@5.7.2)': + '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@antfu/install-pkg': 0.5.0 '@clack/prompts': 0.8.2 '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0) '@eslint/markdown': 6.2.1 '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0)(typescript@5.7.2) - '@vitest/eslint-plugin': 1.1.13(@typescript-eslint/utils@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@vitest/eslint-plugin': 1.1.14(@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0) eslint-flat-config-utils: 0.4.0 eslint-merge-processors: 0.1.0(eslint@9.16.0) eslint-plugin-antfu: 2.7.0(eslint@9.16.0) eslint-plugin-command: 0.2.6(eslint@9.16.0) - eslint-plugin-import-x: 4.4.3(eslint@9.16.0)(typescript@5.7.2) + eslint-plugin-import-x: 4.5.0(eslint@9.16.0)(typescript@5.7.2) eslint-plugin-jsdoc: 50.6.0(eslint@9.16.0) eslint-plugin-jsonc: 2.18.2(eslint@9.16.0) eslint-plugin-n: 17.14.0(eslint@9.16.0) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.1.2(eslint@9.16.0)(typescript@5.7.2) + eslint-plugin-perfectionist: 4.2.0(eslint@9.16.0)(typescript@5.7.2) eslint-plugin-regexp: 2.7.0(eslint@9.16.0) eslint-plugin-toml: 0.11.1(eslint@9.16.0) eslint-plugin-unicorn: 56.0.1(eslint@9.16.0) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0) eslint-plugin-vue: 9.32.0(eslint@9.16.0) eslint-plugin-yml: 1.16.0(eslint@9.16.0) eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0) @@ -2863,7 +2860,7 @@ snapshots: '@antfu/install-pkg@0.5.0': dependencies: - package-manager-detector: 0.2.6 + package-manager-detector: 0.2.7 tinyexec: 0.3.1 '@antfu/utils@0.7.10': {} @@ -2878,11 +2875,11 @@ snapshots: '@babel/helper-validator-identifier@7.25.9': {} - '@babel/parser@7.26.2': + '@babel/parser@7.26.3': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 - '@babel/types@7.26.0': + '@babel/types@7.26.3': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 @@ -3025,19 +3022,21 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.3(eslint@9.16.0)': + '@eslint/compat@1.2.4(eslint@9.16.0)': optionalDependencies: eslint: 9.16.0 - '@eslint/config-array@0.19.0': + '@eslint/config-array@0.19.1': dependencies: - '@eslint/object-schema': 2.1.4 + '@eslint/object-schema': 2.1.5 debug: 4.3.7(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/core@0.9.0': {} + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 '@eslint/eslintrc@3.2.0': dependencies: @@ -3057,16 +3056,16 @@ snapshots: '@eslint/markdown@6.2.1': dependencies: - '@eslint/plugin-kit': 0.2.3 + '@eslint/plugin-kit': 0.2.4 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 micromark-extension-gfm: 3.0.0 transitivePeerDependencies: - supports-color - '@eslint/object-schema@2.1.4': {} + '@eslint/object-schema@2.1.5': {} - '@eslint/plugin-kit@0.2.3': + '@eslint/plugin-kit@0.2.4': dependencies: levn: 0.4.1 @@ -3206,13 +3205,13 @@ snapshots: '@pkgr/core@0.1.1': {} - '@quasar/extras@1.16.14': {} + '@quasar/extras@1.16.15': {} - '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2))': + '@quasar/vite-plugin@1.8.1(@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)))(quasar@2.17.4)(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2))': dependencies: - '@vitejs/plugin-vue': 5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) + '@vitejs/plugin-vue': 5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2)) quasar: 2.17.4 - vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3) + vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) vue: 3.5.13(typescript@5.7.2) '@rollup/pluginutils@5.1.3(rollup@4.28.0)': @@ -3279,7 +3278,7 @@ snapshots: '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -3325,14 +3324,14 @@ snapshots: '@types/node': 22.10.1 optional: true - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 eslint: 9.16.0 graphemer: 1.4.0 ignore: 5.3.2 @@ -3343,12 +3342,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7(supports-color@8.1.1) eslint: 9.16.0 optionalDependencies: @@ -3356,15 +3355,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.16.0': + '@typescript-eslint/scope-manager@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) eslint: 9.16.0 ts-api-utils: 1.4.3(typescript@5.7.2) @@ -3373,12 +3372,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.16.0': {} + '@typescript-eslint/types@8.17.0': {} - '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 @@ -3390,31 +3389,31 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.16.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) eslint: 9.16.0 optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.16.0': + '@typescript-eslint/visitor-keys@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3) + vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) vue: 3.5.13(typescript@5.7.2) - '@vitest/eslint-plugin@1.1.13(@typescript-eslint/utils@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': + '@vitest/eslint-plugin@1.1.14(@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 optionalDependencies: typescript: 5.7.2 @@ -3433,7 +3432,7 @@ snapshots: '@vue/compiler-core@3.5.13': dependencies: - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 @@ -3446,7 +3445,7 @@ snapshots: '@vue/compiler-sfc@3.5.13': dependencies: - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@vue/compiler-core': 3.5.13 '@vue/compiler-dom': 3.5.13 '@vue/compiler-ssr': 3.5.13 @@ -3578,7 +3577,7 @@ snapshots: aws4@1.13.2: {} - axios@1.7.8: + axios@1.7.9: dependencies: follow-redirects: 1.15.9 form-data: 4.0.1 @@ -3615,8 +3614,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001685 - electron-to-chromium: 1.5.67 + caniuse-lite: 1.0.30001686 + electron-to-chromium: 1.5.70 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -3643,7 +3642,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001685: {} + caniuse-lite@1.0.30001686: {} caseless@0.12.0: {} @@ -3732,7 +3731,7 @@ snapshots: csstype@3.1.3: {} - cypress@13.16.0: + cypress@13.16.1: dependencies: '@cypress/request': 3.0.6 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) @@ -3808,7 +3807,7 @@ snapshots: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.1.0 + gopd: 1.2.0 delayed-stream@1.0.0: {} @@ -3834,7 +3833,7 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 - electron-to-chromium@1.5.67: {} + electron-to-chromium@1.5.70: {} emoji-regex@8.0.0: {} @@ -3920,7 +3919,7 @@ snapshots: eslint-config-flat-gitignore@0.3.0(eslint@9.16.0): dependencies: - '@eslint/compat': 1.2.3(eslint@9.16.0) + '@eslint/compat': 1.2.4(eslint@9.16.0) eslint: 9.16.0 find-up-simple: 1.0.0 @@ -3963,9 +3962,10 @@ snapshots: eslint: 9.16.0 eslint-compat-utils: 0.5.1(eslint@9.16.0) - eslint-plugin-import-x@4.4.3(eslint@9.16.0)(typescript@5.7.2): + eslint-plugin-import-x@4.5.0(eslint@9.16.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) doctrine: 3.0.0 eslint: 9.16.0 @@ -4025,10 +4025,10 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.1.2(eslint@9.16.0)(typescript@5.7.2): + eslint-plugin-perfectionist@4.2.0(eslint@9.16.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 natural-orderby: 5.0.0 transitivePeerDependencies: @@ -4081,11 +4081,11 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0): dependencies: eslint: 9.16.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) eslint-plugin-vue@9.32.0(eslint@9.16.0): dependencies: @@ -4135,11 +4135,11 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.0 - '@eslint/core': 0.9.0 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 '@eslint/eslintrc': 3.2.0 '@eslint/js': 9.16.0 - '@eslint/plugin-kit': 0.2.3 + '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -4320,7 +4320,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.1.0 - has-symbols: 1.0.3 + has-symbols: 1.1.0 hasown: 2.0.2 get-stream@5.2.0: @@ -4359,9 +4359,7 @@ snapshots: globals@15.13.0: {} - gopd@1.1.0: - dependencies: - get-intrinsic: 1.2.4 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -4377,7 +4375,7 @@ snapshots: dependencies: call-bind: 1.0.7 - has-symbols@1.0.3: {} + has-symbols@1.1.0: {} hasown@2.0.2: dependencies: @@ -4506,10 +4504,10 @@ snapshots: dependencies: json-buffer: 3.0.1 - laravel-vite-plugin@1.0.6(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3)): + laravel-vite-plugin@1.1.1(vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3)): dependencies: picocolors: 1.1.1 - vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3) + vite: 5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3) vite-plugin-full-reload: 1.2.0 lazy-ass@1.6.0: {} @@ -4975,7 +4973,7 @@ snapshots: p-try@2.2.0: {} - package-manager-detector@0.2.6: {} + package-manager-detector@0.2.7: {} parent-module@1.0.1: dependencies: @@ -5017,13 +5015,15 @@ snapshots: pify@2.3.0: {} - pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)): + pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)): dependencies: '@vue/devtools-api': 6.6.4 vue: 3.5.13(typescript@5.7.2) vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2)) optionalDependencies: typescript: 5.7.2 + transitivePeerDependencies: + - '@vue/composition-api' pkg-types@1.2.1: dependencies: @@ -5046,7 +5046,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.4.1: {} + prettier@3.4.2: {} pretty-bytes@5.6.0: {} @@ -5165,67 +5165,67 @@ snapshots: safer-buffer@2.1.2: {} - sass-embedded-android-arm64@1.81.0: + sass-embedded-android-arm64@1.82.0: optional: true - sass-embedded-android-arm@1.81.0: + sass-embedded-android-arm@1.82.0: optional: true - sass-embedded-android-ia32@1.81.0: + sass-embedded-android-ia32@1.82.0: optional: true - sass-embedded-android-riscv64@1.81.0: + sass-embedded-android-riscv64@1.82.0: optional: true - sass-embedded-android-x64@1.81.0: + sass-embedded-android-x64@1.82.0: optional: true - sass-embedded-darwin-arm64@1.81.0: + sass-embedded-darwin-arm64@1.82.0: optional: true - sass-embedded-darwin-x64@1.81.0: + sass-embedded-darwin-x64@1.82.0: optional: true - sass-embedded-linux-arm64@1.81.0: + sass-embedded-linux-arm64@1.82.0: optional: true - sass-embedded-linux-arm@1.81.0: + sass-embedded-linux-arm@1.82.0: optional: true - sass-embedded-linux-ia32@1.81.0: + sass-embedded-linux-ia32@1.82.0: optional: true - sass-embedded-linux-musl-arm64@1.81.0: + sass-embedded-linux-musl-arm64@1.82.0: optional: true - sass-embedded-linux-musl-arm@1.81.0: + sass-embedded-linux-musl-arm@1.82.0: optional: true - sass-embedded-linux-musl-ia32@1.81.0: + sass-embedded-linux-musl-ia32@1.82.0: optional: true - sass-embedded-linux-musl-riscv64@1.81.0: + sass-embedded-linux-musl-riscv64@1.82.0: optional: true - sass-embedded-linux-musl-x64@1.81.0: + sass-embedded-linux-musl-x64@1.82.0: optional: true - sass-embedded-linux-riscv64@1.81.0: + sass-embedded-linux-riscv64@1.82.0: optional: true - sass-embedded-linux-x64@1.81.0: + sass-embedded-linux-x64@1.82.0: optional: true - sass-embedded-win32-arm64@1.81.0: + sass-embedded-win32-arm64@1.82.0: optional: true - sass-embedded-win32-ia32@1.81.0: + sass-embedded-win32-ia32@1.82.0: optional: true - sass-embedded-win32-x64@1.81.0: + sass-embedded-win32-x64@1.82.0: optional: true - sass-embedded@1.81.0: + sass-embedded@1.82.0: dependencies: '@bufbuild/protobuf': 2.2.2 buffer-builder: 0.2.0 @@ -5236,26 +5236,26 @@ snapshots: sync-child-process: 1.0.2 varint: 6.0.0 optionalDependencies: - 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-embedded-android-arm: 1.82.0 + sass-embedded-android-arm64: 1.82.0 + sass-embedded-android-ia32: 1.82.0 + sass-embedded-android-riscv64: 1.82.0 + sass-embedded-android-x64: 1.82.0 + sass-embedded-darwin-arm64: 1.82.0 + sass-embedded-darwin-x64: 1.82.0 + sass-embedded-linux-arm: 1.82.0 + sass-embedded-linux-arm64: 1.82.0 + sass-embedded-linux-ia32: 1.82.0 + sass-embedded-linux-musl-arm: 1.82.0 + sass-embedded-linux-musl-arm64: 1.82.0 + sass-embedded-linux-musl-ia32: 1.82.0 + sass-embedded-linux-musl-riscv64: 1.82.0 + sass-embedded-linux-musl-x64: 1.82.0 + sass-embedded-linux-riscv64: 1.82.0 + sass-embedded-linux-x64: 1.82.0 + sass-embedded-win32-arm64: 1.82.0 + sass-embedded-win32-ia32: 1.82.0 + sass-embedded-win32-x64: 1.82.0 sass@1.80.3: dependencies: @@ -5285,7 +5285,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.1.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 shebang-command@2.0.0: @@ -5469,7 +5469,7 @@ snapshots: undici-types@6.20.0: {} - unimport@3.14.2(rollup@4.28.0): + unimport@3.14.3(rollup@4.28.0): dependencies: '@rollup/pluginutils': 5.1.3(rollup@4.28.0) acorn: 8.14.0 @@ -5517,7 +5517,7 @@ snapshots: local-pkg: 0.5.1 magic-string: 0.30.14 minimatch: 9.0.5 - unimport: 3.14.2(rollup@4.28.0) + unimport: 3.14.3(rollup@4.28.0) unplugin: 1.16.0 optionalDependencies: '@vueuse/core': 12.0.0(typescript@5.7.2) @@ -5565,7 +5565,7 @@ snapshots: vite-plugin-manifest-sri@0.2.0: {} - vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.81.0)(sass@1.80.3): + vite@5.4.11(@types/node@22.10.1)(sass-embedded@1.82.0)(sass@1.80.3): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -5574,7 +5574,7 @@ snapshots: '@types/node': 22.10.1 fsevents: 2.3.3 sass: 1.80.3 - sass-embedded: 1.81.0 + sass-embedded: 1.82.0 vscode-uri@3.0.8: {} diff --git a/resources/src/api/SpatieQuery.ts b/resources/src/api/SpatieQuery.ts index e013cd9b..fb5ac4f9 100644 --- a/resources/src/api/SpatieQuery.ts +++ b/resources/src/api/SpatieQuery.ts @@ -113,7 +113,7 @@ export class SpatieQuery { params.append( 'sort', this.sorts - .map(s => (s.direction == 'asc' ? s.name : `-${s.name}`)) + .map(s => (s.direction === 'asc' ? s.name : `-${s.name}`)) .join(','), ) } diff --git a/resources/src/components/OrcidAvatar.vue b/resources/src/components/OrcidAvatar.vue index b94e7d55..f683359b 100644 --- a/resources/src/components/OrcidAvatar.vue +++ b/resources/src/components/OrcidAvatar.vue @@ -11,7 +11,13 @@ const svgLink = computed(() => { diff --git a/resources/src/components/OrcidIcon.vue b/resources/src/components/OrcidIcon.vue index e6857fb4..5610591d 100644 --- a/resources/src/components/OrcidIcon.vue +++ b/resources/src/components/OrcidIcon.vue @@ -15,7 +15,13 @@ const svgLink = computed(() => { :name="svgLink" size="16px" alt="ORCID iD logo" - /> + > + + + {{ $t('common.unauthenticated-orcid-id') }} + + + diff --git a/resources/src/components/PaginationDiv.vue b/resources/src/components/PaginationDiv.vue index e3bee8fc..f03cda61 100644 --- a/resources/src/components/PaginationDiv.vue +++ b/resources/src/components/PaginationDiv.vue @@ -23,6 +23,7 @@ const currentPage = useVModel(props, 'modelValue', emit) v-if="meta.last_page > 1" v-model="currentPage" :max="meta.last_page" + :max-pages="6" :disable="disable" direction-links /> diff --git a/resources/src/locales/en.json b/resources/src/locales/en.json index efe7ae56..bdbafc02 100644 --- a/resources/src/locales/en.json +++ b/resources/src/locales/en.json @@ -275,7 +275,8 @@ "optional": "Optional", "cant-download": "You are not authorized to download this file.", "publication-previous-version": "This is a previous version of the publication", - "unauthenticated-orcid-id": "Unauthenticated ORCID iD" + "unauthenticated-orcid-id": "Unauthenticated ORCID iD", + "authors": "Authors" }, "create-author-dialog": { "title": "Create a new author" @@ -802,5 +803,15 @@ "otherDescription": "Any additional files related to your publication (please specify).", "preprintDescription": "The version of the manuscript uploaded to a preprint server before peer review.", "manuscriptRecordFormDescription": "A signed DFO manuscript record form (MRF) completed outside of the portal." + }, + "authors-view": { + "all-authors": "All Authors", + "all-authors-caption": "All portal authors", + "dfo-authors": "Internal Authors", + "dfo-authors-caption": "Authors that have a DFO affiliation", + "external-authors": "External Authors", + "external-authors-caption": "Authors with an external affiliation", + "with-orcid": "With ORCID", + "with-orcid-caption": "Authors with an associated ORCID" } } diff --git a/resources/src/locales/fr.json b/resources/src/locales/fr.json index 3bef589c..8c14e359 100644 --- a/resources/src/locales/fr.json +++ b/resources/src/locales/fr.json @@ -275,7 +275,8 @@ "select-file": "Sélectionnez ou déposez le fichier ici", "cant-download": "Vous n'êtes pas autorisé à télécharger ce fichier.", "publication-previous-version": "Ceci est une version précédente de la publication", - "unauthenticated-orcid-id": "ORCID iD Non authentifié" + "unauthenticated-orcid-id": "ORCID iD Non authentifié", + "authors": "Auteurs" }, "create-author-dialog": { "title": "Créer un nouvel auteur" @@ -802,5 +803,15 @@ "otherDescription": "Tout fichier supplémentaire lié à votre publication (veuillez préciser).", "preprint": "Préimpression/Soumis", "preprintDescription": "La version du manuscrit téléchargée sur un serveur de préimpression avant l'examen par les pairs." + }, + "authors-view": { + "all-authors": "Tous les auteurs", + "all-authors-caption": "Tous les auteurs du portail", + "dfo-authors": "Auteurs internes", + "dfo-authors-caption": "Auteurs affiliés au MPO", + "external-authors": "Auteurs externes", + "external-authors-caption": "Auteurs avec une affiliation externe", + "with-orcid": "Avec ORCID", + "with-orcid-caption": "Auteurs avec un ORCID associé" } } diff --git a/resources/src/models/Author/Author.ts b/resources/src/models/Author/Author.ts index 6fa5afbf..adcdcb78 100644 --- a/resources/src/models/Author/Author.ts +++ b/resources/src/models/Author/Author.ts @@ -1,10 +1,11 @@ -import type { OrganizationResource } from '../Organization/Organization' -import type { Resource, ResourceList, SensitivityLabel } from '../Resource' import type { ExpertiseResource, ExpertiseResourceList, } from '../Expertise/Expertise' +import type { OrganizationResource } from '../Organization/Organization' +import type { Resource, ResourceList, SensitivityLabel } from '../Resource' import { http } from '@/api/http' +import { SpatieQuery } from '@/api/SpatieQuery' export interface Author { readonly id: number @@ -23,7 +24,7 @@ export interface Author { } export type AuthorResource = Resource -export type AuthorResourceList = ResourceList +export type AuthorResourceList = ResourceList // Author Service export class AuthorService { @@ -31,10 +32,10 @@ export class AuthorService { * Get a list of authors * @returns author list */ - public static async list(query?: string) { + public static async list(query?: AuthorQuery) { let url = 'api/authors' if (query) { - url += `?${query}` + url += `?${query.toQueryString()}` } const response = await http.get(url) return response.data @@ -43,7 +44,6 @@ export class AuthorService { /** * Find an author by author id. * @param id - * @returns */ public static async find(id: number) { const response = await http.get(`api/authors/${id}`) @@ -96,3 +96,68 @@ export class AuthorService { return response.data } } + +export class AuthorQuery extends SpatieQuery { + public filterId(id: number[]) { + this.filter('id', id) + return this + } + + public filterFirstName(firstName: string) { + this.filter('first_name', firstName) + return this + } + + public filterLastName(lastName: string) { + this.filter('last_name', lastName) + return this + } + + public filterEmail(email: string) { + this.filter('email', email) + return this + } + + public filterOrganizationId(organizationId: number) { + this.filter('organization_id', organizationId) + return this + } + + public filterOrcid(orcid: string) { + this.filter('orcid', orcid) + return this + } + + public filterSearch(search: string) { + this.filter('search', search) + return this + } + + public filterInternalAuthor() { + this.filter('internal_author', true) + return this + } + + public filterExternalAuthor() { + this.filter('external_author', true) + return this + } + + public filterWithOrcid() { + this.filter('with_orcid', true) + return this + } + + public sort(sort: AuthorQuerySort, direction: 'asc' | 'desc') { + super.sort(sort, direction) + return this + } + + public include(name: AuthorQueryInclude) { + super.include(name) + return this + } +} + +type AuthorQuerySort = 'first_name' | 'last_name' | 'email' +type AuthorQueryInclude = 'organization' | 'expertises' diff --git a/resources/src/models/Author/components/AuthorList.vue b/resources/src/models/Author/components/AuthorList.vue new file mode 100644 index 00000000..a75b7583 --- /dev/null +++ b/resources/src/models/Author/components/AuthorList.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/resources/src/models/Author/components/AuthorListItem.vue b/resources/src/models/Author/components/AuthorListItem.vue new file mode 100644 index 00000000..f114a74f --- /dev/null +++ b/resources/src/models/Author/components/AuthorListItem.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/resources/src/models/Author/components/AuthorSelect.vue b/resources/src/models/Author/components/AuthorSelect.vue index 0ac64a86..92ca966f 100644 --- a/resources/src/models/Author/components/AuthorSelect.vue +++ b/resources/src/models/Author/components/AuthorSelect.vue @@ -1,7 +1,7 @@ + + + + diff --git a/resources/src/models/Journal/components/JournalNameSpan.vue b/resources/src/models/Journal/components/JournalNameSpan.vue index b70234b5..fe485dca 100644 --- a/resources/src/models/Journal/components/JournalNameSpan.vue +++ b/resources/src/models/Journal/components/JournalNameSpan.vue @@ -5,17 +5,12 @@ const props = defineProps<{ journal: JournalResource | undefined }>() -const localeStore = useLocaleStore() - const journalName = computed(() => { if (!props.journal) { return '-' } - const { title_en, title_fr } = props.journal.data - if (localeStore.locale === 'fr') { - return title_fr ?? title_en - } - return title_en + const { title } = props.journal.data + return title }) diff --git a/resources/src/models/Media/supplementaryFileOptions.ts b/resources/src/models/Media/supplementaryFileOptions.ts index 03a60156..0268d64e 100644 --- a/resources/src/models/Media/supplementaryFileOptions.ts +++ b/resources/src/models/Media/supplementaryFileOptions.ts @@ -1,4 +1,4 @@ -import { computed, ref, watch } from 'vue' +import { computed } from 'vue' import { useI18n } from 'vue-i18n' export type SupplementaryFileType = diff --git a/resources/src/models/Organization/components/OrganizationSelect.vue b/resources/src/models/Organization/components/OrganizationSelect.vue index 9e33672d..5b041841 100644 --- a/resources/src/models/Organization/components/OrganizationSelect.vue +++ b/resources/src/models/Organization/components/OrganizationSelect.vue @@ -13,6 +13,7 @@ import CreateOrganizationDialog from './CreateOrganizationDialog.vue' const props = defineProps<{ modelValue: number | null initialSearchTerm?: string + showDefaultOrganization?: boolean }>() const emit = defineEmits(['update:modelValue']) @@ -29,12 +30,16 @@ const organizationsLoading = ref(false) const showCreateOrganizationDialog = ref(false) const defaultOrganiztionId = Number(import.meta.env.VITE_OSP_DEFAULT_ORG_ID) || 1 -watch(selectedOrganization, (organization) => { - if (organization) { - emit('update:modelValue', organization.data.id) +watch(() => props.modelValue, (value) => { + if (value === null) { + selectedOrganization.value = null } }) +watch(selectedOrganization, (organization) => { + emit('update:modelValue', organization?.data.id || null) +}) + onMounted(async () => { if (props.modelValue) { selectedOrganization.value = await OrganizationService.find( @@ -45,7 +50,7 @@ onMounted(async () => { if (props.initialSearchTerm) { organizationSelect.value?.filter(props.initialSearchTerm) } - if (props.modelValue === null) { + if (props.modelValue === null && props.showDefaultOrganization) { selectedOrganization.value = await OrganizationService.find( defaultOrganiztionId, ) diff --git a/resources/src/models/Publication/Publication.ts b/resources/src/models/Publication/Publication.ts index 404f991e..27ab8a59 100644 --- a/resources/src/models/Publication/Publication.ts +++ b/resources/src/models/Publication/Publication.ts @@ -1,6 +1,7 @@ import type { JournalResource } from '../Journal/Journal' import type { ManuscriptRecordResource } from '../ManuscriptRecord/ManuscriptRecord' -import type { MediaResource, MediaResourceList, SupplementaryFileType } from '../Media/Media' +import type { MediaResource, MediaResourceList } from '../Media/Media' +import type { SupplementaryFileType } from '../Media/supplementaryFileOptions' import type { PublicationAuthorResource } from '../PublicationAuthor/PublicationAuthor' import type { Resource, ResourceList } from '../Resource' import type { UserResource } from '../User/User' diff --git a/resources/src/models/Publication/components/PublicationList.vue b/resources/src/models/Publication/components/PublicationList.vue index 243cf9d2..b1e4b64d 100644 --- a/resources/src/models/Publication/components/PublicationList.vue +++ b/resources/src/models/Publication/components/PublicationList.vue @@ -1,8 +1,8 @@