diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results
new file mode 100644
index 00000000..0d361301
--- /dev/null
+++ b/.phpunit.cache/test-results
@@ -0,0 +1 @@
+{"version":1,"defects":{"Waziri123\\WaziriLivewireToast\\Tests\\BackgroundColorTest::test_setType":8},"times":{"Waziri123\\WaziriLivewireToast\\Tests\\BackgroundColorTest::test_setType":4.365}}
\ No newline at end of file
diff --git a/BackgroundColorTest.php b/BackgroundColorTest.php
new file mode 100644
index 00000000..3373155c
--- /dev/null
+++ b/BackgroundColorTest.php
@@ -0,0 +1,31 @@
+call('_setType','warning')
+ ->assertSet('type', 'warning');
+
+}
+
+
+
+}
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 38a76486..66e6b3a6 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,13 @@
"name": "waziri123/waziri-livewire-toast",
"description": "Livewire Package to display Toast Notifications",
"license": "MIT",
- "keywords": ["Laravel", "LivewireToast", "Toast", "Notifications", "Livewire"],
+ "keywords": [
+ "Laravel",
+ "LivewireToast",
+ "Toast",
+ "Notifications",
+ "Livewire"
+ ],
"authors": [
{
"name": "Waziri123",
@@ -11,12 +17,39 @@
],
"autoload": {
"psr-4": {
- "Waziri123\\WaziriLivewireToast\\" : "src/"
+ "Waziri123\\WaziriLivewireToast\\": "src/"
}
},
+ "autoload-dev": {
+ "psr-4": {
+ "Waziri123\\WaziriLivewireToast\\Tests\\": "tests",
+ "Workbench\\App\\": "workbench/app/",
+ "Workbench\\Database\\Factories\\": "workbench/database/factories/",
+ "Workbench\\Database\\Seeders\\": "workbench/database/seeders/"
+ }
+ },
+ "scripts": {
+ "test": "vendor/bin/phpunit",
+ "test-coverage": "phpunit --coverage-html coverage",
+ "post-autoload-dump": [
+ "@clear",
+ "@prepare"
+ ],
+ "clear": "@php vendor/bin/testbench package:purge-skeleton --ansi",
+ "prepare": "@php vendor/bin/testbench package:discover --ansi",
+ "build": "@php vendor/bin/testbench workbench:build --ansi",
+ "serve": [
+ "Composer\\Config::disableProcessTimeout",
+ "@build",
+ "@php vendor/bin/testbench serve"
+ ],
+ "lint": [
+ "@php vendor/bin/phpstan analyse"
+ ]
+ },
"require": {
-
- "livewire/livewire": "^3.4.12"
+ "livewire/livewire": "^3.4.12",
+ "christophrumpel/missing-livewire-assertions": "^2.8"
},
"extra": {
"laravel": {
@@ -28,4 +61,4 @@
"require-dev": {
"orchestra/testbench": "^9.0"
}
-}
+}
\ No newline at end of file
diff --git a/composer.lock b/composer.lock
index f6b24a1e..b9ad5c5e 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "ec3b0421fc03952dee81028822bd6b1e",
+ "content-hash": "4e738e8a2d246fe389d2b1640c03abf4",
"packages": [
{
"name": "brick/math",
@@ -135,6 +135,71 @@
],
"time": "2024-02-09T16:56:22+00:00"
},
+ {
+ "name": "christophrumpel/missing-livewire-assertions",
+ "version": "v2.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/christophrumpel/missing-livewire-assertions.git",
+ "reference": "3075093b0e5229bccfb768f32ce5f42736d1c1f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/christophrumpel/missing-livewire-assertions/zipball/3075093b0e5229bccfb768f32ce5f42736d1c1f5",
+ "reference": "3075093b0e5229bccfb768f32ce5f42736d1c1f5",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "^10.0|^9.0|^11.0",
+ "php": "^8.1",
+ "spatie/laravel-package-tools": "^1.4.3"
+ },
+ "require-dev": {
+ "brianium/paratest": "^6.2|^7.4",
+ "livewire/livewire": "^3.0",
+ "orchestra/testbench": "^8.0|^7.4|^9.0",
+ "pestphp/pest": "^2.34",
+ "phpunit/phpunit": "^9.3|^10.5",
+ "spatie/laravel-ray": "^1.9"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Christophrumpel\\MissingLivewireAssertions\\MissingLivewireAssertionsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Christophrumpel\\MissingLivewireAssertions\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christoph Rumpel",
+ "email": "christoph@christoph-rumpel.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "This package adds missing livewire test assertions.",
+ "homepage": "https://github.com/christophrumpel/missing-livewire-assertions",
+ "keywords": [
+ "assertions",
+ "christophrumpel",
+ "laravel",
+ "livewire"
+ ],
+ "support": {
+ "issues": "https://github.com/christophrumpel/missing-livewire-assertions/issues",
+ "source": "https://github.com/christophrumpel/missing-livewire-assertions/tree/v2.8.0"
+ },
+ "time": "2024-04-11T15:23:28+00:00"
+ },
{
"name": "dflydev/dot-access-data",
"version": "v3.0.2",
@@ -1052,16 +1117,16 @@
},
{
"name": "laravel/framework",
- "version": "v11.6.0",
+ "version": "v11.7.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "e090ee638ebd4ce221d8bad43b49bbf59ea70ae5"
+ "reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/e090ee638ebd4ce221d8bad43b49bbf59ea70ae5",
- "reference": "e090ee638ebd4ce221d8bad43b49bbf59ea70ae5",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/e5ac72f513f635f208024aa76b8a04efc1b47f93",
+ "reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93",
"shasum": ""
},
"require": {
@@ -1253,7 +1318,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2024-04-30T13:30:08+00:00"
+ "time": "2024-05-07T13:41:51+00:00"
},
{
"name": "laravel/prompts",
@@ -2565,20 +2630,20 @@
},
{
"name": "psr/http-factory",
- "version": "1.0.2",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
- "reference": "e616d01114759c4c489f93b099585439f795fe35"
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
- "reference": "e616d01114759c4c489f93b099585439f795fe35",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"shasum": ""
},
"require": {
- "php": ">=7.0.0",
+ "php": ">=7.1",
"psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
@@ -2602,7 +2667,7 @@
"homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for PSR-7 HTTP message factories",
+ "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
@@ -2614,9 +2679,9 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+ "source": "https://github.com/php-fig/http-factory"
},
- "time": "2023-04-10T20:10:41+00:00"
+ "time": "2024-04-15T12:06:14+00:00"
},
{
"name": "psr/http-message",
@@ -2997,6 +3062,66 @@
],
"time": "2024-04-27T21:32:50+00:00"
},
+ {
+ "name": "spatie/laravel-package-tools",
+ "version": "1.16.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-package-tools.git",
+ "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
+ "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^9.28|^10.0|^11.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.5",
+ "orchestra/testbench": "^7.7|^8.0",
+ "pestphp/pest": "^1.22",
+ "phpunit/phpunit": "^9.5.24",
+ "spatie/pest-plugin-test-time": "^1.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\LaravelPackageTools\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Tools for creating Laravel packages",
+ "homepage": "https://github.com/spatie/laravel-package-tools",
+ "keywords": [
+ "laravel-package-tools",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-package-tools/issues",
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-20T07:29:11+00:00"
+ },
{
"name": "symfony/clock",
"version": "v7.0.7",
@@ -6228,16 +6353,16 @@
},
{
"name": "orchestra/testbench-core",
- "version": "v9.0.15",
+ "version": "v9.0.16",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench-core.git",
- "reference": "f3a8819310294646d628fc3c5b5958a0a651b066"
+ "reference": "dbd43bf3845f5d07fed375fff0cb4083924c5de2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/f3a8819310294646d628fc3c5b5958a0a651b066",
- "reference": "f3a8819310294646d628fc3c5b5958a0a651b066",
+ "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/dbd43bf3845f5d07fed375fff0cb4083924c5de2",
+ "reference": "dbd43bf3845f5d07fed375fff0cb4083924c5de2",
"shasum": ""
},
"require": {
@@ -6313,7 +6438,7 @@
"issues": "https://github.com/orchestral/testbench/issues",
"source": "https://github.com/orchestral/testbench-core"
},
- "time": "2024-04-24T12:11:58+00:00"
+ "time": "2024-05-09T06:53:54+00:00"
},
{
"name": "orchestra/workbench",
@@ -7113,16 +7238,16 @@
},
{
"name": "rector/rector",
- "version": "1.0.4",
+ "version": "1.0.5",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555"
+ "reference": "73eb63e4f9011dba6b7c66c3262543014e352f34"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
- "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/73eb63e4f9011dba6b7c66c3262543014e352f34",
+ "reference": "73eb63e4f9011dba6b7c66c3262543014e352f34",
"shasum": ""
},
"require": {
@@ -7160,7 +7285,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/1.0.4"
+ "source": "https://github.com/rectorphp/rector/tree/1.0.5"
},
"funding": [
{
@@ -7168,7 +7293,7 @@
"type": "github"
}
],
- "time": "2024-04-05T09:01:07+00:00"
+ "time": "2024-05-10T05:31:15+00:00"
},
{
"name": "sebastian/cli-parser",
diff --git a/phpunit.xml b/phpunit.xml
new file mode 100644
index 00000000..6f0a0c08
--- /dev/null
+++ b/phpunit.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ ./tests/Unit
+
+
+ ./tests/Feature
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Http/Livewire/LivewireToast.php b/src/Http/Livewire/LivewireToast.php
index bd0c268b..c190e8d7 100644
--- a/src/Http/Livewire/LivewireToast.php
+++ b/src/Http/Livewire/LivewireToast.php
@@ -2,6 +2,7 @@
namespace Waziri123\WaziriLivewireToast\Http\Livewire;
+use Livewire\Attributes\On;
use Livewire\Component;
class LivewireToast extends Component
@@ -33,7 +34,7 @@ public function mount()
$this->show($message);
}
}
-
+ #[On('show')]
public function show($params)
{
$type = '';
@@ -45,25 +46,28 @@ public function show($params)
}
$this->_setType($type);
}
-
+ #[On('showWarning')]
public function showWarning($message)
{
$this->message = $message;
$this->_setType('warning');
}
+ #[On('showInfo')]
public function showInfo($message)
{
$this->message = $message;
$this->_setType('info');
}
+ #[On('showError')]
public function showError($message)
{
$this->message = $message;
$this->_setType('error');
}
+ #[On('showSuccess')]
public function showSuccess($message)
{
$this->message = $message;
@@ -86,7 +90,7 @@ public function render()
return view('livewire-toast::livewire.livewire-toast');
}
- private function _setType($type = '')
+ public function _setType($type = '')
{
if (in_array($type, ['warning', 'info', 'error', 'success'])) {
$this->type = $type;
diff --git a/testbench.yaml b/testbench.yaml
new file mode 100644
index 00000000..4843c843
--- /dev/null
+++ b/testbench.yaml
@@ -0,0 +1,22 @@
+providers:
+ # - Workbench\App\Providers\WorkbenchServiceProvider
+
+migrations:
+ - workbench/database/migrations
+
+seeders:
+ - Workbench\Database\Seeders\DatabaseSeeder
+
+workbench:
+ start: '/'
+ install: true
+ health: false
+ discovers:
+ web: true
+ api: false
+ commands: false
+ components: false
+ views: false
+ build: []
+ assets: []
+ sync: []
diff --git a/tests/TestCase.php b/tests/TestCase.php
new file mode 100644
index 00000000..dd80a885
--- /dev/null
+++ b/tests/TestCase.php
@@ -0,0 +1,24 @@
+ array($vendorDir . '/zbateson/stream-decorators/src'),
'ZBateson\\MbWrapper\\' => array($vendorDir . '/zbateson/mb-wrapper/src'),
'ZBateson\\MailMimeParser\\' => array($vendorDir . '/zbateson/mail-mime-parser/src'),
+ 'Workbench\\Database\\Seeders\\' => array($baseDir . '/workbench/database/seeders'),
+ 'Workbench\\Database\\Factories\\' => array($baseDir . '/workbench/database/factories'),
+ 'Workbench\\App\\' => array($baseDir . '/workbench/app'),
'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
- 'Waziri123\\LivewireToast\\' => array($baseDir . '/src'),
+ 'Waziri123\\WaziriLivewireToast\\Tests\\' => array($baseDir . '/tests'),
+ 'Waziri123\\WaziriLivewireToast\\' => array($baseDir . '/src'),
'TijsVerkoyen\\CssToInlineStyles\\' => array($vendorDir . '/tijsverkoyen/css-to-inline-styles/src'),
'Termwind\\' => array($vendorDir . '/nunomaduro/termwind/src'),
'Symfony\\Polyfill\\Uuid\\' => array($vendorDir . '/symfony/polyfill-uuid'),
@@ -48,6 +52,7 @@
'Spatie\\Ray\\' => array($vendorDir . '/spatie/ray/src'),
'Spatie\\Macroable\\' => array($vendorDir . '/spatie/macroable/src'),
'Spatie\\LaravelRay\\' => array($vendorDir . '/spatie/laravel-ray/src'),
+ 'Spatie\\LaravelPackageTools\\' => array($vendorDir . '/spatie/laravel-package-tools/src'),
'Spatie\\Backtrace\\' => array($vendorDir . '/spatie/backtrace/src'),
'Ramsey\\Uuid\\' => array($vendorDir . '/ramsey/uuid/src'),
'Ramsey\\Collection\\' => array($vendorDir . '/ramsey/collection/src'),
@@ -93,6 +98,7 @@
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
'Cron\\' => array($vendorDir . '/dragonmantank/cron-expression/src/Cron'),
'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'),
+ 'Christophrumpel\\MissingLivewireAssertions\\' => array($vendorDir . '/christophrumpel/missing-livewire-assertions/src'),
'Carbon\\Doctrine\\' => array($vendorDir . '/carbonphp/carbon-doctrine-types/src/Carbon/Doctrine'),
'Carbon\\' => array($vendorDir . '/nesbot/carbon/src/Carbon'),
'Brick\\Math\\' => array($vendorDir . '/brick/math/src'),
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index d5ece03c..e7fd0dd7 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -57,8 +57,12 @@ class ComposerStaticInit23a18a6d13a892c1c51f1c04a8596be0
),
'W' =>
array (
+ 'Workbench\\Database\\Seeders\\' => 27,
+ 'Workbench\\Database\\Factories\\' => 29,
+ 'Workbench\\App\\' => 14,
'Webmozart\\Assert\\' => 17,
- 'Waziri123\\LivewireToast\\' => 24,
+ 'Waziri123\\WaziriLivewireToast\\Tests\\' => 36,
+ 'Waziri123\\WaziriLivewireToast\\' => 30,
),
'T' =>
array (
@@ -101,6 +105,7 @@ class ComposerStaticInit23a18a6d13a892c1c51f1c04a8596be0
'Spatie\\Ray\\' => 11,
'Spatie\\Macroable\\' => 17,
'Spatie\\LaravelRay\\' => 18,
+ 'Spatie\\LaravelPackageTools\\' => 27,
'Spatie\\Backtrace\\' => 17,
),
'R' =>
@@ -179,6 +184,7 @@ class ComposerStaticInit23a18a6d13a892c1c51f1c04a8596be0
array (
'Cron\\' => 5,
'Composer\\Semver\\' => 16,
+ 'Christophrumpel\\MissingLivewireAssertions\\' => 42,
'Carbon\\Doctrine\\' => 16,
'Carbon\\' => 7,
),
@@ -205,11 +211,27 @@ class ComposerStaticInit23a18a6d13a892c1c51f1c04a8596be0
array (
0 => __DIR__ . '/..' . '/zbateson/mail-mime-parser/src',
),
+ 'Workbench\\Database\\Seeders\\' =>
+ array (
+ 0 => __DIR__ . '/../..' . '/workbench/database/seeders',
+ ),
+ 'Workbench\\Database\\Factories\\' =>
+ array (
+ 0 => __DIR__ . '/../..' . '/workbench/database/factories',
+ ),
+ 'Workbench\\App\\' =>
+ array (
+ 0 => __DIR__ . '/../..' . '/workbench/app',
+ ),
'Webmozart\\Assert\\' =>
array (
0 => __DIR__ . '/..' . '/webmozart/assert/src',
),
- 'Waziri123\\LivewireToast\\' =>
+ 'Waziri123\\WaziriLivewireToast\\Tests\\' =>
+ array (
+ 0 => __DIR__ . '/../..' . '/tests',
+ ),
+ 'Waziri123\\WaziriLivewireToast\\' =>
array (
0 => __DIR__ . '/../..' . '/src',
),
@@ -357,6 +379,10 @@ class ComposerStaticInit23a18a6d13a892c1c51f1c04a8596be0
array (
0 => __DIR__ . '/..' . '/spatie/laravel-ray/src',
),
+ 'Spatie\\LaravelPackageTools\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/spatie/laravel-package-tools/src',
+ ),
'Spatie\\Backtrace\\' =>
array (
0 => __DIR__ . '/..' . '/spatie/backtrace/src',
@@ -540,6 +566,10 @@ class ComposerStaticInit23a18a6d13a892c1c51f1c04a8596be0
array (
0 => __DIR__ . '/..' . '/composer/semver/src',
),
+ 'Christophrumpel\\MissingLivewireAssertions\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/christophrumpel/missing-livewire-assertions/src',
+ ),
'Carbon\\Doctrine\\' =>
array (
0 => __DIR__ . '/..' . '/carbonphp/carbon-doctrine-types/src/Carbon/Doctrine',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 2ca3dec2..d202223b 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -135,6 +135,74 @@
],
"install-path": "../carbonphp/carbon-doctrine-types"
},
+ {
+ "name": "christophrumpel/missing-livewire-assertions",
+ "version": "v2.8.0",
+ "version_normalized": "2.8.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/christophrumpel/missing-livewire-assertions.git",
+ "reference": "3075093b0e5229bccfb768f32ce5f42736d1c1f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/christophrumpel/missing-livewire-assertions/zipball/3075093b0e5229bccfb768f32ce5f42736d1c1f5",
+ "reference": "3075093b0e5229bccfb768f32ce5f42736d1c1f5",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "^10.0|^9.0|^11.0",
+ "php": "^8.1",
+ "spatie/laravel-package-tools": "^1.4.3"
+ },
+ "require-dev": {
+ "brianium/paratest": "^6.2|^7.4",
+ "livewire/livewire": "^3.0",
+ "orchestra/testbench": "^8.0|^7.4|^9.0",
+ "pestphp/pest": "^2.34",
+ "phpunit/phpunit": "^9.3|^10.5",
+ "spatie/laravel-ray": "^1.9"
+ },
+ "time": "2024-04-11T15:23:28+00:00",
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Christophrumpel\\MissingLivewireAssertions\\MissingLivewireAssertionsServiceProvider"
+ ]
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Christophrumpel\\MissingLivewireAssertions\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christoph Rumpel",
+ "email": "christoph@christoph-rumpel.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "This package adds missing livewire test assertions.",
+ "homepage": "https://github.com/christophrumpel/missing-livewire-assertions",
+ "keywords": [
+ "assertions",
+ "christophrumpel",
+ "laravel",
+ "livewire"
+ ],
+ "support": {
+ "issues": "https://github.com/christophrumpel/missing-livewire-assertions/issues",
+ "source": "https://github.com/christophrumpel/missing-livewire-assertions/tree/v2.8.0"
+ },
+ "install-path": "../christophrumpel/missing-livewire-assertions"
+ },
{
"name": "composer/semver",
"version": "3.4.0",
@@ -1289,17 +1357,17 @@
},
{
"name": "laravel/framework",
- "version": "v11.6.0",
- "version_normalized": "11.6.0.0",
+ "version": "v11.7.0",
+ "version_normalized": "11.7.0.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "e090ee638ebd4ce221d8bad43b49bbf59ea70ae5"
+ "reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/e090ee638ebd4ce221d8bad43b49bbf59ea70ae5",
- "reference": "e090ee638ebd4ce221d8bad43b49bbf59ea70ae5",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/e5ac72f513f635f208024aa76b8a04efc1b47f93",
+ "reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93",
"shasum": ""
},
"require": {
@@ -1448,7 +1516,7 @@
"symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).",
"symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)."
},
- "time": "2024-04-30T13:30:08+00:00",
+ "time": "2024-05-07T13:41:51+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -3051,17 +3119,17 @@
},
{
"name": "orchestra/testbench-core",
- "version": "v9.0.15",
- "version_normalized": "9.0.15.0",
+ "version": "v9.0.16",
+ "version_normalized": "9.0.16.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench-core.git",
- "reference": "f3a8819310294646d628fc3c5b5958a0a651b066"
+ "reference": "dbd43bf3845f5d07fed375fff0cb4083924c5de2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/f3a8819310294646d628fc3c5b5958a0a651b066",
- "reference": "f3a8819310294646d628fc3c5b5958a0a651b066",
+ "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/dbd43bf3845f5d07fed375fff0cb4083924c5de2",
+ "reference": "dbd43bf3845f5d07fed375fff0cb4083924c5de2",
"shasum": ""
},
"require": {
@@ -3100,7 +3168,7 @@
"symfony/yaml": "Required for Testbench CLI (^7.0).",
"vlucas/phpdotenv": "Required for Testbench CLI (^5.4.1)."
},
- "time": "2024-04-24T12:11:58+00:00",
+ "time": "2024-05-09T06:53:54+00:00",
"bin": [
"testbench"
],
@@ -4186,24 +4254,24 @@
},
{
"name": "psr/http-factory",
- "version": "1.0.2",
- "version_normalized": "1.0.2.0",
+ "version": "1.1.0",
+ "version_normalized": "1.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
- "reference": "e616d01114759c4c489f93b099585439f795fe35"
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
- "reference": "e616d01114759c4c489f93b099585439f795fe35",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"shasum": ""
},
"require": {
- "php": ">=7.0.0",
+ "php": ">=7.1",
"psr/http-message": "^1.0 || ^2.0"
},
- "time": "2023-04-10T20:10:41+00:00",
+ "time": "2024-04-15T12:06:14+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -4226,7 +4294,7 @@
"homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for PSR-7 HTTP message factories",
+ "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
@@ -4238,7 +4306,7 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+ "source": "https://github.com/php-fig/http-factory"
},
"install-path": "../psr/http-factory"
},
@@ -4723,17 +4791,17 @@
},
{
"name": "rector/rector",
- "version": "1.0.4",
- "version_normalized": "1.0.4.0",
+ "version": "1.0.5",
+ "version_normalized": "1.0.5.0",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555"
+ "reference": "73eb63e4f9011dba6b7c66c3262543014e352f34"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
- "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/73eb63e4f9011dba6b7c66c3262543014e352f34",
+ "reference": "73eb63e4f9011dba6b7c66c3262543014e352f34",
"shasum": ""
},
"require": {
@@ -4749,7 +4817,7 @@
"suggest": {
"ext-dom": "To manipulate phpunit.xml via the custom-rule command"
},
- "time": "2024-04-05T09:01:07+00:00",
+ "time": "2024-05-10T05:31:15+00:00",
"bin": [
"bin/rector"
],
@@ -4773,7 +4841,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/1.0.4"
+ "source": "https://github.com/rectorphp/rector/tree/1.0.5"
},
"funding": [
{
@@ -5817,6 +5885,69 @@
],
"install-path": "../spatie/backtrace"
},
+ {
+ "name": "spatie/laravel-package-tools",
+ "version": "1.16.4",
+ "version_normalized": "1.16.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-package-tools.git",
+ "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
+ "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^9.28|^10.0|^11.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.5",
+ "orchestra/testbench": "^7.7|^8.0",
+ "pestphp/pest": "^1.22",
+ "phpunit/phpunit": "^9.5.24",
+ "spatie/pest-plugin-test-time": "^1.1"
+ },
+ "time": "2024-03-20T07:29:11+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\LaravelPackageTools\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Tools for creating Laravel packages",
+ "homepage": "https://github.com/spatie/laravel-package-tools",
+ "keywords": [
+ "laravel-package-tools",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-package-tools/issues",
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "install-path": "../spatie/laravel-package-tools"
+ },
{
"name": "spatie/laravel-ray",
"version": "1.36.2",
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 48dde089..c8653df2 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -5,7 +5,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => 'de5665ef90b3a4410109ead9743ff0c2d7f84cf0',
+ 'reference' => '98f48c5b387e00149babbe04f21306e27c7c01e3',
'name' => 'waziri123/waziri-livewire-toast',
'dev' => true,
),
@@ -28,6 +28,15 @@
'reference' => '18ba5ddfec8976260ead6e866180bd5d2f71aa1d',
'dev_requirement' => false,
),
+ 'christophrumpel/missing-livewire-assertions' => array(
+ 'pretty_version' => 'v2.8.0',
+ 'version' => '2.8.0.0',
+ 'type' => 'library',
+ 'install_path' => __DIR__ . '/../christophrumpel/missing-livewire-assertions',
+ 'aliases' => array(),
+ 'reference' => '3075093b0e5229bccfb768f32ce5f42736d1c1f5',
+ 'dev_requirement' => false,
+ ),
'composer/semver' => array(
'pretty_version' => '3.4.0',
'version' => '3.4.0.0',
@@ -169,199 +178,199 @@
'illuminate/auth' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/broadcasting' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/bus' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/cache' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/collections' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/conditionable' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/config' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/console' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/container' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/contracts' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/cookie' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/database' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/encryption' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/events' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/filesystem' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/hashing' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/http' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/log' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/macroable' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/mail' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/notifications' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/pagination' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/pipeline' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/process' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/queue' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/redis' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/routing' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/session' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/support' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/testing' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/translation' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/validation' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'illuminate/view' => array(
'dev_requirement' => false,
'replaced' => array(
- 0 => 'v11.6.0',
+ 0 => 'v11.7.0',
),
),
'kodova/hamcrest-php' => array(
@@ -371,12 +380,12 @@
),
),
'laravel/framework' => array(
- 'pretty_version' => 'v11.6.0',
- 'version' => '11.6.0.0',
+ 'pretty_version' => 'v11.7.0',
+ 'version' => '11.7.0.0',
'type' => 'library',
'install_path' => __DIR__ . '/../laravel/framework',
'aliases' => array(),
- 'reference' => 'e090ee638ebd4ce221d8bad43b49bbf59ea70ae5',
+ 'reference' => 'e5ac72f513f635f208024aa76b8a04efc1b47f93',
'dev_requirement' => false,
),
'laravel/prompts' => array(
@@ -566,12 +575,12 @@
'dev_requirement' => true,
),
'orchestra/testbench-core' => array(
- 'pretty_version' => 'v9.0.15',
- 'version' => '9.0.15.0',
+ 'pretty_version' => 'v9.0.16',
+ 'version' => '9.0.16.0',
'type' => 'library',
'install_path' => __DIR__ . '/../orchestra/testbench-core',
'aliases' => array(),
- 'reference' => 'f3a8819310294646d628fc3c5b5958a0a651b066',
+ 'reference' => 'dbd43bf3845f5d07fed375fff0cb4083924c5de2',
'dev_requirement' => true,
),
'orchestra/workbench' => array(
@@ -743,12 +752,12 @@
),
),
'psr/http-factory' => array(
- 'pretty_version' => '1.0.2',
- 'version' => '1.0.2.0',
+ 'pretty_version' => '1.1.0',
+ 'version' => '1.1.0.0',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/http-factory',
'aliases' => array(),
- 'reference' => 'e616d01114759c4c489f93b099585439f795fe35',
+ 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a',
'dev_requirement' => false,
),
'psr/http-factory-implementation' => array(
@@ -784,8 +793,8 @@
'psr/log-implementation' => array(
'dev_requirement' => false,
'provided' => array(
- 0 => '1.0|2.0|3.0',
- 1 => '3.0.0',
+ 0 => '3.0.0',
+ 1 => '1.0|2.0|3.0',
),
),
'psr/simple-cache' => array(
@@ -840,12 +849,12 @@
'dev_requirement' => false,
),
'rector/rector' => array(
- 'pretty_version' => '1.0.4',
- 'version' => '1.0.4.0',
+ 'pretty_version' => '1.0.5',
+ 'version' => '1.0.5.0',
'type' => 'library',
'install_path' => __DIR__ . '/../rector/rector',
'aliases' => array(),
- 'reference' => '6e04d0eb087aef707fa0c5686d33d6ff61f4a555',
+ 'reference' => '73eb63e4f9011dba6b7c66c3262543014e352f34',
'dev_requirement' => true,
),
'rhumsaa/uuid' => array(
@@ -998,6 +1007,15 @@
'reference' => '8373b9d51638292e3bfd736a9c19a654111b4a23',
'dev_requirement' => true,
),
+ 'spatie/laravel-package-tools' => array(
+ 'pretty_version' => '1.16.4',
+ 'version' => '1.16.4.0',
+ 'type' => 'library',
+ 'install_path' => __DIR__ . '/../spatie/laravel-package-tools',
+ 'aliases' => array(),
+ 'reference' => 'ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53',
+ 'dev_requirement' => false,
+ ),
'spatie/laravel-ray' => array(
'pretty_version' => '1.36.2',
'version' => '1.36.2.0',
@@ -1373,7 +1391,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => 'de5665ef90b3a4410109ead9743ff0c2d7f84cf0',
+ 'reference' => '98f48c5b387e00149babbe04f21306e27c7c01e3',
'dev_requirement' => false,
),
'webmozart/assert' => array(
diff --git a/vendor/laravel/framework/CHANGELOG.md b/vendor/laravel/framework/CHANGELOG.md
index e5e8e5e7..90b57fa4 100644
--- a/vendor/laravel/framework/CHANGELOG.md
+++ b/vendor/laravel/framework/CHANGELOG.md
@@ -1,6 +1,22 @@
# Release Notes for 11.x
-## [Unreleased](https://github.com/laravel/framework/compare/v11.5.0...11.x)
+## [Unreleased](https://github.com/laravel/framework/compare/v11.6.0...11.x)
+
+## [v11.6.0](https://github.com/laravel/framework/compare/v11.5.0...v11.6.0) - 2024-04-30
+
+* [11.x] github: mariadb database healthcheck+naming by @grooverdan in https://github.com/laravel/framework/pull/51192
+* Add support for PHPUnit 11.1 by @crynobone in https://github.com/laravel/framework/pull/51197
+* Move whitespace in front of verbatim block in Blade templates by @Sjord in https://github.com/laravel/framework/pull/51195
+* [11.x] Trim trailing `?` from generated URL without query params by @onlime in https://github.com/laravel/framework/pull/51191
+* Add some tests on route:list sort command by @fgaroby in https://github.com/laravel/framework/pull/51202
+* [10.x] Improve releases flow by @driesvints in https://github.com/laravel/framework/pull/51213
+* Fix return types of `firstWhere` and `first` of `BelongsToMany` and `HasManyThrough` by @SanderMuller in https://github.com/laravel/framework/pull/51219
+* [10.x] Fix typo in signed URL tampering tests by @Krisell in https://github.com/laravel/framework/pull/51238
+* [10.x] Add "Server has gone away" to DetectsLostConnection by @Jubeki in https://github.com/laravel/framework/pull/51241
+* [11.x] Add some tests in `SupportStrTest` class by @saMahmoudzadeh in https://github.com/laravel/framework/pull/51235
+* [10.x] Fix support for the LARAVEL_STORAGE_PATH env var (#51238) by @dunglas in https://github.com/laravel/framework/pull/51243
+* [11.x] Add replaceable tags to translations by @LegendEffects in https://github.com/laravel/framework/pull/51190
+* [10.x] fix: Factory::createMany creating n^2 records by @calebdw in https://github.com/laravel/framework/pull/51225
## [v11.5.0](https://github.com/laravel/framework/compare/v11.4.0...v11.5.0) - 2024-04-23
diff --git a/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php b/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php
index eb213c49..5f99fa3e 100644
--- a/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php
+++ b/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php
@@ -3,9 +3,11 @@
namespace Illuminate\Auth\Passwords;
use Closure;
+use Illuminate\Auth\Events\PasswordResetLinkSent;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Contracts\Auth\PasswordBroker as PasswordBrokerContract;
use Illuminate\Contracts\Auth\UserProvider;
+use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Support\Arr;
use UnexpectedValueException;
@@ -25,17 +27,26 @@ class PasswordBroker implements PasswordBrokerContract
*/
protected $users;
+ /**
+ * The event dispatcher instance.
+ *
+ * @var \Illuminate\Contracts\Events\Dispatcher
+ */
+ protected $events;
+
/**
* Create a new password broker instance.
*
* @param \Illuminate\Auth\Passwords\TokenRepositoryInterface $tokens
* @param \Illuminate\Contracts\Auth\UserProvider $users
+ * @param \Illuminate\Contracts\Events\Dispatcher $users
* @return void
*/
- public function __construct(TokenRepositoryInterface $tokens, UserProvider $users)
+ public function __construct(TokenRepositoryInterface $tokens, UserProvider $users, ?Dispatcher $dispatcher = null)
{
$this->users = $users;
$this->tokens = $tokens;
+ $this->events = $dispatcher;
}
/**
@@ -71,6 +82,10 @@ public function sendResetLink(array $credentials, ?Closure $callback = null)
// the current URI having nothing set in the session to indicate errors.
$user->sendPasswordResetNotification($token);
+ if ($this->events) {
+ $this->events->dispatch(new PasswordResetLinkSent($user));
+ }
+
return static::RESET_LINK_SENT;
}
diff --git a/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php b/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php
index 5c80dcf3..e11e4449 100644
--- a/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php
+++ b/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php
@@ -69,7 +69,8 @@ protected function resolve($name)
// aggregate service of sorts providing a convenient interface for resets.
return new PasswordBroker(
$this->createTokenRepository($config),
- $this->app['auth']->createUserProvider($config['provider'] ?? null)
+ $this->app['auth']->createUserProvider($config['provider'] ?? null),
+ $this->app['events'] ?? null,
);
}
diff --git a/vendor/laravel/framework/src/Illuminate/Collections/Collection.php b/vendor/laravel/framework/src/Illuminate/Collections/Collection.php
index 966caaa2..02dfa471 100644
--- a/vendor/laravel/framework/src/Illuminate/Collections/Collection.php
+++ b/vendor/laravel/framework/src/Illuminate/Collections/Collection.php
@@ -755,7 +755,7 @@ public function last(?callable $callback = null, $default = null)
/**
* Get the values of a given key.
*
- * @param string|int|array $value
+ * @param string|int|array|null $value
* @param string|null $key
* @return static
*/
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php
index f18b79c7..28a90cd0 100644
--- a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php
+++ b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php
@@ -631,7 +631,7 @@ public function pad($size, $value)
/**
* Get an array with the values of a given key.
*
- * @param string|array $value
+ * @param string|array|null $value
* @param string|null $key
* @return \Illuminate\Support\Collection
*/
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php b/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
index 72fc88cc..25d43ccc 100644
--- a/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
+++ b/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
@@ -1921,6 +1921,65 @@ public function orWhereJsonDoesntContain($column, $value)
return $this->whereJsonDoesntContain($column, $value, 'or');
}
+ /**
+ * Add a "where JSON overlaps" clause to the query.
+ *
+ * @param string $column
+ * @param mixed $value
+ * @param string $boolean
+ * @param bool $not
+ * @return $this
+ */
+ public function whereJsonOverlaps($column, $value, $boolean = 'and', $not = false)
+ {
+ $type = 'JsonOverlaps';
+
+ $this->wheres[] = compact('type', 'column', 'value', 'boolean', 'not');
+
+ if (! $value instanceof ExpressionContract) {
+ $this->addBinding($this->grammar->prepareBindingForJsonContains($value));
+ }
+
+ return $this;
+ }
+
+ /**
+ * Add an "or where JSON overlaps" clause to the query.
+ *
+ * @param string $column
+ * @param mixed $value
+ * @return $this
+ */
+ public function orWhereJsonOverlaps($column, $value)
+ {
+ return $this->whereJsonOverlaps($column, $value, 'or');
+ }
+
+ /**
+ * Add a "where JSON not overlap" clause to the query.
+ *
+ * @param string $column
+ * @param mixed $value
+ * @param string $boolean
+ * @return $this
+ */
+ public function whereJsonDoesntOverlap($column, $value, $boolean = 'and')
+ {
+ return $this->whereJsonOverlaps($column, $value, $boolean, true);
+ }
+
+ /**
+ * Add an "or where JSON not overlap" clause to the query.
+ *
+ * @param string $column
+ * @param mixed $value
+ * @return $this
+ */
+ public function orWhereJsonDoesntOverlap($column, $value)
+ {
+ return $this->whereJsonDoesntOverlap($column, $value, 'or');
+ }
+
/**
* Add a clause that determines if a JSON path exists to the query.
*
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php b/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php
index f2ce92c2..42c9102b 100644
--- a/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php
+++ b/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php
@@ -643,6 +643,37 @@ protected function compileJsonContains($column, $value)
throw new RuntimeException('This database engine does not support JSON contains operations.');
}
+ /**
+ * Compile a "where JSON overlaps" clause.
+ *
+ * @param \Illuminate\Database\Query\Builder $query
+ * @param array $where
+ * @return string
+ */
+ protected function whereJsonOverlaps(Builder $query, $where)
+ {
+ $not = $where['not'] ? 'not ' : '';
+
+ return $not.$this->compileJsonOverlaps(
+ $where['column'],
+ $this->parameter($where['value'])
+ );
+ }
+
+ /**
+ * Compile a "JSON overlaps" statement into SQL.
+ *
+ * @param string $column
+ * @param string $value
+ * @return string
+ *
+ * @throws \RuntimeException
+ */
+ protected function compileJsonOverlaps($column, $value)
+ {
+ throw new RuntimeException('This database engine does not support JSON overlaps operations.');
+ }
+
/**
* Prepare the binding for a "JSON contains" statement.
*
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php b/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php
index 65ab6991..8c1521f6 100644
--- a/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php
+++ b/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php
@@ -210,6 +210,20 @@ protected function compileJsonContains($column, $value)
return 'json_contains('.$field.', '.$value.$path.')';
}
+ /**
+ * Compile a "JSON overlaps" statement into SQL.
+ *
+ * @param string $column
+ * @param string $value
+ * @return string
+ */
+ protected function compileJsonOverlaps($column, $value)
+ {
+ [$field, $path] = $this->wrapJsonFieldAndPath($column);
+
+ return 'json_overlaps('.$field.', '.$value.$path.')';
+ }
+
/**
* Compile a "JSON contains key" statement into SQL.
*
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Application.php b/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
index b9ce4a95..857772f4 100644
--- a/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
@@ -45,7 +45,7 @@ class Application extends Container implements ApplicationContract, CachesConfig
*
* @var string
*/
- const VERSION = '11.6.0';
+ const VERSION = '11.7.0';
/**
* The base path for the Laravel installation.
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php
index 72ba1cc1..ad881b37 100644
--- a/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php
@@ -36,6 +36,13 @@ class RouteServiceProvider extends ServiceProvider
*/
protected static $alwaysLoadRoutesUsing;
+ /**
+ * The callback that should be used to load the application's cached routes.
+ *
+ * @var \Closure|null
+ */
+ protected static $alwaysLoadCachedRoutesUsing;
+
/**
* Register any application services.
*
@@ -93,6 +100,17 @@ public static function loadRoutesUsing(?Closure $routesCallback)
self::$alwaysLoadRoutesUsing = $routesCallback;
}
+ /**
+ * Register the callback that will be used to load the application's cached routes.
+ *
+ * @param \Closure|null $routesCallback
+ * @return void
+ */
+ public static function loadCachedRoutesUsing(?Closure $routesCallback)
+ {
+ self::$alwaysLoadCachedRoutesUsing = $routesCallback;
+ }
+
/**
* Set the root controller namespace for the application.
*
@@ -122,6 +140,12 @@ protected function routesAreCached()
*/
protected function loadCachedRoutes()
{
+ if (! is_null(self::$alwaysLoadCachedRoutesUsing)) {
+ $this->app->call(self::$alwaysLoadCachedRoutesUsing);
+
+ return;
+ }
+
$this->app->booted(function () {
require $this->app->getCachedRoutesPath();
});
diff --git a/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php b/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php
index 85debd5b..b94973f8 100644
--- a/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php
+++ b/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php
@@ -56,7 +56,7 @@ protected function doSend(SentMessage $message): void
foreach ($message->getOriginalMessage()->getHeaders()->all() as $header) {
if ($header instanceof MetadataHeader) {
- $options['Tags'][] = ['Name' => $header->getKey(), 'Value' => $header->getValue()];
+ $options['EmailTags'][] = ['Name' => $header->getKey(), 'Value' => $header->getValue()];
}
}
}
diff --git a/vendor/laravel/framework/src/Illuminate/Process/FakeInvokedProcess.php b/vendor/laravel/framework/src/Illuminate/Process/FakeInvokedProcess.php
index 7c445a73..c82f53c8 100644
--- a/vendor/laravel/framework/src/Illuminate/Process/FakeInvokedProcess.php
+++ b/vendor/laravel/framework/src/Illuminate/Process/FakeInvokedProcess.php
@@ -226,7 +226,7 @@ public function latestOutput()
$this->nextOutputIndex = $i + 1;
}
- return isset($output) ? $output : '';
+ return $output ?? '';
}
/**
@@ -249,7 +249,7 @@ public function latestErrorOutput()
$this->nextErrorOutputIndex = $i + 1;
}
- return isset($output) ? $output : '';
+ return $output ?? '';
}
/**
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Queue.php b/vendor/laravel/framework/src/Illuminate/Queue/Queue.php
index 8a69b683..df7b8ec2 100644
--- a/vendor/laravel/framework/src/Illuminate/Queue/Queue.php
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Queue.php
@@ -360,11 +360,7 @@ protected function shouldDispatchAfterCommit($job)
return $job->afterCommit;
}
- if (isset($this->dispatchAfterCommit)) {
- return $this->dispatchAfterCommit;
- }
-
- return false;
+ return $this->dispatchAfterCommit ?? false;
}
/**
diff --git a/vendor/laravel/framework/src/Illuminate/Support/ValidatedInput.php b/vendor/laravel/framework/src/Illuminate/Support/ValidatedInput.php
index 87e47b55..85c5108c 100644
--- a/vendor/laravel/framework/src/Illuminate/Support/ValidatedInput.php
+++ b/vendor/laravel/framework/src/Illuminate/Support/ValidatedInput.php
@@ -4,7 +4,9 @@
use ArrayIterator;
use Illuminate\Contracts\Support\ValidatedData;
+use Illuminate\Support\Facades\Date;
use stdClass;
+use Symfony\Component\VarDumper\VarDumper;
use Traversable;
class ValidatedInput implements ValidatedData
@@ -27,6 +29,17 @@ public function __construct(array $input)
$this->input = $input;
}
+ /**
+ * Determine if the validated input has one or more keys.
+ *
+ * @param string|array $key
+ * @return bool
+ */
+ public function exists($key)
+ {
+ return $this->has($key);
+ }
+
/**
* Determine if the validated input has one or more keys.
*
@@ -38,7 +51,81 @@ public function has($keys)
$keys = is_array($keys) ? $keys : func_get_args();
foreach ($keys as $key) {
- if (! Arr::has($this->input, $key)) {
+ if (! Arr::has($this->all(), $key)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Determine if the validated input contains any of the given keys.
+ *
+ * @param string|array $keys
+ * @return bool
+ */
+ public function hasAny($keys)
+ {
+ $keys = is_array($keys) ? $keys : func_get_args();
+
+ $input = $this->all();
+
+ return Arr::hasAny($input, $keys);
+ }
+
+ /**
+ * Apply the callback if the validated input contains the given input item key.
+ *
+ * @param string $key
+ * @param callable $callback
+ * @param callable|null $default
+ * @return $this|mixed
+ */
+ public function whenHas($key, callable $callback, callable $default = null)
+ {
+ if ($this->has($key)) {
+ return $callback(data_get($this->all(), $key)) ?: $this;
+ }
+
+ if ($default) {
+ return $default();
+ }
+
+ return $this;
+ }
+
+ /**
+ * Determine if the validated input contains a non-empty value for an input item.
+ *
+ * @param string|array $key
+ * @return bool
+ */
+ public function filled($key)
+ {
+ $keys = is_array($key) ? $key : func_get_args();
+
+ foreach ($keys as $value) {
+ if ($this->isEmptyString($value)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Determine if the validated input contains an empty value for an input item.
+ *
+ * @param string|array $key
+ * @return bool
+ */
+ public function isNotFilled($key)
+ {
+ $keys = is_array($key) ? $key : func_get_args();
+
+ foreach ($keys as $value) {
+ if (! $this->isEmptyString($value)) {
return false;
}
}
@@ -46,6 +133,59 @@ public function has($keys)
return true;
}
+ /**
+ * Determine if the validated input contains a non-empty value for any of the given input items.
+ *
+ * @param string|array $keys
+ * @return bool
+ */
+ public function anyFilled($keys)
+ {
+ $keys = is_array($keys) ? $keys : func_get_args();
+
+ foreach ($keys as $key) {
+ if ($this->filled($key)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Apply the callback if the validated input contains a non-empty value for the given input item key.
+ *
+ * @param string $key
+ * @param callable $callback
+ * @param callable|null $default
+ * @return $this|mixed
+ */
+ public function whenFilled($key, callable $callback, callable $default = null)
+ {
+ if ($this->filled($key)) {
+ return $callback(data_get($this->all(), $key)) ?: $this;
+ }
+
+ if ($default) {
+ return $default();
+ }
+
+ return $this;
+ }
+
+ /**
+ * Determine if the given input item is an empty string.
+ *
+ * @param string $key
+ * @return bool
+ */
+ protected function isEmptyString($key)
+ {
+ $value = $this->input($key);
+
+ return ! is_bool($value) && ! is_array($value) && trim((string) $value) === '';
+ }
+
/**
* Determine if the validated input is missing one or more keys.
*
@@ -57,6 +197,156 @@ public function missing($keys)
return ! $this->has($keys);
}
+ /**
+ * Apply the callback if the validated input is missing the given input item key.
+ *
+ * @param string $key
+ * @param callable $callback
+ * @param callable|null $default
+ * @return $this|mixed
+ */
+ public function whenMissing($key, callable $callback, callable $default = null)
+ {
+ if ($this->missing($key)) {
+ return $callback(data_get($this->all(), $key)) ?: $this;
+ }
+
+ if ($default) {
+ return $default();
+ }
+
+ return $this;
+ }
+
+ /**
+ * Get the keys for all of the input.
+ *
+ * @return array
+ */
+ public function keys()
+ {
+ return array_keys($this->input());
+ }
+
+ /**
+ * Retrieve an input item from the validated input.
+ *
+ * @param string|null $key
+ * @param mixed $default
+ * @return mixed
+ */
+ public function input($key = null, $default = null)
+ {
+ return data_get(
+ $this->all(), $key, $default
+ );
+ }
+
+ /**
+ * Retrieve input from the validated input as a Stringable instance.
+ *
+ * @param string $key
+ * @param mixed $default
+ * @return \Illuminate\Support\Stringable
+ */
+ public function str($key, $default = null)
+ {
+ return $this->string($key, $default);
+ }
+
+ /**
+ * Retrieve input from the validated input as a Stringable instance.
+ *
+ * @param string $key
+ * @param mixed $default
+ * @return \Illuminate\Support\Stringable
+ */
+ public function string($key, $default = null)
+ {
+ return str($this->input($key, $default));
+ }
+
+ /**
+ * Retrieve input as a boolean value.
+ *
+ * Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false.
+ *
+ * @param string|null $key
+ * @param bool $default
+ * @return bool
+ */
+ public function boolean($key = null, $default = false)
+ {
+ return filter_var($this->input($key, $default), FILTER_VALIDATE_BOOLEAN);
+ }
+
+ /**
+ * Retrieve input as an integer value.
+ *
+ * @param string $key
+ * @param int $default
+ * @return int
+ */
+ public function integer($key, $default = 0)
+ {
+ return intval($this->input($key, $default));
+ }
+
+ /**
+ * Retrieve input as a float value.
+ *
+ * @param string $key
+ * @param float $default
+ * @return float
+ */
+ public function float($key, $default = 0.0)
+ {
+ return floatval($this->input($key, $default));
+ }
+
+ /**
+ * Retrieve input from the validated input as a Carbon instance.
+ *
+ * @param string $key
+ * @param string|null $format
+ * @param string|null $tz
+ * @return \Illuminate\Support\Carbon|null
+ *
+ * @throws \Carbon\Exceptions\InvalidFormatException
+ */
+ public function date($key, $format = null, $tz = null)
+ {
+ if ($this->isNotFilled($key)) {
+ return null;
+ }
+
+ if (is_null($format)) {
+ return Date::parse($this->input($key), $tz);
+ }
+
+ return Date::createFromFormat($format, $this->input($key), $tz);
+ }
+
+ /**
+ * Retrieve input from the validated input as an enum.
+ *
+ * @template TEnum
+ *
+ * @param string $key
+ * @param class-string $enumClass
+ * @return TEnum|null
+ */
+ public function enum($key, $enumClass)
+ {
+ if ($this->isNotFilled($key) ||
+ ! enum_exists($enumClass) ||
+ ! method_exists($enumClass, 'tryFrom')) {
+ return null;
+ }
+
+ return $enumClass::tryFrom($this->input($key));
+ }
+
/**
* Get a subset containing the provided keys with values from the input data.
*
@@ -67,7 +357,7 @@ public function only($keys)
{
$results = [];
- $input = $this->input;
+ $input = $this->all();
$placeholder = new stdClass;
@@ -92,7 +382,7 @@ public function except($keys)
{
$keys = is_array($keys) ? $keys : func_get_args();
- $results = $this->input;
+ $results = $this->all();
Arr::forget($results, $keys);
@@ -107,17 +397,18 @@ public function except($keys)
*/
public function merge(array $items)
{
- return new static(array_merge($this->input, $items));
+ return new static(array_merge($this->all(), $items));
}
/**
* Get the input as a collection.
*
+ * @param array|string|null $key
* @return \Illuminate\Support\Collection
*/
- public function collect()
+ public function collect($key = null)
{
- return new Collection($this->input);
+ return collect(is_array($key) ? $this->only($key) : $this->input($key));
}
/**
@@ -130,6 +421,34 @@ public function all()
return $this->input;
}
+ /**
+ * Dump the validated input items and end the script.
+ *
+ * @param mixed ...$keys
+ * @return never
+ */
+ public function dd(...$keys)
+ {
+ $this->dump(...$keys);
+
+ exit(1);
+ }
+
+ /**
+ * Dump the items.
+ *
+ * @param mixed $keys
+ * @return $this
+ */
+ public function dump($keys = [])
+ {
+ $keys = is_array($keys) ? $keys : func_get_args();
+
+ VarDumper::dump(count($keys) > 0 ? $this->only($keys) : $this->all());
+
+ return $this;
+ }
+
/**
* Get the instance as an array.
*
@@ -148,7 +467,7 @@ public function toArray()
*/
public function __get($name)
{
- return $this->input[$name];
+ return $this->input($name);
}
/**
@@ -164,17 +483,17 @@ public function __set($name, $value)
}
/**
- * Determine if an input key is set.
+ * Determine if an input item is set.
*
* @return bool
*/
public function __isset($name)
{
- return isset($this->input[$name]);
+ return $this->exists($name);
}
/**
- * Remove an input key.
+ * Remove an input item.
*
* @param string $name
* @return void
@@ -192,7 +511,7 @@ public function __unset($name)
*/
public function offsetExists($key): bool
{
- return isset($this->input[$key]);
+ return $this->exists($key);
}
/**
@@ -203,7 +522,7 @@ public function offsetExists($key): bool
*/
public function offsetGet($key): mixed
{
- return $this->input[$key];
+ return $this->input($key);
}
/**
diff --git a/vendor/laravel/framework/src/Illuminate/Support/helpers.php b/vendor/laravel/framework/src/Illuminate/Support/helpers.php
index be59c1fe..deaa7945 100644
--- a/vendor/laravel/framework/src/Illuminate/Support/helpers.php
+++ b/vendor/laravel/framework/src/Illuminate/Support/helpers.php
@@ -60,6 +60,10 @@ function blank($value)
return count($value) === 0;
}
+ if ($value instanceof Stringable) {
+ return trim((string) $value) === '';
+ }
+
return empty($value);
}
}
@@ -106,7 +110,7 @@ function class_uses_recursive($class)
/**
* Encode HTML special characters in a string.
*
- * @param \Illuminate\Contracts\Support\DeferringDisplayableValue|\Illuminate\Contracts\Support\Htmlable|\BackedEnum|string|null $value
+ * @param \Illuminate\Contracts\Support\DeferringDisplayableValue|\Illuminate\Contracts\Support\Htmlable|\BackedEnum|string|int|float|null $value
* @param bool $doubleEncode
* @return string
*/
diff --git a/vendor/laravel/framework/src/Illuminate/Testing/Concerns/RunsInParallel.php b/vendor/laravel/framework/src/Illuminate/Testing/Concerns/RunsInParallel.php
index 4a6c475a..66750434 100644
--- a/vendor/laravel/framework/src/Illuminate/Testing/Concerns/RunsInParallel.php
+++ b/vendor/laravel/framework/src/Illuminate/Testing/Concerns/RunsInParallel.php
@@ -121,9 +121,7 @@ public function execute(): int
});
}
- return $potentialExitCode === null
- ? $this->getExitCode()
- : $potentialExitCode;
+ return $potentialExitCode ?? $this->getExitCode();
}
/**
diff --git a/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php b/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php
index d0f5335e..20e76008 100644
--- a/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php
+++ b/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php
@@ -761,7 +761,7 @@ protected function failsRatioCheck($parameters, $width, $height)
[1, 1], array_filter(sscanf($parameters['ratio'], '%f/%d'))
);
- $precision = 1 / (max($width, $height) + 1);
+ $precision = 1 / (max(($width + $height) / 2, $height) + 1);
return abs($numerator / $denominator - $width / $height) > $precision;
}
@@ -1460,7 +1460,7 @@ public function validateJson($attribute, $value)
}
/**
- * Validate the size of an attribute is less than a maximum value.
+ * Validate the size of an attribute is less than or equal to a maximum value.
*
* @param string $attribute
* @param mixed $value
@@ -1566,7 +1566,7 @@ protected function shouldBlockPhpUpload($value, $parameters)
}
/**
- * Validate the size of an attribute is greater than a minimum value.
+ * Validate the size of an attribute is greater than or equal to a minimum value.
*
* @param string $attribute
* @param mixed $value
diff --git a/vendor/laravel/framework/src/Illuminate/Validation/Rule.php b/vendor/laravel/framework/src/Illuminate/Validation/Rule.php
index a2aa467e..35a38040 100644
--- a/vendor/laravel/framework/src/Illuminate/Validation/Rule.php
+++ b/vendor/laravel/framework/src/Illuminate/Validation/Rule.php
@@ -4,6 +4,7 @@
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Support\Traits\Macroable;
+use Illuminate\Validation\Rules\ArrayRule;
use Illuminate\Validation\Rules\Can;
use Illuminate\Validation\Rules\Dimensions;
use Illuminate\Validation\Rules\Enum;
@@ -59,6 +60,17 @@ public static function unless($condition, $rules, $defaultRules = [])
return new ConditionalRules($condition, $defaultRules, $rules);
}
+ /**
+ * Get an array rule builder instance.
+ *
+ * @param array|null $keys
+ * @return \Illuminate\Validation\ArrayRule
+ */
+ public static function array($keys = null)
+ {
+ return new ArrayRule(...func_get_args());
+ }
+
/**
* Create a new nested rule set.
*
@@ -95,7 +107,7 @@ public static function exists($table, $column = 'NULL')
}
/**
- * Get an in constraint builder instance.
+ * Get an in rule builder instance.
*
* @param \Illuminate\Contracts\Support\Arrayable|\BackedEnum|\UnitEnum|array|string $values
* @return \Illuminate\Validation\Rules\In
@@ -110,7 +122,7 @@ public static function in($values)
}
/**
- * Get a not_in constraint builder instance.
+ * Get a not_in rule builder instance.
*
* @param \Illuminate\Contracts\Support\Arrayable|\BackedEnum|\UnitEnum|array|string $values
* @return \Illuminate\Validation\Rules\NotIn
@@ -125,7 +137,7 @@ public static function notIn($values)
}
/**
- * Get a required_if constraint builder instance.
+ * Get a required_if rule builder instance.
*
* @param callable|bool $callback
* @return \Illuminate\Validation\Rules\RequiredIf
@@ -136,7 +148,7 @@ public static function requiredIf($callback)
}
/**
- * Get a exclude_if constraint builder instance.
+ * Get a exclude_if rule builder instance.
*
* @param callable|bool $callback
* @return \Illuminate\Validation\Rules\ExcludeIf
@@ -147,7 +159,7 @@ public static function excludeIf($callback)
}
/**
- * Get a prohibited_if constraint builder instance.
+ * Get a prohibited_if rule builder instance.
*
* @param callable|bool $callback
* @return \Illuminate\Validation\Rules\ProhibitedIf
@@ -158,7 +170,7 @@ public static function prohibitedIf($callback)
}
/**
- * Get an enum constraint builder instance.
+ * Get an enum rule builder instance.
*
* @param class-string $type
* @return \Illuminate\Validation\Rules\Enum
@@ -169,7 +181,7 @@ public static function enum($type)
}
/**
- * Get a file constraint builder instance.
+ * Get a file rule builder instance.
*
* @return \Illuminate\Validation\Rules\File
*/
@@ -179,7 +191,7 @@ public static function file()
}
/**
- * Get an image file constraint builder instance.
+ * Get an image file rule builder instance.
*
* @return \Illuminate\Validation\Rules\ImageFile
*/
@@ -189,7 +201,7 @@ public static function imageFile()
}
/**
- * Get a dimensions constraint builder instance.
+ * Get a dimensions rule builder instance.
*
* @param array $constraints
* @return \Illuminate\Validation\Rules\Dimensions
diff --git a/vendor/orchestra/testbench-core/laravel/config/mail.php b/vendor/orchestra/testbench-core/laravel/config/mail.php
index a4b9780e..a3be42c1 100644
--- a/vendor/orchestra/testbench-core/laravel/config/mail.php
+++ b/vendor/orchestra/testbench-core/laravel/config/mail.php
@@ -30,7 +30,8 @@
| your mailers below. You may also add additional mailers if needed.
|
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
- | "postmark", "log", "array", "failover", "roundrobin"
+ | "postmark", "resend", "log", "array",
+ | "failover", "roundrobin"
|
*/
@@ -60,6 +61,10 @@
// ],
],
+ 'resend' => [
+ 'transport' => 'resend',
+ ],
+
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
diff --git a/vendor/psr/http-factory/composer.json b/vendor/psr/http-factory/composer.json
index d1bbddee..82a1d326 100644
--- a/vendor/psr/http-factory/composer.json
+++ b/vendor/psr/http-factory/composer.json
@@ -1,6 +1,6 @@
{
"name": "psr/http-factory",
- "description": "Common interfaces for PSR-7 HTTP message factories",
+ "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"psr",
"psr-7",
@@ -18,8 +18,11 @@
"homepage": "https://www.php-fig.org/"
}
],
+ "support": {
+ "source": "https://github.com/php-fig/http-factory"
+ },
"require": {
- "php": ">=7.0.0",
+ "php": ">=7.1",
"psr/http-message": "^1.0 || ^2.0"
},
"autoload": {
diff --git a/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php b/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php
index 7db4e30a..d7adbf0e 100644
--- a/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php
+++ b/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php
@@ -15,10 +15,10 @@ interface UploadedFileFactoryInterface
*
* @param StreamInterface $stream Underlying stream representing the
* uploaded file content.
- * @param int $size in bytes
+ * @param int|null $size in bytes
* @param int $error PHP file upload error
- * @param string $clientFilename Filename as provided by the client, if any.
- * @param string $clientMediaType Media type as provided by the client, if any.
+ * @param string|null $clientFilename Filename as provided by the client, if any.
+ * @param string|null $clientMediaType Media type as provided by the client, if any.
*
* @return UploadedFileInterface
*
@@ -26,9 +26,9 @@ interface UploadedFileFactoryInterface
*/
public function createUploadedFile(
StreamInterface $stream,
- int $size = null,
+ ?int $size = null,
int $error = \UPLOAD_ERR_OK,
- string $clientFilename = null,
- string $clientMediaType = null
+ ?string $clientFilename = null,
+ ?string $clientMediaType = null
): UploadedFileInterface;
}
diff --git a/workbench/app/Models/.gitkeep b/workbench/app/Models/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/workbench/app/Providers/WorkbenchServiceProvider.php b/workbench/app/Providers/WorkbenchServiceProvider.php
new file mode 100644
index 00000000..e8cec9c2
--- /dev/null
+++ b/workbench/app/Providers/WorkbenchServiceProvider.php
@@ -0,0 +1,24 @@
+comment(Inspiring::quote());
+})->purpose('Display an inspiring quote')->hourly();
diff --git a/workbench/routes/web.php b/workbench/routes/web.php
new file mode 100644
index 00000000..86a06c53
--- /dev/null
+++ b/workbench/routes/web.php
@@ -0,0 +1,7 @@
+