TeachKit project

TeachKit / Design system

Documentation v0.1 · Released product

Design system contents

Components

Compact course rows

Present a known course in management and selection lists with a smaller cover and optional selection/removal actions.

On this page

Purpose and usage

Present a known course in management and selection lists with a smaller cover and optional selection/removal actions.

Anatomy

Anatomy
PartContract
CheckboxOnly when onSelect exists
Thumbnail/titleLinked course destination
RemoveOptional parent callback

Variants and configuration

Variants and configuration
Input or variantBehavior
Identityid, title, thumbnailUrl
Selectionchecked and onSelect
RemovalonRemove supplied by owner container

State coverage

State coverage
StateImplemented behavior
Navigation onlyNo selection or removal callback
SelectableNative checkbox with controlled checked state
RemovableParent receives removal intent

Interaction and composition

  • Keep selection distinct from opening the course.
  • The container owns whether removal changes a relationship or deletes anything.
  • Use native image proportions and preserve readable titles.

Accessibility and readiness

The checkbox needs a name in its composition. Verify icon-only removal naming and clarify consequences. A pictured removal control does not prove deletion or enrollment changes.

Composition example

<CourseListItem id={course.id} title={course.title}
  thumbnailUrl={course.thumbnail} checked={selected}
  onSelect={setSelected} />

Source references

Source references
FileResponsibility
src/components/CourseListItem.tsxSelection, course link and removal

Examples from the app

Actual TeachKit UI with Thomas McGee’s course content. Session, progress and connection specimens are simulated; no student data or live changes. Captured at 2× resolution or higher. Select an image to inspect it full size.

Course Row · Component detail · Light · Desktop · 1920 × 246 px

Source audit: 2026-10-07 · Revision d8cf23d0a329 · Documentation v0.1