FindHotspot¶
H5P equivalent
H5P Find the Hotspot
When to use¶
Use FindHotspot when learners must pick one correct region on an image — locate a single hazard, control, or UI element. The Check action stays pinned to the bottom of the image so it remains visible after selecting a target.
Requirements¶
targetsuse percentagex/ypositions.correctTargetIdmust match one targetid.
Try it¶
Documentation demo
Use the Live demo, React, AI prompt, and Packaging / Manifest tabs below. Embedded demos disable telemetry, xAPI, and the LMS bridge. For production delivery, use the CLI template src/courseConfig.ts and LMS Go-Live.
<FindHotspot
checkId="egress-check"
src="/floor-plan.svg"
alt="Floor plan"
targets={[
{ id: "hazard", label: "Blocked aisle", x: 45, y: 60 },
{ id: "exit", label: "Clear exit", x: 80, y: 20 },
]}
correctTargetId="hazard"
/>
Copy into Cursor, Copilot, or ChatGPT after the vibe coding starter context:
Read lessonkit.json and src/App.tsx before editing.
Add a FindHotspot block (H5P-style: Find the Hotspot) like this example inside the active <Lesson>:
<FindHotspot
checkId="egress-check"
src="/floor-plan.svg"
alt="Floor plan"
targets={[
{ id: "hazard", label: "Blocked aisle", x: 45, y: 60 },
{ id: "exit", label: "Clear exit", x: 80, y: 20 },
]}
correctTargetId="hazard"
/>
Requirements:
- Import only from @lessonkit/react; use block types from block-catalog.v3.json.
- Keep existing courseId, lessonId, and navigation stable unless I ask to add a lesson.
Sync lessonkit.json — add under course.assessments[]:
{
"checkId": "hazard-hotspot",
"kind": "findHotspot",
"question": "Locate the blocked aisle.",
"src": "./images/floor-plan.svg",
"alt": "Floor plan",
"correctTargetId": "hazard"
}
- After edits, list changed files and what to verify in the browser (lessonkit dev).
Workflow tips: https://lessonkit.readthedocs.io/en/latest/guides/vibe-coding/prompting-and-workflows.html
Add under course.assessments[]:
{
"checkId": "hazard-hotspot",
"kind": "findHotspot",
"question": "Locate the blocked aisle.",
"src": "./images/floor-plan.svg",
"alt": "Floor plan",
"correctTargetId": "hazard"
}
See also¶
ImageHotspots — non-scored exploration