npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kern-ux/native

v2.6.2

Published

Native Styles und Komponenten-Bibliothek für das KERN-UX Design System. Beinhaltet CSS, Fonts und KERN-Komponenten.

Readme

KERN Design System – Plain-CSS-HTML-Kit

npm version License: EUPL 1.2


Deutsch | English


Deutsch

Was ist KERN?

Mit KERN schaffen wir einen offenen UX-Standard für die deutsche Verwaltung, der Umsetzende befähigt, barrierefreie digitale Verwaltungslösungen effizient und nutzendenzentriert zu entwickeln. KERN ist ein Open-Source-Projekt, das von den Ländern Hamburg und Schleswig-Holstein initiiert wurde. Alle Informationen findest du auf www.kern-ux.de.

Dieses Repository enthält die Plain CSS/HTML-Referenzimplementation des KERN-Designsystems und ist auf npm unter dem Namen @kern-ux/native verfügbar.


English

What is KERN?

KERN is an open UX standard for the German public administration. It enables development teams to build accessible digital government services efficiently and with a user-centered focus. KERN is an open-source project initiated by the federal states of Hamburg and Schleswig-Holstein. Learn more at www.kern-ux.de.

This repository contains the plain CSS/HTML reference implementation of the KERN Design System, published on npm as @kern-ux/native.


🚀 Einbindung & Installation

Du kannst KERN auf drei verschiedene Arten in dein Projekt integrieren:

Methode 1: Einbindung über NPM (Empfohlen)

Füge @kern-ux/native zu deinen Projektabhängigkeiten hinzu:

npm install @kern-ux/native --save

Binde anschließend die CSS-Stylesheets und Schriftarten ein:

// JavaScript / TypeScript Bundler
import '@kern-ux/native/dist/kern.min.css';
import '@kern-ux/native/dist/fonts/fira-sans.css'; // Hauptschriftart (Fira Sans)
import '@kern-ux/native/dist/fonts/noto-sans.css'; // Optional (Noto Sans)

Oder in deiner Haupt-CSS/SCSS-Datei:

@import "@kern-ux/native/dist/kern.min.css";
@import "@kern-ux/native/dist/fonts/fira-sans.css";

Methode 2: Einbindung per CDN

Wenn du KERN ohne ein Buildtool/NPM verwenden möchtest, binde die CSS-Dateien direkt über ein CDN in deinen <head> ein:

  • Alternative A: jsdelivr

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@kern-ux/native/dist/kern.min.css" />
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@kern-ux/native/dist/fonts/fira-sans.css" />
  • Alternative B: unpkg

    <link rel="stylesheet" href="https://unpkg.com/@kern-ux/native/dist/kern.min.css" />
    <link rel="stylesheet" href="https://unpkg.com/@kern-ux/native/dist/fonts/fira-sans.css" />

Methode 3: Kopieren der Bibliothek

Lade die neueste Version direkt als ZIP-Archiv von der Release-Seite des KERN-UX Repositories herunter. Entpacke die ZIP-Datei und binde die kompilierten CSS-Dateien oder die SCSS-Quelldateien direkt in dein Projekt ein.


🛠 Einbindung & Imports

JavaScript-Komponenten

Interaktive Komponenten (wie das Kopfzeilen-Menü) benötigen das mitgelieferte JavaScript zur Initialisierung:

import '@kern-ux/native/dist/js/kern-kopfzeile.js';

🧩 Komponenten-Beispiele

Hier sind einige grundlegende Komponenten-Markups mit BEM-Klassen (kern-*) und integrierten Barrierefreiheits-Attributen:

1. Buttons

<button type="button" class="kern-btn kern-btn--primary">
  <span class="kern-label">Primary Button</span>
</button>
<button type="button" class="kern-btn kern-btn--secondary">
  <span class="kern-label">Secondary Button</span>
</button>
<button type="button" class="kern-btn kern-btn--tertiary">
  <span class="kern-label">Tertiary Button</span>
</button>

2. Badges

<span class="kern-badge kern-badge--info">
  <span class="kern-label">Information</span>
</span>
<span class="kern-badge kern-badge--success">
  <span class="kern-label">Erfolg</span>
</span>
<span class="kern-badge kern-badge--warning">
  <span class="kern-label">Warnung</span>
</span>
<span class="kern-badge kern-badge--danger">
  <span class="kern-label">Fehler</span>
</span>

3. Description List (Beschreibungsliste)

<dl class="kern-description-list">
  <div class="kern-description-list-item">
    <dt class="kern-description-list-item__key">Name</dt>
    <dd class="kern-description-list-item__value">Musterperson</dd>
  </div>
  <div class="kern-description-list-item">
    <dt class="kern-description-list-item__key">Vorname</dt>
    <dd class="kern-description-list-item__value">Kim</dd>
  </div>
  <div class="kern-description-list-item">
    <dt class="kern-description-list-item__key">E-Mail</dt>
    <dd class="kern-description-list-item__value">[email protected]</dd>
  </div>
  <div class="kern-description-list-item">
    <dt class="kern-description-list-item__key">Adresse</dt>
    <dd class="kern-description-list-item__value">Musterstraße 2, 23456 Musterstadt</dd>
  </div>
</dl>

♿️ Barrierefreiheit

Barrierefreiheit ist der Kern unseres Design-Systems:

  • Farbkontraste erfüllen die WCAG 2.1 AA/AAA Richtlinien.
  • Semantisches HTML5 und korrekte WAI-ARIA-Rollen werden aktiv unterstützt.
  • Der Tastatur-Fokus ist in allen interaktiven Zuständen deutlich erkennbar.

💡 Wichtiger Hinweis für Entwickler:innen: Auf jeder einzelnen Komponentenseite auf kern-ux.de (wie z. B. auf der Button-Komponentenseite) findest du am Ende einen dedizierten Abschnitt zur Barrierefreiheit. Hier siehst du übersichtlich, was bereits geprüft wurde und worauf du bei der Einbindung in deiner Anwendung noch achten musst. Nutze dort die bereitgestellten Checklisten zur Absicherung.


💻 Lokale Entwicklung (für Mitwirkende)

Wenn du am Plain-Kit selbst mitwirken möchtest:

git clone https://gitlab.opencode.de/kern-ux/kern-ux-plain.git
cd kern-ux-plain
npm install
npm start # Startet die Storybook-Entwicklungsumgebung auf Port 6006

Verfügbare Befehle:

  • npm run build - Kompiliert SCSS/CSS und baut Storybook
  • npm run test:a11y - Führt automatisierte Barrierefreiheits-Tests aus
  • npm run test:visual - Führt visuelle Regressionstests via BackstopJS aus

🤝 Beitragen

Bugs und Verbesserungsvorschläge, die sich ausschließlich auf den CSS/HTML-Code beziehen, können im Issue-Tracker auf OpenCode gemeldet werden.

Bitte lies unsere Contributing Guidelines vor der Erstellung eines Merge Requests.


📄 Lizenz

Lizenziert unter der EUPL-1.2 (European Union Public Licence v. 1.2). Weitere Details findest du in der LICENSE.md Datei.


🔗 Nützliche Links