Skip to content
UI Kit
Accent color

Courses

A course catalog, a curriculum, a lesson with progress, instructors, a certificate and access plans.

6 variants
Switch category

Courses

Catalog

Courses with cover, teacher, length, rating and price, filtered by topic.

Curriculum

Key numbers, modules with lessons and previews, a sticky card to start.

Lesson view

Player, mark as done, next lesson, notes and materials, the outline with progress.

Instructors

One row per teacher with portrait, bio, topics and numbers.

Certificate

A certificate with seal and signature, download, share and a link to check it.

Plans and access

Single course, all access and team, each with its access spelled out.

Details

What Courses brings along, read from the registry and the source.

Variants
6
Version
1.0.1 · since 1.0.0
File
components/ui/courses.tsx
Brings along
utilskitbuttoniconsectionreveal
npm packages
None
Languages
English and German, 47 texts of its own
Studio
Adjust in code

Props

The CoursesProps interface from components/ui/courses.tsx, with the comments from the code.

  • variantoptional
    CoursesVariant

    catalogcurriculumlessoninstructorscertificatepricing

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • coursesoptional
    Course[]
  • courseoptional
    Course

    curriculum, lesson: the course

  • modulesoptional
    CourseModule[]
  • includesoptional
    string[]

    curriculum: what comes with the course

  • currentoptional
    [number, number]

    lesson: module and lesson index that plays

  • mediaoptional
    React.ReactNode

    lesson: the player picture

  • notesoptional
    string

    lesson: text under the player

  • resourcesoptional
    { title: string; size?: string; href: string }[]
  • instructorsoptional
    CoursePerson[]
  • certificateoptional
    CourseCertificate
  • plansoptional
    CoursePlan[]
  • currencyoptional
    string

Built-in texts

Courses writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 47 texts
allEnglish AllGerman Alle
topicsEnglish TopicsGerman Themen
lessonsNEnglish {n} lessonsGerman {n} Lektionen
freeEnglish FreeGerman Kostenlos
reviewsNEnglish ({n})German ({n})
modulesNEnglish {n} modulesGerman {n} Module
levelEnglish LevelGerman Niveau
durationEnglish DurationGerman Dauer
lessonsEnglish LessonsGerman Lektionen
modulesEnglish ModulesGerman Module
certificateEnglish CertificateGerman Zertifikat
includedEnglish IncludedGerman Inklusive
previewEnglish PreviewGerman Vorschau
videoEnglish VideoGerman Video
readingEnglish ReadingGerman Text
quizEnglish QuizGerman Quiz
exerciseEnglish ExerciseGerman Übung
startEnglish Start the courseGerman Kurs starten
contentsEnglish Course contentGerman Kursinhalt
progressEnglish {done} of {total} lessons doneGerman {done} von {total} Lektionen erledigt
markDoneEnglish Mark as doneGerman Als erledigt markieren
doneEnglish DoneGerman Erledigt
prevEnglish Previous lessonGerman Vorherige Lektion
nextEnglish Next lessonGerman Nächste Lektion
playEnglish Play lessonGerman Lektion abspielen
notesEnglish NotesGerman Notizen
resourcesEnglish MaterialsGerman Material
currentEnglish Now playingGerman Läuft gerade
studentsEnglish LearnersGerman Lernende
coursesEnglish CoursesGerman Kurse
ratingEnglish RatingGerman Bewertung
awardedEnglish This certifies thatGerman Hiermit wird bestätigt, dass
completedEnglish has completed the courseGerman den folgenden Kurs abgeschlossen hat
dateWordEnglish DateGerman Datum
certIdEnglish Certificate IDGerman Zertifikatsnummer
downloadEnglish Download as PDFGerman Als PDF laden
shareEnglish Add to your profileGerman Im Profil zeigen
copyEnglish Copy check linkGerman Prüflink kopieren
copiedEnglish Link copiedGerman Link kopiert
skillsEnglish Skills shownGerman Nachgewiesene Fähigkeiten
verifyEnglish Anyone can check this certificateGerman Jede Person kann dieses Zertifikat prüfen
hoursNEnglish {n} hours of learningGerman {n} Stunden Lernzeit
perMonthEnglish / monthGerman / Monat
guaranteeEnglish 30 days to change your mind, money back without questions.German 30 Tage Bedenkzeit, Geld zurück ohne Fragen.
popularEnglish Most chosenGerman Am häufigsten gewählt
hoursEnglish {h} h {m} minGerman {h} Std. {m} Min.
minutesEnglish {m} minGerman {m} Min.

Accessibility

Read from the source of the component.

  • Sets aria-checked, aria-controls, aria-current, aria-label, aria-labelledby, aria-live, aria-pressed, aria-selected, aria-valuemax, aria-valuemin and aria-valuenow, so screen readers announce purpose and state.
  • Uses the roles progressbar, radio, radiogroup, tab, tablist and tabpanel.
  • Announces changes through a live region without moving focus.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Rises in briefly the first time it comes into view (kit-rise, useInView).
  • Moves with the scroll, its progress follows the position on the page.
  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 12 places in the code switch motion off then.

Frequent questions

How do I install Courses?

With aiw add @ai-website/courses. The command puts components/ui/courses.tsx into your project, the code is yours from then on. It brings along button, icon, section and reveal. It needs no further npm packages.

Which variants does Courses have?

6 variants, Catalog, Curriculum, Lesson view, Instructors, Certificate and Plans and access. You pick one with the variant prop, for example variant="curriculum".

Can I translate the texts of Courses?

Yes. Courses carries 47 texts of its own in English and German, such as “All”, “Topics” and “Free”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Courses?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Courses with aiw_components and install it with aiw_add @ai-website/courses. Name the variant in your prompt, for example variant="catalog", and the assistant writes your content straight into the props.

Often searched

Jump to

Copied to the clipboard