ImagePairing

H5P equivalent

H5P Image Pairing

When to use

Use ImagePairing for memory-style image matching — learners flip and pair cards that share the same id.

Requirements

  • Each pairs entry needs unique id, label, and imageSrc.

  • Requires checkId for LMS scoring.

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.

<ImagePairing
  checkId="ppe-pairing"
  pairs={[
    { id: "helmet", label: "Hard hat", imageSrc: "/helmet.png" },
    { id: "vest", label: "High-visibility vest", imageSrc: "/vest.png" },
  ]}
/>

Copy into Cursor, Copilot, or ChatGPT after the vibe coding starter context:

Read lessonkit.json and src/App.tsx before editing.

Add a ImagePairing block (H5P-style: Image Pairing) like this example inside the active <Lesson>:

<ImagePairing
  checkId="ppe-pairing"
  pairs={[
    { id: "helmet", label: "Hard hat", imageSrc: "/helmet.png" },
    { id: "vest", label: "High-visibility vest", imageSrc: "/vest.png" },
  ]}
/>

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": "ppe-pairing",
  "kind": "imagePairing",
  "question": "Match the PPE pairs."
}

- 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": "ppe-pairing",
  "kind": "imagePairing",
  "question": "Match the PPE pairs."
}

See also