Andrew Wallo 10 months ago
parent
commit
554f9f5fb1

+ 2
- 0
app/Enums/Accounting/TransactionType.php View File

@@ -14,6 +14,8 @@ enum TransactionType: string implements HasLabel
14 14
     case Journal = 'journal';
15 15
     case Transfer = 'transfer';
16 16
 
17
+    case Approval = 'approval';
18
+
17 19
     public function getLabel(): ?string
18 20
     {
19 21
         return $this->name;

+ 44
- 5
app/Filament/Company/Resources/Sales/InvoiceResource.php View File

@@ -3,7 +3,10 @@
3 3
 namespace App\Filament\Company\Resources\Sales;
4 4
 
5 5
 use App\Enums\Accounting\InvoiceStatus;
6
+use App\Enums\Accounting\JournalEntryType;
7
+use App\Enums\Accounting\TransactionType;
6 8
 use App\Filament\Company\Resources\Sales\InvoiceResource\Pages;
9
+use App\Models\Accounting\Account;
7 10
 use App\Models\Accounting\Adjustment;
8 11
 use App\Models\Accounting\DocumentLineItem;
9 12
 use App\Models\Accounting\Invoice;
@@ -487,6 +490,38 @@ class InvoiceResource extends Resource
487 490
                             return $record->isDraft();
488 491
                         })
489 492
                         ->action(function (Invoice $record) {
493
+                            $transaction = $record->transactions()->create([
494
+                                'type' => TransactionType::Journal,
495
+                                'posted_at' => now(),
496
+                                'amount' => $record->total,
497
+                                'description' => 'Invoice Approval for Invoice #' . $record->invoice_number,
498
+                            ]);
499
+
500
+                            $transaction->journalEntries()->create([
501
+                                'type' => JournalEntryType::Debit,
502
+                                'account_id' => Account::where('name', 'Accounts Receivable')->first()->id,
503
+                                'amount' => $record->total,
504
+                                'description' => $transaction->description,
505
+                            ]);
506
+
507
+                            foreach ($record->lineItems as $lineItem) {
508
+                                $transaction->journalEntries()->create([
509
+                                    'type' => JournalEntryType::Credit,
510
+                                    'account_id' => $lineItem->offering->income_account_id,
511
+                                    'amount' => $lineItem->subtotal,
512
+                                    'description' => $transaction->description,
513
+                                ]);
514
+
515
+                                foreach ($lineItem->adjustments as $adjustment) {
516
+                                    $transaction->journalEntries()->create([
517
+                                        'type' => $adjustment->category->isDiscount() ? JournalEntryType::Debit : JournalEntryType::Credit,
518
+                                        'account_id' => $adjustment->account_id,
519
+                                        'amount' => $lineItem->calculateAdjustmentTotal($adjustment)->getAmount(),
520
+                                        'description' => $transaction->description,
521
+                                    ]);
522
+                                }
523
+                            }
524
+
490 525
                             $record->updateQuietly([
491 526
                                 'status' => InvoiceStatus::Unsent,
492 527
                             ]);
@@ -511,12 +546,12 @@ class InvoiceResource extends Resource
511 546
                         })
512 547
                         ->mountUsing(function (Invoice $record, Form $form) {
513 548
                             $form->fill([
514
-                                'date' => now(),
549
+                                'posted_at' => now(),
515 550
                                 'amount' => $record->amount_due,
516 551
                             ]);
517 552
                         })
518 553
                         ->form([
519
-                            Forms\Components\DatePicker::make('date')
554
+                            Forms\Components\DatePicker::make('posted_at')
520 555
                                 ->label('Payment Date'),
521 556
                             Forms\Components\TextInput::make('amount')
522 557
                                 ->label('Amount')
@@ -542,12 +577,16 @@ class InvoiceResource extends Resource
542 577
                                 ->label('Notes'),
543 578
                         ])
