Components are JSON objects that you can use when creating an interface in the template builder. For example, use them to add an image, button, or action.
The name of the component is specified in the type property in the format: <category>.<name>. Each component has its own set of acceptable properties described in detail on the component's page.
Categories:
data: Components used for working with data: input, output, or intermediate.
layout: Options for positioning elements in the interface, such as in columns or side-by-side. If you have more than one element in the interface, these components will help you arrange them the way you want.
view: Elements displayed in the interface, such as text, list, audio player, or image.
field: Fields for entering data, such as a text field or drop-down list.
condition: Check an expression against a condition. For example, you can check that a text field is filled in.
helper: Perform various operations, such as if-then-else or switch-case.
plugin: Plugins that provide expanded functionality. For example, you can use plugin.hotkeys to set up shortcuts.
action: Perform various actions, such as showing notifications.
Note: Some components are context-specific. For example, you can only use plugins in the root plugins element. You can see the available components in the editor tooltips when you press the Tab key.
Adds buttons for selecting an answer option. This is useful if there are several options. You can add just one button, but it's easier to use field.button-radio for that.
Adds a group of checkboxes for selecting independent answer options. This is useful if there are several options. You can add just one checkbox, but it's easier to use field.checkbox for that.
A component that allows a Toloker to add and remove list items, such as text fields to fill in. This way you can allow a Toloker to give multiple answers to a question.
Checks that the data didn't get a value. If it did, returns false. This is useful if you need to check the optional template data (data.*) or make sure that a Toloker didn't interact with the data entry fields (fields.*).