Classic Poll
Pick one option and see live percentages update in real-time as others vote.
Activity type: classic_poll
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Array of poll options. Each has id, label, and optional color. | 2 default options |
Option Object
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the option. |
label | string | Display text for the option. |
color | string | Accent color for the option's bar/highlight. Auto-assigned from the color palette if not set. |
Behavior
- Each participant can vote for exactly one option.
- After voting, the participant sees the live results (percentages and vote counts).
- This is a single-action activity: once voted, the participant enters read-only mode.
Display Modes
| Mode | Description |
|---|---|
inline_bars | Results shown as horizontal bars within each option. |
bar_chart | Results shown as a separate vertical bar chart. |
Aggregated State
| Field | Type | Description |
|---|---|---|
options | PollOption[] | Options with vote counts, percentages, and voter lists. |
totalVotes | number | Total number of votes cast. |
myVotes | string[] | Option IDs the current participant voted for. |
CSS Selectors
.fuse-classic-poll, .fuse-poll, .fuse-poll--bar-chart, .fuse-bar, .fuse-bar-label, .fuse-option, .fuse-option-label, .fuse-option-percentage, .fuse-option-votes
Multi-Vote Poll
Vote for multiple options at once. Perfect for "select all that apply" scenarios.
Activity type: multi_vote_poll
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Array of poll options with id, label, and optional color. | 2 default options |
Behavior
- Participants can vote for multiple options.
- Votes can be toggled on and off -- clicking a voted option removes the vote.
- This is a multi-action activity: participants can change their votes at any time.
- Results update in real-time as votes are toggled.
Aggregated State
Same as Classic Poll.
CSS Selectors
.fuse-multi-vote-poll, plus all shared poll selectors.
Image Poll
Vote on images instead of text. Great for design picks, outfits, or product choices.
Activity type: image_poll
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Array of poll options. Each has id, label, and imageUrl. | 2 default options |
Option Object
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
label | string | Text label displayed below the image. |
imageUrl | string | URL of the image to display for this option. |
color | string | Optional accent color. |
Behavior
- Options are displayed as image cards with labels.
- Each participant can vote for one image.
- This is a single-action activity.
- Results show vote percentages overlaid on or below the images.
Aggregated State
Same as Classic Poll, with imageUrl available on each option.
CSS Selectors
.fuse-image-poll, plus all shared poll selectors.
This or That
Binary swipe-style choice between two options with live percentage splits.
Activity type: this_or_that
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Exactly 2 options with id, label, and optional color. | [{ label: "This" }, { label: "That" }] |
Behavior
- Two options are presented side by side in a split-screen layout.
- Each participant selects one of the two options.
- This is a multi-action activity: participants can switch their vote.
- The live percentage split is displayed as a visual divider between the two panels.
Aggregated State
Same as Classic Poll (with exactly 2 options).
CSS Selectors
.fuse-this-or-that, .fuse-panel--left, .fuse-panel--right, .fuse-panel-label, .fuse-panel-percentage
Ranked Poll
Drag to rank options in your preferred order. See the community consensus ranking emerge.
Activity type: ranked_poll
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Array of options to rank. Each has id, label, and optional color. | 3 default options |
Behavior
- All options are displayed in a list.
- Participants drag items to reorder them from most preferred to least preferred.
- Once submitted, the participant's ranking is recorded.
- This is a single-action activity: the ranking is submitted once.
- The consensus ranking is calculated by averaging all participants' rankings.
Aggregated State
| Field | Type | Description |
|---|---|---|
options | array | Options with id, label, avgRank, and rankings count. |
totalParticipants | number | Total number of participants who submitted rankings. |
CSS Selectors
.fuse-ranked-poll, .fuse-rank-number, plus shared selectors.
Elimination Poll
Multi-round voting where the lowest-voted option gets eliminated each round until a winner remains.
Activity type: elimination_poll
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Array of options with id, label, and optional color. | 2 default options |
Behavior
- Participants vote for their favorite option in the current round.
- After a round completes, the option with the fewest votes is eliminated.
- A new round begins with the remaining options.
- The process repeats until only one option remains -- the winner.
- This is a multi-round activity: participants need to continue voting in subsequent rounds.
- Participants who already voted in a round can rejoin to vote in the next round.
Aggregated State
| Field | Type | Description |
|---|---|---|
currentRound | number | The current round number. |
activeOptions | PollOption[] | Options still in the competition with vote data. |
eliminatedOptions | array | Options eliminated so far, with the round they were eliminated in. |
totalVotesThisRound | number | Total votes in the current round. |
isComplete | boolean | Whether the elimination has concluded (one winner remains). |
winner | object | The winning option (set when isComplete is true). |
CSS Selectors
.fuse-elimination-poll, .fuse-round-label, .fuse-champion, plus shared poll selectors.
Elimination Polls work best with 4+ options. With only 2 options, it effectively becomes a single-round Classic Poll.
Sliding Scale
Place yourself on a spectrum and see the live distribution curve of all responses.
Activity type: sliding_scale
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
min | number | Minimum value on the scale. | 0 |
max | number | Maximum value on the scale. | 100 |
step | number | Step increment for the slider. | 1 |
minLabel | string | Label for the minimum end of the scale. | "" |
maxLabel | string | Label for the maximum end of the scale. | "" |
scaleStyle | string | Visual style of the slider track. | "thin" |
barColor | string | Custom color for the distribution bars. | "" (uses theme accent) |
Behavior
- Participants drag a slider to select a value on the spectrum.
- After submitting, they see a histogram showing the distribution of all responses.
- Statistics (average, median, total responses) are displayed.
- This is a single-action activity.
Aggregated State
| Field | Type | Description |
|---|---|---|
distribution | number[] | Histogram bucket counts (e.g., 10 buckets from min to max). |
average | number | Mean value of all responses. |
median | number | Median value of all responses. |
totalResponses | number | Total number of responses. |
min | number | Scale minimum value. |
max | number | Scale maximum value. |
CSS Selectors
.fuse-sliding-scale, .fuse-slider, .fuse-slider-value, .fuse-slider-label, .fuse-stats, .fuse-histogram, .fuse-histogram-bar, .fuse-stat-value, .fuse-stat-label
Would You Rather
Choose between two dilemmas and see the live split. Endlessly debatable.
Activity type: would_you_rather
Configuration
| Property | Type | Description | Default |
|---|---|---|---|
options | array | Exactly 2 options with id, label, and optional color. | [{ label: "This" }, { label: "That" }] |
Behavior
- Two options are presented side by side.
- Participants choose one option.
- This is a multi-action activity: participants can switch their choice.
- The live percentage split is shown as a visual divider.
Difference from This or That
Would You Rather and This or That are functionally identical. The distinction is thematic:
- This or That: General preference comparisons (e.g., "Coffee or Tea?").
- Would You Rather: Dilemma-based questions (e.g., "Would you rather fly or be invisible?").
Aggregated State
Same as Classic Poll (with exactly 2 options).
CSS Selectors
.fuse-would-you-rather, .fuse-panel--left, .fuse-panel--right, .fuse-panel-label, .fuse-panel-percentage
Color Palette
When options do not have a custom color assigned, NueForm automatically assigns colors from a vibrant palette:
- Indigo (
#6366f1) - Amber (
#f59e0b) - Emerald (
#10b981) - Red (
#ef4444) - Violet (
#8b5cf6) - Cyan (
#06b6d4) - Orange (
#f97316) - Pink (
#ec4899) - Teal (
#14b8a6) - Purple (
#a855f7) - Lime (
#84cc16) - Rose (
#e11d48)
Colors are assigned in sequence based on the option's position. When there are more options than colors, the palette wraps around.