Skip to content

CSS API-Referenz

Die CSS-API-Referenz behandelt pantoken's klassenbasierte Komponentenebene: Komponenten, Utilities, globale Regeln und Deklarationen, die auf dem Token-System aufbauen.

Komponenten

NameKlasseZusammenfassung
agent-shell.instui-agent-shellEin Oberflächen-Container für KI-Agenten.
alert.instui-alertEine Inline-Nachricht mit einer Statusfarbleiste und einem maskierten Statusglyph aus dem gemeinsamen Icon-Set.
avatar.instui-avatarEin Benutzeravatar, der Initialen oder ein Bild zeigt, standardmäßig rund.
badge.instui-badgeEin kleines Zähl- oder Statuspunkt, das über einer Ecke des Ziels platziert wird.
banner.instui-bannerEine ausblendbare, mit Icon versehene Nachrichtenfläche für Seiten- oder kontextbezogene Ankündigungen.
billboard.instui-billboardEin großer Empty-State- oder Call-to-Action-Block: ein Hero-Icon oder Bild, eine Überschrift und eine Nachricht.
breadcrumb.instui-breadcrumbEine Breadcrumb-Spur mit Trennzeichen; das letzte Breadcrumb ist die aktuelle Seite.
breadcrumb.linkliEin Breadcrumb (InstUI Breadcrumb.Link), ein <li> im <ol> des übergeordneten Elements; das letzte ist die aktuelle Seite.
button.instui-buttonEin zugängliches Aktionssteuerelement, das aus der Token-Palette gestylt ist; standardmäßig primär.
byline.instui-bylineEin Media-Objekt: eine Hero-Figur neben einem Titel und einer Beschreibung.
calendar.instui-calendarEin statisches Monatsgitter mit Navigation, Wochentagsköpfen und Tageszellen.
calendar.day.dayEine Tageszelle (InstUI Calendar.Day); -today, -selected und -outside-month kennzeichnen ihren Zustand.
card.instui-cardEin Oberflächen-Container, der beliebigen Inhalt annimmt.
checkbox.instui-checkboxEine native Checkbox und ihr Label oder ein Switch über -variant-toggle.
close-button.instui-close-buttonEine transparente Icon-Schaltfläche, die ihr eigenes ×-Glyph zeichnet, in drei Größen plus einer On-Color-Variante.
context-view.instui-context-viewEin erhobener Callout mit Karet, an jeder Seite positionierbar; funktioniert als native [popover].
drawer-layout.instui-drawer-layoutEin geteiltes Layout mit einer einklappbaren Seitenablage und einem primären, scrollbaren Inhaltsbereich.
drawer-layout.content.contentDer primäre Inhaltsbereich, der den verbleibenden Platz neben der Ablage ausfüllt.
drawer-layout.tray.trayDas Seitenpanel neben dem Hauptinhalt, mit optionalen Overlay- und tray-ähnlichen Oberflächenmodifikatoren.
file-drop.instui-file-dropEine Datei-Dropzone mit Hover-, akzeptierten und abgelehnten Zuständen.
form-field.instui-form-fieldEin Form-Feld-Wrapper: ein Label, seine Controls und Inline-, required- oder readonly-Layouts.
form-field-group.instui-form-field-groupEine <fieldset>-Gruppe mit Legende, einer Spalten- oder Inline-Anordnung und konfigurierbarem Abstand.
form-field-messages.instui-form-field-messagesFeldhilfe- und Validierungsnachrichten — Hinweis, Fehler, Erfolg und nur für Screenreader — mit einem Glyph bei Fehler und Erfolg.
heading.instui-headingHeading-Typografie von -level-h1 bis -level-h6.
img.instui-imgEin gestyltes <img> mit Display-, Crop- und Effekt-Modifiern, die übereinander gestapelt werden.
in-place-edit.instui-in-place-editEin [contenteditable], das bis zum Fokus als Text gelesen wird und dann Eingabe-Chrome anzeigt.
input-group.instui-input-groupEine Fassade um ein Texteingabefeld mit Slots für führende und nachgestellte Icons.
link.instui-linkEin gestylter Hyperlink mit Größen, einer inversen Variante für dunkle Hintergründe und inline- oder ungestylten Formen.
list.instui-listEine Liste mit tokengesteuertem Abstand zwischen den Elementen.
list.item.instui-listEin Listenelement (InstUI List.Item).
mask.instui-maskEin inline-Overlay, das sein positioniertes Elternteil ausfüllt und seinen Inhalt zentriert — z. B. ein Spinner über einer Karte. Für ein Modal ist ein natives <dialog> vorzuziehen (dessen ::backdrop die Maske ist). Jeder dieser Modifikatoren ist auch global verfügbar (nackt oder an jede andere Komponente angehängt) — siehe die mask Global-Utility.
menu.instui-menuEine Dropdown-Oberfläche mit Elementen, Gruppen und Trennlinien.
menu.group.groupEine beschriftete Gruppenüberschrift (InstUI Menu.Group/Menu.ItemGroup).
menu.item.itemEin Menüeintrag (InstUI Menu.Item); füge -disabled, -highlighted oder -active/[aria-checked] hinzu.
menu.separator.separatorEine Trennregel zwischen Elementen (InstUI Menu.Separator).
metric.instui-metricEine beschriftete Statistik — ein großer Wert über einer Bildunterschrift.
modal.instui-modalEine Dialogfläche (funktioniert auf einem nativen <dialog>); Header-/Body-/Footer-Teile.
modal.body.bodyDer Inhaltsbereich (InstUI Modal.Body); ein einzelnes <img> geht full-bleed.
modal.footer.footerDie Aktionszeile (InstUI Modal.Footer).
modal.header.headerDie Titelzeile (InstUI Modal.Header).
number-input.instui-number-inputEine Zahlen-Eingabefassade mit einer +/- Spinner-Spalte.
pagination.instui-paginationSeitennavigation: nummerierte Seiten, erste, vorherige, nächste und letzte Pfeile sowie ein Auslassungszeichen für Lücken.
pagination.page.pageEin Seitenlink oder -button (InstUI Pagination.Page); die aktuelle Seite trägt [aria-current].
pill.instui-pillEin kompakter Status-Label; füge ein führendes Glyph mit der gemeinsamen -icon-<name>-Form hinzu.
popover.instui-popoverEine erhöhte Oberfläche für ein natives [popover], positioniert mit CSS Anchor Positioning.
progress.instui-progressEine determinate Fortschrittsleiste mit farbigem Messgerät, Größen und optionaler Wertermittlung.
progress-circle.instui-progress-circleEin kreisförmiger Fortschrittsring, gesteuert durch --value und --value-max Custom Properties.
radio.instui-radioEin nativer Radio-Button und sein Label.
radio-input-group.instui-radio-input-groupEin Single-Select-Radio <fieldset>, schlicht oder als verbundenes segmentiertes Toggle.
range-input.instui-range-inputEin gestylter Range-Slider mit einer invertierten Wertblase.
rating.instui-ratingEine Sternebwertung mit gefüllten und leeren Glyphen und einem optionalen numerischen Label.
side-nav-bar.instui-side-nav-barEine vertikale Navigationsschiene aus Symbol-über-Label-Elementen mit einem minimierten Nur-Symbole-Modus.
side-nav-bar.item.itemEin Navigationseintrag (InstUI SideNavBar.Item); -selected kennzeichnet den aktiven.
simple-select.instui-simple-selectEin gestyltes natives <select> mit Caret, das die Zustände und Größen des Texteingabefelds widerspiegelt.
spinner.instui-spinnerEin animierter Lade-Ring; geben Sie role="status" und ein aria-label an.
table.instui-tableEine gestylte Datentabelle für th und td plus eine optionale Beschriftung, mit Hover-, Fixed- und Stacked-Card-Layouts.
table.bodytbodyDie Datenzeilengruppe der Tabelle (InstUI Table.Body).
table.celltdEine Datenzelle (InstUI Table.Cell).
table.col-headerthEine Spaltenkopfzelle (InstUI Table.ColHeader); das Standard-th-Styling, überschrieben durch table.row-header für th[scope="row"].
table.headtheadDie Kopfzeilengruppe der Tabelle (InstUI Table.Head).
table.rowtrEine Tabellenzeile (InstUI Table.Row).
table.row-headerth[scope="row"]Eine Zeilenkopfzelle (InstUI Table.RowHeader); gestylt anhand der Row-Header-Tokens, nicht der Column-Header-Tokens.
tabs.instui-tabsEin Register-Panel-Set: eine Tab-Liste, auswählbare Tabs und deren Panels.
tabs.panel.panelDas Inhalts-Panel für einen Tab (InstUI Tabs.Panel).
tabs.tab.tabEin einzelner Tab-Button (InstUI Tabs.Tab, konfiguriert über die Tab-Liste des Eltern-Tabs); -selected kennzeichnet den aktiven.
tag.instui-tagEin Inline-Chip für ein Schlüsselwort oder einen Filter.
text.instui-textFließtext-Typografie mit Größen-, Gewicht-, Farb- und Stil-Modifiers.
text-area.instui-text-areaEin gestyltes, größenverstellbares natives <textarea> mit denselben Zuständen und Größen wie das Texteingabefeld.
text-input.instui-text-inputEin gestyltes natives <input> — inklusive date, time und datetime-local, wobei der Browser den Picker stellt — mit Validierungszuständen und Größen.
toggle-details.instui-toggle-detailsEin gestyltes natives <details> Disclosure mit rotierender Chevron.
toggle-group.instui-toggle-groupEin umrandetes Disclosure, aufgebaut auf <details>: eine Chevron-Zusammenfassungszeile und einklappbarer Inhalt.
tooltip.instui-tooltipEin CSS-Hover- und Fokus-Tooltip-Bubble, positionierbar an jeder Seite.
tray.instui-trayEin kanten-angeheftetes Panel, das von jeder Seite hereinschiebt; ein natives [popover] oder <dialog>.
tree-browser.instui-tree-browserEin Disclosure-Baum aus verschachtelten Sammlungen und Blatt-Elementen mit rotierenden Chevrons.
view.instui-viewDas View-Primitiv: eine neutrale Box mit Key-Value-Modifikatoren für Hintergrund, Rahmen, Radius, Schatten, Display, Position, Overflow und Cursor. Jeder dieser Modifikatoren ist auch global verfügbar (allein oder an jedes andere Komponenten-Element angehängt) — siehe die background/border/shadow/display/position/overflow/cursor Utilities.

