ibrostudio / laravel-prompts-path-select
Laravel Prompts Path Select
Requires
- php: ^8.3
- illuminate/contracts: ^11.0
- laravel/prompts: ^0.3.0
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1
- orchestra/testbench: ^9.0.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
README
This package is a small add-on to Laravel Prompts to provide the ability to select the path to a directory or file.
Installation
You can install the package via composer:
composer require ibrostudio/laravel-prompts-path-select
Usage
use function IBroStudio\PathSelectPrompt\pathselect; $directory = pathselect('Select a directory');
Usual Prompts options
$directory = pathselect( label: 'Select a directory', hint: 'Use right and left arrows to navigate in folders', required: true, );
Starting root
You can choose the folder from which the selection starts:
$directory = pathselect( label: 'Select a directory', root: base_path(), );
Default selected folder
You can choose the folder from which the selection starts:
$directory = pathselect( label: 'Select a directory', root: base_path(), default: base_path('vendor'), );
Target file
By default, the selector display directories. If you want, you can target a file:
$file = pathselect( label: 'Select a file', root: base_path(), target: 'file', );
Target extension
You can also target an extension:
$file = pathselect( label: 'Select a JSON file', root: base_path(), target: '.json', );
Navigation
You navigate in directories with right and left arrows.
You can press the first letter of a folder or file to quickly select it.
Prompts forms
To insert a pathselect
into a form, use the add
method:
$responses = form() ->text('What is your name?', required: true) ->password('What is your password?', validate: ['password' => 'min:8']) ->add(function () { return pathselect('Select a directory'); }, name: 'directory') ->confirm('Do you accept the terms?') ->submit();
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.