From 15eb1deab53c6c3946284c308a3d7dc313be9511 Mon Sep 17 00:00:00 2001 From: Maarten Paauw Date: Wed, 4 Dec 2024 12:33:39 +0100 Subject: [PATCH 1/4] fix: allow `MaxWidth` enum instance The `getMaxWidth()` method is compatible with handling the `MaxWidth` enum. Previously, it was not possible to use `MaxWidth` enum instances when overwriting the `$maxWidth` property. Note: This change was not applied to the `3.x` branch as it introduces a breaking change. The change may impact classes extending `SimplePage` or `EditProfile` if the `maxWidth` property has already been overridden. --- packages/panels/src/Pages/Concerns/HasMaxWidth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/panels/src/Pages/Concerns/HasMaxWidth.php b/packages/panels/src/Pages/Concerns/HasMaxWidth.php index e30e2958c53..c1979b50489 100644 --- a/packages/panels/src/Pages/Concerns/HasMaxWidth.php +++ b/packages/panels/src/Pages/Concerns/HasMaxWidth.php @@ -6,7 +6,7 @@ trait HasMaxWidth { - protected ?string $maxWidth = null; + protected MaxWidth | string | null $maxWidth = null; public function getMaxWidth(): MaxWidth | string | null { From e2ca8aa43abe60be7e54fd5f9dfc976d4bd3d13f Mon Sep 17 00:00:00 2001 From: maartenpaauw Date: Wed, 4 Dec 2024 11:41:52 +0000 Subject: [PATCH 2/4] chore: fix code style --- packages/forms/src/Components/Repeater.php | 3 ++- packages/tables/src/Columns/Column.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/forms/src/Components/Repeater.php b/packages/forms/src/Components/Repeater.php index aa7b66dfb24..e08cd364dd5 100644 --- a/packages/forms/src/Components/Repeater.php +++ b/packages/forms/src/Components/Repeater.php @@ -6,6 +6,7 @@ use Filament\Actions\Action; use Filament\Forms\Contracts\HasForms; use Filament\Schemas\Components\Concerns\CanBeCollapsed; +use Filament\Schemas\Components\Concerns\HasContainerGridLayout; use Filament\Schemas\Components\Contracts\CanConcealComponents; use Filament\Schemas\Components\Contracts\HasExtraItemActions; use Filament\Schemas\Schema; @@ -30,7 +31,7 @@ class Repeater extends Field implements CanConcealComponents, HasExtraItemAction use Concerns\CanGenerateUuids; use Concerns\CanLimitItemsLength; use Concerns\HasExtraItemActions; - use \Filament\Schemas\Components\Concerns\HasContainerGridLayout; + use HasContainerGridLayout; use HasReorderAnimationDuration; protected string | Closure | null $addActionLabel = null; diff --git a/packages/tables/src/Columns/Column.php b/packages/tables/src/Columns/Column.php index fecda6cea9e..9c92a4ff89a 100644 --- a/packages/tables/src/Columns/Column.php +++ b/packages/tables/src/Columns/Column.php @@ -7,6 +7,7 @@ use Filament\Support\Components\ViewComponent; use Filament\Support\Concerns\CanAggregateRelatedModels; use Filament\Support\Concerns\CanGrow; +use Filament\Support\Concerns\CanSpanColumns; use Filament\Support\Concerns\HasAlignment; use Filament\Support\Concerns\HasCellState; use Filament\Support\Concerns\HasExtraAttributes; @@ -25,6 +26,7 @@ class Column extends ViewComponent { use CanAggregateRelatedModels; use CanGrow; + use CanSpanColumns; use Concerns\BelongsToGroup; use Concerns\BelongsToLayout; use Concerns\BelongsToTable; @@ -46,7 +48,6 @@ class Column extends ViewComponent use Concerns\HasRowLoopObject; use Concerns\HasWidth; use Concerns\InteractsWithTableQuery; - use \Filament\Support\Concerns\CanSpanColumns; use HasAlignment; use HasCellState; use HasExtraAttributes; From 89d058394d911bd8b52f5fbbbfacb1e30b1b08dc Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 2 Feb 2025 12:48:16 +0000 Subject: [PATCH 3/4] Update HasMaxWidth.php --- packages/panels/src/Pages/Concerns/HasMaxWidth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/panels/src/Pages/Concerns/HasMaxWidth.php b/packages/panels/src/Pages/Concerns/HasMaxWidth.php index 89398e8e8c4..7551a0249d9 100644 --- a/packages/panels/src/Pages/Concerns/HasMaxWidth.php +++ b/packages/panels/src/Pages/Concerns/HasMaxWidth.php @@ -6,7 +6,7 @@ trait HasMaxWidth { - protected MaxWidth | string | null $maxWidth = null; + protected Width | string | null $maxWidth = null; public function getMaxWidth(): Width | string | null { From 413a5192e89d524c76f18ad5f0921f7041cc3d57 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 2 Feb 2025 12:52:19 +0000 Subject: [PATCH 4/4] rector --- packages/upgrade/bin/filament-v4 | 23 ------------------- .../Rector/SimplePropertyChangesRector.php | 6 +++++ 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/packages/upgrade/bin/filament-v4 b/packages/upgrade/bin/filament-v4 index ccd0d140e63..7421ab87fbf 100755 --- a/packages/upgrade/bin/filament-v4 +++ b/packages/upgrade/bin/filament-v4 @@ -82,29 +82,6 @@ render(<< HTML); -foreach ([ - ...glob('*.php'), - ...glob('**/*.php'), -] as $file) { - if (str_starts_with($file, 'vendor' . DIRECTORY_SEPARATOR)) { - continue; - } - - $fileContents = file_get_contents($file); - - if (str_contains($fileContents, 'protected ?string $maxContentWidth = ')) { - $fileContents = str_replace('protected ?string $maxContentWidth = ', 'protected \Filament\Support\Enums\Width | string | null $maxContentWidth = ', $fileContents); - - render(<< - Added Width type to \$maxContentWidth {$file}. -

- HTML); - } - - file_put_contents($file, $fileContents); -} - $appDirectory = $argv[1] ?? 'app'; render(<< function (Property $node) { $node->type = new Name('string | \BackedEnum | null'); }, + 'maxContentWidth' => function (Property $node) { + $node->type = new Name('\Filament\Support\Enums\Width | string | null'); + }, + 'maxWidth' => function (Property $node) { + $node->type = new Name('\Filament\Support\Enums\Width | string | null'); + }, 'navigationIcon' => function (Property $node) { $node->type = new Name('string | \BackedEnum | null'); },