diff --git a/README.md b/README.md index c19f9b7..c943788 100644 --- a/README.md +++ b/README.md @@ -1,302 +1,77 @@ -# Filament Spatie Translatable Plugin +

+ +

-## Introduction - -This repository is a fork of the [Filament Spatie Laravel Translatable plugin](https://github.com/filamentphp/spatie-laravel-translatable-plugin), maintained by [Mohamed Sabil](https://github.com/mohamedsabil83) and [Lara Zeus](https://github.com/lara-zeus). - -Our objective is to address existing issues, introduce additional features, and enhance the overall functionality of the plugin. - -We are committed to providing ongoing improvements and welcome contributions and suggestions from the community. - -## Installation - -First add this repo URL to your composer: - -```json -"repositories": [ - { - "type": "github", - "url": "https://github.com/lara-zeus/translatable" - }, -] -``` - -and make sure your minimum stability is set to dev: - -```json -"minimum-stability": "dev", -``` - -Then Install the plugin with Composer: - -```bash -composer require filament/spatie-laravel-translatable-plugin:"^3.2" -W -``` - -## Adding the plugin to a panel - -To add a plugin to a panel, you must include it in the configuration file using the `plugin()` method: - -```php -use Filament\SpatieLaravelTranslatablePlugin; - -public function panel(Panel $panel): Panel -{ - return $panel - // ... - ->plugin(SpatieLaravelTranslatablePlugin::make()); -} -``` - -## Setting the default translatable locales - -To set up the locales that can be used to translate content, you can pass an array of locales to the `defaultLocales()` plugin method: - -```php -use Filament\SpatieLaravelTranslatablePlugin; +

Lara Zeus Translatable is Filament support for Spatie's Laravel Translatable package.

