v1.0.168 elementsShadow DOMVanilla JSNotionKit CSS 1.1.1MIT

Der NotionKit-Look, als Elemente.

68 Vanilla-JS-Web-Components über der NotionKit-CSS-Foundation: gleicher Wortstamm, gleiche Tokens, Shadow DOM, automatischer Hell/Dunkel-Abgleich, native Formular-Teilnahme – und Pixel-Parität mit dem Klassen-Markup, in beiden Themes gemessen.

Zur Doku Demo-App öffnen Showcase

Die Referenz-App

Die NotionKit-Demo-App, nur aus Elementen neu gebaut – 0,00 % Pixelabweichung zur Klassen-Version am Desktop.

Gleicher Look, ein Bruchteil des Markups

Vorher – .nk-*-Klassen

E-Mail-Benachrichtigungen
Erscheint neben deinen Kommentaren.
💡
Ein Callout trägt einen Gedanken, der nicht untergehen darf.
🚀NotionKit MVP
<div class="nk-field">
  <div><div class="f-label">E-Mail-Benachrichtigungen</div><div class="f-desc">Erscheint neben deinen Kommentaren.</div></div>
  <div class="f-control"><button class="nk-switch" role="switch" aria-checked="true"></button></div>
</div>
<div class="nk-callout"><span class="c-icon">💡</span><div>Ein Callout trägt einen Gedanken, der nicht untergehen darf.</div></div>
<div class="nk-tree-item active"><span class="icon">🚀</span><span class="label">NotionKit MVP</span><span class="actions"><span>+</span><span>⋯</span></span></div>

Nachher – ein Element

Ein Callout trägt einen Gedanken, der nicht untergehen darf. NotionKit MVP
<nk-field label="E-Mail-Benachrichtigungen" desc="Erscheint neben deinen Kommentaren."><nk-switch checked></nk-switch></nk-field>
<nk-callout icon="💡">Ein Callout trägt einen Gedanken, der nicht untergehen darf.</nk-callout>
<nk-tree-item icon="🚀" active>NotionKit MVP</nk-tree-item>
🧩
Gleicher Wortstamm

.nk-callout wird <nk-callout>; eine Modifikator-Klasse wird Attribut, eine Zustandsklasse ein Boolean-Attribut.

🎯
Pixel-Parität

Jedes Element rendert identisch zu seinem Klassen-Markup – geprüft durch einen Playwright-Pixeltest in Hell und Dunkel.

🌗
Eine Theme-Quelle

data-theme auf <html>; ein Observer spiegelt es in jedes Element. Einmal auf :root branden, alle Elemente folgen.

📝
Echte Formulare

Inputs, Selects, Switches, Checks, Radios und Slider nehmen an FormData, Reset und Validierung teil.

🗃️
Datenansichten

<nk-database> bekommt Spalten und Zeilen und liefert Tabelle und Board mit polymorphen Zellen und Drag & Drop.

Overlays mit Manieren

Einstellungs-Modal, ⌘K-Palette, Menüs, Popover und Toasts mit Fokusführung, inert und Tastatur.

Schnellstart

NotionKit CSS und das Elements-Bundle laden
class="nk-body" auf <body> setzen
Elemente schreiben
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@jungherz-de/notionkit@1.1.1/notionkit.min.css">
<script src="https://cdn.jsdelivr.net/npm/@jungherz-de/notionkit-elements@1.0.1/dist/notionkit-elements.min.js"></script>

<body class="nk-body">
  <nk-callout icon="💡">Ein Callout trägt einen Gedanken, der nicht untergehen darf.</nk-callout>
</body>

Die NotionKit-Familie