544 579
                         ->action(function (Invoice $record, array $data) {
545
-                            $payment = $record->payments()->create([
546
-                                'date' => $data['date'],
580
+                            $payment = $record->transactions()->create([
581
+                                'type' => TransactionType::Deposit,
582
+                                'is_payment' => true,
583
+                                'posted_at' => $data['posted_at'],
547 584
                                 'amount' => $data['amount'],
548 585
                                 'payment_method' => $data['payment_method'],
549 586
                                 'bank_account_id' => $data['bank_account_id'],
550
-                                'notes' => $data['notes'],
587
+                                'account_id' => Account::where('name', 'Accounts Receivable')->first()?->id,
588
+                                'description' => 'Payment for Invoice #' . $record->invoice_number,
589
+                                'notes' => $data['notes'] ?? null,
551 590
                             ]);
552 591
 
553 592
                             $amountPaid = $record->getRawOriginal('amount_paid');

+ 24
- 2
app/Models/Accounting/Bill.php View File

@@ -6,12 +6,13 @@ use App\Casts\MoneyCast;
6 6
 use App\Concerns\Blamable;
7 7
 use App\Concerns\CompanyOwned;
8 8
 use App\Enums\Accounting\BillStatus;
9
-use App\Models\Banking\Payment;
9
+use App\Enums\Accounting\TransactionType;
10 10
 use App\Models\Common\Vendor;
11 11
 use Illuminate\Database\Eloquent\Factories\HasFactory;
12 12
 use Illuminate\Database\Eloquent\Model;
13 13
 use Illuminate\Database\Eloquent\Relations\BelongsTo;
14 14
 use Illuminate\Database\Eloquent\Relations\MorphMany;
15
+use Illuminate\Database\Eloquent\Relations\MorphOne;
15 16
 
16 17
 class Bill extends Model
17 18
 {
@@ -61,9 +62,30 @@ class Bill extends Model
61 62
         return $this->morphMany(DocumentLineItem::class, 'documentable');
62 63
     }
63 64
 
65
+    public function transactions(): MorphMany
66
+    {
67
+        return $this->morphMany(Transaction::class, 'transactionable');
68
+    }
69
+
64 70
     public function payments(): MorphMany
65 71
     {
66
-        return $this->morphMany(Payment::class, 'payable');
72
+        return $this->transactions()->where('is_payment', true);
73
+    }
74
+
75
+    public function deposits(): MorphMany
76
+    {
77
+        return $this->transactions()->where('type', TransactionType::Deposit)->where('is_payment', true);
78
+    }
79
+
80
+    public function withdrawals(): MorphMany
81
+    {
82
+        return $this->transactions()->where('type', TransactionType::Withdrawal)->where('is_payment', true);
83
+    }
84
+
85
+    public function approvalTransaction(): MorphOne
86
+    {
87
+        return $this->morphOne(Transaction::class, 'transactionable')
88
+            ->where('type', TransactionType::Approval);
67 89
     }
68 90
 
69 91
     public static function getNextDocumentNumber(): string

+ 7
- 0
app/Models/Accounting/DocumentLineItem.php View File

@@ -122,4 +122,11 @@ class DocumentLineItem extends Model
122 122
             money(0, CurrencyAccessor::getDefaultCurrency())
123 123
         );
124 124
     }
125
+
126
+    public function calculateAdjustmentTotal(Adjustment $adjustment): Money
127
+    {
128
+        $subtotal = money($this->subtotal, CurrencyAccessor::getDefaultCurrency());
129
+
130
+        return $subtotal->multiply($adjustment->rate / 100);
131
+    }
125 132
 }

+ 24
- 2
app/Models/Accounting/Invoice.php View File

@@ -6,12 +6,13 @@ use App\Casts\MoneyCast;
6 6
 use App\Concerns\Blamable;
7 7
 use App\Concerns\CompanyOwned;
8 8
 use App\Enums\Accounting\InvoiceStatus;
9
-use App\Models\Banking\Payment;
9
+use App\Enums\Accounting\TransactionType;
10 10
 use App\Models\Common\Client;
11 11
 use Illuminate\Database\Eloquent\Factories\HasFactory;
12 12
 use Illuminate\Database\Eloquent\Model;
13 13
 use Illuminate\Database\Eloquent\Relations\BelongsTo;
14 14
 use Illuminate\Database\Eloquent\Relations\MorphMany;
15
+use Illuminate\Database\Eloquent\Relations\MorphOne;
15 16
 
16 17
 class Invoice extends Model
17 18
 {
@@ -66,9 +67,30 @@ class Invoice extends Model
66 67
         return $this->morphMany(DocumentLineItem::class, 'documentable');
67 68
     }
68 69
 
70
+    public function transactions(): MorphMany
71
+    {
72
+        return $this->morphMany(Transaction::class, 'transactionable');
73
+    }
74
+
69 75
     public function payments(): MorphMany
70 76
     {
71
-        return $this->morphMany(Payment::class, 'payable');
77
+        return $this->transactions()->where('is_payment', true);
78
+    }
79
+
80
+    public function deposits(): MorphMany
81
+    {
82
+        return $this->transactions()->where('type', TransactionType::Deposit)->where('is_payment', true);
83
+    }
84
+
85
+    public function withdrawals(): MorphMany
86
+    {
87
+        return $this->transactions()->where('type', TransactionType::Withdrawal)->where('is_payment', true);
88
+    }
89
+
90
+    public function approvalTransaction(): MorphOne
91
+    {
92
+        return $this->morphOne(Transaction::class, 'transactionable')
93
+            ->where('type', TransactionType::Approval);
72 94
     }
73 95
 
74 96
     public function isDraft(): bool

+ 8
- 0
app/Models/Accounting/Transaction.php View File

@@ -16,6 +16,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
16 16
 use Illuminate\Database\Eloquent\Model;
17 17
 use Illuminate\Database\Eloquent\Relations\BelongsTo;
18 18
 use Illuminate\Database\Eloquent\Relations\HasMany;
19
+use Illuminate\Database\Eloquent\Relations\MorphTo;
19 20
 
20 21
 #[ObservedBy(TransactionObserver::class)]
21 22
 class Transaction extends Model
@@ -32,6 +33,8 @@ class Transaction extends Model
32 33
         'contact_id',
33 34
         'type', // 'deposit', 'withdrawal', 'journal'
34 35
         'payment_channel',
36
+        'payment_method',
37
+        'is_payment',
35 38
         'description',
36 39
         'notes',
37 40
         'reference',
@@ -71,6 +74,11 @@ class Transaction extends Model
71 74
         return $this->hasMany(JournalEntry::class, 'transaction_id');
72 75
     }