-public function panel(Panel $panel): Panel -{ - return $panel - // ... - ->plugin( - SpatieLaravelTranslatablePlugin::make() - ->defaultLocales(['en', 'es']), - ); -} -``` +## Support Filament -## Preparing your model class + +filament-logo + -You need to make your model translatable. You can read how to do this in [Spatie's documentation](https://spatie.be/docs/laravel-translatable/installation-setup#content-making-a-model-translatable). - -## Preparing your resource class - -You must apply the `Filament\Resources\Concerns\Translatable` trait to your resource class: - -```php -use Filament\Resources\Concerns\Translatable; -use Filament\Resources\Resource; - -class BlogPostResource extends Resource -{ - use Translatable; - - // ... -} -``` - -## Making resource pages translatable - -After [preparing your resource class](#preparing-your-resource-class), you must make each of your resource's pages translatable too. You can find your resource's pages in the `Pages` directory of each resource folder. To prepare a page, you must apply the corresponding `Translatable` trait to it, and install a `LocaleSwitcher` header action: - -```php -use Filament\Actions; -use Filament\Resources\Pages\ListRecords; - -class ListBlogPosts extends ListRecords -{ - use ListRecords\Concerns\Translatable; - - protected function getHeaderActions(): array - { - return [ - Actions\LocaleSwitcher::make(), - // ... - ]; - } - - // ... -} -``` - -```php -use Filament\Actions; -use Filament\Resources\Pages\CreateRecord; - -class CreateBlogPost extends CreateRecord -{ - use CreateRecord\Concerns\Translatable; - - protected function getHeaderActions(): array - { - return [ - Actions\LocaleSwitcher::make(), - // ... - ]; - } - - // ... -} -``` - -```php -use Filament\Actions; -use Filament\Resources\Pages\EditRecord; - -class EditBlogPost extends EditRecord -{ - use EditRecord\Concerns\Translatable; - - protected function getHeaderActions(): array - { - return [ - Actions\LocaleSwitcher::make(), - // ... - ]; - } - - // ... -} -``` - -And if you have a `ViewRecord` page for your resource: - -```php -use Filament\Actions; -use Filament\Resources\Pages\ViewRecord; - -class ViewBlogPost extends ViewRecord -{ - use ViewRecord\Concerns\Translatable; - - protected function getHeaderActions(): array - { - return [ - Actions\LocaleSwitcher::make(), - // ... - ]; - } - - // ... -} -``` - -If you're using a simple resource, you can make the `ManageRecords` page translatable instead: +## Introduction -```php -use Filament\Actions; -use Filament\Resources\Pages\ManageRecords; +This repository is a fork of the [Filament Spatie Laravel Translatable plugin](https://github.com/filamentphp/spatie-laravel-translatable-plugin), maintained by [Mohamed Sabil](https://github.com/mohamedsabil83) and [Lara Zeus](https://github.com/lara-zeus). -class ManageBlogPosts extends ListRecords -{ - use ManageRecords\Concerns\Translatable; - - protected function getHeaderActions(): array - { - return [ - Actions\LocaleSwitcher::make(), - // ... - ]; - } - - // ... -} -``` +Our objective is to address existing issues, introduce additional features, and enhance the overall functionality of the plugin. -### Setting the translatable locales for a particular resource +We are committed to providing ongoing improvements and welcome contributions and suggestions from the community. -By default, the translatable locales can be [set globally for all resources in the plugin configuration](#setting-the-default-translatable-locales). Alternatively, you can customize the translatable locales for a particular resource by overriding the `getTranslatableLocales()` method in your resource class: +## Features -```php -use Filament\Resources\Concerns\Translatable; -use Filament\Resources\Resource; +- 🔥 Using Spatie translatable package +- 🔥 default translatable locales +- 🔥 Locale Switcher +- 🔥 Support for create, edit, list and view pages +- 🔥 Setting the translatable locales for a particular resource +- 🔥 Translating relation managers -class BlogPostResource extends Resource -{ - use Translatable; - - // ... - - public static function getTranslatableLocales(): array - { - return ['en', 'fr']; - } -} -``` +## Full Documentation -## Translating relation managers +> Visit our website to get the complete documentation: https://larazeus.com/docs/translatable -First, you must apply the `Filament\Resources\RelationManagers\Concerns\Translatable` trait to the relation manager class: +### Important Note on Using the Local Switcher -```php -use Filament\Resources\RelationManagers\Concerns\Translatable; -use Filament\Resources\RelationManagers\RelationManager; +Please be aware that there are some known limitations when using the local switcher with certain complex field types. -class BlogPostsRelationManager extends RelationManager -{ - use Translatable; - - // ... -} -``` +To avoid potential issues, we recommend disabling the local switcher and using the specified field types instead. -Now, you can add a new `LocaleSwitcher` action to the header of the relation manager's `table()`: +#### Available Components for Translatable Fields: -```php -use Filament\Tables; -use Filament\Tables\Table; +* https://filamentphp.com/plugins/solution-forest-translate-field +* https://filamentphp.com/plugins/mvenghaus-translatable-inline +* https://filamentphp.com/plugins/outerweb-translatable-fields +* https://filamentphp.com/plugins/34ml-translatable-field -public function table(Table $table): Table -{ - return $table - ->columns([ - // ... - ]) - ->headerActions([ - // ... - Tables\Actions\LocaleSwitcher::make(), - ]); -} -``` +You can also create your own custom fields. Please refer to the following example: -### Inheriting the relation manager's active locale from the resource page +* https://github.com/lara-zeus/chaos/blob/1.x/src/Forms/Components/MultiLang.php -If you wish to reactively inherit the locale of the `Translatable` resource page that the relation manager is being displayed on, you can override the `$activeLocale` property and add Livewire's `Reactive` attribute to it: +## Changelog -```php -use Filament\Resources\RelationManagers\Concerns\Translatable; -use Filament\Resources\RelationManagers\RelationManager; -use Livewire\Attributes\Reactive; +Please see [CHANGELOG](CHANGELOG.md) for more information on recent changes. -class BlogPostsRelationManager extends RelationManager -{ - use Translatable; - - #[Reactive] - public ?string $activeLocale = null; - - // ... -} -``` +## Support +available support channels: +* open an issue on [GitHub](https://github.com/lara-zeus/translatable/issues) +* Email us using the [contact center](https://larazeus.com/contact-us) -If you do this, you no longer need a `LocaleSwitcher` action in the `table()`. +## Contributing -### Setting the translatable locales for a particular relation manager +Please see [CONTRIBUTING](CONTRIBUTING.md) for details. -By default, the translatable locales can be [set globally for all relation managers in the plugin configuration](#setting-the-default-translatable-locales). Alternatively, you can customize the translatable locales for a particular relation manager by overriding the `getTranslatableLocales()` method in your relation manager class: +## Security -```php -use Filament\Resources\RelationManagers\Concerns\Translatable; -use Filament\Resources\RelationManagers\RelationManager; +If you find any security-related issues, please email info@larazeus.com instead of using the issue tracker. -class BlogPostsRelationManager extends RelationManager -{ - use Translatable; - - // ... - - public function getTranslatableLocales(): array - { - return ['en', 'fr']; - } -} -``` +## Credits -## Publishing translations +- [Dan Harrin](https://github.com/danharrin) +- [php coder](https://github.com/atmonshi) +- [Mohamed Sabil](https://github.com/mohamedsabil83) +- [All Contributors](../../contributors) -If you wish to translate the package, you may publish the language files using: +## License -```bash -php artisan vendor:publish --tag=filament-spatie-laravel-translatable-plugin-translations -``` +The MIT License (MIT). Please have a look at [License File](LICENSE.md) for more information. diff --git a/composer.lock b/composer.lock index bc626d2..eb7cdf0 100644 --- a/composer.lock +++ b/composer.lock @@ -353,16 +353,16 @@ }, { "name": "danharrin/date-format-converter", - "version": "v0.3.0", + "version": "v0.3.1", "source": { "type": "git", "url": "https://github.com/danharrin/date-format-converter.git", - "reference": "42b6ddc52059d4ba228a67c15adaaa0c039e75f2" + "reference": "7c31171bc981e48726729a5f3a05a2d2b63f0b1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/danharrin/date-format-converter/zipball/42b6ddc52059d4ba228a67c15adaaa0c039e75f2", - "reference": "42b6ddc52059d4ba228a67c15adaaa0c039e75f2", + "url": "https://api.github.com/repos/danharrin/date-format-converter/zipball/7c31171bc981e48726729a5f3a05a2d2b63f0b1e", + "reference": "7c31171bc981e48726729a5f3a05a2d2b63f0b1e", "shasum": "" }, "require": { @@ -400,7 +400,7 @@ "type": "github" } ], - "time": "2022-09-29T07:48:20+00:00" + "time": "2024-06-13T09:38:44+00:00" }, { "name": "danharrin/livewire-rate-limiting", @@ -626,16 +626,16 @@ }, { "name": "doctrine/dbal", - "version": "3.8.4", + "version": "3.8.6", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "b05e48a745f722801f55408d0dbd8003b403dbbd" + "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/b05e48a745f722801f55408d0dbd8003b403dbbd", - "reference": "b05e48a745f722801f55408d0dbd8003b403dbbd", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/b7411825cf7efb7e51f9791dea19d86e43b399a1", + "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1", "shasum": "" }, "require": { @@ -651,12 +651,12 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.58", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.16", + "phpstan/phpstan": "1.11.5", + "phpstan/phpstan-strict-rules": "^1.6", + "phpunit/phpunit": "9.6.19", "psalm/plugin-phpunit": "0.18.4", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.9.0", + "squizlabs/php_codesniffer": "3.10.1", "symfony/cache": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" @@ -719,7 +719,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.4" + "source": "https://github.com/doctrine/dbal/tree/3.8.6" }, "funding": [ { @@ -735,7 +735,7 @@ "type": "tidelift" } ], - "time": "2024-04-25T07:04:44+00:00" + "time": "2024-06-19T10:38:17+00:00" }, { "name": "doctrine/deprecations", @@ -786,16 +786,16 @@ }, { "name": "doctrine/event-manager", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", "shasum": "" }, "require": { @@ -805,10 +805,10 @@ "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^10", + "doctrine/coding-standard": "^12", "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^4.28" + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, "type": "library", "autoload": { @@ -857,7 +857,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.0" + "source": "https://github.com/doctrine/event-manager/tree/2.0.1" }, "funding": [ { @@ -873,7 +873,7 @@ "type": "tidelift" } ], - "time": "2022-10-12T20:59:15+00:00" + "time": "2024-05-22T20:47:39+00:00" }, { "name": "doctrine/inflector", @@ -1173,16 +1173,16 @@ }, { "name": "filament/actions", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "6af240f3bcd6fca42e07d7bc96e13b4c9bc51742" + "reference": "c8488bd6c5488818788a41c88c5c1cd0f6f7cb78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/6af240f3bcd6fca42e07d7bc96e13b4c9bc51742", - "reference": "6af240f3bcd6fca42e07d7bc96e13b4c9bc51742", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/c8488bd6c5488818788a41c88c5c1cd0f6f7cb78", + "reference": "c8488bd6c5488818788a41c88c5c1cd0f6f7cb78", "shasum": "" }, "require": { @@ -1222,20 +1222,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-16T11:11:35+00:00" + "time": "2024-06-18T06:31:25+00:00" }, { "name": "filament/filament", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "8d39d3341dcc52004f557b6ef7834eff5fa16b94" + "reference": "04c7626d81180715a9b9e03f566a5ca66e0b4e51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/8d39d3341dcc52004f557b6ef7834eff5fa16b94", - "reference": "8d39d3341dcc52004f557b6ef7834eff5fa16b94", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/04c7626d81180715a9b9e03f566a5ca66e0b4e51", + "reference": "04c7626d81180715a9b9e03f566a5ca66e0b4e51", "shasum": "" }, "require": { @@ -1287,20 +1287,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-16T11:11:55+00:00" + "time": "2024-06-18T06:31:31+00:00" }, { "name": "filament/forms", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "33e47cc1b5fdc281d16b0fe122b692c62f66f20f" + "reference": "76e8fe7fe8b20f9818aa91d022338575207f03ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/33e47cc1b5fdc281d16b0fe122b692c62f66f20f", - "reference": "33e47cc1b5fdc281d16b0fe122b692c62f66f20f", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/76e8fe7fe8b20f9818aa91d022338575207f03ea", + "reference": "76e8fe7fe8b20f9818aa91d022338575207f03ea", "shasum": "" }, "require": { @@ -1343,20 +1343,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-16T11:11:35+00:00" + "time": "2024-06-18T06:31:19+00:00" }, { "name": "filament/infolists", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "214c92c446277bb6599758a29ad885e79b11e6b0" + "reference": "59909a1206fb9961f7bd3ceb993b7e7a0c4d2215" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/214c92c446277bb6599758a29ad885e79b11e6b0", - "reference": "214c92c446277bb6599758a29ad885e79b11e6b0", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/59909a1206fb9961f7bd3ceb993b7e7a0c4d2215", + "reference": "59909a1206fb9961f7bd3ceb993b7e7a0c4d2215", "shasum": "" }, "require": { @@ -1394,20 +1394,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-16T11:11:37+00:00" + "time": "2024-06-13T07:04:01+00:00" }, { "name": "filament/notifications", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", - "reference": "646ed10673b03144ff8341a6c42bea04f6443b81" + "reference": "a78b0be5e5b2a598e65ba62ae5cfbb3d464f6bbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/notifications/zipball/646ed10673b03144ff8341a6c42bea04f6443b81", - "reference": "646ed10673b03144ff8341a6c42bea04f6443b81", + "url": "https://api.github.com/repos/filamentphp/notifications/zipball/a78b0be5e5b2a598e65ba62ae5cfbb3d464f6bbb", + "reference": "a78b0be5e5b2a598e65ba62ae5cfbb3d464f6bbb", "shasum": "" }, "require": { @@ -1446,20 +1446,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-08T16:21:24+00:00" + "time": "2024-05-30T12:37:03+00:00" }, { "name": "filament/support", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "b49a62028f77a4b7daf5b4caad5d933665cc995a" + "reference": "852ec3783349d799141c302a4944d5303ece985d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/b49a62028f77a4b7daf5b4caad5d933665cc995a", - "reference": "b49a62028f77a4b7daf5b4caad5d933665cc995a", + "url": "https://api.github.com/repos/filamentphp/support/zipball/852ec3783349d799141c302a4944d5303ece985d", + "reference": "852ec3783349d799141c302a4944d5303ece985d", "shasum": "" }, "require": { @@ -1504,20 +1504,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-13T11:05:17+00:00" + "time": "2024-06-14T10:24:22+00:00" }, { "name": "filament/tables", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "a29ff953263c6fe2a3fb3947453a219720d74c09" + "reference": "34ea607f95e45d0bf9580d47294a179b1457e0e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/a29ff953263c6fe2a3fb3947453a219720d74c09", - "reference": "a29ff953263c6fe2a3fb3947453a219720d74c09", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/34ea607f95e45d0bf9580d47294a179b1457e0e6", + "reference": "34ea607f95e45d0bf9580d47294a179b1457e0e6", "shasum": "" }, "require": { @@ -1557,20 +1557,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-16T11:12:19+00:00" + "time": "2024-06-13T07:04:15+00:00" }, { "name": "filament/widgets", - "version": "v3.2.80", + "version": "v3.2.92", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "e3339bf0f4302c7c81942a9862ed112ea4c04aa5" + "reference": "0253f4312909a17e2d80b70021daae3f1659e7da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/e3339bf0f4302c7c81942a9862ed112ea4c04aa5", - "reference": "e3339bf0f4302c7c81942a9862ed112ea4c04aa5", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/0253f4312909a17e2d80b70021daae3f1659e7da", + "reference": "0253f4312909a17e2d80b70021daae3f1659e7da", "shasum": "" }, "require": { @@ -1601,7 +1601,7 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-05-16T11:12:32+00:00" + "time": "2024-06-05T09:38:52+00:00" }, { "name": "fruitcake/php-cors", @@ -1886,16 +1886,16 @@ }, { "name": "laravel/framework", - "version": "v10.48.10", + "version": "v10.48.14", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "91e2b9e218afa4e5c377510faa11957042831ba3" + "reference": "27cb4736bb7e60a5311ec73160068dfbcf98336b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/91e2b9e218afa4e5c377510faa11957042831ba3", - "reference": "91e2b9e218afa4e5c377510faa11957042831ba3", + "url": "https://api.github.com/repos/laravel/framework/zipball/27cb4736bb7e60a5311ec73160068dfbcf98336b", + "reference": "27cb4736bb7e60a5311ec73160068dfbcf98336b", "shasum": "" }, "require": { @@ -2089,20 +2089,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-04-30T12:52:59+00:00" + "time": "2024-06-21T10:06:42+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.21", + "version": "v0.1.24", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "23ea808e8a145653e0ab29e30d4385e49f40a920" + "reference": "409b0b4305273472f3754826e68f4edbd0150149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/23ea808e8a145653e0ab29e30d4385e49f40a920", - "reference": "23ea808e8a145653e0ab29e30d4385e49f40a920", + "url": "https://api.github.com/repos/laravel/prompts/zipball/409b0b4305273472f3754826e68f4edbd0150149", + "reference": "409b0b4305273472f3754826e68f4edbd0150149", "shasum": "" }, "require": { @@ -2145,9 +2145,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.21" + "source": "https://github.com/laravel/prompts/tree/v0.1.24" }, - "time": "2024-04-30T12:46:16+00:00" + "time": "2024-06-17T13:58:22+00:00" }, { "name": "laravel/serializable-closure", @@ -2399,40 +2399,39 @@ }, { "name": "league/csv", - "version": "9.15.0", + "version": "9.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435" + "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/fa7e2441c0bc9b2360f4314fd6c954f7ff40d435", - "reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/998280c6c34bd67d8125fdc8b45bae28d761b440", + "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440", "shasum": "" }, "require": { "ext-filter": "*", - "ext-json": "*", - "ext-mbstring": "*", "php": "^8.1.2" }, "require-dev": { - "doctrine/collections": "^2.1.4", + "doctrine/collections": "^2.2.2", "ext-dom": "*", "ext-xdebug": "*", - "friendsofphp/php-cs-fixer": "^v3.22.0", + "friendsofphp/php-cs-fixer": "^3.57.1", "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.10.57", - "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "phpunit/phpunit": "^10.5.9", - "symfony/var-dumper": "^6.4.2" + "phpstan/phpstan": "^1.11.1", + "phpstan/phpstan-deprecation-rules": "^1.2.0", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.0", + "phpunit/phpunit": "^10.5.16 || ^11.1.3", + "symfony/var-dumper": "^6.4.6 || ^7.0.7" }, "suggest": { "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", - "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" + "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters", + "ext-mbstring": "Needed to ease transcoding CSV using mb stream filters" }, "type": "library", "extra": { @@ -2484,20 +2483,20 @@ "type": "github" } ], - "time": "2024-02-20T20:00:00+00:00" + "time": "2024-05-24T11:04:54+00:00" }, { "name": "league/flysystem", - "version": "3.27.0", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "4729745b1ab737908c7d055148c9a6b3e959832f" + "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4729745b1ab737908c7d055148c9a6b3e959832f", - "reference": "4729745b1ab737908c7d055148c9a6b3e959832f", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", + "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", "shasum": "" }, "require": { @@ -2521,10 +2520,13 @@ "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", + "ext-mongodb": "^1.3", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2", "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", @@ -2562,32 +2564,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.27.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2024-04-07T19:17:50+00:00" + "time": "2024-05-22T10:09:12+00:00" }, { "name": "league/flysystem-local", - "version": "3.25.1", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92" + "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/61a6a90d6e999e4ddd9ce5adb356de0939060b92", - "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", + "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", "shasum": "" }, "require": { @@ -2621,19 +2613,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.25.1" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2024-03-15T19:58:44+00:00" + "time": "2024-05-06T20:05:52+00:00" }, { "name": "league/mime-type-detection", @@ -2867,16 +2849,16 @@ }, { "name": "livewire/livewire", - "version": "v3.4.12", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "54dd265c17f7b5200627eb9690590e7cbbad1027" + "reference": "da044261bb5c5449397f18fda3409f14acf47c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/54dd265c17f7b5200627eb9690590e7cbbad1027", - "reference": "54dd265c17f7b5200627eb9690590e7cbbad1027", + "url": "https://api.github.com/repos/livewire/livewire/zipball/da044261bb5c5449397f18fda3409f14acf47c0a", + "reference": "da044261bb5c5449397f18fda3409f14acf47c0a", "shasum": "" }, "require": { @@ -2931,7 +2913,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.4.12" + "source": "https://github.com/livewire/livewire/tree/v3.5.1" }, "funding": [ { @@ -2939,7 +2921,7 @@ "type": "github" } ], - "time": "2024-05-02T17:10:37+00:00" + "time": "2024-06-18T11:10:42+00:00" }, { "name": "masterminds/html5", @@ -3111,16 +3093,16 @@ }, { "name": "nesbot/carbon", - "version": "2.72.3", + "version": "2.72.5", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", "shasum": "" }, "require": { @@ -3154,8 +3136,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ @@ -3214,7 +3196,7 @@ "type": "tidelift" } ], - "time": "2024-01-25T10:35:09+00:00" + "time": "2024-06-03T19:18:41+00:00" }, { "name": "nette/schema", @@ -3452,16 +3434,16 @@ }, { "name": "openspout/openspout", - "version": "v4.24.0", + "version": "v4.24.2", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "51f2a627d4cdcdb06eb451c6f434daeb190c4afb" + "reference": "24272c1f7d073cc64fa3ecc2a863dc5d13be33a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/51f2a627d4cdcdb06eb451c6f434daeb190c4afb", - "reference": "51f2a627d4cdcdb06eb451c6f434daeb190c4afb", + "url": "https://api.github.com/repos/openspout/openspout/zipball/24272c1f7d073cc64fa3ecc2a863dc5d13be33a8", + "reference": "24272c1f7d073cc64fa3ecc2a863dc5d13be33a8", "shasum": "" }, "require": { @@ -3475,13 +3457,13 @@ }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.56.0", - "infection/infection": "^0.28.1", + "friendsofphp/php-cs-fixer": "^3.59.3", + "infection/infection": "^0.29.5", "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.10.67", - "phpstan/phpstan-phpunit": "^1.3.16", - "phpstan/phpstan-strict-rules": "^1.5.5", - "phpunit/phpunit": "^10.5.20" + "phpstan/phpstan": "^1.11.4", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.0", + "phpunit/phpunit": "^10.5.20 || ^11.2.2" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -3529,7 +3511,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.24.0" + "source": "https://github.com/openspout/openspout/tree/v4.24.2" }, "funding": [ { @@ -3541,7 +3523,7 @@ "type": "github" } ], - "time": "2024-05-10T09:06:16+00:00" + "time": "2024-06-17T08:53:37+00:00" }, { "name": "phpoption/phpoption", @@ -4548,16 +4530,16 @@ }, { "name": "symfony/console", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f" + "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", - "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", + "url": "https://api.github.com/repos/symfony/console/zipball/be5854cee0e8c7b110f00d695d11debdfa1a2a91", + "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91", "shasum": "" }, "require": { @@ -4622,7 +4604,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.7" + "source": "https://github.com/symfony/console/tree/v6.4.8" }, "funding": [ { @@ -4638,20 +4620,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/css-selector", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc" + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc", - "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", "shasum": "" }, "require": { @@ -4687,7 +4669,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.0.7" + "source": "https://github.com/symfony/css-selector/tree/v7.1.1" }, "funding": [ { @@ -4703,7 +4685,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4774,16 +4756,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "667a072466c6a53827ed7b119af93806b884cbb3" + "reference": "ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/667a072466c6a53827ed7b119af93806b884cbb3", - "reference": "667a072466c6a53827ed7b119af93806b884cbb3", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc", + "reference": "ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc", "shasum": "" }, "require": { @@ -4829,7 +4811,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.7" + "source": "https://github.com/symfony/error-handler/tree/v6.4.8" }, "funding": [ { @@ -4845,20 +4827,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9" + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db2a7fab994d67d92356bb39c367db115d9d30f9", - "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", "shasum": "" }, "require": { @@ -4909,7 +4891,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.7" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" }, "funding": [ { @@ -4925,7 +4907,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5005,16 +4987,16 @@ }, { "name": "symfony/finder", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "511c48990be17358c23bf45c5d71ab85d40fb764" + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/511c48990be17358c23bf45c5d71ab85d40fb764", - "reference": "511c48990be17358c23bf45c5d71ab85d40fb764", + "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", "shasum": "" }, "require": { @@ -5049,7 +5031,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.7" + "source": "https://github.com/symfony/finder/tree/v6.4.8" }, "funding": [ { @@ -5065,20 +5047,20 @@ "type": "tidelift" } ], - "time": "2024-04-23T10:36:43+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/html-sanitizer", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "a9162f2ca36a200b666f7cd1b1b2f28d1b7dc55d" + "reference": "737cbaa8082b696d0574afd91b9f471eca67fc65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/a9162f2ca36a200b666f7cd1b1b2f28d1b7dc55d", - "reference": "a9162f2ca36a200b666f7cd1b1b2f28d1b7dc55d", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/737cbaa8082b696d0574afd91b9f471eca67fc65", + "reference": "737cbaa8082b696d0574afd91b9f471eca67fc65", "shasum": "" }, "require": { @@ -5118,7 +5100,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v7.0.7" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.1.1" }, "funding": [ { @@ -5134,20 +5116,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-05-31T14:55:39+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759" + "reference": "27de8cc95e11db7a50b027e71caaab9024545947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b4db6b833035477cb70e18d0ae33cb7c2b521759", - "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", + "reference": "27de8cc95e11db7a50b027e71caaab9024545947", "shasum": "" }, "require": { @@ -5195,7 +5177,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.7" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" }, "funding": [ { @@ -5211,20 +5193,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98" + "reference": "6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b7b5e6cdef670a0c82d015a966ffc7e855861a98", - "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1", + "reference": "6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1", "shasum": "" }, "require": { @@ -5309,7 +5291,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.7" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.8" }, "funding": [ { @@ -5325,20 +5307,20 @@ "type": "tidelift" } ], - "time": "2024-04-29T11:24:44+00:00" + "time": "2024-06-02T16:06:25+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd" + "reference": "76326421d44c07f7824b19487cfbf87870b37efc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/2c446d4e446995bed983c0b5bb9ff837e8de7dbd", - "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd", + "url": "https://api.github.com/repos/symfony/mailer/zipball/76326421d44c07f7824b19487cfbf87870b37efc", + "reference": "76326421d44c07f7824b19487cfbf87870b37efc", "shasum": "" }, "require": { @@ -5389,7 +5371,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.7" + "source": "https://github.com/symfony/mailer/tree/v6.4.8" }, "funding": [ { @@ -5405,20 +5387,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/mime", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "decadcf3865918ecfcbfa90968553994ce935a5e" + "reference": "618597ab8b78ac86d1c75a9d0b35540cda074f33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/decadcf3865918ecfcbfa90968553994ce935a5e", - "reference": "decadcf3865918ecfcbfa90968553994ce935a5e", + "url": "https://api.github.com/repos/symfony/mime/zipball/618597ab8b78ac86d1c75a9d0b35540cda074f33", + "reference": "618597ab8b78ac86d1c75a9d0b35540cda074f33", "shasum": "" }, "require": { @@ -5474,7 +5456,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.7" + "source": "https://github.com/symfony/mime/tree/v6.4.8" }, "funding": [ { @@ -5490,20 +5472,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-06-01T07:50:16+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + "reference": "0424dff1c58f028c451efff2045f5d92410bd540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", + "reference": "0424dff1c58f028c451efff2045f5d92410bd540", "shasum": "" }, "require": { @@ -5553,7 +5535,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" }, "funding": [ { @@ -5569,20 +5551,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", "shasum": "" }, "require": { @@ -5631,7 +5613,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" }, "funding": [ { @@ -5647,20 +5629,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", "shasum": "" }, "require": { @@ -5715,7 +5697,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" }, "funding": [ { @@ -5731,20 +5713,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", "shasum": "" }, "require": { @@ -5796,7 +5778,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" }, "funding": [ { @@ -5812,20 +5794,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -5876,7 +5858,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -5892,20 +5874,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + "reference": "10112722600777e02d2745716b70c5db4ca70442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", + "reference": "10112722600777e02d2745716b70c5db4ca70442", "shasum": "" }, "require": { @@ -5949,7 +5931,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" }, "funding": [ { @@ -5965,20 +5947,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { @@ -6029,7 +6011,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -6045,25 +6027,24 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.1" }, "type": "library", "extra": { @@ -6106,7 +6087,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" }, "funding": [ { @@ -6122,20 +6103,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:35:24+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", + "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", "shasum": "" }, "require": { @@ -6185,7 +6166,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" }, "funding": [ { @@ -6201,20 +6182,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/process", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "cdb1c81c145fd5aa9b0038bab694035020943381" + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/cdb1c81c145fd5aa9b0038bab694035020943381", - "reference": "cdb1c81c145fd5aa9b0038bab694035020943381", + "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", "shasum": "" }, "require": { @@ -6246,7 +6227,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.7" + "source": "https://github.com/symfony/process/tree/v6.4.8" }, "funding": [ { @@ -6262,20 +6243,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/routing", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "276e06398f71fa2a973264d94f28150f93cfb907" + "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/276e06398f71fa2a973264d94f28150f93cfb907", - "reference": "276e06398f71fa2a973264d94f28150f93cfb907", + "url": "https://api.github.com/repos/symfony/routing/zipball/8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", + "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", "shasum": "" }, "require": { @@ -6329,7 +6310,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.7" + "source": "https://github.com/symfony/routing/tree/v6.4.8" }, "funding": [ { @@ -6345,7 +6326,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/service-contracts", @@ -6432,16 +6413,16 @@ }, { "name": "symfony/string", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63" + "reference": "60bc311c74e0af215101235aa6f471bcbc032df2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63", - "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63", + "url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2", + "reference": "60bc311c74e0af215101235aa6f471bcbc032df2", "shasum": "" }, "require": { @@ -6455,6 +6436,7 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { + "symfony/emoji": "^7.1", "symfony/error-handler": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0", @@ -6498,7 +6480,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.7" + "source": "https://github.com/symfony/string/tree/v7.1.1" }, "funding": [ { @@ -6514,20 +6496,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-06-04T06:40:14+00:00" }, { "name": "symfony/translation", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "7495687c58bfd88b7883823747b0656d90679123" + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/7495687c58bfd88b7883823747b0656d90679123", - "reference": "7495687c58bfd88b7883823747b0656d90679123", + "url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a", + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a", "shasum": "" }, "require": { @@ -6593,7 +6575,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.7" + "source": "https://github.com/symfony/translation/tree/v6.4.8" }, "funding": [ { @@ -6609,7 +6591,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/translation-contracts", @@ -6691,16 +6673,16 @@ }, { "name": "symfony/uid", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "a66efcb71d8bc3a207d9d78e0bd67f3321510355" + "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/a66efcb71d8bc3a207d9d78e0bd67f3321510355", - "reference": "a66efcb71d8bc3a207d9d78e0bd67f3321510355", + "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", + "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", "shasum": "" }, "require": { @@ -6745,7 +6727,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.7" + "source": "https://github.com/symfony/uid/tree/v6.4.8" }, "funding": [ { @@ -6761,20 +6743,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7" + "reference": "ad23ca4312395f0a8a8633c831ef4c4ee542ed25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7a9cd977cd1c5fed3694bee52990866432af07d7", - "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ad23ca4312395f0a8a8633c831ef4c4ee542ed25", + "reference": "ad23ca4312395f0a8a8633c831ef4c4ee542ed25", "shasum": "" }, "require": { @@ -6830,7 +6812,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.7" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.8" }, "funding": [ { @@ -6846,7 +6828,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -7263,6 +7245,77 @@ }, "time": "2024-01-02T13:46:09+00:00" }, + { + "name": "filp/whoops", + "version": "2.15.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.15.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2023-11-03T12:00:00+00:00" + }, { "name": "guzzlehttp/psr7", "version": "2.6.2", @@ -7432,16 +7485,16 @@ }, { "name": "larastan/larastan", - "version": "v2.9.6", + "version": "v2.9.7", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "93d5b95d2e29cdb8203363d44abfdbc0bc7ef57f" + "reference": "5c805f636095cc2e0b659e3954775cf8f1dad1bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/93d5b95d2e29cdb8203363d44abfdbc0bc7ef57f", - "reference": "93d5b95d2e29cdb8203363d44abfdbc0bc7ef57f", + "url": "https://api.github.com/repos/larastan/larastan/zipball/5c805f636095cc2e0b659e3954775cf8f1dad1bb", + "reference": "5c805f636095cc2e0b659e3954775cf8f1dad1bb", "shasum": "" }, "require": { @@ -7455,7 +7508,7 @@ "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.0", "php": "^8.0.2", "phpmyadmin/sql-parser": "^5.9.0", - "phpstan/phpstan": "^1.10.66" + "phpstan/phpstan": "^1.11.1" }, "require-dev": { "doctrine/coding-standard": "^12.0", @@ -7510,7 +7563,7 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v2.9.6" + "source": "https://github.com/larastan/larastan/tree/v2.9.7" }, "funding": [ { @@ -7530,20 +7583,20 @@ "type": "patreon" } ], - "time": "2024-05-09T11:53:26+00:00" + "time": "2024-05-27T18:33:26+00:00" }, { "name": "laravel/pint", - "version": "v1.15.3", + "version": "v1.16.1", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "3600b5d17aff52f6100ea4921849deacbbeb8656" + "reference": "9266a47f1b9231b83e0cfd849009547329d871b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/3600b5d17aff52f6100ea4921849deacbbeb8656", - "reference": "3600b5d17aff52f6100ea4921849deacbbeb8656", + "url": "https://api.github.com/repos/laravel/pint/zipball/9266a47f1b9231b83e0cfd849009547329d871b1", + "reference": "9266a47f1b9231b83e0cfd849009547329d871b1", "shasum": "" }, "require": { @@ -7554,13 +7607,13 @@ "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.54.0", - "illuminate/view": "^10.48.8", - "larastan/larastan": "^2.9.5", - "laravel-zero/framework": "^10.3.0", - "mockery/mockery": "^1.6.11", + "friendsofphp/php-cs-fixer": "^3.59.3", + "illuminate/view": "^10.48.12", + "larastan/larastan": "^2.9.7", + "laravel-zero/framework": "^10.4.0", + "mockery/mockery": "^1.6.12", "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.34.7" + "pestphp/pest": "^2.34.8" }, "bin": [ "builds/pint" @@ -7596,7 +7649,7 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-04-30T15:02:26+00:00" + "time": "2024-06-18T16:50:05+00:00" }, { "name": "laravel/tinker", @@ -7749,16 +7802,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", "shasum": "" }, "require": { @@ -7766,11 +7819,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -7796,7 +7850,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" }, "funding": [ { @@ -7804,7 +7858,7 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2024-06-12T14:39:25+00:00" }, { "name": "nikic/php-parser", @@ -7864,18 +7918,114 @@ }, "time": "2024-03-05T20:51:40+00:00" }, + { + "name": "nunomaduro/collision", + "version": "v7.10.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.15.3", + "nunomaduro/termwind": "^1.15.1", + "php": "^8.1.0", + "symfony/console": "^6.3.4" + }, + "conflict": { + "laravel/framework": ">=11.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.3.0", + "laravel/framework": "^10.28.0", + "laravel/pint": "^1.13.3", + "laravel/sail": "^1.25.0", + "laravel/sanctum": "^3.3.1", + "laravel/tinker": "^2.8.2", + "nunomaduro/larastan": "^2.6.4", + "orchestra/testbench-core": "^8.13.0", + "pestphp/pest": "^2.23.2", + "phpunit/phpunit": "^10.4.1", + "sebastian/environment": "^6.0.1", + "spatie/laravel-ignition": "^2.3.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2023-10-11T15:45:01+00:00" + }, { "name": "orchestra/canvas", - "version": "v8.11.8", + "version": "v8.11.9", "source": { "type": "git", "url": "https://github.com/orchestral/canvas.git", - "reference": "31b1f338fb9d2f3c97ccbc62b27d3e5bf86a02e5" + "reference": "9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas/zipball/31b1f338fb9d2f3c97ccbc62b27d3e5bf86a02e5", - "reference": "31b1f338fb9d2f3c97ccbc62b27d3e5bf86a02e5", + "url": "https://api.github.com/repos/orchestral/canvas/zipball/9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d", + "reference": "9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d", "shasum": "" }, "require": { @@ -7895,7 +8045,7 @@ "laravel/framework": "^10.48.4", "laravel/pint": "^1.6", "mockery/mockery": "^1.5.1", - "phpstan/phpstan": "^1.10.56", + "phpstan/phpstan": "^1.11", "phpunit/phpunit": "^10.5", "spatie/laravel-ray": "^1.33" }, @@ -7935,9 +8085,9 @@ "description": "Code Generators for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas/tree/v8.11.8" + "source": "https://github.com/orchestral/canvas/tree/v8.11.9" }, - "time": "2024-03-21T14:41:18+00:00" + "time": "2024-06-18T08:26:09+00:00" }, { "name": "orchestra/canvas-core", @@ -8013,25 +8163,25 @@ }, { "name": "orchestra/testbench", - "version": "v8.22.3", + "version": "v8.23.2", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "bb2efe836350a86210310e678995aa47e4929be4" + "reference": "c9f89b66aaa245a2e36f046aa431587ba46a3f2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/bb2efe836350a86210310e678995aa47e4929be4", - "reference": "bb2efe836350a86210310e678995aa47e4929be4", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/c9f89b66aaa245a2e36f046aa431587ba46a3f2e", + "reference": "c9f89b66aaa245a2e36f046aa431587ba46a3f2e", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "fakerphp/faker": "^1.21", - "laravel/framework": "^10.40", + "laravel/framework": "^10.48.10", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^8.23.9", - "orchestra/workbench": "^1.4 || ^8.4", + "orchestra/testbench-core": "^8.24.3", + "orchestra/workbench": "^1.4.1 || ^8.5", "php": "^8.1", "phpunit/phpunit": "^9.6 || ^10.1", "symfony/process": "^6.2", @@ -8062,22 +8212,22 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v8.22.3" + "source": "https://github.com/orchestral/testbench/tree/v8.23.2" }, - "time": "2024-04-16T09:42:06+00:00" + "time": "2024-06-04T12:24:55+00:00" }, { "name": "orchestra/testbench-core", - "version": "v8.23.10", + "version": "v8.24.3", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "0b4bf76d9ab2b5d6f3a7d9a956e5affbd04bbe4d" + "reference": "c4daf2f1929242f4e4cb33b5ebdaaf631df30a46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/0b4bf76d9ab2b5d6f3a7d9a956e5affbd04bbe4d", - "reference": "0b4bf76d9ab2b5d6f3a7d9a956e5affbd04bbe4d", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/c4daf2f1929242f4e4cb33b5ebdaaf631df30a46", + "reference": "c4daf2f1929242f4e4cb33b5ebdaaf631df30a46", "shasum": "" }, "require": { @@ -8098,7 +8248,7 @@ "laravel/framework": "^10.48.2", "laravel/pint": "^1.6", "mockery/mockery": "^1.5.1", - "phpstan/phpstan": "^1.10.7", + "phpstan/phpstan": "^1.11", "phpunit/phpunit": "^10.1", "spatie/laravel-ray": "^1.32.4", "symfony/process": "^6.2", @@ -8156,20 +8306,20 @@ "issues": "https://github.com/orchestral/testbench/issues", "source": "https://github.com/orchestral/testbench-core" }, - "time": "2024-04-21T08:00:04+00:00" + "time": "2024-06-04T05:00:04+00:00" }, { "name": "orchestra/workbench", - "version": "v8.4.0", + "version": "v8.5.0", "source": { "type": "git", "url": "https://github.com/orchestral/workbench.git", - "reference": "7db7009377fd1afe25c783e9092af911cd04b3a9" + "reference": "dce002c20de63b6bde74e0cae2ca558d031a8a17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/workbench/zipball/7db7009377fd1afe25c783e9092af911cd04b3a9", - "reference": "7db7009377fd1afe25c783e9092af911cd04b3a9", + "url": "https://api.github.com/repos/orchestral/workbench/zipball/dce002c20de63b6bde74e0cae2ca558d031a8a17", + "reference": "dce002c20de63b6bde74e0cae2ca558d031a8a17", "shasum": "" }, "require": { @@ -8177,8 +8327,9 @@ "fakerphp/faker": "^1.21", "laravel/framework": "^10.38.1", "laravel/tinker": "^2.8.2", + "nunomaduro/collision": "^6.4 || ^7.10", "orchestra/canvas": "^8.11.4", - "orchestra/testbench-core": "^8.22", + "orchestra/testbench-core": "^8.24", "php": "^8.1", "spatie/laravel-ray": "^1.32.4", "symfony/polyfill-php83": "^1.28", @@ -8187,7 +8338,7 @@ "require-dev": { "laravel/pint": "^1.4", "mockery/mockery": "^1.5.1", - "phpstan/phpstan": "^1.10.7", + "phpstan/phpstan": "^1.11", "phpunit/phpunit": "^10.1", "symfony/process": "^6.2" }, @@ -8224,9 +8375,9 @@ ], "support": { "issues": "https://github.com/orchestral/workbench/issues", - "source": "https://github.com/orchestral/workbench/tree/v8.4.0" + "source": "https://github.com/orchestral/workbench/tree/v8.5.0" }, - "time": "2024-03-13T06:02:29+00:00" + "time": "2024-05-20T23:51:13+00:00" }, { "name": "phar-io/manifest", @@ -8436,16 +8587,16 @@ }, { "name": "phpstan/extension-installer", - "version": "1.3.1", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/phpstan/extension-installer.git", - "reference": "f45734bfb9984c6c56c4486b71230355f066a58a" + "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f45734bfb9984c6c56c4486b71230355f066a58a", - "reference": "f45734bfb9984c6c56c4486b71230355f066a58a", + "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203", + "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203", "shasum": "" }, "require": { @@ -8474,22 +8625,22 @@ "description": "Composer plugin for automatic installation of PHPStan extensions", "support": { "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.3.1" + "source": "https://github.com/phpstan/extension-installer/tree/1.4.1" }, - "time": "2023-05-24T08:59:17+00:00" + "time": "2024-06-10T08:20:49+00:00" }, { "name": "phpstan/phpstan", - "version": "1.11.1", + "version": "1.11.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b" + "reference": "490f0ae1c92b082f154681d7849aee776a7c1443" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e524358f930e41a2b4cca1320e3b04fc26b39e0b", - "reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/490f0ae1c92b082f154681d7849aee776a7c1443", + "reference": "490f0ae1c92b082f154681d7849aee776a7c1443", "shasum": "" }, "require": { @@ -8534,7 +8685,7 @@ "type": "github" } ], - "time": "2024-05-15T08:00:59+00:00" + "time": "2024-06-17T15:10:54+00:00" }, { "name": "phpunit/php-code-coverage", @@ -8859,16 +9010,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.20", + "version": "10.5.24", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3" + "reference": "5f124e3e3e561006047b532fd0431bf5bb6b9015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3", - "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5f124e3e3e561006047b532fd0431bf5bb6b9015", + "reference": "5f124e3e3e561006047b532fd0431bf5bb6b9015", "shasum": "" }, "require": { @@ -8940,7 +9091,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.24" }, "funding": [ { @@ -8956,7 +9107,7 @@ "type": "tidelift" } ], - "time": "2024-04-24T06:32:35+00:00" + "time": "2024-06-20T13:09:54+00:00" }, { "name": "pimple/pimple", @@ -9013,16 +9164,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.3", + "version": "v0.12.4", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73" + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", "shasum": "" }, "require": { @@ -9086,9 +9237,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.3" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" }, - "time": "2024-04-02T15:57:53+00:00" + "time": "2024-06-10T01:18:23+00:00" }, { "name": "ralouphie/getallheaders", @@ -9136,21 +9287,21 @@ }, { "name": "rector/rector", - "version": "1.0.5", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "73eb63e4f9011dba6b7c66c3262543014e352f34" + "reference": "c930cdb21294f10955ddfc31b720971e8333943d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/73eb63e4f9011dba6b7c66c3262543014e352f34", - "reference": "73eb63e4f9011dba6b7c66c3262543014e352f34", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/c930cdb21294f10955ddfc31b720971e8333943d", + "reference": "c930cdb21294f10955ddfc31b720971e8333943d", "shasum": "" }, "require": { "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.10.57" + "phpstan/phpstan": "^1.11" }, "conflict": { "rector/rector-doctrine": "*", @@ -9183,7 +9334,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.0.5" + "source": "https://github.com/rectorphp/rector/tree/1.1.1" }, "funding": [ { @@ -9191,7 +9342,7 @@ "type": "github" } ], - "time": "2024-05-10T05:31:15+00:00" + "time": "2024-06-21T07:51:17+00:00" }, { "name": "sebastian/cli-parser", @@ -10396,16 +10547,16 @@ }, { "name": "symfony/polyfill-iconv", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f" + "reference": "c027e6a3c6aee334663ec21f5852e89738abc805" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", - "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c027e6a3c6aee334663ec21f5852e89738abc805", + "reference": "c027e6a3c6aee334663ec21f5852e89738abc805", "shasum": "" }, "require": { @@ -10456,7 +10607,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.30.0" }, "funding": [ { @@ -10472,20 +10623,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/stopwatch", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "41a7a24aa1dc82adf46a06bc292d1923acfe6b84" + "reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/41a7a24aa1dc82adf46a06bc292d1923acfe6b84", - "reference": "41a7a24aa1dc82adf46a06bc292d1923acfe6b84", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d", + "reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d", "shasum": "" }, "require": { @@ -10518,7 +10669,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.0.7" + "source": "https://github.com/symfony/stopwatch/tree/v7.1.1" }, "funding": [ { @@ -10534,20 +10685,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0" + "reference": "52903de178d542850f6f341ba92995d3d63e60c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0", - "reference": "53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/52903de178d542850f6f341ba92995d3d63e60c9", + "reference": "52903de178d542850f6f341ba92995d3d63e60c9", "shasum": "" }, "require": { @@ -10590,7 +10741,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.7" + "source": "https://github.com/symfony/yaml/tree/v6.4.8" }, "funding": [ { @@ -10606,7 +10757,7 @@ "type": "tidelift" } ], - "time": "2024-04-28T10:28:08+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "theseer/tokenizer", diff --git a/docs/_index.md b/docs/_index.md new file mode 100644 index 0000000..2c3e8ed --- /dev/null +++ b/docs/_index.md @@ -0,0 +1,7 @@ +--- +title: v3 +slogan: Filament support for Spatie's Laravel Translatable package. +githubUrl: https://github.com/lara-zeus/translatable +branch: 3.x +icon: carbon-translate +--- diff --git a/docs/filament.md b/docs/filament.md new file mode 100644 index 0000000..381fdda --- /dev/null +++ b/docs/filament.md @@ -0,0 +1,36 @@ +# Filament Translatable + +Translatable is Filament support for Spatie's Laravel Translatable package. + +## Features + +- 🔥 Using Spatie translatable package +- 🔥 Default translatable locales +- 🔥 Locale Switcher +- 🔥 Support for create, edit, list and view pages +- 🔥 Setting the translatable locales for a particular resource +- 🔥 Translating relation managers + +## More Details + +**✨ to learn more about Translatable, please visit:** + +- [Docs](https://larazeus.com/docs/translatable) + +## Important Note on Using the Local Switcher + +Please be aware that there are some known limitations when using the local switcher with certain complex field types. + +To avoid potential issues, we recommend disabling the local switcher and using the specified field types instead. + +### Available Components for Translatable Fields: + +* https://filamentphp.com/plugins/solution-forest-translate-field +* https://filamentphp.com/plugins/mvenghaus-translatable-inline +* https://filamentphp.com/plugins/outerweb-translatable-fields +* https://filamentphp.com/plugins/34ml-translatable-field + +You can also create your own custom fields. Please refer to the following example: + +* https://github.com/lara-zeus/chaos/blob/1.x/src/Forms/Components/MultiLang.php + diff --git a/docs/getting-started/_index.md b/docs/getting-started/_index.md new file mode 100644 index 0000000..4272691 --- /dev/null +++ b/docs/getting-started/_index.md @@ -0,0 +1,4 @@ +--- +title: Getting Started +weight: 1 +--- diff --git a/docs/getting-started/changelog.md b/docs/getting-started/changelog.md new file mode 100644 index 0000000..8d72c52 --- /dev/null +++ b/docs/getting-started/changelog.md @@ -0,0 +1,6 @@ +--- +title: Changelog +weight: 100 +--- + +All changes to @zeus Translatable are auto updated documented on our site [changelog](https://larazeus.com/translatable) diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md new file mode 100644 index 0000000..68e7880 --- /dev/null +++ b/docs/getting-started/installation.md @@ -0,0 +1,82 @@ +--- +title: Installation +weight: 2 +--- + +## Installation + +First add this repo URL to your composer: + +```json +"repositories": [ + { + "type": "github", + "url": "https://github.com/lara-zeus/translatable" + }, +] +``` + +and make sure your minimum stability is set to dev: + +```json +"minimum-stability": "dev", +``` + +Then Install the plugin with Composer: + +```bash +composer require filament/spatie-laravel-translatable-plugin:"^3.2" -W +``` + +## Adding the plugin to a panel + +To add a plugin to a panel, you must include it in the configuration file using the `plugin()` method: + +```php +use Filament\SpatieLaravelTranslatablePlugin; + +public function panel(Panel $panel): Panel +{ + return $panel + // ... + ->plugin(SpatieLaravelTranslatablePlugin::make()); +} +``` + +## Setting the default translatable locales + +To set up the locales that can be used to translate content, you can pass an array of locales to the `defaultLocales()` plugin method: + +```php +use Filament\SpatieLaravelTranslatablePlugin; + +public function panel(Panel $panel): Panel +{ + return $panel + // ... + ->plugin( + SpatieLaravelTranslatablePlugin::make() + ->defaultLocales(['en', 'es']), + ); +} +``` + +## Preparing your model class + +You need to make your model translatable. You can read how to do this in [Spatie's documentation](https://spatie.be/docs/laravel-translatable/installation-setup#content-making-a-model-translatable). + +## Preparing your resource class + +You must apply the `Filament\Resources\Concerns\Translatable` trait to your resource class: + +```php +use Filament\Resources\Concerns\Translatable; +use Filament\Resources\Resource; + +class BlogPostResource extends Resource +{ + use Translatable; + + // ... +} +``` \ No newline at end of file diff --git a/docs/getting-started/upgrade.md b/docs/getting-started/upgrade.md new file mode 100644 index 0000000..fd91522 --- /dev/null +++ b/docs/getting-started/upgrade.md @@ -0,0 +1,8 @@ +--- +title: Upgrading +weight: 90 +--- + +## upgrade to v1 + +soon \ No newline at end of file diff --git a/docs/getting-started/usage.md b/docs/getting-started/usage.md new file mode 100644 index 0000000..cb7dc82 --- /dev/null +++ b/docs/getting-started/usage.md @@ -0,0 +1,219 @@ +--- +title: Usage +weight: 4 +--- + +## Making resource pages translatable + +After [preparing your resource class](#preparing-your-resource-class), you must make each of your resource's pages translatable too. You can find your resource's pages in the `Pages` directory of each resource folder. To prepare a page, you must apply the corresponding `Translatable` trait to it, and install a `LocaleSwitcher` header action: + +```php +use Filament\Actions; +use Filament\Resources\Pages\ListRecords; + +class ListBlogPosts extends ListRecords +{ + use ListRecords\Concerns\Translatable; + + protected function getHeaderActions(): array + { + return [ + Actions\LocaleSwitcher::make(), + // ... + ]; + } + + // ... +} +``` + +```php +use Filament\Actions; +use Filament\Resources\Pages\CreateRecord; + +class CreateBlogPost extends CreateRecord +{ + use CreateRecord\Concerns\Translatable; + + protected function getHeaderActions(): array + { + return [ + Actions\LocaleSwitcher::make(), + // ... + ]; + } + + // ... +} +``` + +```php +use Filament\Actions; +use Filament\Resources\Pages\EditRecord; + +class EditBlogPost extends EditRecord +{ + use EditRecord\Concerns\Translatable; + + protected function getHeaderActions(): array + { + return [ + Actions\LocaleSwitcher::make(), + // ... + ]; + } + + // ... +} +``` + +And if you have a `ViewRecord` page for your resource: + +```php +use Filament\Actions; +use Filament\Resources\Pages\ViewRecord; + +class ViewBlogPost extends ViewRecord +{ + use ViewRecord\Concerns\Translatable; + + protected function getHeaderActions(): array + { + return [ + Actions\LocaleSwitcher::make(), + // ... + ]; + } + + // ... +} +``` + +If you're using a simple resource, you can make the `ManageRecords` page translatable instead: + +```php +use Filament\Actions; +use Filament\Resources\Pages\ManageRecords; + +class ManageBlogPosts extends ListRecords +{ + use ManageRecords\Concerns\Translatable; + + protected function getHeaderActions(): array + { + return [ + Actions\LocaleSwitcher::make(), + // ... + ]; + } + + // ... +} +``` + +### Setting the translatable locales for a particular resource + +By default, the translatable locales can be [set globally for all resources in the plugin configuration](#setting-the-default-translatable-locales). Alternatively, you can customize the translatable locales for a particular resource by overriding the `getTranslatableLocales()` method in your resource class: + +```php +use Filament\Resources\Concerns\Translatable; +use Filament\Resources\Resource; + +class BlogPostResource extends Resource +{ + use Translatable; + + // ... + + public static function getTranslatableLocales(): array + { + return ['en', 'fr']; + } +} +``` + +## Translating relation managers + +First, you must apply the `Filament\Resources\RelationManagers\Concerns\Translatable` trait to the relation manager class: + +```php +use Filament\Resources\RelationManagers\Concerns\Translatable; +use Filament\Resources\RelationManagers\RelationManager; + +class BlogPostsRelationManager extends RelationManager +{ + use Translatable; + + // ... +} +``` + +Now, you can add a new `LocaleSwitcher` action to the header of the relation manager's `table()`: + +```php +use Filament\Tables; +use Filament\Tables\Table; + +public function table(Table $table): Table +{ + return $table + ->columns([ + // ... + ]) + ->headerActions([ + // ... + Tables\Actions\LocaleSwitcher::make(), + ]); +} +``` + +### Inheriting the relation manager's active locale from the resource page + +If you wish to reactively inherit the locale of the `Translatable` resource page that the relation manager is being displayed on, you can override the `$activeLocale` property and add Livewire's `Reactive` attribute to it: + +```php +use Filament\Resources\RelationManagers\Concerns\Translatable; +use Filament\Resources\RelationManagers\RelationManager; +use Livewire\Attributes\Reactive; + +class BlogPostsRelationManager extends RelationManager +{ + use Translatable; + + #[Reactive] + public ?string $activeLocale = null; + + // ... +} +``` + +If you do this, you no longer need a `LocaleSwitcher` action in the `table()`. + +### Setting the translatable locales for a particular relation manager + +By default, the translatable locales can be [set globally for all relation managers in the plugin configuration](#setting-the-default-translatable-locales). Alternatively, you can customize the translatable locales for a particular relation manager by overriding the `getTranslatableLocales()` method in your relation manager class: + +```php +use Filament\Resources\RelationManagers\Concerns\Translatable; +use Filament\Resources\RelationManagers\RelationManager; + +class BlogPostsRelationManager extends RelationManager +{ + use Translatable; + + // ... + + public function getTranslatableLocales(): array + { + return ['en', 'fr']; + } +} +``` + +## Publishing translations + +If you wish to translate the package, you may publish the language files using: + +```bash +php artisan vendor:publish --tag=filament-spatie-laravel-translatable-plugin-translations +``` diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 0000000..ae8456f --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,40 @@ +--- +title: Introduction +weight: 1 +--- + +## Introduction +@zeus Translatable is Filament support for Spatie's Laravel Translatable package. + +## Features + +- 🔥 Using Spatie translatable package +- 🔥 default translatable locales +- 🔥 Locale Switcher +- 🔥 Support for create, edit, list and view pages +- 🔥 Setting the translatable locales for a particular resource +- 🔥 Translating relation managers + +## More Details + +**✨ to learn more about Translatable, please visit:** + +- [Docs](https://larazeus.com/docs/translatable) + +## Important Note on Using the Local Switcher + +Please be aware that there are some known limitations when using the local switcher with certain complex field types. + +To avoid potential issues, we recommend disabling the local switcher and using the specified field types instead. + +### Available Components for Translatable Fields: + +* https://filamentphp.com/plugins/solution-forest-translate-field +* https://filamentphp.com/plugins/mvenghaus-translatable-inline +* https://filamentphp.com/plugins/outerweb-translatable-fields +* https://filamentphp.com/plugins/34ml-translatable-field + +You can also create your own custom fields. Please refer to the following example: + +* https://github.com/lara-zeus/chaos/blob/1.x/src/Forms/Components/MultiLang.php + diff --git a/phpstan.neon b/phpstan.neon index cf45044..dd5dbf3 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -10,4 +10,4 @@ parameters: - identifier: missingType.iterableValue - - identifier: missingType.generics \ No newline at end of file + identifier: missingType.generics diff --git a/resources/lang/my/actions.php b/resources/lang/my/actions.php new file mode 100644 index 0000000..3dc3080 --- /dev/null +++ b/resources/lang/my/actions.php @@ -0,0 +1,9 @@ + [ + 'label' => 'ဘာသာစကား', + ], + +]; diff --git a/src/Resources/Pages/EditRecord/Concerns/Translatable.php b/src/Resources/Pages/EditRecord/Concerns/Translatable.php index bd80d63..d9f371a 100644 --- a/src/Resources/Pages/EditRecord/Concerns/Translatable.php +++ b/src/Resources/Pages/EditRecord/Concerns/Translatable.php @@ -87,6 +87,11 @@ public function updatedActiveLocale(): void ); try { + $this->otherLocaleData[$this->oldActiveLocale] = Arr::only( + $this->form->getState(), + $translatableAttributes + ); + $this->form->fill([ ...Arr::except( $this->form->getRawState(), diff --git a/src/SpatieLaravelTranslatablePluginServiceProvider.php b/src/SpatieLaravelTranslatablePluginServiceProvider.php index 2cee705..7edb43a 100644 --- a/src/SpatieLaravelTranslatablePluginServiceProvider.php +++ b/src/SpatieLaravelTranslatablePluginServiceProvider.php @@ -10,7 +10,7 @@ public function boot(): void { if ($this->app->runningInConsole()) { $this->publishes([ - __DIR__ . '/../resources/lang' => resource_path('lang/vendor/filament-spatie-laravel-translatable-plugin-translations'), + __DIR__ . '/../resources/lang' => lang_path('vendor/filament-spatie-laravel-translatable-plugin-translations'), ], 'filament-spatie-laravel-translatable-plugin-translations'); }