laravilt / support
Foundation package providing base components, utilities, and contracts for all Laravilt packages. Build custom components with 13+ reusable traits, Get/Set utilities, and multi-platform serialization support.
Fund package maintenance!
fadymondy
Installs: 577
Dependents: 12
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Vue
pkg:composer/laravilt/support
Requires
- php: ^8.3|^8.4
- spatie/laravel-package-tools: ^1.14
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-livewire: ^3.0
- pestphp/pest-plugin-type-coverage: ^3.5
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
README
Laravilt Support
Foundation package providing base components, utilities, and contracts for all Laravilt packages. Build custom components with reusable traits, utilities, and base classes.
Features
- 🏗️ Base Component - Foundation for all UI components
- 🎨 Concerns - 11+ reusable component behaviors (traits)
- 🛠️ Utilities - Get, Set, Str, Arr helpers
- 📝 Contracts - Interfaces for consistent implementations
- 🔄 Serialization - Multi-platform support
Available Traits
| Trait | Description |
|---|---|
CanBeDisabled |
Enable/disable component state |
CanBeHidden |
Conditional visibility control |
HasActions |
Action button support |
HasColor |
Color theming (primary, success, danger, etc.) |
HasDescription |
Description/helper text |
HasIcon |
Icon display support |
HasId |
Unique identifier management |
HasLabel |
Label configuration |
HasName |
Name attribute handling |
HasPlaceholder |
Placeholder text |
InteractsWithState |
State management utilities |
Quick Example
use Laravilt\Support\Component; use Laravilt\Support\Concerns\HasLabel; use Laravilt\Support\Concerns\HasIcon; use Laravilt\Support\Concerns\HasColor; class MyComponent extends Component { use HasLabel; use HasIcon; use HasColor; public static function make(string $name): static { return app(static::class, ['name' => $name]); } } // Usage MyComponent::make('action') ->label('Click Me') ->icon('plus') ->color('primary');
Utilities
use Laravilt\Support\Get; use Laravilt\Support\Set; use Laravilt\Support\Str; // Dot notation access Get::value($array, 'nested.key', 'default'); Set::value($array, 'nested.key', 'value'); // String utilities Str::slug('My Component'); // 'my-component'
Installation
composer require laravilt/support
Generator Command
php artisan make:component RatingInput
Documentation
- Complete Documentation - Base components, concerns, utilities
- MCP Server Guide - AI agent integration
License
The MIT License (MIT). Please see License File for more information.