73 76
 
77
+    public function transactionable(): MorphTo
78
+    {
79
+        return $this->morphTo();
80
+    }
81
+
74 82
     public function isUncategorized(): bool
75 83
     {
76 84
         return $this->journalEntries->contains(fn (JournalEntry $entry) => $entry->account->isUncategorized());

+ 22
- 22
composer.lock View File

@@ -302,16 +302,16 @@
302 302
         },
303 303
         {
304 304
             "name": "anourvalar/eloquent-serialize",
305
-            "version": "1.2.26",
305
+            "version": "1.2.27",
306 306
             "source": {
307 307
                 "type": "git",
308 308
                 "url": "https://github.com/AnourValar/eloquent-serialize.git",
309
-                "reference": "756c1232ff0d02321fd90f4fe3c221d6a7b8d697"
309
+                "reference": "f1c4fcd41a6db1467ed75bc295b62f582d6fd0fe"
310 310
             },
311 311
             "dist": {
312 312
                 "type": "zip",
313
-                "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/756c1232ff0d02321fd90f4fe3c221d6a7b8d697",
314
-                "reference": "756c1232ff0d02321fd90f4fe3c221d6a7b8d697",
313
+                "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/f1c4fcd41a6db1467ed75bc295b62f582d6fd0fe",
314
+                "reference": "f1c4fcd41a6db1467ed75bc295b62f582d6fd0fe",
315 315
                 "shasum": ""
316 316
             },
317 317
             "require": {
@@ -362,9 +362,9 @@
362 362
             ],
363 363
             "support": {
364 364
                 "issues": "https://github.com/AnourValar/eloquent-serialize/issues",
365
-                "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.26"
365
+                "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.27"
366 366
             },
367
-            "time": "2024-11-16T12:29:47+00:00"
367
+            "time": "2024-11-30T08:27:24+00:00"
368 368
         },
369 369
         {
370 370
             "name": "awcodes/filament-table-repeater",
@@ -1664,7 +1664,7 @@
1664 1664
         },
