---
title: "Contact form"
description: "A contact section with the team's details beside a form: name, work email, company, a topic Select and a message."
plan: Pro
docs: https://ui.edbn.me/docs/blocks/contact-form
---

# Contact form

A contact section with the team's details beside a form: name, work email, company, a topic Select and a message.

Every field has a visible label; Company is marked Optional, and an opt-in Checkbox and a privacy line sit above Send. Submitting checks every field, shows each error under its field and moves focus to the first one to fix; while sending, the fields lock and the button shows a spinner. A thank-you panel of the same height then takes the form's place, with focus on it and a way to send another message. On narrow pages the details follow the form; pass onSubmit for your own endpoint.

A Pro block built on Base UI and Tailwind CSS v4.

## Installation

This is a Pro item. Once per project, create a token at https://ui.edbn.me/dashboard/tokens, put it in `.env.local` as `EDBN_TOKEN`, and add the registry to `components.json`:

```json
{
  "registries": {
    "@edbn": {
      "url": "https://ui.edbn.me/r/{name}.json",
      "headers": { "Authorization": "Bearer ${EDBN_TOKEN}" }
    }
  }
}
```

Then install:

```bash
npx shadcn@4.19.0 add @edbn/contact-form
```

## Dependencies
- npm: lucide-react@^1.33.0
- edbn: edbn-base, button, checkbox, field, input, select, spinner, text-link, textarea

## Source

The source is part of Pro (https://ui.edbn.me/pricing). The install above adds it to the project, ready to edit.

## More contact blocks

All 3, with install commands: https://ui.edbn.me/docs/blocks/contact · https://ui.edbn.me/docs/blocks/contact.md

## For agents
- Base theme, once per project: npx shadcn@4.19.0 add https://ui.edbn.me/r/edbn-base.json
- MCP server with search, items, examples and source: https://ui.edbn.me/mcp
- Every page and item: https://ui.edbn.me/llms.txt
