New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

accelade/schemas

Schema layout components for Accelade - organize forms with sections, tabs, grids, wizards and more
2,803
Install
composer require accelade/schemas
Latest Version:v1.0.0
PHP:^8.2
Laravel:11 · 12
License:MIT
Last Updated:Sep 7, 2026
Links: GitHub  ·  Packagist
Maintainer: fadymondy

Accelade Schemas

Layout Components for Laravel Blade.

Tests Latest Version Total Downloads License


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

michalkortas/laravelforms

A simple library to make Laravel Blade forms faster and easier

1,150 9
ympact/laravel-livewire-wizard

A laravel livewire form wizard component.

0 0
djordje/laravel-backend-layout

Simple backend layout based on Twitter Bootstrap 3 for rapid backend view creati...

50 4
wirestrap/wirestrap

Anonymous Blade components for Laravel Livewire.

1,198 6
laravilt/forms

Complete form builder system with 30+ field types, validation, and Blade/Inertia...

1,213 0

Version History

Version Released PHP Laravel License
v1.0.0 ^8.2 ^11.0|^12.0 MIT