Skip to Content
ConceptsQuestion Types

Question Types

19 question types are supported, forming one canonical set shared across all platforms:

TypeNotes
MULTIPLE_CHOICE_SINGLERenders as radio buttons, or a dropdown when config.display === 'dropdown' — there is no separate DROPDOWN type.
MULTIPLE_CHOICE_MULTIRenders as checkboxes; any subset of options can be selected.
TEXT_SHORTSingle-line input with a live character counter; config.maxLength defaults to 250.
TEXT_LONGMulti-line textarea with a live character counter; config.maxLength defaults to 5000.
NPSFixed 0–10 scale (not configurable); labels from config.minLabel/config.maxLabel, defaulting to “Not likely”/“Very likely”.
RATING_STARStar rating sized by config.max (default 5); no config.min.
RATING_SCALENumeric button scale over config.min–config.max (default 1–5), with optional config.minLabel/config.maxLabel.
NUMBER_INPUTNumeric input; config.min/config.max/config.step set native constraints and are re-validated on submit.
BINARYYes/No toggle; uses question.options if provided, else config.trueLabel/config.falseLabel (default “Yes”/“No”).
SLIDERSlider over config.min–config.max (default 0–100), stepped by config.step (default 1); starts at the midpoint but reports null until touched.
IMAGE_SELECTIONSingle-select image grid; each option supplies imageUrl alongside its label.
RANKINGDrag/keyboard-reorderable list; the answer is the resulting option-ID order, not a selection.
CONTINUOUS_SUMNumeric allocation across options that must sum to config.targetSum (default 100); blocks advancement until the total matches exactly.
MATRIX_CHOICE_SINGLEMatrix; empty column list if config.columns is missing (no numeric fallback).
MATRIX_CHOICE_MULTIMatrix of checkboxes (multiple selections per row); same column-resolution rule as MATRIX_CHOICE_SINGLE.
MATRIX_RATING_SCALEDerives numeric columns from config.min/config.max when config.columns is absent.
MATRIX_STAR_RATINGDerives numeric columns from config.max when config.columns is absent.
EMAIL_INPUTValidated against config.validation.pattern/messageKey if supplied, else a built-in fallback regex.
DATE_TIMENative date/time picker; input type (date/time/datetime-local) chosen by config.dateMode, defaulting to 'both'.

Randomization

config.randomizeOptions shuffles the option list, but only for MULTIPLE_CHOICE_SINGLE, MULTIPLE_CHOICE_MULTI, IMAGE_SELECTION, and RANKING. It has no effect on matrix types, which use rows/columns rather than an options list to shuffle, and is explicitly excluded for CONTINUOUS_SUM to preserve author-defined category order — for both, the flag is a no-op regardless of its value.