Prototype review
A React block (a whole screen) in Beamline's Research & design app.
Reviewing a design file's clickable prototype. Present: the board on a stage with its wireframe, the flow chosen (an unavailable one can't be), Back through where you went, previous and next through the page's boards, hotspots shown on demand or flashed when a click misses, and the boards overview to jump; a hotspot whose board was removed says so and is never sent somewhere else. Flows: each named flow with its start board, renamed without breaking the links that point at it, a removed start leaving the flow unavailable until another is chosen, and played from its start. Interaction: one trigger's action (navigate or open an overlay), the overlay's preset position or its offset from the trigger drawn on the board, running past the edge said, a removed trigger said, close on outside click; and the variables it sets, each typed value checked against the variable's type with the change it makes shown. Share: a review link for chosen pages with comments and inspect switches, created, copied and revoked (after asking) each said apart, the other links untouched and revoked ones kept in the list.
Use it for
- A design or no-code tool where people present and review clickable prototypes, set up flows and interactions, and share review links.
- Any step-by-step walkthrough of screens with links between them (onboarding storyboards, demo tours).
Not for
- Wiring connections between boards on a canvas (signature work).
- Generic file sharing with people and roles (share-dialog).
Anatomy
- tabs: Present, Flows, Interaction, Share
- present: flow select, Back, Show hotspots, previous / position / next; the stage with the board (wireframe blocks by kind, hotspots) or the removed-board panel; the board's name; the boards overview
- flows: a card per flow (start thumbnail, name, start select, links kept or the start-removed warning, Present this flow); Add a flow
- interaction: the trigger's board with the trigger outlined and the overlay placed; the inspector (action, destination, position, offsets, the edge or anchor warning, close on outside click) and the variables it sets (variable, value, the change or mismatch, remove; Set a variable)
- share: the new link (pages, comments, inspect, Create link); the event line; links with their pages, permissions, date, Copy link and Revoke; the revoke dialog
States
- presenting
- hotspots shown
- hotspots flashed
- first board
- last board
- board removed
- flow unavailable
- flow renamed
- start chosen
- overlay preset
- overlay relative
- overlay past the edge
- anchor missing
- variable change
- type mismatch
- no variables
- creating link
- link created
- link copied
- revoke asked
- link revoked
- action failed
- no links
Keyboard
- Tab reaches every control and each hotspot on the board (named for its layer); Enter follows a hotspot
- Back, previous and next are buttons; the overview's boards are a list of buttons with the current one marked
- The revoke dialog traps focus; Escape cancels
Props
| Prop | Type | Default | Description |
|---|---|---|---|
boards (required) | Board[] | — | |
flows (required) | Flow[] | — | |
onFlowsChange | ((flows: Flow[]) => void) | — | |
interaction | Interaction | null | — | The interaction being edited (one trigger on one board). |
onInteractionChange | ((i: Interaction) => void) | — | |
variables | ProtoVariable[] | — | |
links | ShareLink[] | — | |
onCreateLink | ((spec: ShareSpec) => Promise<ShareLink>) | — | Creates a review link; a rejection is said and nothing is added. |
onRevokeLink | ((id: string) => void | Promise<unknown>) | — | Revokes one link; the others are untouched. |
defaultBoard | string | — | The board shown first in Present (mid-way through a flow); otherwise the first flow's start. |
defaultFlow | string | — | |
defaultHotspots | boolean | — | |
tab | PrototypeTab | — | |
defaultTab | PrototypeTab | — | |
onTabChange | ((t: PrototypeTab) => void) | — | |
className | string | — | Classes on the documented visual root; no override by default. |
style | CSSProperties | — | Inline styles on the documented visual root; no overrides by default. |
ref | Ref<HTMLDivElement> | — | Receives the documented native target or imperative handle; omitted by default. |
Built from
- tabs
- select
- switch
- checkbox
- number-field
- input
- copy-button
- alert-dialog
- button
Dependencies
lucide-react
Import
import { PrototypeReview } from "@beamline/prototype-review";
Get it
Prototype review is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. Get Beamline · Connect your agent
More in Research & design
- Research synthesis: A research study turned into evidence in one place. Transcripts: passages marked as accepted highlights or as the assistant's suggestions (dashed)…
- Study setup: Set up an unmoderated test and its screener. Test: what's tested (a website, a prototype by its share link, an app by its store page), who takes it…
- Study flow: A study's blocks in order, each with where people go next. A block that routes by its answer (multiple choice, scale, open question, prototype task) has…
- Participant review: One participant's session, answer by answer, beside the list of everyone who took the study. The list filters (finished, left early, with a recording)…
- Click heatmap: One screen of a usability task as it looked (your prototype's frame or a page built from your parts, scaled into a phone) with where people clicked over…
- Tree test: A tree test: build a navigation tree and read where people went. Build: pages added at the top or under any page, indented under the page above or moved…
- Prototype task: A prototype task in a study. The linked prototype refreshes from the design keeping the task and paths (a start screen gone from the new version said, a…
- Task results: A usability task's results, from headline outcomes down to paths and screens. Outcomes (direct success, indirect success, gave up) say their share and…
- Matrix question: A matrix question and the participant's side of it, side by side. Rows (up to ten) share one set of choices (two to seven); Enter adds a row, several…
- Report builder: Build a chart from your metrics without code: choose metrics, how to group them over time, an optional breakdown, filters, the range and the chart, see…
- Report library: A business's reports in one place. The directory: reports by topic and group with search, each with what it answers; one this person can't open says why…
- Review page builder: Building the page reviewers use to go through records one by one. The queue of records (one with no title shows its id instead of a blank); the record as…
- Database builder: What a database does for the people who use it, built in one place. Templates: starting values per property (a relation default points at an existing…
- Workflow builder: Automation rules for a SaaS without code: a trigger, conditions built with the query builder that branch into Yes and No, actions and waits, drawn as a…
- Workflow library: The automation library: every automation as a row (what starts it, whether it's live, a draft or paused, who owns it, when it last ran, and its runs this…
- Drawing board: A whiteboard a team already knows how to use, like FigJam: tools in a floating bar at the bottom (Select V, Hand H, Sticky note S, Shape R/O/D, Connector…
- Model workbench: A CAD model's workbench around a large isometric scene of its bodies, each shaded from its material's appearance with a soft ground shadow and an axis…
- Component properties: A design system component from three sides. Its variants as a matrix on two chosen properties, the others filtering it, each cell drawing the variant; a…
- Slot editor: Slots in a design system component, from making to filling. The main component's layer tree with a checkbox per layer: a nested frame converts to a slot…