Layout Components
Learn more about Layout components
Layout components are used to change the general layout and position of fields on a form. Utilize HTML or a WYSIWYG editor to add logos, headers, or static contextual language to the form. You can find information for each of the Layout Components like unique settings, JSON code, and field examples below:
An HTML Element component may be added to a form to display a single HTML Element. This is useful if you wish to quickly insert and configure some HTML in your form. All unsafe HTML is stripped before rendering to prevent cross-site scripting exploits. This includes tags like
<script>
, <embed>
, and <style>
, and attributes like onmouseover
or onload
.Ensure all HTML elements are properly closed as misconfigured HTML can cause issues with moving or editing other components on the form.
If writing HTML is not your preference, use the WYSIWYG editor with the Content component as an alternative to writing HTML.
Unique Settings
Field Example
Guidance
JSON
HTML Tag: The name of the HTML tag to display.
CSS Class: The CSS class to add to the HTML Element. You may specify multiple classes by separating them with single spaces.
Attributes: Attributes and their values to add to the HTML Element. This is commonly used to add
href
attributes to <a>
tags, or src
attributes to <img>
tags.Content: The text content of the HTML Element. While adding more child HTML tags here will properly display them, it is recommended you use the Content component to easily write and preview more complex HTML.
Refresh on Change: Makes the HTML Element re-renders whenever any value in the form changes. It might be useful when you want the HTML Element to display dynamic data of the other components after they are filled in with values during the form filling. Simply enter
{{ data.{componentApiKey} }}
into the HTML Element and enable this setting.- Coming Soon...
{
"label": "HTML",
"attrs": [
{
"attr": "",
"value": ""
}
],
"refreshOnChange": false,
"key": "html6",
"type": "htmlelement",
"input": false,
"tableView": false
}
Property | Description | Value | Required |
---|---|---|---|
tag | The HTML Tag to use for this element | Any HTML tag | true |
attrs | An array of key-value pairs of attributes and their values to assign to this html element | Any HTML attribute | false |
className | The class name to provide to the HTML Element | Any HTML class name | false |
content | The HTML content to place within this element. | Any valid HTML | false |
A Content component may be added to a form to provide non-field information such as contextual language, headers, or media. For example, if you need instructions at the top of a form that is for display only, use the Content component. The Content component value is not submitted back to the server.
A WYSIWYG editor has been provided to help with formatting the content. If you use the HTML view of the editor, note that all unsafe HTML is stripped before rendering to prevent cross-site scripting exploits. This includes tags like
<script>
, <embed>
, and <style>
, and attributes like onmouseover
or onload
.Unique Settings
Field Examples
Guidance
JSON
Heading: Choose a Heading 1-3 or Paragraph
Font Family: Select your font style preference
Font Size: Change the font size from large to small
Font Emphasis: Add bold or italic emphasis to the content
Link: Add a hyperlink to the form
Indent: Increase or decrease the indent of the text
Insert Media: Add an image from your local machine and or add an online video via URL
Align: Align the text Left, Center, or Right
Embed Video
Data Summary
- Use the Content component as a 'Summary Section' by interpolating data from other fields on the form.
- Check the Refresh On Change setting to refresh the content anytime field data is changed on the form. This will ensure your summary section is constanstly updated with the latest date EG
{{ data.firstName }}

Interpolate data using the Content Component
{
"label": "Content",
"refreshOnChange": false,
"key": "content1",
"type": "content",
"input": false,
"tableView": false
}
Property | Description | Value | Required | Default |
---|---|---|---|---|
html | The HTML contents of this component | Any HTML string | true | |
In order to allow specific tags and attr in the content component, please see Sanitize Configuration
This component can be used for grouping other components, like Text Field, Text Area, Checkbox etc., into configurable columns. Use Columns if you want to display more than one component in one line or to save vertical space on your form.
Unique Settings
Field Examples
Guidance
JSON
Column Properties: Here you can configure a number of columns that will be displayed in a form and specify the size, width, offset, push and pull settings for each column. When configured, you can easily rearrange the columns using the drag & drop feature without a need to make everything from scratch.
Auto Adjust Columns: If all the nested components inside one of the columns are hidden, all the other columns' positions will be adjusted.
To evenly span your columns across the width of the form, the Column Property Width needs to equal 12 between all columns.
- Adding components into columns will ensure they respond in the correct order when viewing the form from a mobile device or screens with smaller widths.
- Ensure the Width total of your columns equal 12 in order to span the columns across the full width of the form without spilling the fields under to the next line.

