TeachKit project

TeachKit / Design system

Documentation v0.1 · Released product

Design system contents

Components

Lesson links and downloads

Keep supporting references attached to the lesson, using visible labels and separate link/download semantics.

On this page

Purpose and usage

Keep supporting references attached to the lesson, using visible labels and separate link/download semantics.

Anatomy

Anatomy
PartContract
Section headingLinks or Downloads
Icon regionTurquoise segment
LabelExplicit label or source fallback
DestinationURL and appropriate navigation intent

Variants and configuration

Variants and configuration
Input or variantBehavior
Linkslinks with label/url
Downloadsfiles with label/url
EmptyMissing or empty URLs are omitted

State coverage

State coverage
StateImplemented behavior
PopulatedResource pills
EmptySection returns null
Missing labelHostname or cleaned filename fallback

Interaction and composition

  • Prefer an explicit descriptive label.
  • Links open a new tab with noopener noreferrer.
  • Downloads append a download query marker and use the download attribute.
  • Keep sanitization in the editor/server boundary; trimming nonempty strings is not URL-protocol validation.

Accessibility and readiness

Review long labels, destination safety and downloads across origins. Cross-origin download behavior depends on browser/server headers. No transfer or signed-file access is performed by capture preparation.

Composition example

<LinksList links={lesson.links} />
<DownloadsList files={lesson.downloads} />

Source references

Source references
FileResponsibility
src/components/courses-public/logged-in/LinksList.tsxLabeled outbound references
src/components/courses-public/logged-in/DownloadsList.tsxDownload intent and file label fallback

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.

Learner · Screen · Light · Desktop · 2880 × 2000 px
Learner · Screen · Light · Desktop · Full Page · 2880 × 2614 px

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