options = $options; return $this; } public function getOptions(): array { $options = $this->evaluate($this->options) ?? []; if (is_string($options) && function_exists('enum_exists') && enum_exists($options)) { $options = collect($options::cases())->mapWithKeys(static fn ($case) => [($case?->value ?? $case->name) => $case->name]); } if ($options instanceof Arrayable) { $options = $options->toArray(); } return $options; } public function hasDynamicOptions(): bool { return $this->options instanceof Closure; } }