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:
HTML Element
Add an HTML Element 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.
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
}Specific Properties
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
Content
A Content component may be added to a form to provide static content to the form, such as contextual language, headers, or media. For instance, if you need to provide instructions at the top of a form for display purposes only, use the Content componentThe Content component value is not submitted back to the server. A WYSIWYG editor is provided within the component to format the content.
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
Use the Content component to embed a video within your form. Click Here for more information
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 }} 
{
  "label": "Content",
  "refreshOnChange": false,
  "key": "content1",
  "type": "content",
  "input": false,
  "tableView": false
}Specific Properties
html
The HTML contents of this component
Any HTML string
true
Sanitize Configuration
In order to allow specific tags and attr in the content component, please see Sanitize Configuration
Columns
This component can be used for grouping other components into configurable columns. Use Columns if you want to display multiple components inline. Columns can be utilized to save vertical space on a form and will collapse when the form is rendered on a mobile device.
Column Properties: Configured the number of available columns. Once set, components can be added to the columns by dragging and dropping a component into the column drop zone.
Auto Adjust Columns: If all the nested components inside one of the columns are hidden, all the other columns' positions will be adjusted.
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.

{
  "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
}Specific Properties
columns
The columns configuration and components.
This is an array of Column Configurations defined below.
true
Column Configuration
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.
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. (Bootstrap 3 only)
0
false
0
pull
How many bootstrap grid units to pull the column. (Bootstrap 3 only)
0
false
0
Field Set
Field Sets allows you to group multiple fields together in a form. It helps organize related fields visually and logically, making it easier to manage and present complex forms. Field Sets can be used to group fields under a common heading or section. The Field Set is for display only and will not be saved to the API.
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": []
}Specific Properties
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
[]
Panel
Panels are used to organize and group other form components into a collapsible or expandable section. Panels help structure forms by visually separating different sections or categories of information. They can include a title and be configured to open or close, which helps in managing and navigating complex forms by reducing clutter and improving the user experience. Custom CSS Styling currently defaults to Bootstrap Card - Header and Footer.
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": []
}Specific Properties
title
The title of the panel
Any string
false
theme
Any valid Bootstrap Panel 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
[]
Table
The Table component allows you to arrange and present form fields in a table-like layout. This component is particularly useful for creating forms that require a clear and organized presentation of fields with sections that benefit from a tabular structure
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": []
      }
    ]
  ]
}Specific Properties
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
Tabs
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 group of components. Only one tab at a time displays in a rendered form. The Tab CSS currently maps to Bootstrap Navs.
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
}Well
The Well component is a special type of form component designed to help with layout and visual separation within a form, making components inside the Well more user-friendly and visually appealing. Wells are wrapped in a div with a class mapped to Bootstrap Cards.
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 updated
Was this helpful?
