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

# Forms Introduction

The Forms package provides a powerful, declarative form builder with Vue.js frontend integration.

## Overview

- **30+ Field Types** - Text, select, date, file upload, rich editor
- **Declarative Schema** - Define forms using PHP fluent syntax
- **Vue Integration** - Seamless frontend rendering with shadcn/ui
- **Reactive Fields** - Live updates and field dependencies
- **Layout Components** - Sections, grids, tabs, wizards

## Vue Component Stack

| Package | Purpose |
|---------|---------|
| **Vue 3** | Frontend framework |
| **shadcn/ui** | UI components (Radix Vue based) |
| **Lucide Icons** | Icon library |
| **VueUse** | Composables for reactivity |
| **Tiptap** | Rich text editor |
| **FilePond** | File uploads |

## Basic Usage

```php
<?php

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

public static function form(Schema $form): Schema
{
    return $form->schema([
        Section::make('User Information')
            ->schema([
                TextInput::make('name')
                    ->required()
                    ->maxLength(255),

                TextInput::make('email')
                    ->email()
                    ->required(),

                Select::make('role')
                    ->options([
                        'admin' => 'Administrator',
                        'user' => 'User',
                    ]),
            ])
            ->columns(2),
    ]);
}
```

## Related

### Field Categories
- [Inputs](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/inputs/introduction) - Text, number, hidden fields
- [Selection](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/selection/introduction) - Select, radio, checkbox, toggle
- [DateTime](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/datetime/introduction) - Date and time pickers
- [Media](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/media/introduction) - File upload, editors
- [Pickers](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/pickers/introduction) - Color, icon, tags
- [Data](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/data/introduction) - Repeater, builder, key-value

### Configuration
- [Layouts](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/layouts/introduction) - Section, grid, tabs, wizard
- [Validation](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/validation/introduction) - Rules and messages
- [Reactive](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/reactive/introduction) - Live updates, dependencies
- [Custom Fields](https://github.com/laravilt/laravilt/blob/HEAD/docs/forms/custom/introduction) - Create custom components
