accelade/schemas
Accelade Schemas
Schema components for organizing forms, content, and data displays in your Laravel applications. Built on top of Accelade for reactive interactivity.
<x-accelade::section heading="User Profile" collapsible>
<x-accelade::grid :columns="2">
<input name="first_name" placeholder="First Name">
<input name="last_name" placeholder="Last Name">
</x-accelade::grid>
</x-accelade::section>
That's it. Collapsible sections, tabs, grids, wizards, and more. All with reactive state management.
Features
- Section — Collapsible panels with headings, descriptions, and icons
- Tabs — Horizontal/vertical tabs with badges and persistence
- Grid — Responsive multi-column layouts
- Columns — Simple equal-width columns
- Split — Two-column layouts with configurable ratios
- Fieldset — HTML fieldset with legend
- Wizard — Multi-step form flows
- Placeholder — Static content, views, or HTML
Installation
composer require accelade/schemas
The package extends Accelade's component namespace, so all components are available as <x-accelade::*>.
Quick Start
Section
<x-accelade::section
heading="Personal Information"
description="Update your profile details"
collapsible
>
<input name="name" placeholder="Full Name">
<input name="email" placeholder="Email">
</x-accelade::section>
Tabs
<x-accelade::tabs :component="$tabs" />
use Accelade\Schemas\Components\Tabs;
use Accelade\Schemas\Components\Tab;
$tabs = Tabs::make()
->tabs([
Tab::make('General')
->icon('<svg>...</svg>')
->schema([...]),
Tab::make('Advanced')
->badge('3')
->schema([...]),
]);
Grid
<x-accelade::grid :columns="3" gap="6">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</x-accelade::grid>
Wizard
<x-accelade::wizard :component="$wizard" />
use Accelade\Schemas\Components\Wizard;
use Accelade\Schemas\Components\Step;
$wizard = Wizard::make()
->steps([
Step::make('Account')
->icon('<svg>...</svg>')
->schema([...]),
Step::make('Profile')
->schema([...]),
Step::make('Review')
->schema([...]),
])
->nextLabel('Continue')
->submitLabel('Create Account');
Split Layout
<x-accelade::split ratio="1/3">
<x-slot:start>
<nav>Sidebar</nav>
</x-slot:start>
<x-slot:end>
<main>Content</main>
</x-slot:end>
</x-accelade::split>
Fieldset
<x-accelade::fieldset legend="Contact Info" :columns="2">
<input name="phone" placeholder="Phone">
<input name="address" placeholder="Address">
</x-accelade::fieldset>
Placeholder
<x-accelade::placeholder
:view="'partials.terms'"
label="Terms of Service"
/>
Responsive Columns
All grid-based components support responsive column configurations:
// Simple: 2 columns
Grid::make(2);
// Responsive: 1 on mobile, 2 on sm, 3 on lg
Grid::make(['default' => 1, 'sm' => 2, 'lg' => 3]);
<x-accelade::grid :columns="['default' => 1, 'sm' => 2, 'lg' => 3]">
...
</x-accelade::grid>
Multi-Framework Support
Components automatically use the correct framework prefix for Accelade's reactivity:
| Framework | Directives |
|---|---|
| Vanilla JS | a-show, a-class, @click |
| Vue | v-show, v-class, @click |
| React | data-state-show, data-state-class, @click |
| Svelte | s-show, s-class, @click |
| Angular | ng-show, ng-class, @click |
Object-Based API
All components support a fluent PHP API for programmatic rendering:
use Accelade\Schemas\Components\Section;
use Accelade\Schemas\Components\Grid;
use Accelade\Schemas\Components\Tabs;
use Accelade\Schemas\Components\Tab;
$section = Section::make('settings')
->heading('Application Settings')
->description('Configure your app')
->icon('<svg>...</svg>')
->collapsible()
->collapsed()
->columns(2)
->schema([
Grid::make(2)->schema([...]),
]);
// In Blade:
{!! $section->render() !!}
Requirements
- PHP 8.2+
- Laravel 11.x or 12.x
- Accelade 0.2+
Documentation
| Component | Description |
|---|---|
| Section | Collapsible sections with headings |
| Tabs | Tabbed content panels |
| Grid | Responsive grid layouts |
| Wizard | Multi-step form wizard |
| Fieldset | Group fields with legend |
| Split | Two-column layouts |
| Columns | Equal-width columns |
| Placeholder | Static content display |
License
MIT License. See LICENSE for details.
Related Packages
Zeus Matrix Choice multiple choice grid component form for filamentPHP
Complete schema system with sections, tabs, grids, and layout components. Organi...
Simple backend layout based on Twitter Bootstrap 3 for rapid backend view creati...
Complete form builder system with 30+ field types, validation, and Blade/Inertia...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v1.0.0 | ^8.2 | ^11.0| | MIT |