Initial commit
This commit is contained in:
37
vendor/laravel/prompts/src/TextPrompt.php
vendored
Normal file
37
vendor/laravel/prompts/src/TextPrompt.php
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Laravel\Prompts;
|
||||
|
||||
use Closure;
|
||||
|
||||
class TextPrompt extends Prompt
|
||||
{
|
||||
use Concerns\TypedValue;
|
||||
|
||||
/**
|
||||
* Create a new TextPrompt instance.
|
||||
*/
|
||||
public function __construct(
|
||||
public string $label,
|
||||
public string $placeholder = '',
|
||||
public string $default = '',
|
||||
public bool|string $required = false,
|
||||
public mixed $validate = null,
|
||||
public string $hint = '',
|
||||
public ?Closure $transform = null,
|
||||
) {
|
||||
$this->trackTypedValue($default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the entered value with a virtual cursor.
|
||||
*/
|
||||
public function valueWithCursor(int $maxWidth): string
|
||||
{
|
||||
if ($this->value() === '') {
|
||||
return $this->dim($this->addCursor($this->placeholder, 0, $maxWidth));
|
||||
}
|
||||
|
||||
return $this->addCursor($this->value(), $this->cursorPosition, $maxWidth);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user