name; } public function getColor(): string | array | null { return match ($this) { self::Draft, self::Unsent, self::Void => 'gray', self::Sent => 'primary', self::Partial => 'warning', self::Paid, self::Overpaid => 'success', self::Overdue => 'danger', }; } public static function canBeOverdue(): array { return [ self::Partial, self::Sent, self::Unsent, ]; } }