dehydrateStateUsing(static function (array $state): array { return array_values($state); }); } public function maxFiles(int | Closure | null $count): static { $this->maxFiles = $count; return $this; } public function minFiles(int | Closure | null $count): static { $this->minFiles = $count; return $this; } public function uploadComponent(Component | Closure | null $component): static { $this->uploadComponent = $component; return $this; } public function getChildComponents(): array { return [$this->getUploadComponent()]; } public function getUploadComponent(): Component { $component = $this->evaluate($this->uploadComponent) ?? $this->getDefaultUploadComponent(); if (filled($this->maxFiles)) { $component->maxFiles($this->maxFiles); } if (filled($this->minFiles)) { $component->minFiles($this->minFiles); } return $component ->label($this->getLabel()) ->multiple() ->statePath(null) ->validationAttribute($this->getValidationAttribute()); } protected function getDefaultUploadComponent(): BaseFileUpload { return FileUpload::make('files'); } }