React contact section components

5 contact section componentsLive previewFull source in your repo

A contact section has to take a message and still name a person. These contact forms put the fields, the inbox and the phone number in one band, so the visitor is never left with a dead submit button.

Works with

  • React
  • Next.js
  • TypeScript
  • Tailwind CSS

Contact form sections you can copy

Each contact section is one file covering the intro, the form and the human paths beside it. Preview it live, then copy the source into your project.

FAQ sections to place above a contact form

FAQ blocks from the same library, for the page that should answer the common questions before anyone writes a message.

Contact form fields and inputs

The parts a React contact form is built from: a multi step form wizard, a file uploader, a tag picker for topics, and labelled fields with error states.

Contact us page design: a form, a booking split or a map

A contact section is not a second footer. By the time someone reaches it they have already seen the product. The job is to take a named message and leave a path to a person if the form is the wrong tool. If the only action is Submit, and Submit goes nowhere, the block is a brochure.

Contact Section With Three Column Form is for a page that wants the form as the object, not a thin strip under the footer. The left column holds the ask. The middle is a white card with underline fields for name, email, industry, subject, and a longer message. Headphones sit beside We're listening. Submit is a black pill. Sales, the office, and a phone number sit against the card.

Contact Section With Split Support Grid is for a team that takes both calls and written questions. Book a call and Send us a message sit side by side as matched columns, and Discord, docs, and X cards sit under them. Use it when half your visitors want a meeting and half want an answer by email.

Contact Section With Help Form Quote is a help desk page. A mint headline sits over stacked name, email, and message fields and a send pill, and a quote card beside the form carries a vendor mark, carousel arrows, and a client logo. It suits support pages where a customer quote reassures people before they write in.

Contact Section With Dashed Grid Form is for routing. Pill name and email fields sit inside a dashed frame with topic and team dropdowns, so a message arrives already sorted. A desk portrait sits beside the message box, and a docs link gives people a way out before they send. Cut the team dropdown if every message lands in one inbox.

Good contact form design is mostly about removing friction. Ask only for what the next reply needs, usually a name, an email and a message. Put labels above the fields rather than inside them, label the button with what happens, such as Send message, and confirm on screen that the message arrived. Add a honeypot field or a CAPTCHA against spam, and link your privacy policy beside the button if you store what people send.

Wire the form to a real endpoint before you ship. The demo prevents the default submit so the preview does not POST. Your handler, your spam rules, your confirmation. An empty onSubmit that only toasts Success is worse than a mailto on the right.

Keep the three human paths honest. Talk to sales belongs here only if that inbox is staffed. The Howard Street address is demo copy. The (555) number is a placeholder. Replace every href. A tel link that rings a disconnected line is worse than no Call us block.

The next section should be the footer, or a map if the office is a place people actually visit. Contact Section With Map Preview pairs the studio address and hours with a short note form, beside a 2D street mockup with a pin, not a live maps embed. Keep Google Maps out of the file. A second form titled still have questions usually means the first list of fields was not edited.

The three column demo uses rune.codes mailboxes and a Howard Street office. Replace the heading, the placeholders, the address, and the emails before this goes to production. Keep the underlines. Boxed inputs turn the card into a generic form, which is not why this layout exists.

Frequently asked questions

A short form, a direct email address, and a second route to a person such as a phone number, a booking link or a chat channel. Add an office address and hours only if people visit. Say how quickly you reply, and make sure every link and number on the page reaches someone who answers.

Run the Wensity CLI with the block slug, for example npx wensity@latest add contact-section-with-three-column-form --type block. The CLI writes the component into your codebase and pulls in the packages it needs. You can also open any contact section on this page and copy the source from the Code tab. There is no provider to wire up.

Use the form when you need a written brief: name, industry, subject, and a message. Use a calendar when the next step is a call and you can keep the slots real. Contact Section With Split Support Grid puts Book a call and Send us a message side by side as matched columns. Contact Section With Three Column Form keeps both ideas in one band by putting mailto and tel links beside the card. Do not add a second booking widget under either.

Five is the upper bound that still reads as one card on a laptop: name, email, industry, subject, and message. Cut industry if you do not route by it. Add a file input only if someone on your side will open the attachment the same day.

Yes. The intro stacks above the form card, and the sales, office, and phone blocks follow. Test the message field at a 360 pixel width before you ship, and confirm the black Submit pill still reaches the full width of the card.

After the FAQ, or after pricing if the page has no question list. It should not be the first screen. By the time someone is writing a message they have already decided the product is in the set. One form, then the footer.

Where to go next