> Source: https://laravilt.com/docs/schemas/introduction

# Schemas

Layout components for organizing fields.

## Installation

```bash
composer require laravilt/schemas
```

## Documentation

- [Schema Class](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/schema) - Base schema class
- [Section](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/components/section) - Collapsible containers
- [Grid](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/components/grid) - Multi-column layouts
- [Tabs](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/components/tabs) - Tabbed interfaces
- [Wizard](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/components/wizard) - Multi-step forms
- [Fieldset](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/components/fieldset) - HTML fieldset
- [Split](https://github.com/laravilt/laravilt/blob/HEAD/docs/schemas/components/split) - Two-pane layouts

## Quick Example

```php
<?php

use Laravilt\Schemas\Schema;
use Laravilt\Schemas\Components\Section;
use Laravilt\Forms\Components\TextInput;

Schema::make()
    ->columns(2)
    ->schema([
        Section::make('User Information')
            ->icon('User')
            ->schema([
                TextInput::make('name'),
                TextInput::make('email'),
            ]),
    ]);
```

## Schema Methods

| Method | Description |
|--------|-------------|
| `make(?string)` | Create schema |
| `schema(array)` | Set components |
| `columns(int)` | Grid columns |
| `model(string)` | Model class |
| `operation(string)` | create/edit/view |
| `record(mixed)` | Model instance |
| `fill(array)` | Fill with data |

## Validation

```php
<?php

$rules = $schema->getValidationRules();
$messages = $schema->getValidationMessages();
$attributes = $schema->getValidationAttributes();
```

## Responsive Columns

```php
<?php

Grid::make()
    ->columns([
        'default' => 1,  // Mobile
        'md' => 2,       // Tablet
        'lg' => 3,       // Desktop
    ])
    ->schema([...]);
```

## Related

- [Forms](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/introduction) - Form fields
- [Infolists](https://github.com/laravilt/laravilt/blob/HEAD/docs/infolists/introduction) - Display entries