1665 1665
         {
1666 1666
             "name": "filament/actions",
1667
-            "version": "v3.2.126",
1667
+            "version": "v3.2.127",
1668 1668
             "source": {
1669 1669
                 "type": "git",
1670 1670
                 "url": "https://github.com/filamentphp/actions.git",
@@ -1717,7 +1717,7 @@
1717 1717
         },
1718 1718
         {
1719 1719
             "name": "filament/filament",
1720
-            "version": "v3.2.126",
1720
+            "version": "v3.2.127",
1721 1721
             "source": {
1722 1722
                 "type": "git",
1723 1723
                 "url": "https://github.com/filamentphp/panels.git",
@@ -1782,7 +1782,7 @@
1782 1782
         },
1783 1783
         {
1784 1784
             "name": "filament/forms",
1785
-            "version": "v3.2.126",
1785
+            "version": "v3.2.127",
1786 1786
             "source": {
1787 1787
                 "type": "git",
1788 1788
                 "url": "https://github.com/filamentphp/forms.git",
@@ -1838,7 +1838,7 @@
1838 1838
         },
1839 1839
         {
1840 1840
             "name": "filament/infolists",
1841
-            "version": "v3.2.126",
1841
+            "version": "v3.2.127",
1842 1842
             "source": {
1843 1843
                 "type": "git",
1844 1844
                 "url": "https://github.com/filamentphp/infolists.git",
@@ -1889,7 +1889,7 @@
1889 1889
         },
1890 1890
         {
1891 1891
             "name": "filament/notifications",
1892
-            "version": "v3.2.126",
1892
+            "version": "v3.2.127",
1893 1893
             "source": {
1894 1894
                 "type": "git",
1895 1895
                 "url": "https://github.com/filamentphp/notifications.git",
@@ -1941,7 +1941,7 @@
1941 1941
         },
1942 1942
         {
1943 1943
             "name": "filament/support",
1944
-            "version": "v3.2.126",
1944
+            "version": "v3.2.127",
1945 1945
             "source": {
1946 1946
                 "type": "git",
1947 1947
                 "url": "https://github.com/filamentphp/support.git",
@@ -2000,16 +2000,16 @@
2000 2000
         },
2001 2001
         {
2002 2002
             "name": "filament/tables",
2003
-            "version": "v3.2.126",
2003
+            "version": "v3.2.127",
2004 2004
             "source": {
2005 2005
                 "type": "git",
2006 2006
                 "url": "https://github.com/filamentphp/tables.git",
2007
-                "reference": "29d177a546ed7debf61f1afadc0784c6728ec183"
2007
+                "reference": "c287a68e084c96c3f2991eaddf1d6b5159af5147"
2008 2008
             },
2009 2009
             "dist": {
2010 2010
                 "type": "zip",
2011
-                "url": "https://api.github.com/repos/filamentphp/tables/zipball/29d177a546ed7debf61f1afadc0784c6728ec183",
2012
-                "reference": "29d177a546ed7debf61f1afadc0784c6728ec183",
2011
+                "url": "https://api.github.com/repos/filamentphp/tables/zipball/c287a68e084c96c3f2991eaddf1d6b5159af5147",
2012
+                "reference": "c287a68e084c96c3f2991eaddf1d6b5159af5147",
2013 2013
                 "shasum": ""
2014 2014
             },
2015 2015
             "require": {
@@ -2048,11 +2048,11 @@
2048 2048
                 "issues": "https://github.com/filamentphp/filament/issues",
2049 2049
                 "source": "https://github.com/filamentphp/filament"
2050 2050
             },
2051
-            "time": "2024-11-29T09:31:14+00:00"
2051
+            "time": "2024-11-30T09:21:26+00:00"
2052 2052
         },
2053 2053
         {
2054 2054
             "name": "filament/widgets",
2055
-            "version": "v3.2.126",
2055
+            "version": "v3.2.127",
2056 2056
             "source": {
2057 2057
                 "type": "git",
2058 2058
                 "url": "https://github.com/filamentphp/widgets.git",
@@ -6256,12 +6256,12 @@
6256 6256
             "type": "library",
6257 6257
             "extra": {
6258 6258
                 "laravel": {
6259
-                    "providers": [
6260
-                        "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider"
6261
-                    ],
6262 6259
                     "aliases": {
6263 6260
                         "BladeCaptureDirective": "RyanChandler\\BladeCaptureDirective\\Facades\\BladeCaptureDirective"
6264
-                    }
6261
+                    },
6262
+                    "providers": [
6263
+                        "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider"
6264
+                    ]
6265 6265
                 }
6266 6266
             },
6267 6267
             "autoload": {

+ 3
- 0
database/migrations/2024_01_01_234943_create_transactions_table.php View File

@@ -14,12 +14,15 @@ return new class extends Migration
14 14
         Schema::create('transactions', function (Blueprint $table) {
15 15
             $table->id();
16 16
             $table->foreignId('company_id')->constrained()->cascadeOnDelete();
17
+            $table->nullableMorphs('transactionable');
17 18
             $table->foreignId('account_id')->nullable()->constrained()->nullOnDelete();
18 19
             $table->foreignId('bank_account_id')->nullable()->constrained()->nullOnDelete();
19 20
             $table->string('plaid_transaction_id')->nullable();
20 21
             $table->foreignId('contact_id')->nullable()->constrained()->nullOnDelete();
21 22
             $table->string('type'); // deposit, withdrawal, journal
22 23
             $table->string('payment_channel')->nullable(); // online, in store, other
24
+            $table->string('payment_method')->nullable(); // cash, check, credit card, bank transfer
25
+            $table->boolean('is_payment')->default(false);
23 26
             $table->string('description')->nullable();
24 27
             $table->text('notes')->nullable();
25 28
             $table->string('reference')->nullable();

+ 75
- 75
package-lock.json View File

@@ -541,9 +541,9 @@
541 541
             }
542 542
         },
543 543
         "node_modules/@rollup/rollup-android-arm-eabi": {
544
-            "version": "4.27.4",
545
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz",
546
-            "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==",
544
+            "version": "4.28.0",
545
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.0.tgz",
546
+            "integrity": "sha512-wLJuPLT6grGZsy34g4N1yRfYeouklTgPhH1gWXCYspenKYD0s3cR99ZevOGw5BexMNywkbV3UkjADisozBmpPQ==",
547 547
             "cpu": [
548 548
                 "arm"
549 549
             ],
@@ -555,9 +555,9 @@
555 555
             ]
556 556
         },
557 557
         "node_modules/@rollup/rollup-android-arm64": {
558
-            "version": "4.27.4",
559
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz",
560
-            "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==",
558
+            "version": "4.28.0",
559
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.0.tgz",
560
+            "integrity": "sha512-eiNkznlo0dLmVG/6wf+Ifi/v78G4d4QxRhuUl+s8EWZpDewgk7PX3ZyECUXU0Zq/Ca+8nU8cQpNC4Xgn2gFNDA==",
561 561
             "cpu": [
562 562
                 "arm64"
563 563
             ],
@@ -569,9 +569,9 @@
569 569
             ]
570 570
         },
571 571
         "node_modules/@rollup/rollup-darwin-arm64": {
572
-            "version": "4.27.4",
573
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz",
574
-            "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==",
572
+            "version": "4.28.0",
573
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.0.tgz",
574
+            "integrity": "sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==",
575 575
             "cpu": [
576 576
                 "arm64"
577 577
             ],
@@ -583,9 +583,9 @@
583 583
             ]
584 584
         },
585 585
         "node_modules/@rollup/rollup-darwin-x64": {
586
-            "version": "4.27.4",
587
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz",
588
-            "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==",
586
+            "version": "4.28.0",
587
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.0.tgz",
588
+            "integrity": "sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==",
589 589
             "cpu": [
590 590
                 "x64"
591 591
             ],
@@ -597,9 +597,9 @@
597 597
             ]
598 598
         },
599 599
         "node_modules/@rollup/rollup-freebsd-arm64": {
600
-            "version": "4.27.4",
601
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz",
602
-            "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==",
600
+            "version": "4.28.0",
601
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.0.tgz",
602
+            "integrity": "sha512-lA1zZB3bFx5oxu9fYud4+g1mt+lYXCoch0M0V/xhqLoGatbzVse0wlSQ1UYOWKpuSu3gyN4qEc0Dxf/DII1bhQ==",
603 603
             "cpu": [
604 604
                 "arm64"
605 605
             ],
@@ -611,9 +611,9 @@
611 611
             ]
612 612
         },
613 613
         "node_modules/@rollup/rollup-freebsd-x64": {
614
-            "version": "4.27.4",
615
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz",
616
-            "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==",
614
+            "version": "4.28.0",
615
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.0.tgz",
616
+            "integrity": "sha512-aI2plavbUDjCQB/sRbeUZWX9qp12GfYkYSJOrdYTL/C5D53bsE2/nBPuoiJKoWp5SN78v2Vr8ZPnB+/VbQ2pFA==",
617 617
             "cpu": [
618 618
                 "x64"
619 619
             ],
@@ -625,9 +625,9 @@
625 625
             ]
626 626
         },
627 627
         "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
628
-            "version": "4.27.4",
629
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz",
630
-            "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==",
628
+            "version": "4.28.0",
629
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.0.tgz",
630
+            "integrity": "sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==",
631 631
             "cpu": [
632 632
                 "arm"
633 633
             ],
@@ -639,9 +639,9 @@
639 639
             ]
640 640
         },
