File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/laravel/prompts/src/Themes/Default
Upload
[..]
AutoCompletePromptRenderer.php (1.73 KB)
Edit
Rename
Del
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
MultiSelectPromptRenderer.php (4.65 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
SearchPromptRenderer.php (4.48 KB)
Edit
Rename
Del
SelectPromptRenderer.php (3.15 KB)
Edit
Rename
Del
SpinnerRenderer.php (579 B)
Edit
Rename
Del
StreamRenderer.php (344 B)
Edit
Rename
Del
SuggestPromptRenderer.php (4.15 KB)
Edit
Rename
Del
TableRenderer.php (1.3 KB)
Edit
Rename
Del
TaskRenderer.php (2.55 KB)
Edit
Rename
Del
TextPromptRenderer.php (1.71 KB)
Edit
Rename
Del
TextareaPromptRenderer.php (2.52 KB)
Edit
Rename
Del
TitleRenderer.php (268 B)
Edit
Rename
Del
Edit: TextareaPromptRenderer.php
<?php namespace Laravel\Prompts\Themes\Default; use Laravel\Prompts\TextareaPrompt; use Laravel\Prompts\Themes\Contracts\Scrolling; class TextareaPromptRenderer extends Renderer implements Scrolling { use Concerns\DrawsBoxes; use Concerns\DrawsScrollbars; /** * Render the textarea prompt. */ public function __invoke(TextareaPrompt $prompt): string { $prompt->width = $prompt->terminal()->cols() - 8; return match ($prompt->state) { 'submit' => $this ->box( $this->dim($this->truncate($prompt->label, $prompt->width)), implode(PHP_EOL, $prompt->lines()), ), 'cancel' => $this ->box( $this->truncate($prompt->label, $prompt->width), implode(PHP_EOL, array_map(fn ($line) => $this->strikethrough($this->dim($line)), $prompt->lines())), color: 'red', ) ->error($prompt->cancelMessage), 'error' => $this ->box( $this->truncate($prompt->label, $prompt->width), $this->renderText($prompt), color: 'yellow', info: 'Ctrl+D to submit' ) ->warning($this->truncate($prompt->error, $prompt->terminal()->cols() - 5)), default => $this ->box( $this->cyan($this->truncate($prompt->label, $prompt->width)), $this->renderText($prompt), info: 'Ctrl+D to submit' ) ->when( $prompt->hint, fn () => $this->hint($prompt->hint), fn () => $this->newLine() // Space for errors ) }; } /** * Render the text in the prompt. */ protected function renderText(TextareaPrompt $prompt): string { $visible = $prompt->visible(); while (count($visible) < $prompt->scroll) { $visible[] = ''; } $longest = $this->longest($prompt->lines()) + 2; return implode(PHP_EOL, $this->scrollbar( $visible, $prompt->firstVisible, $prompt->scroll, count($prompt->lines()), min($longest, $prompt->width + 2), )); } /** * The number of lines to reserve outside of the scrollable area. */ public function reservedLines(): int { return 5; } }
Simpan