diff --git a/app/Console/Commands/MonthlyRollover.php b/app/Console/Commands/MonthlyRollover.php index 5c953c5c..be044e90 100644 --- a/app/Console/Commands/MonthlyRollover.php +++ b/app/Console/Commands/MonthlyRollover.php @@ -2,12 +2,8 @@ namespace App\Console\Commands; -use App\Domains\AppCore\Models\Category; -use App\Domains\Budget\Data\BudgetReservedNames; -use App\Domains\Budget\Services\BudgetRolloverService; use Illuminate\Console\Command; - -use Illuminate\Support\Facades\DB; +use App\Domains\Budget\Services\BudgetRolloverService; class MonthlyRollover extends Command { diff --git a/app/Domains/Journal/Actions/TransactionBulkDeletes.php b/app/Domains/Journal/Actions/TransactionBulkDelete.php similarity index 89% rename from app/Domains/Journal/Actions/TransactionBulkDeletes.php rename to app/Domains/Journal/Actions/TransactionBulkDelete.php index 7bbe5522..f04e7447 100644 --- a/app/Domains/Journal/Actions/TransactionBulkDeletes.php +++ b/app/Domains/Journal/Actions/TransactionBulkDelete.php @@ -4,14 +4,14 @@ use Illuminate\Foundation\Auth\User; use Illuminate\Support\Facades\Gate; -use Insane\Journal\Contracts\TransactionBulkDeletes; use Insane\Journal\Models\Core\Transaction; +use Insane\Journal\Contracts\TransactionBulkDeletes; class TransactionBulkDelete implements TransactionBulkDeletes { public function validate(User $user) { - Gate::forUser($user)->authorize('bulk-delete', Transaction::class); + Gate::forUser($user)->authorize('deleteBulk', Transaction::class); } public function deleteAllDrafts(User $user) diff --git a/app/Domains/Journal/Policies/TransactionPolicy.php b/app/Domains/Journal/Policies/TransactionPolicy.php index 91f14372..3b2557e6 100644 --- a/app/Domains/Journal/Policies/TransactionPolicy.php +++ b/app/Domains/Journal/Policies/TransactionPolicy.php @@ -30,6 +30,11 @@ public function updateBulk(User $user) return $user->current_team_id; } + public function deleteBulk(User $user) + { + return $user->current_team_id; + } + public function delete(User $user, Transaction $transaction) { return $user->current_team_id == $transaction->team_id; diff --git a/app/Domains/Transaction/Services/BHDService.php b/app/Domains/Transaction/Services/BHDService.php index 550c2576..be54b522 100644 --- a/app/Domains/Transaction/Services/BHDService.php +++ b/app/Domains/Transaction/Services/BHDService.php @@ -2,16 +2,16 @@ namespace App\Domains\Transaction\Services; +use Exception; +use Insane\Journal\Models\Core\Account; +use App\Domains\Integration\Actions\BHD; +use App\Domains\Automation\Models\Automation; use App\Domains\Automation\Data\AutomationData; +use App\Domains\Transaction\Models\Transaction; +use App\Domains\Integration\Actions\GmailReceived; use App\Domains\Automation\Enums\AutomationTaskType; use App\Domains\Automation\Helpers\AutomationBuilder; -use App\Domains\Automation\Models\Automation; -use App\Domains\Integration\Actions\BHD; -use App\Domains\Integration\Actions\GmailReceived; use App\Domains\Integration\Actions\TransactionCreateEntry; -use App\Domains\Transaction\Models\Transaction; -use Exception; -use Insane\Journal\Models\Core\Account; class BHDService { @@ -49,6 +49,7 @@ public static function parseTypes($type) 'Compra' => 1, 'compra' => 1, 'retiro de efectivo' => 1, + "reserva de fondos (hold)" => 1 ]; return $types[$type]; diff --git a/app/Domains/Transaction/Services/ReportService.php b/app/Domains/Transaction/Services/ReportService.php index 56d3af0d..6c6f30d6 100644 --- a/app/Domains/Transaction/Services/ReportService.php +++ b/app/Domains/Transaction/Services/ReportService.php @@ -40,12 +40,12 @@ public function revenueReport($teamId, $methodName = 'payments') return $results; } - public static function generateExpensesByPeriod($teamId, $startDate, $timeUnitDiff = 2, $timeUnit = 'month') + public static function generateExpensesByPeriod($teamId, $startDate, $timeUnitDiff = 2, $timeUnit = 'month', $categories = null) { $rangeEndAt = Carbon::createFromFormat('Y-m-d', $startDate)->endOfMonth()->format('Y-m-d'); $rangeStartAt = Carbon::now()->subMonth($timeUnitDiff)->startOfMonth()->format('Y-m-d'); - $results = self::getExpensesByCategoriesInPeriod($teamId, $rangeStartAt, $rangeEndAt); + $results = self::getExpensesByCategoriesInPeriod($teamId, $rangeStartAt, $rangeEndAt, $categories); $resultGroup = $results->groupBy('date'); return $resultGroup->map(function ($monthItems) { diff --git a/app/Domains/Transaction/Traits/TransactionLineTrait.php b/app/Domains/Transaction/Traits/TransactionLineTrait.php index 4285410b..cf003227 100644 --- a/app/Domains/Transaction/Traits/TransactionLineTrait.php +++ b/app/Domains/Transaction/Traits/TransactionLineTrait.php @@ -84,8 +84,15 @@ public function scopeExpenseCategories($query, array $categories = null) $query->whereNot('categories.name', BudgetReservedNames::READY_TO_ASSIGN->value) ->join('categories', 'transaction_lines.category_id', '=', 'categories.id'); - if ($categories) { - $query->whereIn('transaction_lines.category_id', $categories); + $categories = collect($categories); + $excluded = $categories->filter( fn ($id) => $id < 0)->all(); + $included = $categories->filter( fn ($id) => $id > 0)->all(); + + if (count($excluded)) { + $query->whereNotIn('transaction_lines.category_id', $excluded); + } + if (count($included)) { + $query->whereIn('transaction_lines.category_id', $included); } return $query; diff --git a/app/Domains/Transaction/Traits/TransactionTrait.php b/app/Domains/Transaction/Traits/TransactionTrait.php index ee4f3272..4ed16c34 100644 --- a/app/Domains/Transaction/Traits/TransactionTrait.php +++ b/app/Domains/Transaction/Traits/TransactionTrait.php @@ -2,9 +2,9 @@ namespace App\Domains\Transaction\Traits; -use App\Domains\Budget\Data\BudgetReservedNames; use Illuminate\Support\Facades\DB; use Insane\Journal\Models\Core\Transaction; +use App\Domains\Budget\Data\BudgetReservedNames; trait TransactionTrait { @@ -81,12 +81,17 @@ public function scopeCategories($query, array $categories) public function scopeExpenseCategories($query, array $categories = null) { - $query->whereNot('categories.name', BudgetReservedNames::READY_TO_ASSIGN->value) - ->join('categories', 'transactions.category_id', '=', 'categories.id'); + $categories = collect($categories); + $excluded = $categories->filter( fn ($id) => $id < 0)->map(fn ($id) => abs($id))->all(); + $included = $categories->filter( fn ($id) => $id > 0)->all(); - if ($categories) { - $query->whereIn('category_id', $categories); - } + + $query->whereNot('categories.name', BudgetReservedNames::READY_TO_ASSIGN->value) + ->join('categories', 'transactions.category_id', '=', 'categories.id') + ->where(fn ($q) => + $q->when(count($excluded),fn ($q) => $q->whereNotIn('categories.id', $excluded)) + ->when(count($included), fn ($q) => $q->whereIn('categories.id', $included)) + ); return $query; } diff --git a/app/Http/Controllers/Finance/FinanceTrendController.php b/app/Http/Controllers/Finance/FinanceTrendController.php index faf016d1..88114c81 100644 --- a/app/Http/Controllers/Finance/FinanceTrendController.php +++ b/app/Http/Controllers/Finance/FinanceTrendController.php @@ -163,9 +163,13 @@ public function spendingYear() $filters = isset($queryParams['filter']) ? $queryParams['filter'] : []; [$startDate, $endDate] = $this->getFilterDates($filters); $teamId = request()->user()->current_team_id; + $excludedAccounts = null; + if (isset($filters['category'])) { + $excludedAccounts = collect(explode(',', $filters['category']))->map(fn ($id) => "-$id")->all(); + } return [ - 'data' => ReportService::generateExpensesByPeriod($teamId, $startDate, 12), + 'data' => ReportService::generateExpensesByPeriod($teamId, $startDate, 12, 'month', $excludedAccounts), 'metaData' => [ 'name' => 'spendingYear', 'title' => 'Expenses', diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index fbe7c386..26911fe6 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -56,6 +56,7 @@ public function share(Request $request) ]); }, 'locale' => app()->getLocale(), + 'settings' => $team ? $team->settings->mapWithKeys(fn ($setting) => [$setting['name'] => $setting['value']]) : [], 'accountDetailTypes' => AccountDetailType::all(), 'trialEndsAt' => $team ? $team->trial_ends_at : null, 'unreadNotifications' => function () use ($user) { diff --git a/app/Providers/JournalServiceProvider.php b/app/Providers/JournalServiceProvider.php index c06ff91b..b5b8a87b 100644 --- a/app/Providers/JournalServiceProvider.php +++ b/app/Providers/JournalServiceProvider.php @@ -2,46 +2,31 @@ namespace App\Providers; -use App\Domains\Journal\Actions\AccountCatalogCreate; +use Insane\Journal\Journal; +use Illuminate\Support\ServiceProvider; +use App\Domains\Journal\Actions\CategoryList; use App\Domains\Journal\Actions\AccountCreate; use App\Domains\Journal\Actions\AccountDelete; -use App\Domains\Journal\Actions\AccountDetailTypesCreate; +use App\Domains\Journal\Actions\AccountUpdate; +use App\Domains\Journal\Actions\TransactionList; +use App\Domains\Journal\Actions\TransactionShow; +use App\Domains\Journal\Actions\InvoicePaymentPay; +use App\Domains\Journal\Actions\TransactionCreate; +use App\Domains\Journal\Actions\TransactionDelete; +use App\Domains\Journal\Actions\TransactionUpdate; +use App\Domains\Journal\Actions\TransactionApprove; +use App\Domains\Journal\Actions\AccountCatalogCreate; use App\Domains\Journal\Actions\AccountStatementList; use App\Domains\Journal\Actions\AccountStatementShow; -use App\Domains\Journal\Actions\AccountUpdate; -use App\Domains\Journal\Actions\CategoryList; use App\Domains\Journal\Actions\InvoicePaymentCreate; use App\Domains\Journal\Actions\InvoicePaymentDelete; -use App\Domains\Journal\Actions\InvoicePaymentPay; -use App\Domains\Journal\Actions\TransactionApprove; -use App\Domains\Journal\Actions\TransactionBulkApprove; use App\Domains\Journal\Actions\TransactionBulkDelete; +use App\Domains\Journal\Actions\TransactionBulkApprove; +use App\Domains\Journal\Actions\AccountDetailTypesCreate; use App\Domains\Journal\Actions\TransactionCategoriesCreate; -use App\Domains\Journal\Actions\TransactionCreate; -use App\Domains\Journal\Actions\TransactionDelete; -use App\Domains\Journal\Actions\TransactionList; -use App\Domains\Journal\Actions\TransactionShow; -use App\Domains\Journal\Actions\TransactionUpdate; -use Illuminate\Support\ServiceProvider; -use Insane\Journal\Journal; class JournalServiceProvider extends ServiceProvider { - /** - * Register any application services. - * - * @return void - */ - public function register() - { - // - } - - /** - * Bootstrap any application services. - * - * @return void - */ public function boot() { Journal::createAccountCatalogUsing(AccountCatalogCreate::class); diff --git a/package-lock.json b/package-lock.json index c5f4ef72..50c5cf4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "chart.js": "^4.3.3", "element-plus": "^2.3.12", "firebase": "^10.2.0", + "floating-vue": "^2.0.0-beta.24", "fuse.js": "^6.6.2", "hyperformula": "^2.6.0", "luxon": "^3.4.0", @@ -2188,7 +2189,6 @@ "version": "7.21.2", "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.21.2.tgz", "integrity": "sha512-ySP/TJcyqMJVg1M/lmnPVi6L+F+IJpQ4+0lqtf723LERbk1N8/0JgLgm346cRAzfHaoXkLq/M/mJBd2uo25RBA==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -3822,7 +3822,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "devOptional": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3835,7 +3835,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 8" } @@ -3844,7 +3844,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "devOptional": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3857,7 +3857,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.2.2.tgz", "integrity": "sha512-T3UeLxGSNl7dQgKzmtBbPEkUiiBYgXI+KkemmpkYbQK/l+bWy2f9VQw/Rl0HkQLfRTE2fS8q8jhsOedFiEnHQQ==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -3888,7 +3887,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.2.2.tgz", "integrity": "sha512-o3O2OqLAMKqb/DlGpK8eJq4tH29NA4OMaohknSSXl35+Nw/qHB5eOLDz+cFxNE+MKHoMj1rRVMCfi/Y/PrCN6g==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -4711,7 +4709,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, + "devOptional": true, "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -4805,7 +4803,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true + "devOptional": true }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -5244,7 +5242,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -5850,7 +5847,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -6047,7 +6044,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.2.tgz", "integrity": "sha512-fHT5HDEHNMb2oImnqJ88/UlpEOkY/chdyYxSd3YCpvBqBvU0IDlHTkNc7GnjObDMxdis2lL+rwlQcNq8VeZESA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -6229,7 +6225,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, + "devOptional": true, "funding": [ { "type": "individual", @@ -6256,7 +6252,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -6268,7 +6264,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -6408,7 +6403,7 @@ "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "devOptional": true }, "node_modules/combined-stream": { "version": "1.0.8", @@ -6554,7 +6549,6 @@ "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true, "optional": true, "peer": true }, @@ -6643,7 +6637,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, "optional": true, "peer": true }, @@ -7055,7 +7048,6 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==", - "dev": true, "optional": true, "peer": true }, @@ -7098,7 +7090,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==", - "dev": true, "optional": true, "peer": true }, @@ -7122,7 +7113,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -7209,7 +7199,6 @@ "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -7403,7 +7392,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -7455,7 +7443,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -8010,7 +7997,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, + "devOptional": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -8026,7 +8013,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -8072,7 +8059,7 @@ "version": "1.14.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", - "dev": true, + "devOptional": true, "dependencies": { "reusify": "^1.0.4" } @@ -8282,7 +8269,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, "optional": true, "peer": true, "bin": { @@ -8308,6 +8294,32 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "node_modules/floating-vue": { + "version": "2.0.0-beta.24", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.24.tgz", + "integrity": "sha512-URSzP6YXaF4u1oZ9XGL8Sn8puuM7ivp5jkOUrpy5Q1mfo9BfGppJOn+ierTmsSUfJEeHBae8KT7r5DeI3vQIEw==", + "dependencies": { + "@floating-ui/dom": "~1.1.1", + "vue-resize": "^2.0.0-alpha.1" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.0", + "vue": "^3.2.0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/floating-vue/node_modules/@floating-ui/dom": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz", + "integrity": "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==", + "dependencies": { + "@floating-ui/core": "^1.1.0" + } + }, "node_modules/flow-enums-runtime": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", @@ -8415,7 +8427,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -8429,7 +8440,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -8587,7 +8597,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -8683,7 +8692,6 @@ "version": "13.1.3", "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -8806,7 +8814,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true, "optional": true, "peer": true }, @@ -8859,7 +8866,6 @@ "version": "5.4.2", "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz", "integrity": "sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==", - "dev": true, "optional": true, "peer": true }, @@ -8930,7 +8936,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -8988,7 +8993,7 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 4" } @@ -9135,7 +9140,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "devOptional": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -9237,7 +9242,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -9254,7 +9259,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -9774,7 +9779,7 @@ "version": "1.18.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", - "dev": true, + "devOptional": true, "bin": { "jiti": "bin/jiti.js" } @@ -9915,7 +9920,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, "optional": true, "peer": true }, @@ -9977,7 +9981,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==", - "dev": true, "optional": true, "peer": true }, @@ -10079,7 +10082,7 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=14" }, @@ -10125,7 +10128,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true, "optional": true, "peer": true }, @@ -10185,7 +10187,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -10197,7 +10198,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -10532,7 +10532,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -10563,7 +10562,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 8" } @@ -11341,7 +11340,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.0.tgz", "integrity": "sha512-ExlilAIS7zJ2EWUMaVXi14H+FnZ18kr17kFkGemMqBx6jW0m8P6XfqwYVPEG53ENlgsED+alVP9ZxC3JzkK23Q==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -11352,7 +11350,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -11367,7 +11364,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -11386,7 +11382,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "optional": true, "peer": true, "bin": { @@ -11400,7 +11395,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.1.tgz", "integrity": "sha512-Jnlh4W/aI4GySPo6+DyTN17Q75KKbLTyFK8BrGhjNP4rxuUjbRWhE6gHg3bs33URWAF44FRm7gdQA348i3XxRw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -11432,7 +11426,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -11572,7 +11565,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.2.tgz", "integrity": "sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==", - "dev": true, "optional": true, "peer": true }, @@ -11964,7 +11956,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -11975,7 +11966,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==", - "dev": true, "optional": true, "peer": true }, @@ -12151,7 +12141,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -12208,7 +12197,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz", "integrity": "sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -12485,7 +12473,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, "optional": true, "peer": true }, @@ -12542,7 +12529,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -12585,7 +12572,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.0.1.tgz", "integrity": "sha512-9EfjLgNmzP9255YX8bGnILQcmdtOXKtUlFTu8bOZPJVtaUDZ2imswcUdpK51tMjTRQyB7r5RebNijrzuyGXcVA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -12764,7 +12750,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "devOptional": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -12953,7 +12939,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, + "devOptional": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -13066,7 +13052,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -13163,7 +13149,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", - "dev": true, "optional": true, "peer": true }, @@ -13384,7 +13369,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -13553,7 +13537,6 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==", - "dev": true, "optional": true, "peer": true }, @@ -13707,7 +13690,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -13979,7 +13961,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -13990,7 +13971,6 @@ "version": "6.1.13", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -14346,7 +14326,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.0.tgz", "integrity": "sha512-LQc2s/ZDMaCN3QLpa+uzHUOQ7SdV0qgv3VBXOolQGXTaaZpIur6PwUclF5nN2hNkiTRcUugXd1zFOW3FLJ135Q==", - "dev": true, "optional": true, "peer": true }, @@ -14392,7 +14371,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.2.tgz", "integrity": "sha512-KK18aLRKe3OlbPyHbXAkIWSU3xK8GInomXfA7fzDMGFXQ1crX1UWrCzKesVXeUyHIayHUrnTvf87IPCKMyeKTg==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -14406,7 +14384,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -14417,7 +14394,6 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -14467,7 +14443,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/unimport/-/unimport-2.2.4.tgz", "integrity": "sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -14488,7 +14463,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -14502,7 +14476,6 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -14554,7 +14527,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.3.2.tgz", "integrity": "sha512-Lh7/2SryjXe/IyWqx9K7IKwuKhuOFZEhotiBquOODsv2IVyDkI9lv/XhgfjdXf/xdbv32txmnBNnC/JVTDJlsA==", - "dev": true, + "devOptional": true, "dependencies": { "acorn": "^8.9.0", "chokidar": "^3.5.3", @@ -14690,7 +14663,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.2.2.tgz", "integrity": "sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -15023,6 +14995,14 @@ "npm": ">= 3.0.0" } }, + "node_modules/vue-resize": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", + "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-temporal-components": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/vue-temporal-components/-/vue-temporal-components-0.5.0.tgz", @@ -15106,7 +15086,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10.13.0" } @@ -15115,7 +15095,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", - "dev": true + "devOptional": true }, "node_modules/websocket-driver": { "version": "0.7.4", @@ -17133,7 +17113,6 @@ "version": "7.21.2", "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.21.2.tgz", "integrity": "sha512-ySP/TJcyqMJVg1M/lmnPVi6L+F+IJpQ4+0lqtf723LERbk1N8/0JgLgm346cRAzfHaoXkLq/M/mJBd2uo25RBA==", - "dev": true, "optional": true, "peer": true }, @@ -18345,7 +18324,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "devOptional": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -18355,13 +18334,13 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "devOptional": true }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "devOptional": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -18371,7 +18350,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.2.2.tgz", "integrity": "sha512-T3UeLxGSNl7dQgKzmtBbPEkUiiBYgXI+KkemmpkYbQK/l+bWy2f9VQw/Rl0HkQLfRTE2fS8q8jhsOedFiEnHQQ==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -18399,7 +18377,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.2.2.tgz", "integrity": "sha512-o3O2OqLAMKqb/DlGpK8eJq4tH29NA4OMaohknSSXl35+Nw/qHB5eOLDz+cFxNE+MKHoMj1rRVMCfi/Y/PrCN6g==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -19055,7 +19032,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, + "devOptional": true, "requires": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -19135,7 +19112,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true + "devOptional": true }, "@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -19491,7 +19468,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -19947,7 +19923,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "devOptional": true }, "bl": { "version": "4.1.0", @@ -20082,7 +20058,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.2.tgz", "integrity": "sha512-fHT5HDEHNMb2oImnqJ88/UlpEOkY/chdyYxSd3YCpvBqBvU0IDlHTkNc7GnjObDMxdis2lL+rwlQcNq8VeZESA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -20212,7 +20187,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, + "devOptional": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -20228,7 +20203,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "requires": { "is-glob": "^4.0.1" } @@ -20239,7 +20214,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, "optional": true, "peer": true }, @@ -20332,7 +20306,7 @@ "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "devOptional": true }, "combined-stream": { "version": "1.0.8", @@ -20457,7 +20431,6 @@ "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true, "optional": true, "peer": true }, @@ -20532,7 +20505,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, "optional": true, "peer": true }, @@ -20822,7 +20794,6 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.2.tgz", "integrity": "sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==", - "dev": true, "optional": true, "peer": true }, @@ -20859,7 +20830,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==", - "dev": true, "optional": true, "peer": true }, @@ -20879,7 +20849,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -20942,7 +20911,6 @@ "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, "optional": true, "peer": true }, @@ -21082,7 +21050,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -21116,7 +21083,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -21531,7 +21497,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, + "devOptional": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -21544,7 +21510,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "requires": { "is-glob": "^4.0.1" } @@ -21576,7 +21542,7 @@ "version": "1.14.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", - "dev": true, + "devOptional": true, "requires": { "reusify": "^1.0.4" } @@ -21759,7 +21725,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, "optional": true, "peer": true }, @@ -21779,6 +21744,25 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "floating-vue": { + "version": "2.0.0-beta.24", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.24.tgz", + "integrity": "sha512-URSzP6YXaF4u1oZ9XGL8Sn8puuM7ivp5jkOUrpy5Q1mfo9BfGppJOn+ierTmsSUfJEeHBae8KT7r5DeI3vQIEw==", + "requires": { + "@floating-ui/dom": "~1.1.1", + "vue-resize": "^2.0.0-alpha.1" + }, + "dependencies": { + "@floating-ui/dom": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz", + "integrity": "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==", + "requires": { + "@floating-ui/core": "^1.1.0" + } + } + } + }, "flow-enums-runtime": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", @@ -21850,7 +21834,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -21861,7 +21844,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -21978,7 +21960,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -22044,7 +22025,6 @@ "version": "13.1.3", "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -22128,7 +22108,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true, "optional": true, "peer": true }, @@ -22174,7 +22153,6 @@ "version": "5.4.2", "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz", "integrity": "sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==", - "dev": true, "optional": true, "peer": true }, @@ -22231,7 +22209,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -22269,7 +22246,7 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "devOptional": true }, "image-size": { "version": "1.0.2", @@ -22383,7 +22360,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "devOptional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -22446,7 +22423,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "devOptional": true }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -22457,7 +22434,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "requires": { "is-extglob": "^2.1.1" } @@ -22830,7 +22807,7 @@ "version": "1.18.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", - "dev": true + "devOptional": true }, "joi": { "version": "17.9.2", @@ -22947,7 +22924,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, "optional": true, "peer": true }, @@ -22995,7 +22971,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==", - "dev": true, "optional": true, "peer": true }, @@ -23068,7 +23043,7 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true + "devOptional": true }, "locate-path": { "version": "6.0.0", @@ -23098,7 +23073,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true, "optional": true, "peer": true }, @@ -23158,7 +23132,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -23170,7 +23143,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -23436,7 +23408,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -23461,7 +23432,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "devOptional": true }, "metro": { "version": "0.76.7", @@ -24073,7 +24044,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.0.tgz", "integrity": "sha512-ExlilAIS7zJ2EWUMaVXi14H+FnZ18kr17kFkGemMqBx6jW0m8P6XfqwYVPEG53ENlgsED+alVP9ZxC3JzkK23Q==", - "dev": true, "optional": true, "peer": true }, @@ -24081,7 +24051,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -24093,7 +24062,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -24111,7 +24079,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "optional": true, "peer": true }, @@ -24119,7 +24086,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.1.tgz", "integrity": "sha512-Jnlh4W/aI4GySPo6+DyTN17Q75KKbLTyFK8BrGhjNP4rxuUjbRWhE6gHg3bs33URWAF44FRm7gdQA348i3XxRw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -24151,7 +24117,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, "optional": true, "peer": true }, @@ -24274,7 +24239,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.2.tgz", "integrity": "sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==", - "dev": true, "optional": true, "peer": true }, @@ -24544,7 +24508,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "optional": true, "peer": true }, @@ -24552,7 +24515,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==", - "dev": true, "optional": true, "peer": true }, @@ -24664,7 +24626,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -24698,7 +24659,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz", "integrity": "sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -24904,7 +24864,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, "optional": true, "peer": true }, @@ -24952,7 +24911,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "devOptional": true }, "randombytes": { "version": "2.1.0", @@ -24978,7 +24937,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.0.1.tgz", "integrity": "sha512-9EfjLgNmzP9255YX8bGnILQcmdtOXKtUlFTu8bOZPJVtaUDZ2imswcUdpK51tMjTRQyB7r5RebNijrzuyGXcVA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -25128,7 +25086,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "devOptional": true, "requires": { "picomatch": "^2.2.1" } @@ -25277,7 +25235,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "devOptional": true }, "rfdc": { "version": "1.3.0", @@ -25354,7 +25312,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, + "devOptional": true, "requires": { "queue-microtask": "^1.2.2" } @@ -25414,7 +25372,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", - "dev": true, "optional": true, "peer": true }, @@ -25597,7 +25554,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, "optional": true, "peer": true }, @@ -25730,7 +25686,6 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==", - "dev": true, "optional": true, "peer": true }, @@ -25850,7 +25805,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26060,7 +26014,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, "optional": true, "peer": true }, @@ -26068,7 +26021,6 @@ "version": "6.1.13", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26348,7 +26300,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.0.tgz", "integrity": "sha512-LQc2s/ZDMaCN3QLpa+uzHUOQ7SdV0qgv3VBXOolQGXTaaZpIur6PwUclF5nN2hNkiTRcUugXd1zFOW3FLJ135Q==", - "dev": true, "optional": true, "peer": true }, @@ -26386,7 +26337,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.2.tgz", "integrity": "sha512-KK18aLRKe3OlbPyHbXAkIWSU3xK8GInomXfA7fzDMGFXQ1crX1UWrCzKesVXeUyHIayHUrnTvf87IPCKMyeKTg==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26400,7 +26350,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26411,7 +26360,6 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26448,7 +26396,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/unimport/-/unimport-2.2.4.tgz", "integrity": "sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26469,7 +26416,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, "optional": true, "peer": true }, @@ -26477,7 +26423,6 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26516,7 +26461,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.3.2.tgz", "integrity": "sha512-Lh7/2SryjXe/IyWqx9K7IKwuKhuOFZEhotiBquOODsv2IVyDkI9lv/XhgfjdXf/xdbv32txmnBNnC/JVTDJlsA==", - "dev": true, + "devOptional": true, "requires": { "acorn": "^8.9.0", "chokidar": "^3.5.3", @@ -26596,7 +26541,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.2.2.tgz", "integrity": "sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==", - "dev": true, "optional": true, "peer": true, "requires": { @@ -26799,6 +26743,12 @@ "integrity": "sha512-TFVHtI/KdWoD3Opzbkso8OIqkZlZEqFF7f2jlYx1ttgC4Jv/48IGlU5zn6cBR4p2bFDFGCHF5SkLCaadLhnBPQ==", "dev": true }, + "vue-resize": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", + "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", + "requires": {} + }, "vue-temporal-components": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/vue-temporal-components/-/vue-temporal-components-0.5.0.tgz", @@ -26873,13 +26823,13 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true + "devOptional": true }, "webpack-virtual-modules": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", - "dev": true + "devOptional": true }, "websocket-driver": { "version": "0.7.4", diff --git a/package.json b/package.json index 6c01b147..8106f99c 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "chart.js": "^4.3.3", "element-plus": "^2.3.12", "firebase": "^10.2.0", + "floating-vue": "^2.0.0-beta.24", "fuse.js": "^6.6.2", "hyperformula": "^2.6.0", "luxon": "^3.4.0", diff --git a/resources/js/Components/templates/AppLayout.vue b/resources/js/Components/templates/AppLayout.vue index 8c41447f..fb71add1 100644 --- a/resources/js/Components/templates/AppLayout.vue +++ b/resources/js/Components/templates/AppLayout.vue @@ -24,9 +24,6 @@ import { useTransactionModal } from '@/domains/transactions' import { useOnMessage } from '@/composables/useFirebase' import AppProvider from './AppProvider.vue' - import { useSpeechRecognition } from '@vueuse/core' - import { useSpeechSynthesis } from '@vueuse/core' - import { watch } from 'vue' // import LogerAssistant from '../organisms/logerAssistant.vue' const props = defineProps({ diff --git a/resources/js/Pages/Finance/Transactions.vue b/resources/js/Pages/Finance/Transactions.vue index d2984dbc..8e3abbb3 100644 --- a/resources/js/Pages/Finance/Transactions.vue +++ b/resources/js/Pages/Finance/Transactions.vue @@ -102,9 +102,8 @@ const isDraft = computed(() => { const removeTransaction = (transaction: ITransaction) => { router.delete(`/transactions/${transaction.id}`, { - onSuccess() { - router.reload(); - }, + preserveState: true, + preserveScroll: true, }); }; diff --git a/resources/js/Pages/Trends/AccountFilters.vue b/resources/js/Pages/Trends/AccountFilters.vue new file mode 100644 index 00000000..505ea30b --- /dev/null +++ b/resources/js/Pages/Trends/AccountFilters.vue @@ -0,0 +1,57 @@ + + + diff --git a/resources/js/Pages/Trends/Overview.vue b/resources/js/Pages/Trends/Overview.vue index f3520569..d0e1c832 100644 --- a/resources/js/Pages/Trends/Overview.vue +++ b/resources/js/Pages/Trends/Overview.vue @@ -1,5 +1,5 @@