641 641
         "node_modules/@rollup/rollup-linux-arm-musleabihf": {
642
-            "version": "4.27.4",
643
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz",
644
-            "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==",
642
+            "version": "4.28.0",
643
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.0.tgz",
644
+            "integrity": "sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==",
645 645
             "cpu": [
646 646
                 "arm"
647 647
             ],
@@ -653,9 +653,9 @@
653 653
             ]
654 654
         },
655 655
         "node_modules/@rollup/rollup-linux-arm64-gnu": {
656
-            "version": "4.27.4",
657
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz",
658
-            "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==",
656
+            "version": "4.28.0",
657
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.0.tgz",
658
+            "integrity": "sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==",
659 659
             "cpu": [
660 660
                 "arm64"
661 661
             ],
@@ -667,9 +667,9 @@
667 667
             ]
668 668
         },
669 669
         "node_modules/@rollup/rollup-linux-arm64-musl": {
670
-            "version": "4.27.4",
671
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz",
672
-            "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==",
670
+            "version": "4.28.0",
671
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.0.tgz",
672
+            "integrity": "sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==",
673 673
             "cpu": [
674 674
                 "arm64"
675 675
             ],
@@ -681,9 +681,9 @@
681 681
             ]
682 682
         },
683 683
         "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
684
-            "version": "4.27.4",
685
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz",
686
-            "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==",
684
+            "version": "4.28.0",
685
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.0.tgz",
686
+            "integrity": "sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==",
687 687
             "cpu": [
688 688
                 "ppc64"
689 689
             ],
