# FormMapper

It takes the field type from the Source property and maps it to a field component. The mapped component must exist.&#x20;

For example, a source of type *name* will be mapped to the custom *TextField* component that will contain a label component along with an *InputText* component:

![](https://1947171238-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LrTaL6FQB3RzlkCwQfN%2Fuploads%2FosBu9A0EBOKb1qKccAZz%2Fimage.png?alt=media\&token=03ea3425-4310-4f1f-934f-3247d439c4c0)

### Mapping table

| Source   | Component     |
| -------- | ------------- |
| checkbox | CheckboxField |
| date     | DateField     |
| dropdown | DropdownField |
| email    | TextField     |
| fname    | TextField     |
| lname    | TextField     |
| name     | TextField     |
| number   | NumericField  |
| password | TextField     |
| phone    | TextField     |
| text     | TextField     |
| textarea | TextAreaField |

{% hint style="warning" %}
Currently, the form slide where the form mapper is included must have set the property *Private Id* as ***slide***.
{% endhint %}

### Settings

<table><thead><tr><th width="198.33333333333331">Setting</th><th width="150">Value</th><th>Description</th></tr></thead><tbody><tr><td>Container</td><td>false</td><td>Accepts nested children components.</td></tr><tr><td>Droppable</td><td>true</td><td>Added as a nested child component inside a container.</td></tr><tr><td>Editable</td><td>false</td><td>Can be edited</td></tr><tr><td>Interactive</td><td>false</td><td>Can receive events</td></tr></tbody></table>

### Properties

<table><thead><tr><th width="179.49923195084486">Property</th><th width="150">Type</th><th width="150">Default</th><th>Description</th></tr></thead><tbody><tr><td>Source</td><td>General</td><td></td><td>The type of the field to render (see mapping table above)</td></tr></tbody></table>

### Actions

No actions defined.

### Events

No events defined.
