Installation
Voraussetzungen
Startklar in unter 2 Minuten
Stelle vor der Installation sicher, dass dein Projekt diese Anforderungen erfüllt:
1. Paket installieren
- pnpm
- npm
- yarn
pnpm add @prokodo/ui
npm install @prokodo/ui
yarn add @prokodo/ui
2. Globale Stile einbinden
prokodo UI bietet zwei CSS-Strategien. Wähle die, die zu deinen Performance-Anforderungen passt:
Empfohlen: Tokens + komponentenspezifisches CSS (beste Performance)
Importiere nur die Design-Tokens in deinem Root-Layout und lade Komponenten-CSS zusammen mit jeder Komponente:
import "@prokodo/ui/theme-tokens.css"
import { Card } from "@prokodo/ui/card"
import "@prokodo/ui/card.css"
theme-tokens.css enthält nur die CSS Custom Properties (--pk-* Design-Tokens) — Farben, Abstände, Typografie, Radien, Schatten und Motion-Variablen. Keine Komponenten-Styles.
Komponentenspezifisches CSS (z. B. card.css) ist vollst ändig eigenständig: Es enthält automatisch die Styles aller internen Sub-Komponenten über CSS @import. Zum Beispiel liefert @prokodo/ui/post-item.css auch die Styles für Avatar, Card, Headline und jede weitere Abhängigkeit, die PostItem intern nutzt — du musst den Dependency-Tree nicht kennen.
Dieser Ansatz sendet nur das CSS, das deine Seite tatsächlich braucht, was sich erheblich auf die Core Web Vitals (LCP, FCP) auswirkt.
Alternative: Globales Bundle (Komfort)
Für Prototyping oder wenn die Bundle-Größe keine Rolle spielt, importiere das vollständige CSS-Bundle:
import "@prokodo/ui/theme.css"
Dies enthält alle Design-Tokens und alle Komponenten-Styles (~288 KB). Du kannst die komponentenspezifischen .css-Imports überspringen, da alles bereits enthalten ist.
theme.css lädt Styles für alle ~55 Komponenten, unabhängig davon, welche du nutzt. Für Produktions-Websites solltest du theme-tokens.css + komponentenspezifisches CSS bevorzugen, um render-blockierendes CSS zu minimieren und die PageSpeed-Werte zu verbessern.
3. next.config konfigurieren
Für die meisten Setups ist keine besondere Konfiguration erforderlich. Wenn du transpilePackages verwendest, musst du @prokodo/ui nicht hinzufügen — es wird als vorcompiliertes ESM ausgeliefert.
4. Überprüfen
Erstelle eine schnelle Testseite:
import { Button } from "@prokodo/ui/button"
import "@prokodo/ui/button.css"
export default function TestPage() {
return <Button>Es funktioniert!</Button>
}
Öffne http://localhost:3000/test — du solltest einen gestylten Button sehen.
Fehlerbehebung
Cannot find module '@prokodo/ui/…' — Stelle sicher, dass node_modules/@prokodo/ui existiert. Führe erneut den Paketmanager-Install aus.
Stile werden nicht geladen — Bestätige, dass entweder @prokodo/ui/theme.css oder @prokodo/ui/theme-tokens.css im Root-Layout importiert ist. Wenn du theme-tokens.css nutzt, stelle zusätzlich sicher, dass du das passende Komponenten-CSS (z. B. @prokodo/ui/button.css) zusammen mit jeder Komponente importierst.
Fehlende Sub-Komponenten-Styles — Du musst nur das CSS der übergeordneten Komponente importieren. Jede .css-Datei enthält automatisch ihre internen Abhängigkeiten. Zum Beispiel enthält @prokodo/ui/form.css die Styles für Input, Select, Checkbox und alle anderen Sub-Komponenten, die Form intern nutzt.
Icon wird leer dargestellt — In der Entwicklung werden Icons aus dem lokalen node_modules-Asset-Pfad geladen. In der Produktion von jsDelivr CDN. Weitere Informationen auf der Icon-Seite.