Invisible Docs
GalerieTokens

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 wie ui.*), required, max, multiple. Die strenge Validierung setzt sie durch; die Laufzeit toleriert Verstöße mit Warnung.
  • Client-Controller (<name>.js): eine Klasse mit dem Vertrag mount(root, context) / update(props) / destroy(). Der Controller besitzt den lokalen Zustand und meldet semantische Events über context.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.