@@ -695,9 +695,9 @@
695 695
             ]
696 696
         },
697 697
         "node_modules/@rollup/rollup-linux-riscv64-gnu": {
698
-            "version": "4.27.4",
699
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz",
700
-            "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==",
698
+            "version": "4.28.0",
699
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.0.tgz",
700
+            "integrity": "sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==",
701 701
             "cpu": [
702 702
                 "riscv64"
703 703
             ],
@@ -709,9 +709,9 @@
709 709
             ]
710 710
         },
711 711
         "node_modules/@rollup/rollup-linux-s390x-gnu": {
712
-            "version": "4.27.4",
713
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz",
714
-            "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==",
712
+            "version": "4.28.0",
713
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.0.tgz",
714
+            "integrity": "sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==",
715 715
             "cpu": [
716 716
                 "s390x"
717 717
             ],
@@ -723,9 +723,9 @@
723 723
             ]
724 724
         },
725 725
         "node_modules/@rollup/rollup-linux-x64-gnu": {
726
-            "version": "4.27.4",
727
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz",
728
-            "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==",
726
+            "version": "4.28.0",
727
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.0.tgz",
728
+            "integrity": "sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==",
729 729
             "cpu": [
730 730
                 "x64"
731 731
             ],
@@ -737,9 +737,9 @@
737 737
             ]
738 738
         },
739 739
         "node_modules/@rollup/rollup-linux-x64-musl": {
740
-            "version": "4.27.4",
741
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz",
742
-            "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==",
740
+            "version": "4.28.0",
741
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.0.tgz",
742
+            "integrity": "sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==",
743 743
             "cpu": [
744 744
                 "x64"
745 745
             ],
@@ -751,9 +751,9 @@
751 751
             ]
752 752
         },
753 753
         "node_modules/@rollup/rollup-win32-arm64-msvc": {
754
-            "version": "4.27.4",
755
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz",
756
-            "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==",
754
+            "version": "4.28.0",
755
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.0.tgz",
756
+            "integrity": "sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==",
757 757
             "cpu": [
758 758
                 "arm64"
759 759
             ],
@@ -765,9 +765,9 @@
765 765
             ]
766 766
         },
