# Form Blocks

Adds a new contact form block to the Gutenberg editor.

@TODO Fields would eventually become nested blocks - once supported - allowing for custom forms.

## Gutenberg Design Principles for a Contact Form

https://wordpress.org/gutenberg/handbook/reference/design-principles/#contact-form

> Placeholder:
>
> - Has no placeholder, as the default inserted state shows a functional contact form.
>
> Selected state:
>
> - Quick Toolbar: Alignments
> - Shows "Remove" buttons next to fields that can be removed.
> - Shows an "Add field" button, which opens a pop out where you can select additional contact field options.
>
> Advanced block options:
>
> - Has description: "A basic contact form."
> - Has options for making email address mandatory, checked by default.
> - Has options for changing the form ID/name, in case you have multiple forms on a page.
>
> Note: this block doesn’t exist in Gutenberg currently, but the above describes a "best practices" for designing such a block. Being one of the more complex blocks, it’s still important that it is fully functional upon insertion, helped along by good defaults.
