Components (component.*)
Bausteine mit Verhalten: Slots für Komposition, lokaler Zustand, Interaktivität über einen Client-Controller.
Card, Window, Navigation, Tabs, Dropdown, Modal, Popover, Table, Detail-Liste, Kanban, Alert, Accordion, Tooltip, Breadcrumb, Pagination und viele mehr — kategorisiert nach Aktionen, Formulare, Inhalt, Status, Navigation, Daten, Overlay, Commerce, AI und Desktop (fester Kategorien-Vorrat, Build-geprüft). Vollständig im Katalog-Baum.
Was Components von Elements unterscheidet
- Slots: Steckplätze mit Regeln —
accepts(Muster wieui.*),required,max,multiple. Die strenge Validierung setzt sie durch; die Laufzeit toleriert Verstöße mit Warnung. - Client-Controller (
<name>.js): eine Klasse mit dem Vertragmount(root, context)/update(props)/destroy(). Der Controller besitzt den lokalen Zustand und meldet semantische Events übercontext.emit(name, payload)— er weiß nie, was daraus folgt. - Progressive Enhancement: Alles rendert serverseitig funktionsfähig (echte Links, echte Formulare); der Controller veredelt.
Komposition nach unten
Components nutzen Elements als Dependencies (Alert rendert ui.icon, tricoma-Button komponiert ui.button mit Marken-Token-Override) — deklariert im Manifest, vom Build auf Existenz und Zyklenfreiheit geprüft, vom Asset-Manager automatisch mitgeladen. Dasselbe Muster gilt für Hüllen-Components: Basis wrappen, Props kuratieren, Token-Overrides — ohne Markup-Duplikat.