767 767
         "node_modules/@rollup/rollup-win32-ia32-msvc": {
768
-            "version": "4.27.4",
769
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz",
770
-            "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==",
768
+            "version": "4.28.0",
769
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.0.tgz",
770
+            "integrity": "sha512-kN/Vpip8emMLn/eOza+4JwqDZBL6MPNpkdaEsgUtW1NYN3DZvZqSQrbKzJcTL6hd8YNmFTn7XGWMwccOcJBL0A==",
771 771
             "cpu": [
772 772
                 "ia32"
773 773
             ],
@@ -779,9 +779,9 @@
779 779
             ]
780 780
         },
781 781
         "node_modules/@rollup/rollup-win32-x64-msvc": {
782
-            "version": "4.27.4",
783
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz",
784
-            "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==",
782
+            "version": "4.28.0",
783
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.0.tgz",
784
+            "integrity": "sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==",
785 785
             "cpu": [
786 786
                 "x64"
787 787
             ],
@@ -2199,9 +2199,9 @@
2199 2199
             }
2200 2200
         },
2201 2201
         "node_modules/rollup": {
2202
-            "version": "4.27.4",
2203
-            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz",
2204
-            "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==",
2202
+            "version": "4.28.0",
2203
+            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.0.tgz",
2204
+            "integrity": "sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==",
2205 2205
             "dev": true,
2206 2206
             "license": "MIT",
2207 2207
             "dependencies": {
@@ -2215,24 +2215,24 @@
2215 2215
                 "npm": ">=8.0.0"
2216 2216
             },
2217 2217
             "optionalDependencies": {
2218
-                "@rollup/rollup-android-arm-eabi": "4.27.4",
2219
-                "@rollup/rollup-android-arm64": "4.27.4",
2220
-                "@rollup/rollup-darwin-arm64": "4.27.4",
2221
-                "@rollup/rollup-darwin-x64": "4.27.4",
2222
-                "@rollup/rollup-freebsd-arm64": "4.27.4",
2223
-                "@rollup/rollup-freebsd-x64": "4.27.4",
2224
-                "@rollup/rollup-linux-arm-gnueabihf": "4.27.4",
2225
-                "@rollup/rollup-linux-arm-musleabihf": "4.27.4",
2226
-                "@rollup/rollup-linux-arm64-gnu": "4.27.4",
2227
-                "@rollup/rollup-linux-arm64-musl": "4.27.4",
2228
-                "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4",
2229
-                "@rollup/rollup-linux-riscv64-gnu": "4.27.4",
2230
-                "@rollup/rollup-linux-s390x-gnu": "4.27.4",
2231
-                "@rollup/rollup-linux-x64-gnu": "4.27.4",
2232
-                "@rollup/rollup-linux-x64-musl": "4.27.4",
2233
-                "@rollup/rollup-win32-arm64-msvc": "4.27.4",
2234
-                "@rollup/rollup-win32-ia32-msvc": "4.27.4",
2235
-                "@rollup/rollup-win32-x64-msvc": "4.27.4",
2218
+                "@rollup/rollup-android-arm-eabi": "4.28.0",
2219
+                "@rollup/rollup-android-arm64": "4.28.0",
2220
+                "@rollup/rollup-darwin-arm64": "4.28.0",
2221
+                "@rollup/rollup-darwin-x64": "4.28.0",
2222
+                "@rollup/rollup-freebsd-arm64": "4.28.0",
2223
+                "@rollup/rollup-freebsd-x64": "4.28.0",
2224
+                "@rollup/rollup-linux-arm-gnueabihf": "4.28.0",
2225
+                "@rollup/rollup-linux-arm-musleabihf": "4.28.0",
2226
+                "@rollup/rollup-linux-arm64-gnu": "4.28.0",
2227
+                "@rollup/rollup-linux-arm64-musl": "4.28.0",
2228
+                "@rollup/rollup-linux-powerpc64le-gnu": "4.28.0",
2229
+                "@rollup/rollup-linux-riscv64-gnu": "4.28.0",
2230
+                "@rollup/rollup-linux-s390x-gnu": "4.28.0",
2231
+                "@rollup/rollup-linux-x64-gnu": "4.28.0",
2232
+                "@rollup/rollup-linux-x64-musl": "4.28.0",
2233
+                "@rollup/rollup-win32-arm64-msvc": "4.28.0",
2234
+                "@rollup/rollup-win32-ia32-msvc": "4.28.0",
2235
+                "@rollup/rollup-win32-x64-msvc": "4.28.0",
2236 2236
                 "fsevents": "~2.3.2"
2237 2237
             }
2238 2238
         },

Loading…
Cancel
Save