Columns component settings
{
"label": "Columns",
"columns": [
{
"components": [],
"width": 6,
"offset": 0,
"push": 0,
"pull": 0,
"size": "md",
"currentWidth": 6
},
{
"components": [],
"width": 6,
"offset": 0,
"push": 0,
"pull": 0,
"size": "md",
"currentWidth": 6
}
],
"key": "columns1",
"type": "columns",
"input": false,
"tableView": false
}
Property | Description | Value | Required |
---|---|---|---|
columns | The columns configuration and components. | This is an array of Column Configurations defined below. | true |
The columns definition is defined as an array of column configurations. Let's say you have 3 different columns, and your schema may look like the following.
{
"type": "columns",
"columns": [
{
... COLUMN CONFIGURATION ...
},
{
... COLUMN CONFIGURATION ...
},
{
... COLUMN CONFIGURATION ...
}
]
}
where each column configuration has the following schema.
Property | Description | Value | Required | Default |
---|---|---|---|---|
components | An array of other components within this column. | Array of Components | true | [] |
width | How many Bootstrap grid units wide is this column | 6 | true | 6 |
offset | The bootstrap column offset. | 0 | false | 0 |
push | How many bootstrap grid units to push the column | 0 | false | 0 |
pull | How many bootstrap grid units to pull the column | 0 | false | 0 |
A Field Set can be used to create a title for an area of the form or grouping of components. This is useful to put inside Layout components or in between lots of related components. The Field Set is for display only and will not be saved to the API.
Unique Settings
Field Examples
Guidance
JSON
Legend: The Legend is the title that is displayed for the Field Set
- The Field Set can act as the title of a section or area of your form. This can help with organizing groupings of components or sections of your form.
{
"key": "fieldSet1",
"type": "fieldset",
"label": "Field Set",
"input": false,
"tableView": false,
"components": []
}
Property | Description | Value | Required | Default |
---|---|---|---|---|
legend | The text to place within the legend of this fieldset. | Any string | false | |
components | An array of components that are added within this fieldset. | Array of Components | true | [] |
A Panel is used to wrap groups of fields with a title and styling. Use the Panel to organize your components and create a more appealing UI. Styling currently maps to Bootstrap Card - Header and Footer.
Unique Settings
Field Examples
Guidance
JSON
Theme: The theming of the Panel. Select one of the options to have the class added to the wrapper div, changing the color of the panel header.
Collapsible: Turn the Panel into a collapsible Panel, allowing users to open and close the panel section.
Initially Collapsed: The Panel will be collapsed on form load. Applied only when the Collapsible setting is enabled.
- Hide the label of the Panel to create an organized outline section for your component
- Use the collapsible setting with a large number of components, allowing users to hide the fields they don't want to see while they are filling one or another section of the form.
- Copy/Paste the Panel to recreate the panel along with all the components inside of it
{
"collapsible": false,
"key": "panel",
"type": "panel",
"label": "Panel",
"input": false,
"tableView": false,
"components": []
}
Property | Description | Value | Required | Default |
---|---|---|---|---|
title | The title of the panel | Any string | false | |
theme | One of default , primary , success , info , warning , danger | false | default | |
components | An array of components that are within this panel. | Array of Components | true | [] |
Create a Table with columns and rows that allow adding additional components within it.
Unique Settings
Field Examples
Guidance
JSON
Number of Rows: Number of rows that will display in the Table.
Number of Columns: Number of columns that will display in the Table.
Clone Row Components: Clones the components that are in a cell of one of the columns to all the other cells of that column. Use this if you want to add a lot of Table rows that will have the same content.
Cell Alignment: Horizontal alignment for cells of the Table. Can be Left, Center and Right.
Striped: Adds striped shading to the Table rows.
Bordered: Adds visible borders for the Table.
Hover: Highlights a row on a mouse hover.
Condensed: Condenses the size of the Table, making it takes less space.
- Add HTML to the first row and column to create labels for your table. Add components and check the 'Hide Label' setting to create a clean-looking table.
- The Table component is not dynamically responsive and will not collapse when viewing the form on mobile devices or small screens.
{
"label": "Table",
"cellAlignment": "left",
"key": "table1",
"type": "table",
"numRows": 1,
"numCols": 1,
"input": false,
"tableView": false,
"rows": [
[
{
"components": []
}
]
]
}
Property | Description | Value | Required |
---|---|---|---|
numRows | The number of rows for this table | integer | true |
numCols | The number of columns for this table | integer | true |
rows | A multi-dimensional array that provides the rows of the table. Within each row is another array that contains the columns of that row, and within that is the components that are contained within that cell of the table. | Multi-dimensional array | true |
header | An array of strings that serve as the header for the columns of the table. | Array of strings for the table header. | false |
striped | If the table should be striped | boolean | false |
bordered | If the table should contain borders | boolean | false |
hover | If the table should have a hover highlight over the rows. | boolean | false |
condensed | If the table should be condensed | boolean | false |
This component groups different sets of fields together into separate tabs. Similar to a Wizard flow, users can switch between tabs using a navigation bar with tab buttons, each of which opens a set group of components. Only one tab at a time displays in a rendered form. The Tab CSS currently maps to Bootstrap Navs.
Unique Settings
Field Examples
Guidance
JSON
Tabs: A data grid that allows adding, configuring, reordering, and removing tabs.
Vertical Layout: Makes the navigation bar display in a vertical orientation instead of the default horizontal layout.
{
"label": "Tabs",
"components": [
{
"label": "Tab 1",
"key": "tab1",
"components": []
}
],
"key": "tabs",
"type": "tabs",
"input": false,
"tableView": false
}
Use a well to differentiate or highlight a specific section of the form. Wells are wrapped in a div with a class currently map to Bootstrap Cards.
Unique Settings
Field Examples
Guidance
JSON
There are no Unique settings for the Well
- Use different classes to change the appearance of the Well.
{
"label": "Well",
"key": "well1",
"type": "well",
"input": false,
"tableView": false,
"components": []
}
Last modified 2mo ago