Badge groups

Labelled groups of badges in one panel, flowing into as many columns as fit. Renders on the server: no JavaScript.

Stack

What this demo is made of.

Languages

  • TypeScript
  • GLSL
  • CSS

Runtime

  • React
  • WebGL 2
  • Canvas

Motion

  • Springs
  • Presence

Features

  • Groups flow into as many columns as fit, then stack on a phone.
  • Each group can carry an icon; the headings follow the level you give the panel.
  • No hooks and no state: a server component that ships no JavaScript.

Use it for

  • A tool or skills list.
  • Tags by category, a stack page, a uses page.

On this site

Installation

  1. Get runets.
    git clone https://github.com/ziyam-khan/runets
  2. Copy these files into your project, keeping their folders.
  3. Install what they use.
    pnpm add react
  4. Load the styles once. Bring your own base tokens, or use runets’ default theme.
    import 'runets/styles/theme.css'
    import 'runets/styles/kit.css'

API

PropTypeWhat it does
title / notestring / ReactNodeThe heading and the line beside it.
groups{ label, icon?, items }[]Each group and its badges.
level2 | 3 | 4Heading level of the panel; group labels take the next one.
idstringThe heading id the section is labelled by.

Accessibility

Source

The code is in src/kit/badge-groups.tsx in runets, MIT licensed.