Dienstprogramme

NameKlasseZusammenfassung
color.--text-dangerSemantische Farb-Utilities: .--bg-<name>, .--text-<name> (alias als .--color-<name>) und .--border-<name> für die kuratierte semantische Palette. Jede davon hat außerdem einen komponenten-gebundenen Alias-Modifier (z. B. -bg-danger auf jeder .instui-<component>).
cursor.--cursor-pointercursor als komponierbare, globale Klasse — .--cursor-<value> — nutzbar allein oder angehängt an jede Komponente (.instui-button.--cursor-pointer).
gap.--gap-mdFlex/Grid-gap-Utilities auf der Spacing-Skala, kurz (--gap-sm) oder lang (--gap-small) geschrieben. Nutzbar allein oder angehängt an jede Komponente (.instui-view.--gap-sm) — Komponenten, die bereits ihr eigenes gap aus einem komponentenspezifischen Token setzen, können dieses überschreiben.
icon.instui-iconDas Icon-System: .instui-icon-Größen plus der gemeinsame -icon-<name> Painter, der ein Glyphen-Maskierung (in currentColor) vor jedem Element anwendet.
layout.--display-flexDisplay- und Text-Align-Utilities — .--display-<value> und .--text-align-<value> — als komponierbare, globale Klassen, nutzbar allein oder angehängt an jede Komponente.
maskglobal.--mask-overlayEine globale, doppelte Kopie der Overlay-Modifier der mask-Komponente — --mask-overlay, --mask-fullscreen, --mask-blur — nutzbar allein oder angehängt an jede Komponente, ohne sie in ein .instui-mask-Element zu wickeln.
overflow.--overflow-x-hiddenoverflow-x/overflow-y als komponierbare, globale Klassen — .--overflow-x-<value> / .--overflow-y-<value> — nutzbar allein oder angehängt an jede Komponente.
position.--position-relativeposition als komponierbare, globale Klasse — .--position-<value> — nutzbar allein oder angehängt an jede Komponente (.instui-button.--position-relative).
responsive[class*="-hidden-"],[class*="-show-"]Show/Hide-Klassen für Viewport- oder Container-Breiten über eine thematisierte Breakpoint-Skala.
screen-reader-content.instui-screen-reader-contentInhalte visuell verbergen, dabei aber für Hilfstechnologien verfügbar halten (das Standard-Clip-Muster).
spacing.--p-mdMargin- und Padding-Hilfsklassen — .--m<side>-<step> / .--margin-<side>-<step> und .--p<side>-<step> / .--padding-<side>-<step> auf der Abstands-Skala (Seiten t/b/s/e/x/y oder keine, kurz- oder ausgeschrieben — zum Beispiel sind --mb-sm und --margin-bottom-small dieselbe Regel; margin akzeptiert außerdem auto). Nutzbar alleine oder an jede Komponente angehängt (zum Beispiel class="instui-view --mb-sm").
stacking.--stack-topmostz-index Tiefen-Hilfsklassen — .--stack-<level> (deepest, below, above, topmost) — nutzbar alleine oder an jede Komponente angehängt, sodass Ebenen vorhersehbar gestapelt werden statt mit manuell getunten Zahlen.
transition.instui-transition.-transition-fade-enteringAnimations-Zustandsklassen für die Transition-Komponente — .instui-transition und Zustandsklassen (-transition-fade-entering, -transition-scale-exited, etc.) — nutzbar alleine oder an jede Komponente angehängt.
truncate.--truncateEllipsis-Trunkierung mit Zeilenbegrenzung gesteuert durch --lines — nutzbar alleine oder an jede Komponente angehängt (.instui-button.--truncate).
visual-debug.-with-visual-debugEine Layout-Debug-Umrandung: .-with-visual-debug als zusammengesetzte Klasse auf jedes Element anwenden, um die Box und ihre unmittelbaren Kinder zu umranden, sodass die Struktur eines Layouts auf einen Blick sichtbar ist.

