> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuturuuu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Form

> Preview Form, copy setup snippets, review examples, and inspect API exports for @tuturuuu/ui/form.

<Info>
  Explore the live, interactive preview at [tuturuuu.com/ui/components/form](https://tuturuuu.com/ui/components/form).
</Info>

**Category:** Inputs · **Import:** `@tuturuuu/ui/form` · **Status:** Live preview

## Installation

Install the shared UI package, import global styles once, then import the component from its public subpath.

```bash theme={null}
bun add @tuturuuu/ui
```

```tsx theme={null}
import '@tuturuuu/ui/globals.css';
import { Form, FormField, FormItem, FormLabel, FormControl, FormMessage } from '@tuturuuu/ui/form';
```

## Usage

Copy the default usage snippet and adapt labels, state, and event handlers to the product surface.

```tsx theme={null}
import { Form, FormControl, FormField, FormItem, FormLabel } from '@tuturuuu/ui/form';

<Form {...form}>
  <FormField name="name" render={({ field }) => (
    <FormItem><FormLabel>Name</FormLabel><FormControl><Input {...field} /></FormControl></FormItem>
  )} />
</Form>
```

## Examples

Examples reuse the registry snippets so the docs stay aligned with the component catalog.

### Default

A minimal implementation using the current registry snippet.

```tsx theme={null}
import { Form, FormControl, FormField, FormItem, FormLabel } from '@tuturuuu/ui/form';

<Form {...form}>
  <FormField name="name" render={({ field }) => (
    <FormItem><FormLabel>Name</FormLabel><FormControl><Input {...field} /></FormControl></FormItem>
  )} />
</Form>
```

### Composition

Use the grouped exports when the primitive has slots, triggers, content regions, or providers.

```tsx theme={null}
import {
  Form,
  FormField,
  FormItem,
  FormLabel,
  FormControl,
  FormMessage,
} from '@tuturuuu/ui/form';
```

### Package import

Import through the public package path so workspace and external apps share the same contract.

```tsx theme={null}
// Public package import
import { Form } from '@tuturuuu/ui/form';

// Workspace apps should keep importing through the package boundary.
```

## API reference

The public exports currently available from this component entry.

| Export        | Kind      |
| ------------- | --------- |
| `Form`        | component |
| `FormField`   | component |
| `FormItem`    | component |
| `FormLabel`   | component |
| `FormControl` | component |
| `FormMessage` | component |

## Customization

Common props, states, and composition points to review before using this component.

* Validation
* Required
* Description

## Related components

* [Calendar](./calendar)
* [Checkbox](./checkbox)
* [Color Picker](./color-picker)
