Ein benutzerdefiniertes Theme für die barrierefreie Komponentenbibliothek KoliBri.
npm install @your-scope/theme-kolibri @public-ui/componentsDas Theme-Paket und die KoliBri-Komponenten enthalten wichtige Assets (Schriftarten und Icons), die in Ihr Projekt kopiert werden müssen. Für eine betriebssystemunabhängige Lösung empfehlen wir die Verwendung des cpy-cli Pakets:
npm install --save-dev cpy-cliErstellen Sie dann npm-Scripts in Ihrer package.json:
{
"scripts": {
"postinstall": "npm run copy-assets",
"copy-assets": "npm run copy-theme-assets && npm run copy-kolibri-assets",
"copy-theme-assets": "cpy 'node_modules/@your-scope/theme-kolibri/assets/**' 'public/assets/theme' --parents",
"copy-kolibri-assets": "cpy 'node_modules/@public-ui/components/assets/**' 'public/assets/theme' --parents"
}
}Wichtig: Fügen Sie den Theme-Assets-Ordner zu Ihrer .gitignore hinzu, da diese Dateien bei jedem npm install automatisch kopiert werden:
# Theme Assets (werden automatisch kopiert)
public/assets/theme/Nach dem Kopieren der Assets müssen diese in Ihrer Anwendung eingebunden werden:
<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Theme Demo</title>
<!-- KoliBri assets -->
<link rel="stylesheet" href="/assets/theme/codicon.css" />
</head>
<body>
<!-- Ihre KoliBri-Komponenten -->
</body>
</html>// In Ihrer main.scss oder styles.scss
@import url('/assets/theme/codicon.css');import { register } from '@public-ui/components';
import { CUSTOM_THEME } from '@your-scope/theme-kolibri';
import { defineCustomElements } from '@public-ui/components/loader';
register(CUSTOM_THEME, defineCustomElements)
.then(() => {
// Theme und KoliBri-Komponenten sind geladen
})
.catch(console.warn);- ♿ Barrierefrei - WCAG-konforme Styles mit korrekten Kontrastverhältnissen
- 📱 Responsive - Mobile-First-Ansatz
- 🔧 CSS Layers - Moderne Layer-Architektur für bessere Wartbarkeit
Beim Einsatz von Adaptive Styles können globale CSS Custom Properties mit denen der Anwendung kollidieren. Nutze für interne Berechnungen bevorzugt SASS-Variablen und gib nur klar geprefixte CSS-Properties nach außen.
Nach der Installation können Sie die KoliBri-Komponenten mit dem Theme direkt in HTML verwenden:
<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Theme Demo</title>
</head>
<body>
<kol-button _label="Button"></kol-button>
<kol-input-text _label="Name" _placeholder="Ihr Name"></kol-input-text>
<kol-card _headline="Card">Inhalt der Karte mit Styling</kol-card>
<script type="module">
import { register } from '@public-ui/components';
import { CUSTOM_THEME } from '@your-scope/theme-kolibri';
import { defineCustomElements } from '@public-ui/components/loader';
register(CUSTOM_THEME, defineCustomElements)
.then(() => {
console.log('Theme erfolgreich geladen');
})
.catch(console.warn);
</script>
</body>
</html>Wenn Sie während der Entwicklung oder des Build-Prozesses auf Probleme stoßen, schauen Sie sich CONTRIBUTING.md für detaillierte Leitfäden zur Fehlerbehebung an.
Dieses Projekt steht unter der European Union Public Licence (EUPL) v1.2. Die EUPL ist eine Open-Source-Lizenz, die von der Europäischen Kommission entwickelt wurde und mit anderen bekannten Open-Source-Lizenzen kompatibel ist.