Regeln

NameKlasseZusammenfassung
base*Der optional aktivierbare globale Reset: box-sizing, die Seitenfläche, Grundtextfarbe und Schriftart, color-scheme sowie Link-Standards.
prose:where(body)Typografische Standards für rohes HTML — Überschriften, Absätze, Listen, Links und Code — werden automatisch überall angewendet, wo es importiert wird (Standard :where(body)); übergebe options.scope, um eine andere Inhaltswurzel zu targetieren (z. B. .vp-doc).

Plugins

NameKlasseZusammenfassung
logos.logosInstructure-Produktlogos als CSS-Bildtokens: --instui-logo-<product>-<layout>-<mode> enthält eine data-URI SVG, sodass ein Logo z. B. über background-image: var(--instui-logo-canvas-horizontal-color) gerendert wird.
primitives.instui-bg-primitive-color-whiteOpt-in Hilfsklassen für die rohe Primitive-Palette: .instui-bg-/fg-/border-primitive-color-<name> setzen eine Farbe aus den primitiven Farb-Tokens, plus font-family/font-weight Hilfen für die primitiven Font-Tokens. Aus den semantischen Hilfen herausgehalten, damit Überschreibungen dort rein semantisch bleiben.
visual-debug.-with-visual-debugEine Layout-Debug-Umrandung: .-with-visual-debug als zusammengesetzte Klasse auf jedes Element anwenden, um die Box und ihre unmittelbaren Kinder zu umranden, sodass die Struktur eines Layouts auf einen Blick sichtbar ist.

layout

NameKlasseZusammenfassung
calloutdiv[class~="instui-callout"]Inline-Informationshinweis für eine kurze Erinnerung oder Notiz.
herodiv[class~="instui-hero"]Vollbreite Kopfbereichssektion mit Titel, Untertitel und optionalem Hintergrundbild.
page-layoutdiv[class~="instui-page-layout"]Standard-Layout mit drei Spalten: Kopf, Seitenleiste und Hauptinhalt.
rubric-notediv[class~="instui-rubric-note"]Strukturierte Notiz mit Bewertungsrubriken und Bewertungshinweisen.
testimonialdiv[class~="instui-testimonial"]Zitat- oder Testimonial-Anzeige mit Attribution und optionaler Bildgebung.
two-columndiv[class~="instui-two-column"]Zweispaltiges Layout mit linken und rechten Inhaltsbereichen.
wrapperbody[class~="instui-display-flex"]App-Shell-Reihe: Seiten-Navigation, Container mit Kopfbereich und optionales Panel.