Contact forms

Support requests, sales enquiries, split map-and-form layouts.

A contact form is a promise about a reply, so the useful ones say when to expect it and offer an alternative for people who would rather not fill anything in. These carry the full state machine — idle, submitting, success, and an error that keeps what the user typed — which is the part most hand-built forms are missing when the network drops.

6 matching6 blocksFree to copy
Open the full page for this block

Split Contact Form

A contact form beside the channels that bypass it — a real address, a support link and a response-time promise, which is what makes a form people cannot see into feel worth filling.

Contact & Forms279 lines1 dep
Open the full page for this block

Form with Error Summary

The state every form reaches and none of them illustrate: a focused summary at the top linking to each bad field, validation that waits for submit, and somewhere for the failure that belongs to no field.

Contact & Forms320 lines1 dep
Open the full page for this block

Multi-Step Form with Validation

A three-step form where each step validates only its own fields, errors are wired to inputs with aria-describedby, and advancing moves focus to the new heading.

Contact & Forms373 lines1 dep
Open the full page for this block

Inline Feedback Widget

One click to rate, everything after it optional — the shape that collects a complaint from someone mid-task who would never open a contact page.

Contact & Forms248 lines1 dep
Open the full page for this block

Contact Sales Form

A qualifying contact form that asks the three things a first reply needs, and says what happens next before you send it.

Contact & Forms175 linesNo deps
Open the full page for this block

Support Ticket Form

A support form that asks for the one thing that halves resolution time — what you already tried — and says when a human will read it.

Contact & Forms169 linesNo deps

Questions about contact forms

How do I keep spam out without a CAPTCHA?
A honeypot field hidden from humans, a timestamp check that rejects sub-second submissions, and rate limiting per IP will clear most of it. Add a challenge only when that stops being enough — every CAPTCHA costs real submissions.
What is the minimum accessible form?
A visible `<label>` per field, errors linked with `aria-describedby`, and a success message in a live region. Placeholder-as-label fails all three at once.
Are these contact forms free to use?
All 6 are free to copy and use in your own projects, including commercial ones. A Pro licence exists for redistribution — shipping them inside a product other people buy — and the full terms are on the licence page.
How do I add one to my project?
Install it with the CLI: `npx hoverlab add contact-form-split` writes the component and its dependencies into your project. Every artifact here also has a copy button for the raw source, and an "Open in sandbox" link if you would rather try it first.