From 78f81a992785cc8ed59802b247882c4bb35330b3 Mon Sep 17 00:00:00 2001 From: Ash Monsh Date: Thu, 2 Nov 2023 15:36:02 +0300 Subject: [PATCH 1/2] add navigation including `ryangjchandler/filament-navigation` --- composer.json | 1 - composer.lock | 853 ++++++++---------- config/zeus-sky.php | 1 + .../create_navigations_table.php.stub | 34 + docs/advanced/customization.md | 2 +- resources/lang/ar/filament-navigation.php | 37 + resources/lang/en/filament-navigation.php | 38 + resources/views/components/nav-item.blade.php | 81 ++ .../views/filament/card-divider.blade.php | 3 + .../views/filament/hidden-action.blade.php | 0 .../filament/navigation-builder.blade.php | 37 + src/Configuration.php | 70 +- src/Filament/Fields/NavigationSelect.php | 25 + src/Filament/Resources/NavigationResource.php | 165 ++++ .../Concerns/HandlesNavigationBuilder.php | 158 ++++ .../Pages/CreateNavigation.php | 13 + .../Pages/EditNavigation.php | 14 + .../Pages/ListNavigations.php | 19 + src/Models/Navigation.php | 26 + src/SkyPlugin.php | 5 + src/SkyServiceProvider.php | 9 +- 21 files changed, 1120 insertions(+), 471 deletions(-) create mode 100644 database/migrations/create_navigations_table.php.stub create mode 100644 resources/lang/ar/filament-navigation.php create mode 100644 resources/lang/en/filament-navigation.php create mode 100644 resources/views/components/nav-item.blade.php create mode 100644 resources/views/filament/card-divider.blade.php create mode 100644 resources/views/filament/hidden-action.blade.php create mode 100644 resources/views/filament/navigation-builder.blade.php create mode 100644 src/Filament/Fields/NavigationSelect.php create mode 100644 src/Filament/Resources/NavigationResource.php create mode 100644 src/Filament/Resources/NavigationResource/Pages/Concerns/HandlesNavigationBuilder.php create mode 100644 src/Filament/Resources/NavigationResource/Pages/CreateNavigation.php create mode 100644 src/Filament/Resources/NavigationResource/Pages/EditNavigation.php create mode 100644 src/Filament/Resources/NavigationResource/Pages/ListNavigations.php create mode 100644 src/Models/Navigation.php diff --git a/composer.json b/composer.json index 3a80b93..8c3ede7 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,6 @@ "php": "^8.1", "ext-json": "*", "doctrine/dbal": "^3.5.1", - "ryangjchandler/filament-navigation": "^1.0", "filament/spatie-laravel-media-library-plugin": "^3.0", "filament/spatie-laravel-tags-plugin": "^3.0", "spatie/laravel-medialibrary": "^10.0.0", diff --git a/composer.lock b/composer.lock index 4d4a5ef..b46c628 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4ff95dacbe35b1e86968f951b8b98a3b", + "content-hash": "6f314de0c9b15da6c213374a23198fc1", "packages": [ { "name": "andrewdwallo/filament-selectify", - "version": "v2.0.5", + "version": "v2.0.6", "source": { "type": "git", "url": "https://github.com/andrewdwallo/filament-selectify.git", - "reference": "037d802420f6538be76943fe0b004c1cd3c364d9" + "reference": "fcd32d3b1f516e53d610c69a529f9e8730f99afb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/andrewdwallo/filament-selectify/zipball/037d802420f6538be76943fe0b004c1cd3c364d9", - "reference": "037d802420f6538be76943fe0b004c1cd3c364d9", + "url": "https://api.github.com/repos/andrewdwallo/filament-selectify/zipball/fcd32d3b1f516e53d610c69a529f9e8730f99afb", + "reference": "fcd32d3b1f516e53d610c69a529f9e8730f99afb", "shasum": "" }, "require": { @@ -66,9 +66,9 @@ ], "support": { "issues": "https://github.com/andrewdwallo/filament-selectify/issues", - "source": "https://github.com/andrewdwallo/filament-selectify/tree/v2.0.5" + "source": "https://github.com/andrewdwallo/filament-selectify/tree/v2.0.6" }, - "time": "2023-09-12T00:21:19+00:00" + "time": "2023-10-20T05:27:17+00:00" }, { "name": "archtechx/laravel-seo", @@ -199,16 +199,16 @@ }, { "name": "blade-ui-kit/blade-icons", - "version": "1.5.2", + "version": "1.5.3", "source": { "type": "git", "url": "https://github.com/blade-ui-kit/blade-icons.git", - "reference": "4d6b6b2548b1994a777211a985e18691701891e4" + "reference": "b5e6603218e2347ac81cb780bc6f71c8c3b31f5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/blade-ui-kit/blade-icons/zipball/4d6b6b2548b1994a777211a985e18691701891e4", - "reference": "4d6b6b2548b1994a777211a985e18691701891e4", + "url": "https://api.github.com/repos/blade-ui-kit/blade-icons/zipball/b5e6603218e2347ac81cb780bc6f71c8c3b31f5b", + "reference": "b5e6603218e2347ac81cb780bc6f71c8c3b31f5b", "shasum": "" }, "require": { @@ -270,9 +270,13 @@ { "url": "https://github.com/sponsors/driesvints", "type": "github" + }, + { + "url": "https://www.paypal.com/paypalme/driesvints", + "type": "paypal" } ], - "time": "2023-06-09T15:47:26+00:00" + "time": "2023-10-18T10:50:13+00:00" }, { "name": "brick/math", @@ -331,27 +335,27 @@ }, { "name": "calebporzio/sushi", - "version": "v2.4.4", + "version": "v2.4.5", "source": { "type": "git", "url": "https://github.com/calebporzio/sushi.git", - "reference": "8eeafda290e9a09abe6b102c3925c9434d1c87a5" + "reference": "932d09781bff75c812541d2d269400fd7d730bab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/calebporzio/sushi/zipball/8eeafda290e9a09abe6b102c3925c9434d1c87a5", - "reference": "8eeafda290e9a09abe6b102c3925c9434d1c87a5", + "url": "https://api.github.com/repos/calebporzio/sushi/zipball/932d09781bff75c812541d2d269400fd7d730bab", + "reference": "932d09781bff75c812541d2d269400fd7d730bab", "shasum": "" }, "require": { - "illuminate/database": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0", - "illuminate/support": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0", + "illuminate/database": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0", + "illuminate/support": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0", "php": "^7.1.3|^8.0" }, "require-dev": { "doctrine/dbal": "^2.9 || ^3.1.4", - "orchestra/testbench": "3.8.* || 3.9.* || ^4.0 || ^6.0 || ^7.0 || ^8.0", - "phpunit/phpunit": "^7.5 || ^8.4 || ^9.0" + "orchestra/testbench": "3.8.* || 3.9.* || ^4.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "phpunit/phpunit": "^7.5 || ^8.4 || ^9.0 || ^10.0" }, "type": "library", "autoload": { @@ -371,7 +375,7 @@ ], "description": "Eloquent's missing \"array\" driver.", "support": { - "source": "https://github.com/calebporzio/sushi/tree/v2.4.4" + "source": "https://github.com/calebporzio/sushi/tree/v2.4.5" }, "funding": [ { @@ -379,7 +383,7 @@ "type": "github" } ], - "time": "2023-01-11T16:19:01+00:00" + "time": "2023-10-17T14:42:34+00:00" }, { "name": "codeat3/blade-iconpark", @@ -505,16 +509,16 @@ }, { "name": "danharrin/livewire-rate-limiting", - "version": "v1.1.0", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/danharrin/livewire-rate-limiting.git", - "reference": "a55996683cabf2e93893280d602191243b3b80b8" + "reference": "bc2cc0a0b5b517fdc5bba8671013dd71081f70a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/a55996683cabf2e93893280d602191243b3b80b8", - "reference": "a55996683cabf2e93893280d602191243b3b80b8", + "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/bc2cc0a0b5b517fdc5bba8671013dd71081f70a8", + "reference": "bc2cc0a0b5b517fdc5bba8671013dd71081f70a8", "shasum": "" }, "require": { @@ -522,7 +526,8 @@ "php": "^8.0" }, "require-dev": { - "livewire/livewire": "^2.3", + "livewire/livewire": "^3.0", + "livewire/volt": "^1.3", "orchestra/testbench": "^7.0|^8.0", "phpunit/phpunit": "^9.0|^10.0" }, @@ -554,7 +559,7 @@ "type": "github" } ], - "time": "2023-03-12T12:17:29+00:00" + "time": "2023-10-27T15:01:19+00:00" }, { "name": "dflydev/dot-access-data", @@ -1273,16 +1278,16 @@ }, { "name": "filament/actions", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "1f9f945d78833eca82728fd22edfc04e3c0939aa" + "reference": "a8413d87256672c939ef82558ad01350617612a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/1f9f945d78833eca82728fd22edfc04e3c0939aa", - "reference": "1f9f945d78833eca82728fd22edfc04e3c0939aa", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/a8413d87256672c939ef82558ad01350617612a6", + "reference": "a8413d87256672c939ef82558ad01350617612a6", "shasum": "" }, "require": { @@ -1319,20 +1324,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-05T15:18:18+00:00" + "time": "2023-10-27T14:34:56+00:00" }, { "name": "filament/filament", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "baec6443c3da947a85eab748fe46bd48fe88499b" + "reference": "dfe4b9ed7a5a5f8a3135a9789ee70946590ee11d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/baec6443c3da947a85eab748fe46bd48fe88499b", - "reference": "baec6443c3da947a85eab748fe46bd48fe88499b", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/dfe4b9ed7a5a5f8a3135a9789ee70946590ee11d", + "reference": "dfe4b9ed7a5a5f8a3135a9789ee70946590ee11d", "shasum": "" }, "require": { @@ -1384,20 +1389,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-09T13:12:32+00:00" + "time": "2023-10-30T09:52:34+00:00" }, { "name": "filament/forms", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "259f89de086d99bf4188fb1757d22ac99967b530" + "reference": "4403c0c047f8516b349edeb56ede07551e259c7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/259f89de086d99bf4188fb1757d22ac99967b530", - "reference": "259f89de086d99bf4188fb1757d22ac99967b530", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/4403c0c047f8516b349edeb56ede07551e259c7d", + "reference": "4403c0c047f8516b349edeb56ede07551e259c7d", "shasum": "" }, "require": { @@ -1440,20 +1445,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-09T12:12:48+00:00" + "time": "2023-10-30T09:52:24+00:00" }, { "name": "filament/infolists", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "fdb2a8eae8630db29f2582377d857df864034e93" + "reference": "f74cc311ba0672c3f73b1cdd802185f8b41fd4cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/fdb2a8eae8630db29f2582377d857df864034e93", - "reference": "fdb2a8eae8630db29f2582377d857df864034e93", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/f74cc311ba0672c3f73b1cdd802185f8b41fd4cd", + "reference": "f74cc311ba0672c3f73b1cdd802185f8b41fd4cd", "shasum": "" }, "require": { @@ -1491,20 +1496,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-08T18:26:45+00:00" + "time": "2023-10-27T14:35:11+00:00" }, { "name": "filament/notifications", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", - "reference": "4fe60598157c53b712c46944614fb6a57fb93c04" + "reference": "b54eb25ec100e65b960fb8b90c9d38c132eb5bb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/notifications/zipball/4fe60598157c53b712c46944614fb6a57fb93c04", - "reference": "4fe60598157c53b712c46944614fb6a57fb93c04", + "url": "https://api.github.com/repos/filamentphp/notifications/zipball/b54eb25ec100e65b960fb8b90c9d38c132eb5bb6", + "reference": "b54eb25ec100e65b960fb8b90c9d38c132eb5bb6", "shasum": "" }, "require": { @@ -1543,20 +1548,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-05T15:18:17+00:00" + "time": "2023-10-27T14:34:57+00:00" }, { "name": "filament/spatie-laravel-media-library-plugin", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/spatie-laravel-media-library-plugin.git", - "reference": "c05b4aa1327a32c2b7b1ddd6739eed720cf439d5" + "reference": "da46347a3ba57994254707a4c9cd20feb6377496" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/spatie-laravel-media-library-plugin/zipball/c05b4aa1327a32c2b7b1ddd6739eed720cf439d5", - "reference": "c05b4aa1327a32c2b7b1ddd6739eed720cf439d5", + "url": "https://api.github.com/repos/filamentphp/spatie-laravel-media-library-plugin/zipball/da46347a3ba57994254707a4c9cd20feb6377496", + "reference": "da46347a3ba57994254707a4c9cd20feb6377496", "shasum": "" }, "require": { @@ -1580,20 +1585,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-09T13:12:20+00:00" + "time": "2023-10-30T09:52:29+00:00" }, { "name": "filament/spatie-laravel-tags-plugin", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/spatie-laravel-tags-plugin.git", - "reference": "31e837c013071868d7b677f6e49b8f28f8aac55b" + "reference": "6352acffb686c51c883928906edeeb83c190de55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/spatie-laravel-tags-plugin/zipball/31e837c013071868d7b677f6e49b8f28f8aac55b", - "reference": "31e837c013071868d7b677f6e49b8f28f8aac55b", + "url": "https://api.github.com/repos/filamentphp/spatie-laravel-tags-plugin/zipball/6352acffb686c51c883928906edeeb83c190de55", + "reference": "6352acffb686c51c883928906edeeb83c190de55", "shasum": "" }, "require": { @@ -1617,20 +1622,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-09-12T22:49:52+00:00" + "time": "2023-10-26T13:32:04+00:00" }, { "name": "filament/spatie-laravel-translatable-plugin", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/spatie-laravel-translatable-plugin.git", - "reference": "99e9615c77418650d8b8d769a0c5eaaadb3d4d84" + "reference": "fa7548812db38379657a0bc51a11668d8d5ccfc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/spatie-laravel-translatable-plugin/zipball/99e9615c77418650d8b8d769a0c5eaaadb3d4d84", - "reference": "99e9615c77418650d8b8d769a0c5eaaadb3d4d84", + "url": "https://api.github.com/repos/filamentphp/spatie-laravel-translatable-plugin/zipball/fa7548812db38379657a0bc51a11668d8d5ccfc9", + "reference": "fa7548812db38379657a0bc51a11668d8d5ccfc9", "shasum": "" }, "require": { @@ -1662,20 +1667,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-05T15:18:17+00:00" + "time": "2023-10-27T14:35:14+00:00" }, { "name": "filament/support", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "cd368ba90c88789c06c108728fb820637c9226e0" + "reference": "5e5884f71d9529754d4f890319336535e42fc621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/cd368ba90c88789c06c108728fb820637c9226e0", - "reference": "cd368ba90c88789c06c108728fb820637c9226e0", + "url": "https://api.github.com/repos/filamentphp/support/zipball/5e5884f71d9529754d4f890319336535e42fc621", + "reference": "5e5884f71d9529754d4f890319336535e42fc621", "shasum": "" }, "require": { @@ -1685,7 +1690,7 @@ "illuminate/contracts": "^10.0", "illuminate/support": "^10.0", "illuminate/view": "^10.0", - "livewire/livewire": "^3.0", + "livewire/livewire": "^3.0.8", "php": "^8.1", "ryangjchandler/blade-capture-directive": "^0.2|^0.3", "spatie/color": "^1.5", @@ -1719,20 +1724,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-09T13:12:22+00:00" + "time": "2023-10-30T09:52:26+00:00" }, { "name": "filament/tables", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "98024d53a0e15a32dde1cdb5e86aca73605ba04a" + "reference": "fa48a1a4abfb501417ed8e5abc71fb36d08ae51e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/98024d53a0e15a32dde1cdb5e86aca73605ba04a", - "reference": "98024d53a0e15a32dde1cdb5e86aca73605ba04a", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/fa48a1a4abfb501417ed8e5abc71fb36d08ae51e", + "reference": "fa48a1a4abfb501417ed8e5abc71fb36d08ae51e", "shasum": "" }, "require": { @@ -1772,20 +1777,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-09T12:12:59+00:00" + "time": "2023-10-30T09:52:30+00:00" }, { "name": "filament/widgets", - "version": "v3.0.73", + "version": "v3.0.88", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "f717516dd7449b75551d8a28d3076bd681744541" + "reference": "e550d4d60238ae0bee8be79908064e66d6d26712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/f717516dd7449b75551d8a28d3076bd681744541", - "reference": "f717516dd7449b75551d8a28d3076bd681744541", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/e550d4d60238ae0bee8be79908064e66d6d26712", + "reference": "e550d4d60238ae0bee8be79908064e66d6d26712", "shasum": "" }, "require": { @@ -1816,25 +1821,25 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2023-10-08T18:26:58+00:00" + "time": "2023-10-27T14:35:16+00:00" }, { "name": "fruitcake/php-cors", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6" + "symfony/http-foundation": "^4.4|^5.4|^6|^7" }, "require-dev": { "phpstan/phpstan": "^1.4", @@ -1844,7 +1849,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.1-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -1875,7 +1880,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" }, "funding": [ { @@ -1887,7 +1892,7 @@ "type": "github" } ], - "time": "2022-02-20T15:07:15+00:00" + "time": "2023-10-12T05:21:21+00:00" }, { "name": "graham-campbell/result-type", @@ -2233,16 +2238,16 @@ }, { "name": "kirschbaum-development/eloquent-power-joins", - "version": "3.2.4", + "version": "3.3.3", "source": { "type": "git", "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git", - "reference": "fadc20d436b0693a34c4b611d07954818e46eb4d" + "reference": "e55fa70dfa4a5e897443454825b9d4ce6081786a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/fadc20d436b0693a34c4b611d07954818e46eb4d", - "reference": "fadc20d436b0693a34c4b611d07954818e46eb4d", + "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/e55fa70dfa4a5e897443454825b9d4ce6081786a", + "reference": "e55fa70dfa4a5e897443454825b9d4ce6081786a", "shasum": "" }, "require": { @@ -2289,22 +2294,22 @@ ], "support": { "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues", - "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.2.4" + "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.3.3" }, - "time": "2023-09-12T17:02:05+00:00" + "time": "2023-10-31T18:01:18+00:00" }, { "name": "lara-zeus/core", - "version": "v3.0.8", + "version": "v3.0.10", "source": { "type": "git", "url": "https://github.com/lara-zeus/core.git", - "reference": "759091b1c04d81583666819bd5b61952b281fef0" + "reference": "2b7fa3401288dce85f2e7ff7d54edea6e826ae59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lara-zeus/core/zipball/759091b1c04d81583666819bd5b61952b281fef0", - "reference": "759091b1c04d81583666819bd5b61952b281fef0", + "url": "https://api.github.com/repos/lara-zeus/core/zipball/2b7fa3401288dce85f2e7ff7d54edea6e826ae59", + "reference": "2b7fa3401288dce85f2e7ff7d54edea6e826ae59", "shasum": "" }, "require": { @@ -2314,7 +2319,7 @@ "ext-json": "*", "ext-pdo_sqlite": "*", "ext-sqlite3": "*", - "filament/filament": "^3.0-stable", + "filament/filament": "^3.0", "filament/spatie-laravel-translatable-plugin": "^3.0", "php": "^8.1" }, @@ -2377,20 +2382,20 @@ "type": "github" } ], - "time": "2023-10-10T12:27:21+00:00" + "time": "2023-10-29T18:18:31+00:00" }, { "name": "laravel/framework", - "version": "v10.27.0", + "version": "v10.30.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "616f81bd6dd8aa2e26a9fc21d9c95e98bd30803b" + "reference": "7a2da50258c4d0f693b738d3f3c69b2693aea6c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/616f81bd6dd8aa2e26a9fc21d9c95e98bd30803b", - "reference": "616f81bd6dd8aa2e26a9fc21d9c95e98bd30803b", + "url": "https://api.github.com/repos/laravel/framework/zipball/7a2da50258c4d0f693b738d3f3c69b2693aea6c1", + "reference": "7a2da50258c4d0f693b738d3f3c69b2693aea6c1", "shasum": "" }, "require": { @@ -2423,7 +2428,7 @@ "symfony/console": "^6.2", "symfony/error-handler": "^6.2", "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.2", + "symfony/http-foundation": "^6.3", "symfony/http-kernel": "^6.2", "symfony/mailer": "^6.2", "symfony/mime": "^6.2", @@ -2490,13 +2495,15 @@ "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.5.1", + "nyholm/psr7": "^1.2", "orchestra/testbench-core": "^8.12", "pda/pheanstalk": "^4.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^10.0.7", "predis/predis": "^2.0.2", "symfony/cache": "^6.2", - "symfony/http-client": "^6.2.4" + "symfony/http-client": "^6.2.4", + "symfony/psr-http-message-bridge": "^2.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", @@ -2577,27 +2584,27 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-09T15:15:28+00:00" + "time": "2023-11-01T13:52:17+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.11", + "version": "v0.1.13", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "cce65a90e64712909ea1adc033e1d88de8455ffd" + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/cce65a90e64712909ea1adc033e1d88de8455ffd", - "reference": "cce65a90e64712909ea1adc033e1d88de8455ffd", + "url": "https://api.github.com/repos/laravel/prompts/zipball/e1379d8ead15edd6cc4369c22274345982edc95a", + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a", "shasum": "" }, "require": { "ext-mbstring": "*", "illuminate/collections": "^10.0|^11.0", "php": "^8.1", - "symfony/console": "^6.2" + "symfony/console": "^6.2|^7.0" }, "conflict": { "illuminate/console": ">=10.17.0 <10.25.0", @@ -2632,22 +2639,22 @@ ], "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.11" + "source": "https://github.com/laravel/prompts/tree/v0.1.13" }, - "time": "2023-10-03T01:07:35+00:00" + "time": "2023-10-27T13:53:59+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.1", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902" + "reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902", - "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/076fe2cf128bd54b4341cdc6d49b95b34e101e4c", + "reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c", "shasum": "" }, "require": { @@ -2694,7 +2701,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-07-14T13:56:28+00:00" + "time": "2023-10-17T13:38:16+00:00" }, { "name": "league/commonmark", @@ -2886,16 +2893,16 @@ }, { "name": "league/flysystem", - "version": "3.17.0", + "version": "3.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "bd4c9b26849d82364119c68429541f1631fba94b" + "reference": "015633a05aee22490495159237a5944091d8281e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/bd4c9b26849d82364119c68429541f1631fba94b", - "reference": "bd4c9b26849d82364119c68429541f1631fba94b", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/015633a05aee22490495159237a5944091d8281e", + "reference": "015633a05aee22490495159237a5944091d8281e", "shasum": "" }, "require": { @@ -2924,7 +2931,7 @@ "google/cloud-storage": "^1.23", "microsoft/azure-storage-blob": "^1.1", "phpseclib/phpseclib": "^3.0.14", - "phpstan/phpstan": "^0.12.26", + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", "sabre/dav": "^4.3.1" }, @@ -2960,7 +2967,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.17.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.18.0" }, "funding": [ { @@ -2972,20 +2979,20 @@ "type": "github" } ], - "time": "2023-10-05T20:15:05+00:00" + "time": "2023-10-20T17:59:40+00:00" }, { "name": "league/flysystem-local", - "version": "3.16.0", + "version": "3.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "ec7383f25642e6fd4bb0c9554fc2311245391781" + "reference": "e7381ef7643f658b87efb7dbe98fe538fb1bbf32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ec7383f25642e6fd4bb0c9554fc2311245391781", - "reference": "ec7383f25642e6fd4bb0c9554fc2311245391781", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e7381ef7643f658b87efb7dbe98fe538fb1bbf32", + "reference": "e7381ef7643f658b87efb7dbe98fe538fb1bbf32", "shasum": "" }, "require": { @@ -3020,7 +3027,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem-local/issues", - "source": "https://github.com/thephpleague/flysystem-local/tree/3.16.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.18.0" }, "funding": [ { @@ -3032,7 +3039,7 @@ "type": "github" } ], - "time": "2023-08-30T10:23:59+00:00" + "time": "2023-10-19T20:07:13+00:00" }, { "name": "league/glide", @@ -3101,16 +3108,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.13.0", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96" + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96", - "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", "shasum": "" }, "require": { @@ -3141,7 +3148,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0" }, "funding": [ { @@ -3153,7 +3160,7 @@ "type": "tidelift" } ], - "time": "2023-08-05T12:09:49+00:00" + "time": "2023-10-17T14:13:20+00:00" }, { "name": "league/uri", @@ -3331,16 +3338,16 @@ }, { "name": "livewire/livewire", - "version": "v3.0.7", + "version": "v3.0.10", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "a2fc40f6121362581e72d5da5d820a6af00f62b0" + "reference": "cae998aa9a474dc0de81869ab1536014c7b31a64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/a2fc40f6121362581e72d5da5d820a6af00f62b0", - "reference": "a2fc40f6121362581e72d5da5d820a6af00f62b0", + "url": "https://api.github.com/repos/livewire/livewire/zipball/cae998aa9a474dc0de81869ab1536014c7b31a64", + "reference": "cae998aa9a474dc0de81869ab1536014c7b31a64", "shasum": "" }, "require": { @@ -3393,7 +3400,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.0.7" + "source": "https://github.com/livewire/livewire/tree/v3.0.10" }, "funding": [ { @@ -3401,7 +3408,7 @@ "type": "github" } ], - "time": "2023-10-09T13:59:17+00:00" + "time": "2023-10-18T11:18:12+00:00" }, { "name": "maennchen/zipstream-php", @@ -3553,16 +3560,16 @@ }, { "name": "monolog/monolog", - "version": "3.4.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "e2392369686d420ca32df3803de28b5d6f76867d" + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/e2392369686d420ca32df3803de28b5d6f76867d", - "reference": "e2392369686d420ca32df3803de28b5d6f76867d", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", "shasum": "" }, "require": { @@ -3638,7 +3645,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.4.0" + "source": "https://github.com/Seldaek/monolog/tree/3.5.0" }, "funding": [ { @@ -3650,7 +3657,7 @@ "type": "tidelift" } ], - "time": "2023-06-21T08:46:11+00:00" + "time": "2023-10-27T15:32:31+00:00" }, { "name": "nesbot/carbon", @@ -3822,16 +3829,16 @@ }, { "name": "nette/utils", - "version": "v4.0.2", + "version": "v4.0.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "cead6637226456b35e1175cc53797dd585d85545" + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/cead6637226456b35e1175cc53797dd585d85545", - "reference": "cead6637226456b35e1175cc53797dd585d85545", + "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", "shasum": "" }, "require": { @@ -3902,9 +3909,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.2" + "source": "https://github.com/nette/utils/tree/v4.0.3" }, - "time": "2023-09-19T11:58:07+00:00" + "time": "2023-10-29T21:02:13+00:00" }, { "name": "nunomaduro/termwind", @@ -4779,85 +4786,6 @@ ], "time": "2023-02-14T16:54:54+00:00" }, - { - "name": "ryangjchandler/filament-navigation", - "version": "v1.0.0-beta4", - "source": { - "type": "git", - "url": "https://github.com/ryangjchandler/filament-navigation.git", - "reference": "b37c4868a32768818265dd29eb773978e923c6eb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ryangjchandler/filament-navigation/zipball/b37c4868a32768818265dd29eb773978e923c6eb", - "reference": "b37c4868a32768818265dd29eb773978e923c6eb", - "shasum": "" - }, - "require": { - "doctrine/dbal": "^3.5.1", - "filament/filament": "^3.0", - "illuminate/contracts": "^10.0", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9.2" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.8", - "nunomaduro/collision": "^7.0", - "nunomaduro/larastan": "^2.0.1", - "orchestra/canvas": "^8.0", - "orchestra/testbench": "^8.0", - "pestphp/pest": "^2.0", - "pestphp/pest-plugin-laravel": "^2.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5|^10.0", - "spatie/laravel-ray": "^1.26" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "RyanChandler\\FilamentNavigation\\FilamentNavigationServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "RyanChandler\\FilamentNavigation\\": "src", - "RyanChandler\\FilamentNavigation\\Database\\Factories\\": "database/factories" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ryan Chandler", - "email": "support@ryangjchandler.co.uk", - "role": "Developer" - } - ], - "description": "Build structured navigation menus in Filament.", - "homepage": "https://github.com/ryangjchandler/filament-navigation", - "keywords": [ - "filament-navigation", - "laravel", - "ryangjchandler" - ], - "support": { - "issues": "https://github.com/ryangjchandler/filament-navigation/issues", - "source": "https://github.com/ryangjchandler/filament-navigation/tree/v1.0.0-beta4" - }, - "funding": [ - { - "url": "https://github.com/ryangjchandler", - "type": "github" - } - ], - "time": "2023-09-01T23:38:44+00:00" - }, { "name": "spatie/color", "version": "1.5.3", @@ -5183,16 +5111,16 @@ }, { "name": "spatie/laravel-medialibrary", - "version": "10.13.2", + "version": "10.14.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "6b4b7dab4e6a089c0c2292cd3ce7ce89106586ae" + "reference": "fde92469e37d580c001b9d146c9454643c6d6d57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/6b4b7dab4e6a089c0c2292cd3ce7ce89106586ae", - "reference": "6b4b7dab4e6a089c0c2292cd3ce7ce89106586ae", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/fde92469e37d580c001b9d146c9454643c6d6d57", + "reference": "fde92469e37d580c001b9d146c9454643c6d6d57", "shasum": "" }, "require": { @@ -5275,7 +5203,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/10.13.2" + "source": "https://github.com/spatie/laravel-medialibrary/tree/10.14.0" }, "funding": [ { @@ -5287,7 +5215,7 @@ "type": "github" } ], - "time": "2023-10-09T12:51:50+00:00" + "time": "2023-10-25T11:26:54+00:00" }, { "name": "spatie/laravel-package-tools", @@ -6139,16 +6067,16 @@ }, { "name": "symfony/html-sanitizer", - "version": "v6.3.4", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "947492c7351d6b01a7b38e515c98fb1107dc357d" + "reference": "45e5a24b63d394fa6472c595df448aecfd1e1ea5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/947492c7351d6b01a7b38e515c98fb1107dc357d", - "reference": "947492c7351d6b01a7b38e515c98fb1107dc357d", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/45e5a24b63d394fa6472c595df448aecfd1e1ea5", + "reference": "45e5a24b63d394fa6472c595df448aecfd1e1ea5", "shasum": "" }, "require": { @@ -6188,7 +6116,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v6.3.4" + "source": "https://github.com/symfony/html-sanitizer/tree/v6.3.7" }, "funding": [ { @@ -6204,20 +6132,20 @@ "type": "tidelift" } ], - "time": "2023-08-23T13:34:34+00:00" + "time": "2023-10-27T13:27:27+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.3.5", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957" + "reference": "59d1837d5d992d16c2628cd0d6b76acf8d69b33e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b50f5e281d722cb0f4c296f908bacc3e2b721957", - "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/59d1837d5d992d16c2628cd0d6b76acf8d69b33e", + "reference": "59d1837d5d992d16c2628cd0d6b76acf8d69b33e", "shasum": "" }, "require": { @@ -6227,12 +6155,12 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.2" + "symfony/cache": "<6.3" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^5.4|^6.0", + "symfony/cache": "^6.3", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", @@ -6265,7 +6193,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.3.5" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.7" }, "funding": [ { @@ -6281,20 +6209,20 @@ "type": "tidelift" } ], - "time": "2023-09-04T21:33:54+00:00" + "time": "2023-10-28T23:55:27+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.5", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc" + "reference": "6d4098095f93279d9536a0e9124439560cc764d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9f991a964368bee8d883e8d57ced4fe9fff04dfc", - "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6d4098095f93279d9536a0e9124439560cc764d0", + "reference": "6d4098095f93279d9536a0e9124439560cc764d0", "shasum": "" }, "require": { @@ -6378,7 +6306,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.3.5" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.7" }, "funding": [ { @@ -6394,7 +6322,7 @@ "type": "tidelift" } ], - "time": "2023-09-30T06:37:04+00:00" + "time": "2023-10-29T14:31:45+00:00" }, { "name": "symfony/mailer", @@ -7612,16 +7540,16 @@ }, { "name": "symfony/translation", - "version": "v6.3.3", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd" + "reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", - "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", + "url": "https://api.github.com/repos/symfony/translation/zipball/30212e7c87dcb79c83f6362b00bde0e0b1213499", + "reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499", "shasum": "" }, "require": { @@ -7687,7 +7615,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.3.3" + "source": "https://github.com/symfony/translation/tree/v6.3.7" }, "funding": [ { @@ -7703,7 +7631,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T07:08:24+00:00" + "time": "2023-10-28T23:11:45+00:00" }, { "name": "symfony/translation-contracts", @@ -7859,16 +7787,16 @@ }, { "name": "symfony/var-dumper", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5" + "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3d9999376be5fea8de47752837a3e1d1c5f69ef5", - "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/999ede244507c32b8e43aebaa10e9fce20de7c97", + "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97", "shasum": "" }, "require": { @@ -7923,7 +7851,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.5" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.6" }, "funding": [ { @@ -7939,7 +7867,7 @@ "type": "tidelift" } ], - "time": "2023-09-12T10:11:35+00:00" + "time": "2023-10-12T18:45:56+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -8214,16 +8142,16 @@ "packages-dev": [ { "name": "brianium/paratest", - "version": "v7.2.9", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "1f9e41c0779be4540654d92a9314016713f5e62c" + "reference": "551f46f52a93177d873f3be08a1649ae886b4a30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/1f9e41c0779be4540654d92a9314016713f5e62c", - "reference": "1f9e41c0779be4540654d92a9314016713f5e62c", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/551f46f52a93177d873f3be08a1649ae886b4a30", + "reference": "551f46f52a93177d873f3be08a1649ae886b4a30", "shasum": "" }, "require": { @@ -8231,28 +8159,28 @@ "ext-pcre": "*", "ext-reflection": "*", "ext-simplexml": "*", - "fidry/cpu-core-counter": "^0.5.1", + "fidry/cpu-core-counter": "^0.5.1 || ^1.0.0", "jean85/pretty-package-versions": "^2.0.5", "php": "~8.1.0 || ~8.2.0 || ~8.3.0", "phpunit/php-code-coverage": "^10.1.7", "phpunit/php-file-iterator": "^4.1.0", "phpunit/php-timer": "^6.0", - "phpunit/phpunit": "^10.4.0", + "phpunit/phpunit": "^10.4.2", "sebastian/environment": "^6.0.1", - "symfony/console": "^6.3.4", - "symfony/process": "^6.3.4" + "symfony/console": "^6.3.4 || ^7.0.0", + "symfony/process": "^6.3.4 || ^7.0.0" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "infection/infection": "^0.27.3", - "phpstan/phpstan": "^1.10.37", + "infection/infection": "^0.27.6", + "phpstan/phpstan": "^1.10.40", "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.14", - "phpstan/phpstan-strict-rules": "^1.5.1", + "phpstan/phpstan-phpunit": "^1.3.15", + "phpstan/phpstan-strict-rules": "^1.5.2", "squizlabs/php_codesniffer": "^3.7.2", - "symfony/filesystem": "^6.3.1" + "symfony/filesystem": "^6.3.1 || ^7.0.0" }, "bin": [ "bin/paratest", @@ -8293,7 +8221,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.2.9" + "source": "https://github.com/paratestphp/paratest/tree/v7.3.1" }, "funding": [ { @@ -8305,7 +8233,7 @@ "type": "paypal" } ], - "time": "2023-10-06T07:53:04+00:00" + "time": "2023-10-31T09:24:17+00:00" }, { "name": "cmgmyr/phploc", @@ -8374,16 +8302,16 @@ }, { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { @@ -8425,7 +8353,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { @@ -8441,7 +8369,7 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", @@ -8738,16 +8666,16 @@ }, { "name": "fidry/cpu-core-counter", - "version": "0.5.1", + "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623" + "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623", - "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/85193c0b0cb5c47894b5eaec906e946f054e7077", + "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077", "shasum": "" }, "require": { @@ -8755,13 +8683,13 @@ }, "require-dev": { "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", "phpstan/extension-installer": "^1.2.0", "phpstan/phpstan": "^1.9.2", "phpstan/phpstan-deprecation-rules": "^1.0.0", "phpstan/phpstan-phpunit": "^1.2.2", "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^9.5.26 || ^8.5.31", - "theofidry/php-cs-fixer-config": "^1.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", "webmozarts/strict-phpunit": "^7.5" }, "type": "library", @@ -8787,7 +8715,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.0.0" }, "funding": [ { @@ -8795,7 +8723,7 @@ "type": "github" } ], - "time": "2022-12-24T12:35:10+00:00" + "time": "2023-09-17T21:38:23+00:00" }, { "name": "filp/whoops", @@ -8870,16 +8798,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.34.1", + "version": "v3.37.1", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "98bf1b1068b4ceddbbc2a2b70b67a5e380add9e3" + "reference": "c3fe76976081ab871aa654e872da588077e19679" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/98bf1b1068b4ceddbbc2a2b70b67a5e380add9e3", - "reference": "98bf1b1068b4ceddbbc2a2b70b67a5e380add9e3", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/c3fe76976081ab871aa654e872da588077e19679", + "reference": "c3fe76976081ab871aa654e872da588077e19679", "shasum": "" }, "require": { @@ -8912,8 +8840,6 @@ "phpspec/prophecy": "^1.16", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", "symfony/phpunit-bridge": "^6.2.3", "symfony/yaml": "^5.4 || ^6.0" }, @@ -8953,7 +8879,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.34.1" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.37.1" }, "funding": [ { @@ -8961,7 +8887,7 @@ "type": "github" } ], - "time": "2023-10-03T23:51:05+00:00" + "time": "2023-10-29T20:51:23+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -9145,16 +9071,16 @@ }, { "name": "laravel/pint", - "version": "v1.13.2", + "version": "v1.13.5", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "bbb13460d7f8c5c0cd9a58109beedd79cd7331ff" + "reference": "df105cf8ce7a8f0b8a9425ff45cd281a5448e423" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/bbb13460d7f8c5c0cd9a58109beedd79cd7331ff", - "reference": "bbb13460d7f8c5c0cd9a58109beedd79cd7331ff", + "url": "https://api.github.com/repos/laravel/pint/zipball/df105cf8ce7a8f0b8a9425ff45cd281a5448e423", + "reference": "df105cf8ce7a8f0b8a9425ff45cd281a5448e423", "shasum": "" }, "require": { @@ -9165,13 +9091,13 @@ "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.26.1", - "illuminate/view": "^10.23.1", + "friendsofphp/php-cs-fixer": "^3.34.1", + "illuminate/view": "^10.26.2", "laravel-zero/framework": "^10.1.2", "mockery/mockery": "^1.6.6", "nunomaduro/larastan": "^2.6.4", "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.18.2" + "pestphp/pest": "^2.20.0" }, "bin": [ "builds/pint" @@ -9207,7 +9133,7 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2023-09-19T15:55:02+00:00" + "time": "2023-10-26T09:26:10+00:00" }, { "name": "laravel/tinker", @@ -9562,16 +9488,16 @@ }, { "name": "nunomaduro/collision", - "version": "v7.9.0", + "version": "v7.10.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "296d0cf9fe462837ac0da8a568b56fc026b132da" + "reference": "49ec67fa7b002712da8526678abd651c09f375b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/296d0cf9fe462837ac0da8a568b56fc026b132da", - "reference": "296d0cf9fe462837ac0da8a568b56fc026b132da", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2", "shasum": "" }, "require": { @@ -9580,19 +9506,22 @@ "php": "^8.1.0", "symfony/console": "^6.3.4" }, + "conflict": { + "laravel/framework": ">=11.0.0" + }, "require-dev": { - "brianium/paratest": "^7.2.7", - "laravel/framework": "^10.23.1", - "laravel/pint": "^1.13.1", + "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.11.0", - "pestphp/pest": "^2.19.1", - "phpunit/phpunit": "^10.3.5", + "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.0" + "spatie/laravel-ignition": "^2.3.1" }, "type": "library", "extra": { @@ -9651,7 +9580,7 @@ "type": "patreon" } ], - "time": "2023-09-19T10:45:09+00:00" + "time": "2023-10-11T15:45:01+00:00" }, { "name": "nunomaduro/larastan", @@ -9751,16 +9680,16 @@ }, { "name": "nunomaduro/phpinsights", - "version": "v2.8.0", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/phpinsights.git", - "reference": "a701b7acfda9940ef0140c7276319df9026824c4" + "reference": "52d69d895239b1e9a90d7212dffc6c7e73ec822e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/phpinsights/zipball/a701b7acfda9940ef0140c7276319df9026824c4", - "reference": "a701b7acfda9940ef0140c7276319df9026824c4", + "url": "https://api.github.com/repos/nunomaduro/phpinsights/zipball/52d69d895239b1e9a90d7212dffc6c7e73ec822e", + "reference": "52d69d895239b1e9a90d7212dffc6c7e73ec822e", "shasum": "" }, "require": { @@ -9778,8 +9707,8 @@ "psr/container": "^1.0|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "sebastian/diff": "^4.0|^5.0", - "slevomat/coding-standard": "^7.0.8|^8.0", - "squizlabs/php_codesniffer": "^3.5", + "slevomat/coding-standard": "^8.13", + "squizlabs/php_codesniffer": "^3.7", "symfony/cache": "^4.4|^5.0|^6.0", "symfony/console": "^4.2.12|^5.0|^6.0", "symfony/finder": "^4.2.12|^5.0|^6.0", @@ -9837,7 +9766,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/phpinsights/issues", - "source": "https://github.com/nunomaduro/phpinsights/tree/v2.8.0" + "source": "https://github.com/nunomaduro/phpinsights/tree/v2.9.0" }, "funding": [ { @@ -9853,20 +9782,20 @@ "type": "github" } ], - "time": "2023-03-18T18:38:03+00:00" + "time": "2023-10-20T15:58:50+00:00" }, { "name": "orchestra/canvas", - "version": "v8.11.0", + "version": "v8.11.2", "source": { "type": "git", "url": "https://github.com/orchestral/canvas.git", - "reference": "246833ff19f74db0b76d651eb4f36aa92d1af7d3" + "reference": "5038b630e2306a8e7486d69628d84fa2d1764cb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas/zipball/246833ff19f74db0b76d651eb4f36aa92d1af7d3", - "reference": "246833ff19f74db0b76d651eb4f36aa92d1af7d3", + "url": "https://api.github.com/repos/orchestral/canvas/zipball/5038b630e2306a8e7486d69628d84fa2d1764cb1", + "reference": "5038b630e2306a8e7486d69628d84fa2d1764cb1", "shasum": "" }, "require": { @@ -9924,22 +9853,22 @@ "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.0" + "source": "https://github.com/orchestral/canvas/tree/v8.11.2" }, - "time": "2023-10-03T00:44:45+00:00" + "time": "2023-10-26T21:59:54+00:00" }, { "name": "orchestra/canvas-core", - "version": "v8.9.0", + "version": "v8.10.0", "source": { "type": "git", "url": "https://github.com/orchestral/canvas-core.git", - "reference": "27ac6b07880bda4ff10da06814eb97913eadb6db" + "reference": "642a966b1f8a351a994c04ce1e03a5ddd1025ff5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/27ac6b07880bda4ff10da06814eb97913eadb6db", - "reference": "27ac6b07880bda4ff10da06814eb97913eadb6db", + "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/642a966b1f8a351a994c04ce1e03a5ddd1025ff5", + "reference": "642a966b1f8a351a994c04ce1e03a5ddd1025ff5", "shasum": "" }, "require": { @@ -9954,15 +9883,10 @@ "orchestra/testbench-core": "<8.2.0" }, "require-dev": { - "fakerphp/faker": "^1.21", - "laravel/framework": "^10.26", "laravel/pint": "^1.6", - "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^8.11", - "orchestra/workbench": "^0.3.0 || ^0.4.0", + "orchestra/testbench": "^8.13", "phpstan/phpstan": "^1.10.6", - "phpunit/phpunit": "^10.1", - "symfony/yaml": "^6.2" + "phpunit/phpunit": "^10.1" }, "type": "library", "extra": { @@ -9997,22 +9921,22 @@ "description": "Code Generators Builder for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas-core/tree/v8.9.0" + "source": "https://github.com/orchestral/canvas-core/tree/v8.10.0" }, - "time": "2023-10-03T05:50:06+00:00" + "time": "2023-10-16T01:44:47+00:00" }, { "name": "orchestra/testbench", - "version": "v8.13.0", + "version": "v8.14.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "b793195fa30517a89fd20b36b5d668324c5bbdbb" + "reference": "7dacad632a5f48830443f739cd846212c174448a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/b793195fa30517a89fd20b36b5d668324c5bbdbb", - "reference": "b793195fa30517a89fd20b36b5d668324c5bbdbb", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/7dacad632a5f48830443f739cd846212c174448a", + "reference": "7dacad632a5f48830443f739cd846212c174448a", "shasum": "" }, "require": { @@ -10020,8 +9944,8 @@ "fakerphp/faker": "^1.21", "laravel/framework": "^10.23.1", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": ">=8.13.0 <8.14.0", - "orchestra/workbench": "^0.4.0 || ^0.5.0", + "orchestra/testbench-core": ">=8.14.0 <8.15.0", + "orchestra/workbench": "^1.0", "php": "^8.1", "phpunit/phpunit": "^9.6 || ^10.1", "spatie/laravel-ray": "^1.32.4", @@ -10053,22 +9977,22 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v8.13.0" + "source": "https://github.com/orchestral/testbench/tree/v8.14.0" }, - "time": "2023-10-09T12:14:00+00:00" + "time": "2023-10-24T04:44:26+00:00" }, { "name": "orchestra/testbench-core", - "version": "v8.13.0", + "version": "v8.14.3", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "b03aa317d3c660dd63e4096580d7f713bc2cab15" + "reference": "6ebfa94c5d7872c5a6623ed588476771c6b9c124" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/b03aa317d3c660dd63e4096580d7f713bc2cab15", - "reference": "b03aa317d3c660dd63e4096580d7f713bc2cab15", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/6ebfa94c5d7872c5a6623ed588476771c6b9c124", + "reference": "6ebfa94c5d7872c5a6623ed588476771c6b9c124", "shasum": "" }, "require": { @@ -10079,6 +10003,7 @@ "brianium/paratest": "<6.4.0 || >=7.0.0 <7.1.4 || >=8.0.0", "laravel/framework": "<10.23.1 || >=11.0.0", "nunomaduro/collision": "<6.4.0 || >=7.0.0 <7.4.0 || >=8.0.0", + "orchestra/workbench": "<1.0.0", "phpunit/phpunit": "<9.6.0 || >=10.5.0" }, "require-dev": { @@ -10142,40 +10067,39 @@ "issues": "https://github.com/orchestral/testbench/issues", "source": "https://github.com/orchestral/testbench-core" }, - "time": "2023-10-09T11:41:27+00:00" + "time": "2023-10-31T12:58:05+00:00" }, { "name": "orchestra/workbench", - "version": "v0.5.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/orchestral/workbench.git", - "reference": "01175d82fd80a6589ffaa9a861100a64c500b259" + "reference": "0b1a0632d6a849831410c00c5a96e77bd43ddc78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/workbench/zipball/01175d82fd80a6589ffaa9a861100a64c500b259", - "reference": "01175d82fd80a6589ffaa9a861100a64c500b259", + "url": "https://api.github.com/repos/orchestral/workbench/zipball/0b1a0632d6a849831410c00c5a96e77bd43ddc78", + "reference": "0b1a0632d6a849831410c00c5a96e77bd43ddc78", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", - "illuminate/console": "^9.52.15 || ^10.23.0", - "illuminate/support": "^9.52.15 || ^10.23.0", + "fakerphp/faker": "^1.21", + "laravel/framework": "^9.52.15 || ^10.26.0", "laravel/tinker": "^2.8.2", - "orchestra/canvas": "^7.10.0 || ^8.9.0", - "orchestra/testbench-core": "^7.32.0 || ^8.12.0", - "php": "^8.0" + "orchestra/canvas": "^7.10.0 || ^8.11.0", + "orchestra/testbench-core": "^7.34.0 || ^8.14.0", + "php": "^8.0", + "symfony/yaml": "^6.0.9" }, "require-dev": { - "fakerphp/faker": "^1.21", - "laravel/framework": "^9.52.15 || ^10.23.0", "laravel/pint": "^1.4", "mockery/mockery": "^1.5.1", "phpstan/phpstan": "^1.10.7", "phpunit/phpunit": "^9.6", "spatie/laravel-ray": "^1.32.4", - "symfony/yaml": "^6.0.9" + "symfony/process": "^6.0.9" }, "type": "library", "extra": { @@ -10207,35 +10131,35 @@ ], "support": { "issues": "https://github.com/orchestral/workbench/issues", - "source": "https://github.com/orchestral/workbench/tree/v0.5.0" + "source": "https://github.com/orchestral/workbench/tree/v1.0.1" }, - "time": "2023-10-06T12:50:40+00:00" + "time": "2023-10-31T01:06:37+00:00" }, { "name": "pestphp/pest", - "version": "v2.22.0", + "version": "v2.24.2", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "a312cecede4f33f39a49207fd8342e0988295ed1" + "reference": "0a680dd06e02bdc58132d6bb3f155498355160a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/a312cecede4f33f39a49207fd8342e0988295ed1", - "reference": "a312cecede4f33f39a49207fd8342e0988295ed1", + "url": "https://api.github.com/repos/pestphp/pest/zipball/0a680dd06e02bdc58132d6bb3f155498355160a5", + "reference": "0a680dd06e02bdc58132d6bb3f155498355160a5", "shasum": "" }, "require": { - "brianium/paratest": "^7.2.9", - "nunomaduro/collision": "^7.9.0", - "nunomaduro/termwind": "^1.15.1", + "brianium/paratest": "^7.3.1", + "nunomaduro/collision": "^7.10.0|^8.0.0", + "nunomaduro/termwind": "^1.15.1|^2.0.0", "pestphp/pest-plugin": "^2.1.1", - "pestphp/pest-plugin-arch": "^2.3.3", + "pestphp/pest-plugin-arch": "^2.4.1", "php": "^8.1.0", - "phpunit/phpunit": "^10.4.0" + "phpunit/phpunit": "^10.4.2" }, "conflict": { - "phpunit/phpunit": ">10.4.0", + "phpunit/phpunit": ">10.4.2", "sebastian/exporter": "<5.1.0", "webmozart/assert": "<1.11.0" }, @@ -10268,6 +10192,11 @@ "Pest\\Plugins\\Version", "Pest\\Plugins\\Parallel" ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { @@ -10300,7 +10229,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v2.22.0" + "source": "https://github.com/pestphp/pest/tree/v2.24.2" }, "funding": [ { @@ -10312,7 +10241,7 @@ "type": "github" } ], - "time": "2023-10-10T07:45:41+00:00" + "time": "2023-11-01T23:10:11+00:00" }, { "name": "pestphp/pest-plugin", @@ -10386,26 +10315,26 @@ }, { "name": "pestphp/pest-plugin-arch", - "version": "v2.3.3", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-arch.git", - "reference": "b758990e83f89daba3c45672398579cf8692213f" + "reference": "59698f0a381c5bc4fa2cd5b6ed331067c4501fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/b758990e83f89daba3c45672398579cf8692213f", - "reference": "b758990e83f89daba3c45672398579cf8692213f", + "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/59698f0a381c5bc4fa2cd5b6ed331067c4501fdb", + "reference": "59698f0a381c5bc4fa2cd5b6ed331067c4501fdb", "shasum": "" }, "require": { - "nunomaduro/collision": "^7.8.1", - "pestphp/pest-plugin": "^2.0.1", + "nunomaduro/collision": "^7.10.0|^8.0.0", + "pestphp/pest-plugin": "^2.1.1", "php": "^8.1", - "ta-tikoma/phpunit-architecture-test": "^0.7.4" + "ta-tikoma/phpunit-architecture-test": "^0.7.5" }, "require-dev": { - "pestphp/pest": "^2.16.0", + "pestphp/pest": "^2.23.2", "pestphp/pest-dev-tools": "^2.16.0" }, "type": "library", @@ -10434,7 +10363,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.3.3" + "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.4.1" }, "funding": [ { @@ -10446,7 +10375,7 @@ "type": "github" } ], - "time": "2023-08-21T16:06:30+00:00" + "time": "2023-10-12T15:35:38+00:00" }, { "name": "pestphp/pest-plugin-laravel", @@ -11099,16 +11028,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.38", + "version": "1.10.40", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "5302bb402c57f00fb3c2c015bac86e0827e4b691" + "reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/5302bb402c57f00fb3c2c015bac86e0827e4b691", - "reference": "5302bb402c57f00fb3c2c015bac86e0827e4b691", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/93c84b5bf7669920d823631e39904d69b9c7dc5d", + "reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d", "shasum": "" }, "require": { @@ -11157,7 +11086,7 @@ "type": "tidelift" } ], - "time": "2023-10-06T14:19:14+00:00" + "time": "2023-10-30T14:48:31+00:00" }, { "name": "phpunit/php-code-coverage", @@ -11482,16 +11411,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.4.0", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9784e877e3700de37475545bdbdce8383ff53d25" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9784e877e3700de37475545bdbdce8383ff53d25", - "reference": "9784e877e3700de37475545bdbdce8383ff53d25", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { @@ -11563,7 +11492,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.4.0" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -11579,7 +11508,7 @@ "type": "tidelift" } ], - "time": "2023-10-06T03:41:22+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "pimple/pimple", @@ -11636,16 +11565,16 @@ }, { "name": "psy/psysh", - "version": "v0.11.21", + "version": "v0.11.22", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540" + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/bcb22101107f3bf770523b65630c9d547f60c540", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/128fa1b608be651999ed9789c95e6e2a31b5802b", + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b", "shasum": "" }, "require": { @@ -11674,7 +11603,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.11.x-dev" + "dev-0.11": "0.11.x-dev" }, "bamarni-bin": { "bin-links": false, @@ -11710,9 +11639,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.21" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" }, - "time": "2023-09-17T21:15:54+00:00" + "time": "2023-10-14T21:56:36+00:00" }, { "name": "sebastian/cli-parser", @@ -13026,16 +12955,16 @@ }, { "name": "symfony/cache", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "6c1a3ea078c4d88ee892530945df63a87981b2da" + "reference": "84aff8d948d6292d2b5a01ac622760be44dddc72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/6c1a3ea078c4d88ee892530945df63a87981b2da", - "reference": "6c1a3ea078c4d88ee892530945df63a87981b2da", + "url": "https://api.github.com/repos/symfony/cache/zipball/84aff8d948d6292d2b5a01ac622760be44dddc72", + "reference": "84aff8d948d6292d2b5a01ac622760be44dddc72", "shasum": "" }, "require": { @@ -13044,7 +12973,7 @@ "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.2.10" + "symfony/var-exporter": "^6.3.6" }, "conflict": { "doctrine/dbal": "<2.13.1", @@ -13059,7 +12988,7 @@ }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "symfony/config": "^5.4|^6.0", @@ -13102,7 +13031,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.3.5" + "source": "https://github.com/symfony/cache/tree/v6.3.6" }, "funding": [ { @@ -13118,7 +13047,7 @@ "type": "tidelift" } ], - "time": "2023-09-26T15:48:55+00:00" + "time": "2023-10-17T14:44:58+00:00" }, { "name": "symfony/cache-contracts", @@ -13261,16 +13190,16 @@ }, { "name": "symfony/http-client", - "version": "v6.3.5", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "213e564da4cbf61acc9728d97e666bcdb868c10d" + "reference": "cd67fcaf4524ec6ae5d9b2d9497682d7ad3ce57d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/213e564da4cbf61acc9728d97e666bcdb868c10d", - "reference": "213e564da4cbf61acc9728d97e666bcdb868c10d", + "url": "https://api.github.com/repos/symfony/http-client/zipball/cd67fcaf4524ec6ae5d9b2d9497682d7ad3ce57d", + "reference": "cd67fcaf4524ec6ae5d9b2d9497682d7ad3ce57d", "shasum": "" }, "require": { @@ -13333,7 +13262,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.3.5" + "source": "https://github.com/symfony/http-client/tree/v6.3.7" }, "funding": [ { @@ -13349,7 +13278,7 @@ "type": "tidelift" } ], - "time": "2023-09-29T15:57:12+00:00" + "time": "2023-10-29T12:41:36+00:00" }, { "name": "symfony/http-client-contracts", @@ -13722,16 +13651,16 @@ }, { "name": "symfony/var-exporter", - "version": "v6.3.4", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691" + "reference": "374d289c13cb989027274c86206ddc63b16a2441" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df1f8aac5751871b83d30bf3e2c355770f8f0691", - "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/374d289c13cb989027274c86206ddc63b16a2441", + "reference": "374d289c13cb989027274c86206ddc63b16a2441", "shasum": "" }, "require": { @@ -13776,7 +13705,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.3.4" + "source": "https://github.com/symfony/var-exporter/tree/v6.3.6" }, "funding": [ { @@ -13792,20 +13721,20 @@ "type": "tidelift" } ], - "time": "2023-08-16T18:14:47+00:00" + "time": "2023-10-13T09:16:49+00:00" }, { "name": "symfony/yaml", - "version": "v6.3.3", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e23292e8c07c85b971b44c1c4b87af52133e2add" + "reference": "9758b6c69d179936435d0ffb577c3708d57e38a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e23292e8c07c85b971b44c1c4b87af52133e2add", - "reference": "e23292e8c07c85b971b44c1c4b87af52133e2add", + "url": "https://api.github.com/repos/symfony/yaml/zipball/9758b6c69d179936435d0ffb577c3708d57e38a8", + "reference": "9758b6c69d179936435d0ffb577c3708d57e38a8", "shasum": "" }, "require": { @@ -13848,7 +13777,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.3.3" + "source": "https://github.com/symfony/yaml/tree/v6.3.7" }, "funding": [ { @@ -13864,20 +13793,20 @@ "type": "tidelift" } ], - "time": "2023-07-31T07:08:24+00:00" + "time": "2023-10-28T23:31:00+00:00" }, { "name": "ta-tikoma/phpunit-architecture-test", - "version": "0.7.4", + "version": "0.7.5", "source": { "type": "git", "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", - "reference": "abe1f8a5f4635e7cbe0a8a37d6b8d20c687af0f2" + "reference": "9eb08437e8f0c0c75cc947a373cf49672c335827" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/abe1f8a5f4635e7cbe0a8a37d6b8d20c687af0f2", - "reference": "abe1f8a5f4635e7cbe0a8a37d6b8d20c687af0f2", + "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/9eb08437e8f0c0c75cc947a373cf49672c335827", + "reference": "9eb08437e8f0c0c75cc947a373cf49672c335827", "shasum": "" }, "require": { @@ -13885,7 +13814,7 @@ "php": "^8.1.0", "phpdocumentor/reflection-docblock": "^5.3.0", "phpunit/phpunit": "^10.1.1", - "symfony/finder": "^6.2.7" + "symfony/finder": "^6.2.7 || ^7.0.0" }, "require-dev": { "laravel/pint": "^1.9.0", @@ -13921,9 +13850,9 @@ ], "support": { "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", - "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.7.4" + "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.7.5" }, - "time": "2023-08-03T06:50:14+00:00" + "time": "2023-10-12T15:31:50+00:00" }, { "name": "theseer/tokenizer", diff --git a/config/zeus-sky.php b/config/zeus-sky.php index 548ca33..c79ecf1 100644 --- a/config/zeus-sky.php +++ b/config/zeus-sky.php @@ -35,6 +35,7 @@ 'PostStatus' => \LaraZeus\Sky\Models\PostStatus::class, 'Tag' => \LaraZeus\Sky\Models\Tag::class, 'Library' => \LaraZeus\Sky\Models\Library::class, + 'Navigation' => \LaraZeus\Sky\Models\Navigation::class, ], 'parsers' => [ diff --git a/database/migrations/create_navigations_table.php.stub b/database/migrations/create_navigations_table.php.stub new file mode 100644 index 0000000..4d52db9 --- /dev/null +++ b/database/migrations/create_navigations_table.php.stub @@ -0,0 +1,34 @@ +id(); + $table->string('name'); + $table->string('handle')->unique(); + $table->longText('items')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('navigations'); + } +}; diff --git a/docs/advanced/customization.md b/docs/advanced/customization.md index 6cfeb51..d9d98a1 100644 --- a/docs/advanced/customization.md +++ b/docs/advanced/customization.md @@ -39,7 +39,7 @@ php artisan vendor:publish --tag=zeus-sky-translations to render the navigation: ``` -@php $menu = RyanChandler\FilamentNavigation\Models\Navigation::fromHandle('main-header-menu'); @endphp +@php $menu = \LaraZeus\Sky\SkyPlugin::get()->getModel('Navigation')::fromHandle('main-header-menu'); @endphp @foreach($menu->items as $item) {!! \LaraZeus\Sky\Classes\RenderNavItem::render($item,'px-5 py-2 text-sm font-medium text-gray-600 hover:text-blue-500 dark:text-gray-400') !!} @endforeach diff --git a/resources/lang/ar/filament-navigation.php b/resources/lang/ar/filament-navigation.php new file mode 100644 index 0000000..c31ab6e --- /dev/null +++ b/resources/lang/ar/filament-navigation.php @@ -0,0 +1,37 @@ + [ + 'external-link' => 'رابط خارجي', + 'url' => 'الرابط', + 'target' => 'الهدف', + 'name' => 'الاسم', + 'items' => 'العناصر', + 'handle' => 'المعرف', + 'created_at' => 'تم الإنشاء في', + 'updated_at' => 'تم التحديث في', + ], + + 'select-options' => [ + 'same-tab' => 'نفس علامة التبويب', + 'new-tab' => 'علامة تبويب جديدة' + ], + + 'items' => [ + 'empty' => 'لا يوجد عناصر.', + 'add-item' => 'إضافة عنصر', + 'add-child' => 'إضافة فرع', + 'move-up' => 'تحريك للأعلى', + 'move-down' => 'تحريك للأسفل', + 'indent' => 'إزاحة للداخل', + 'dedent' => 'إزاحة للخارج', + 'remove' => 'إزالة' + ], + + 'items-modal' => [ + 'title' => 'العنوان', + 'label' => 'التسمية', + 'type' => 'النوع', + 'btn' => 'حفظ', + ], +]; \ No newline at end of file diff --git a/resources/lang/en/filament-navigation.php b/resources/lang/en/filament-navigation.php new file mode 100644 index 0000000..38870f5 --- /dev/null +++ b/resources/lang/en/filament-navigation.php @@ -0,0 +1,38 @@ + [ + 'external-link' => 'External link', + 'url' => 'URL', + 'target' => 'Target', + 'name' => 'Name', + 'items' => 'Items', + 'handle' => 'Handle', + 'created_at' => 'Created at', + 'updated_at' => 'Updated at', + + ], + + 'select-options' => [ + 'same-tab' => 'Same tab', + 'new-tab' => 'New tab' + ], + + 'items' => [ + 'empty' => 'No items.', + 'add-item' => 'Add item', + 'add-child' => 'Add child', + 'move-up' => 'Move up', + 'move-down' => 'Move down', + 'indent' => 'Indent', + 'dedent' => 'Dedent', + 'remove' => 'Remove' + ], + + 'items-modal' => [ + 'title' => 'Item', + 'label' => 'Label', + 'type' => 'Type', + 'btn' => 'Save', + ], +]; \ No newline at end of file diff --git a/resources/views/components/nav-item.blade.php b/resources/views/components/nav-item.blade.php new file mode 100644 index 0000000..f3ebaab --- /dev/null +++ b/resources/views/components/nav-item.blade.php @@ -0,0 +1,81 @@ +@props(['item', 'statePath']) + +
+
+
+ + + + + @if(count($item['children']) > 0) + + @endif +
+ + +
+ +
+
+ @foreach ($item['children'] as $uuid => $child) + + @endforeach +
+
+
diff --git a/resources/views/filament/card-divider.blade.php b/resources/views/filament/card-divider.blade.php new file mode 100644 index 0000000..ce1108b --- /dev/null +++ b/resources/views/filament/card-divider.blade.php @@ -0,0 +1,3 @@ +
+
+
\ No newline at end of file diff --git a/resources/views/filament/hidden-action.blade.php b/resources/views/filament/hidden-action.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/filament/navigation-builder.blade.php b/resources/views/filament/navigation-builder.blade.php new file mode 100644 index 0000000..31d7e01 --- /dev/null +++ b/resources/views/filament/navigation-builder.blade.php @@ -0,0 +1,37 @@ + +
+
+ @forelse($getState() as $uuid => $item) + + @empty +
+ {{__('zeus-sky::filament-navigation.items.empty')}} +
+ @endforelse +
+
+ +
+ + {{__('zeus-sky::filament-navigation.items.add-item')}} + +
+
diff --git a/src/Configuration.php b/src/Configuration.php index 0a20ce2..295d5f8 100644 --- a/src/Configuration.php +++ b/src/Configuration.php @@ -3,6 +3,9 @@ namespace LaraZeus\Sky; use Closure; +use Filament\Forms\Components\Select; +use Filament\Forms\Components\TextInput; +use Illuminate\Support\Str; trait Configuration { @@ -34,8 +37,6 @@ trait Configuration /** * you can overwrite any model and use your own - * - * @deprecated deprecated since version 3.2 */ protected array $skyModels = []; @@ -125,6 +126,12 @@ trait Configuration protected bool $hasTagResource = true; + protected bool $hasNavigationResource = true; + + protected array $itemTypes = []; + + protected array | Closure $extraFields = []; + /* * @deprecated deprecated since version 3.2 */ @@ -403,6 +410,18 @@ public function hasTagResource(): bool return $this->hasTagResource; } + public function navigationResource(bool $condition = true): static + { + $this->hasNavigationResource = $condition; + + return $this; + } + + public function hasNavigationResource(): bool + { + return $this->hasNavigationResource; + } + public function libraryTypes(array $types): static { $this->libraryTypes = $types; @@ -438,4 +457,51 @@ public function getTagTypes(): ?array return $this->translatedTagTypes ?? $this->tagTypes; } + + public function itemType(string $name, array | Closure $fields, string $slug = null): static + { + $this->itemTypes[$slug ?? Str::slug($name)] = [ + 'name' => $name, + 'fields' => $fields, + ]; + + return $this; + } + + public function withExtraFields(array | Closure $schema): static + { + $this->extraFields = $schema; + + return $this; + } + + public function getExtraFields(): array | Closure + { + return $this->extraFields; + } + + public function getItemTypes(): array + { + return array_merge( + [ + 'external-link' => [ + 'name' => __('zeus-sky::filament-navigation.attributes.external-link'), + 'fields' => [ + TextInput::make('url') + ->label(__('zeus-sky::filament-navigation.attributes.url')) + ->required(), + Select::make('target') + ->label(__('zeus-sky::filament-navigation.attributes.target')) + ->options([ + '' => __('zeus-sky::filament-navigation.select-options.same-tab'), + '_blank' => __('zeus-sky::filament-navigation.select-options.new-tab'), + ]) + ->default('') + ->selectablePlaceholder(false), + ], + ], + ], + $this->itemTypes + ); + } } diff --git a/src/Filament/Fields/NavigationSelect.php b/src/Filament/Fields/NavigationSelect.php new file mode 100644 index 0000000..123d8b3 --- /dev/null +++ b/src/Filament/Fields/NavigationSelect.php @@ -0,0 +1,25 @@ +options(function (NavigationSelect $component) { + return SkyPlugin::get()->getModel('Navigation')::pluck('name', $component->getOptionValueProperty()); + }); + } + + public function getOptionValueProperty(): string + { + return $this->optionValueProperty; + } +} diff --git a/src/Filament/Resources/NavigationResource.php b/src/Filament/Resources/NavigationResource.php new file mode 100644 index 0000000..29ea60e --- /dev/null +++ b/src/Filament/Resources/NavigationResource.php @@ -0,0 +1,165 @@ +schema([ + Section::make('')->schema([ + TextInput::make('name') + ->label(__('zeus-sky::filament-navigation.attributes.name')) + ->reactive() + ->debounce() + ->afterStateUpdated(function (?string $state, Set $set) { + if (! $state) { + return; + } + + $set('handle', Str::slug($state)); + }) + ->required(), + ViewField::make('items') + ->label(__('zeus-sky::filament-navigation.attributes.items')) + ->default([]) + ->view('zeus::filament.navigation-builder'), + ]) + ->columnSpan([ + 12, + 'lg' => 8, + ]), + Group::make([ + Section::make('')->schema([ + TextInput::make('handle') + ->label(__('zeus-sky::filament-navigation.attributes.handle')) + ->required() + ->unique(column: 'handle', ignoreRecord: true), + View::make('zeus::filament.card-divider') + ->visible(static::$showTimestamps), + Placeholder::make('created_at') + ->label(__('zeus-sky::filament-navigation.attributes.created_at')) + ->visible(static::$showTimestamps) + ->content(fn (?Navigation $record) => $record ? $record->created_at->translatedFormat(Table::$defaultDateTimeDisplayFormat) : new HtmlString('—')), + Placeholder::make('updated_at') + ->label(__('zeus-sky::filament-navigation.attributes.updated_at')) + ->visible(static::$showTimestamps) + ->content(fn (?Navigation $record) => $record ? $record->updated_at->translatedFormat(Table::$defaultDateTimeDisplayFormat) : new HtmlString('—')), + ]), + ]) + ->columnSpan([ + 12, + 'lg' => 4, + ]), + ]) + ->columns(12); + } + + public static function navigationLabel(?string $string): void + { + self::$workNavigationLabel = $string; + } + + public static function pluralLabel(?string $string): void + { + self::$workPluralLabel = $string; + } + + public static function label(?string $string): void + { + self::$workLabel = $string; + } + + public static function getNavigationLabel(): string + { + return self::$workNavigationLabel ?? parent::getNavigationLabel(); + } + + public static function getModelLabel(): string + { + return self::$workLabel ?? parent::getModelLabel(); + } + + public static function getPluralModelLabel(): string + { + return self::$workPluralLabel ?? parent::getPluralModelLabel(); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + TextColumn::make('name') + ->label(__('zeus-sky::filament-navigation.attributes.name')) + ->searchable(), + TextColumn::make('handle') + ->label(__('zeus-sky::filament-navigation.attributes.handle')) + ->searchable(), + TextColumn::make('created_at') + ->label(__('zeus-sky::filament-navigation.attributes.created_at')) + ->dateTime() + ->sortable(), + TextColumn::make('updated_at') + ->label(__('zeus-sky::filament-navigation.attributes.updated_at')) + ->dateTime() + ->sortable(), + ]) + ->actions([ + EditAction::make() + ->icon(null), + DeleteAction::make() + ->icon(null), + ]) + ->filters([ + + ]); + } + + public static function getPages(): array + { + return [ + 'index' => NavigationResource\Pages\ListNavigations::route('/'), + 'create' => NavigationResource\Pages\CreateNavigation::route('/create'), + 'edit' => NavigationResource\Pages\EditNavigation::route('/{record}'), + ]; + } + + public static function getModel(): string + { + return SkyPlugin::get()->getModel('Navigation'); + } +} diff --git a/src/Filament/Resources/NavigationResource/Pages/Concerns/HandlesNavigationBuilder.php b/src/Filament/Resources/NavigationResource/Pages/Concerns/HandlesNavigationBuilder.php new file mode 100644 index 0000000..8870c35 --- /dev/null +++ b/src/Filament/Resources/NavigationResource/Pages/Concerns/HandlesNavigationBuilder.php @@ -0,0 +1,158 @@ +mountedChildTarget = $statePath; + + $this->mountAction('item'); + } + + public function removeItem(string $statePath): void + { + $uuid = Str::afterLast($statePath, '.'); + + $parentPath = Str::beforeLast($statePath, '.'); + $parent = data_get($this, $parentPath); + + data_set($this, $parentPath, Arr::except($parent, $uuid)); + } + + public function editItem(string $statePath): void + { + $this->mountedItem = $statePath; + $this->mountedItemData = Arr::except(data_get($this, $statePath), 'children'); + + $this->mountAction('item'); + } + + public function createItem(): void + { + $this->mountedItem = null; + $this->mountedItemData = []; + $this->mountedActionData = []; + + $this->mountAction('item'); + } + + protected function getActions(): array + { + return [ + Action::make('item') + ->mountUsing(function (ComponentContainer $form) { + if (! $this->mountedItem) { + return; + } + + $form->fill($this->mountedItemData); + }) + ->view('zeus::filament.hidden-action') + ->form([ + TextInput::make('label') + ->label(__('zeus-sky::filament-navigation.items-modal.label')) + ->required(), + Select::make('type') + ->label(__('zeus-sky::filament-navigation.items-modal.type')) + ->options(function () { + $types = SkyPlugin::get()->getItemTypes(); + + return array_combine(array_keys($types), Arr::pluck($types, 'name')); + }) + ->afterStateUpdated(function ($state, Select $component): void { + if (! $state) { + return; + } + + // NOTE: This chunk of code is a workaround for Livewire not letting + // you entangle to non-existent array keys, which wire:model + // would normally let you do. + $component + ->getContainer() + ->getComponent(fn (Component $component) => $component instanceof Group) + ->getChildComponentContainer() + ->fill(); + }) + ->reactive(), + Group::make() + ->statePath('data') + ->whenTruthy('type') + ->schema(function (Get $get) { + $type = $get('type'); + + return SkyPlugin::get()->getItemTypes()[$type]['fields'] ?? []; + }), + Group::make() + ->statePath('data') + ->visible(fn (Component $component) => $component->evaluate(SkyPlugin::get()->getExtraFields()) !== []) + ->schema(function (Component $component) { + return SkyPlugin::get()->getExtraFields(); + }), + ]) + ->modalWidth('md') + ->action(function (array $data) { + if ($this->mountedItem) { + data_set($this, $this->mountedItem, array_merge(data_get($this, $this->mountedItem), $data)); + + $this->mountedItem = null; + $this->mountedItemData = []; + } elseif ($this->mountedChildTarget) { + $children = data_get($this, $this->mountedChildTarget . '.children', []); + + $children[(string) Str::uuid()] = [ + ...$data, + ...['children' => []], + ]; + + data_set($this, $this->mountedChildTarget . '.children', $children); + + $this->mountedChildTarget = null; + } else { + $this->data['items'][(string) Str::uuid()] = [ + ...$data, + ...['children' => []], + ]; + } + + $this->mountedActionData = []; + }) + ->modalSubmitActionLabel(__('zeus-sky::filament-navigation.items-modal.btn')) + ->label(__('zeus-sky::filament-navigation.items-modal.title')), + ]; + } +} diff --git a/src/Filament/Resources/NavigationResource/Pages/CreateNavigation.php b/src/Filament/Resources/NavigationResource/Pages/CreateNavigation.php new file mode 100644 index 0000000..a6be7c8 --- /dev/null +++ b/src/Filament/Resources/NavigationResource/Pages/CreateNavigation.php @@ -0,0 +1,13 @@ + 'json', + ]; + + public static function fromHandle(string $handle): Builder | Model | null + { + return static::query()->firstWhere('handle', $handle); + } +} diff --git a/src/SkyPlugin.php b/src/SkyPlugin.php index 7763077..abffd63 100644 --- a/src/SkyPlugin.php +++ b/src/SkyPlugin.php @@ -7,6 +7,7 @@ use Filament\Support\Concerns\EvaluatesClosures; use LaraZeus\Sky\Filament\Resources\FaqResource; use LaraZeus\Sky\Filament\Resources\LibraryResource; +use LaraZeus\Sky\Filament\Resources\NavigationResource; use LaraZeus\Sky\Filament\Resources\PageResource; use LaraZeus\Sky\Filament\Resources\PostResource; use LaraZeus\Sky\Filament\Resources\TagResource; @@ -42,6 +43,10 @@ public function register(Panel $panel): void if ($this->hasTagResource()) { $panel->resources([TagResource::class]); } + + if ($this->hasNavigationResource()) { + $panel->resources([NavigationResource::class]); + } } public static function make(): static diff --git a/src/SkyServiceProvider.php b/src/SkyServiceProvider.php index 685fd17..a3df639 100644 --- a/src/SkyServiceProvider.php +++ b/src/SkyServiceProvider.php @@ -9,8 +9,7 @@ use LaraZeus\Sky\Console\migrateCommand; use LaraZeus\Sky\Console\PublishCommand; use LaraZeus\Sky\Console\ZeusEditorCommand; -use RyanChandler\FilamentNavigation\Filament\Resources\NavigationResource; -use RyanChandler\FilamentNavigation\FilamentNavigation; +use LaraZeus\Sky\Filament\Resources\NavigationResource; use Spatie\LaravelPackageTools\Package; use Spatie\LaravelPackageTools\PackageServiceProvider; @@ -59,6 +58,7 @@ protected function getMigrations(): array 'create_faqs_table', 'modify_posts_columns', 'create_library_table', + 'create_navigations_table', ]; } @@ -66,8 +66,7 @@ private function bootFilamentNavigation(): void { Filament::serving(function () { if (! defined('__PHPSTAN_RUNNING__') && - ! app('filament')->hasPlugin('zeus-sky') && - ! app('filament')->hasPlugin('navigation') + ! app('filament')->hasPlugin('zeus-sky') ) { return; } @@ -79,7 +78,7 @@ private function bootFilamentNavigation(): void NavigationResource::pluralLabel(__('Navigations')); NavigationResource::label(__('Navigation')); - FilamentNavigation::get() + SkyPlugin::get() ->itemType( __('Post link'), [ From a1bc890c3519cc2ce2c37418f304e7f3728bf752 Mon Sep 17 00:00:00 2001 From: atmonshi Date: Thu, 2 Nov 2023 12:36:29 +0000 Subject: [PATCH 2/2] Fix styling --- resources/lang/ar/filament-navigation.php | 6 +++--- resources/lang/en/filament-navigation.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/lang/ar/filament-navigation.php b/resources/lang/ar/filament-navigation.php index c31ab6e..5a8631d 100644 --- a/resources/lang/ar/filament-navigation.php +++ b/resources/lang/ar/filament-navigation.php @@ -14,7 +14,7 @@ 'select-options' => [ 'same-tab' => 'نفس علامة التبويب', - 'new-tab' => 'علامة تبويب جديدة' + 'new-tab' => 'علامة تبويب جديدة', ], 'items' => [ @@ -25,7 +25,7 @@ 'move-down' => 'تحريك للأسفل', 'indent' => 'إزاحة للداخل', 'dedent' => 'إزاحة للخارج', - 'remove' => 'إزالة' + 'remove' => 'إزالة', ], 'items-modal' => [ @@ -34,4 +34,4 @@ 'type' => 'النوع', 'btn' => 'حفظ', ], -]; \ No newline at end of file +]; diff --git a/resources/lang/en/filament-navigation.php b/resources/lang/en/filament-navigation.php index 38870f5..a9d0493 100644 --- a/resources/lang/en/filament-navigation.php +++ b/resources/lang/en/filament-navigation.php @@ -15,7 +15,7 @@ 'select-options' => [ 'same-tab' => 'Same tab', - 'new-tab' => 'New tab' + 'new-tab' => 'New tab', ], 'items' => [ @@ -26,7 +26,7 @@ 'move-down' => 'Move down', 'indent' => 'Indent', 'dedent' => 'Dedent', - 'remove' => 'Remove' + 'remove' => 'Remove', ], 'items-modal' => [ @@ -35,4 +35,4 @@ 'type' => 'Type', 'btn' => 'Save', ], -]; \ No newline at end of file +];