📄️ Answer
The Answer interface is used to define the properties of an answer. Answers are used to define the correct answer for a task. These are generally used in training tasks or if skip logic is required based on the answer.
📄️ BaseIndividualComponent
The BaseIndividualComponent interface is used to define the required fields for all components.
📄️ BaseResponse
The BaseResponse interface is used to define the required fields for all responses.
📄️ CheckboxResponse
The CheckboxResponse interface is used to define the properties of a checkbox response.
📄️ ComponentBlock
The ComponentBlock interface is used to define order properties within the sequence. This is used to define the order of components in a study and the skip logic. It supports random assignment of trials using a pure random assignment and a latin square.
📄️ ComponentBlockCondition
The ComponentBlockCondition interface is used to define a SkipCondition based on the number of correct or incorrect components in a block. All answers on all components in the block are checked.
📄️ DeterministicInterruption
The DeterministicInterruption interface is used to define an interruption that will be shown at a specific location in the block.
📄️ DropdownResponse
The DropdownResponse interface is used to define the properties of a dropdown response.
📄️ GlobalConfig
The GlobalConfig is used to generate the list of available studies in the UI.
📄️ IFrameResponse
The IFrameResponse interface is used to define the properties of an iframe response.
📄️ ImageComponent
The ImageComponent interface is used to define the properties of an image component. This component is used to render an image with optional styling.
📄️ IndividualComponentAllResponsesCondition
The IndividualComponentAllResponsesCondition interface is used to define a SkipCondition based on all answers to a specific component. The skip logic will be checked for every component in the block that has the specified name.
📄️ IndividualComponentSingleResponseCondition
The IndividualComponentSingleResponseCondition interface is used to define a SkipCondition based on a single answer to a specific component. The skip logic will be checked for every component in the block that has the specified name.
📄️ LikertResponse
The LikertResponse interface is used to define the properties of a likert response.
📄️ LongTextResponse
The LongTextResponse interface is used to define the properties of a long text response.
📄️ MarkdownComponent
The MarkdownComponent interface is used to define the properties of a markdown component. The components can be used to render many different things, such as consent forms, instructions, and debriefs. Additionally, you can use the markdown component to render images, videos, and other media, with supporting text. Markdown components can have responses (e.g. in a consent form), or no responses (e.g. in a help text file). Here's an example with no responses for a simple help text file:
📄️ NumberOption
The NumberOption interface is used to define the options for a slider response.
📄️ NumericalResponse
The NumericalResponse interface is used to define the properties of a numerical response.
📄️ Option
The Option interface is used to define the options for a dropdown, slider, radio, or checkbox response.
📄️ ParticipantData
The ParticipantData is a JSON object that contains all of the data for all of the participants in your study. It is structured as a list. Each element refers to a participants data or a configuration. While in many cases there is only one configuration per study, the study creator is allowed to change the configuration file after the study has already been completed by other participants. The data for each participant will have a "participantConfigHash" which refers to a particular configuration which is also in this list.
📄️ ParticipantMetadata
The ParticipantMetadata object contains metadata about the participant. This includes the user agent, resolution, language, and IP address. This object is used to store information about the participant that is not directly related to the study itself.
📄️ QuestionnaireComponent
A QuestionnaireComponent is used to render simple questions that require a response. The main use case of this component type is to ask participants questions when you don't need to render a stimulus. Please note, that even though we're not using a stimulus, the responses still require a location. For example this could be used to collect demographic information from a participant using the following snippet:
📄️ RadioResponse
The RadioResponse interface is used to define the properties of a radio response. Radios have only one allowable selection.
📄️ RandomInterruption
The RandomInterruption interface is used to define an interruption that will be shown randomly in the block.
📄️ ReactComponent
The ReactComponent interface is used to define the properties of a react component. This component is used to render react code with certain parameters. These parameters can be used within your react code to render different things.
📄️ RepeatedComponentBlockCondition
The RepeatedComponentBlockCondition interface is used to define a SkipCondition based on the number of correct or incorrect repeated components. You might use this if you need to check if an attention check was failed multiple times. This is similar to the ComponentBlockCondition, but it only checks a specific repeated component.
📄️ Sequence
Properties
📄️ ShortTextResponse
The ShortTextResponse interface is used to define the properties of a short text response.
📄️ SliderResponse
The SliderResponse interface is used to define the properties of a slider response.
📄️ StoredAnswer
The StoredAnswer object is a data structure describing the participants interaction with an individual component. It is the data structure used as values of the answers object of ParticipantData. The general structure for this is below:
📄️ StringOption
The StringOption interface is used to define the options for a dropdown, radio, or checkbox response.
📄️ StudyConfig
The StudyConfig interface is used to define the properties of a study configuration. This is a JSON object with four main components: the StudyMetadata, the UIConfig, the Components, and the Sequence. Below is the general template that should be followed when constructing a Study configuration file.
📄️ StudyMetadata
The StudyMetadata is used to describe certain properties of a study.
📄️ UIConfig
The UIConfig is used to configure the UI of the app.
📄️ WebsiteComponent
The WebsiteComponent interface is used to define the properties of a website component. A WebsiteComponent is used to render an iframe with a website inside of it. This can be used to display an external website or an html file that is located in the public folder.