laravilt / schemas
Complete schema system with sections, tabs, grids, and layout components. Organize form fields and information displays with powerful layout components supporting collapsible sections, responsive grids, and nested schemas.
Fund package maintenance!
fadymondy
Installs: 444
Dependents: 3
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Vue
pkg:composer/laravilt/schemas
Requires
- php: ^8.3|^8.4
- laravilt/support: ^1.0
- 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 Schemas
Complete schema system with sections, tabs, grids, and layout components for Laravilt. Organize form fields and information displays with powerful layout components.
Features
- 📦 8 Layout Components - Section, Tabs, Grid, Fieldset, Split, Wizard, Step, Columns
- 🎨 Section Features - Collapsible, icons, headers, footers, aside layout
- 📑 Tab Features - Multiple tabs, icons, badges, lazy loading
- 📐 Grid Features - 1-12 column layouts, responsive spans
- ⚡ Reactivity - Conditional visibility, dynamic fields, state management
- 🔄 Nested Schemas - Support for deeply nested layouts
Layout Components
| Component | Description |
|---|---|
Section |
Collapsible sections with headings and icons |
Tabs |
Tabbed interfaces with badges |
Grid |
Responsive multi-column layouts |
Fieldset |
HTML fieldset grouping |
Split |
Two-column responsive layouts |
Wizard |
Multi-step form workflows |
Step |
Individual wizard steps |
Columns |
Simple two-column wrapper |
Quick Examples
Section with Columns
use Laravilt\Schemas\Components\Section; use Laravilt\Forms\Components\TextInput; Section::make('Product Information') ->description('Basic product details') ->icon('Package') ->columns(2) ->collapsible() ->schema([ TextInput::make('name')->required(), TextInput::make('sku')->required(), TextInput::make('price')->numeric()->prefix('$'), TextInput::make('stock')->numeric(), ]);
Tabs
use Laravilt\Schemas\Components\Tabs; use Laravilt\Schemas\Components\Tab; Tabs::make('product_tabs') ->tabs([ Tab::make('details') ->label('Details') ->icon('FileText') ->schema([...]), Tab::make('pricing') ->label('Pricing') ->icon('DollarSign') ->badge(fn ($record) => $record?->has_discount ? 'Sale' : null) ->schema([...]), ]);
Wizard
use Laravilt\Schemas\Components\Wizard; use Laravilt\Schemas\Components\Step; Wizard::make() ->steps([ Step::make('account') ->label('Account') ->icon('User') ->schema([...]), Step::make('profile') ->label('Profile') ->icon('Settings') ->schema([...]), ]) ->skippable();
Installation
composer require laravilt/schemas
Generator Command
php artisan make:schema ProductSchema
Documentation
- Complete Documentation - All layout components and features
- MCP Server Guide - AI agent integration
License
The MIT License (MIT). Please see License File for more information.
