File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/laravel/prompts/src/Themes/Default
Upload
[..]
ClearRenderer.php (216 B)
Edit
Rename
Del
Concerns/
Rename
Del
ConfirmPromptRenderer.php (2.37 KB)
Edit
Rename
Del
DataTableRenderer.php (17.75 KB)
Edit
Rename
Del
GridRenderer.php (2.69 KB)
Edit
Rename
Del
MultiSearchPromptRenderer.php (5.99 KB)
Edit
Rename
Del
NoteRenderer.php (1.6 KB)
Edit
Rename
Del
NumberPromptRenderer.php (3.06 KB)
Edit
Rename
Del
PasswordPromptRenderer.php (1.69 KB)
Edit
Rename
Del
PausePromptRenderer.php (522 B)
Edit
Rename
Del
ProgressRenderer.php (2.25 KB)
Edit
Rename
Del
Renderer.php (2.1 KB)
Edit
Rename
Del
SpinnerRenderer.php (579 B)
Edit
Rename
Del
SuggestPromptRenderer.php (4.15 KB)
Edit
Rename
Del
TaskRenderer.php (2.55 KB)
Edit
Rename
Del
TextPromptRenderer.php (1.71 KB)
Edit
Rename
Del
TitleRenderer.php (268 B)
Edit
Rename
Del
Edit: NumberPromptRenderer.php
<?php namespace Laravel\Prompts\Themes\Default; use Laravel\Prompts\NumberPrompt; class NumberPromptRenderer extends Renderer { use Concerns\DrawsBoxes; protected string $upArrow = '▲'; protected string $downArrow = '▼'; /** * Render the number prompt. */ public function __invoke(NumberPrompt $prompt): string { $maxWidth = $prompt->terminal()->cols() - 6; return match ($prompt->state) { 'submit' => $this ->box( $this->dim($this->truncate($prompt->label, $prompt->terminal()->cols() - 6)), $this->truncate((string) $prompt->value(), $maxWidth), ), 'cancel' => $this ->box( $this->truncate($prompt->label, $prompt->terminal()->cols() - 6), $this->strikethrough($this->dim($this->truncate((string) $prompt->value() ?: $prompt->placeholder, $maxWidth))), color: 'red', ) ->error('Cancelled.'), 'error' => $this ->box( $this->truncate($prompt->label, $prompt->terminal()->cols() - 6), $this->withArrows($prompt, $prompt->valueWithCursor($maxWidth), 'yellow'), color: 'yellow', ) ->warning($this->truncate($prompt->error, $prompt->terminal()->cols() - 5)), default => $this ->box( $this->cyan($this->truncate($prompt->label, $prompt->terminal()->cols() - 6)), $this->withArrows($prompt, $prompt->valueWithCursor($maxWidth)), ) ->when( $prompt->hint, fn () => $this->hint($prompt->hint), fn () => $this->newLine() // Space for errors ) }; } protected function withArrows(NumberPrompt $prompt, int|string $value, ?string $color = null): string { $arrows = $this->getArrows($prompt, $color); $valueLength = mb_strwidth($this->stripEscapeSequences((string) $value)); $padding = $this->minWidth - $valueLength - mb_strwidth($this->stripEscapeSequences($arrows)); return $value.str_repeat(' ', $padding).$arrows; } protected function getArrows(NumberPrompt $prompt, ?string $color = null): string { $upArrow = $this->upArrow; $downArrow = $this->downArrow; if ($color) { $upArrow = $this->{$color}($upArrow); $downArrow = $this->{$color}($downArrow); } if (is_numeric($prompt->value())) { if ((int) $prompt->value() === $prompt->min) { $downArrow = $this->dim($downArrow); } if ((int) $prompt->value() === $prompt->max) { $upArrow = $this->dim($upArrow); } return $upArrow.$downArrow; } if ($prompt->value() === '') { return $upArrow.$downArrow; } return $this->dim($upArrow).$this->dim($downArrow); } }
Simpan