Skip to content

CSS Référence API

La référence de l’API CSS couvre la couche de composants basée sur des classes de pantoken : composants, utilitaires, règles globales et déclarations construits sur le système de tokens.

Composants

NomClasseRésumé
agent-shell.instui-agent-shellUn conteneur de surface pour agents d’IA.
alert.instui-alertUn message en ligne avec une barre de couleur d’état et un glyphe d’état masqué issu de la bibliothèque d’icônes partagée.
avatar.instui-avatarUn avatar utilisateur affichant des initiales ou une image, circulaire par défaut.
badge.instui-badgeUn petit point de comptage ou d’état placé sur le coin d’une cible.
banner.instui-bannerUne surface de message iconée et dismissible pour des annonces au niveau de la page ou en contexte.
billboard.instui-billboardUn grand bloc d’état vide ou d’appel à l’action : une icône ou image principale, un titre et un message.
breadcrumb.instui-breadcrumbUn fil d’Ariane avec séparateurs ; le dernier élément est la page courante.
breadcrumb.linkliUn élément de fil (InstUI Breadcrumb.Link), un <li> dans le <ol> du parent ; le dernier est la page courante.
button.instui-buttonUn contrôle d’action accessible, stylisé depuis la palette de tokens ; primaire par défaut.
byline.instui-bylineUn objet média : une figure principale à côté d’un titre et d’une description.
calendar.instui-calendarUne grille de mois statique avec navigation, en-têtes des jours de la semaine et cellules de jour.
calendar.day.dayUne cellule de jour (InstUI Calendar.Day) ; -today, -selected et -outside-month indiquent son état.
card.instui-cardUn conteneur de surface qui accepte un contenu arbitraire.
checkbox.instui-checkboxUne case à cocher native et son étiquette, ou un interrupteur via -variant-toggle.
close-button.instui-close-buttonUn bouton icône transparent qui dessine son propre glyphe ×, en trois tailles plus une variante sur couleur.
context-view.instui-context-viewUn callout surélevé avec une flèche, positionnable sur n’importe quel côté ; fonctionne comme un [popover] natif.
drawer-layout.instui-drawer-layoutUne mise en page divisée avec un tiroir latéral rétractable et un panneau de contenu principal défilant.
drawer-layout.content.contentLe panneau de contenu principal qui remplit l’espace restant à côté du tiroir.
drawer-layout.tray.trayLe panneau latéral à côté du contenu principal, avec superposition optionnelle et modificateurs de surface de type tiroir.
file-drop.instui-file-dropUne zone de dépôt de fichiers avec états survol, accepté et rejeté.
form-field.instui-form-fieldUn wrapper de champ de formulaire : une étiquette, ses contrôles, et des dispositions inline, requises ou en lecture seule.
form-field-group.instui-form-field-groupUn groupe <fieldset> avec une légende, une disposition en colonne ou en ligne, et un espacement configurable.
form-field-messages.instui-form-field-messagesAide de champ et messages de validation — indice, erreur, succès et uniquement pour lecteur d’écran — avec un glyphe sur erreur et succès.
heading.instui-headingTypographie de titres de -level-h1 à -level-h6.
img.instui-imgUn <img> stylisé avec des modificateurs d’affichage, de recadrage et d’effet qui se superposent.
in-place-edit.instui-in-place-editUn [contenteditable] qui se lit comme du texte jusqu’à ce qu’il soit focalisé, puis affiche l’interface d’entrée.
input-group.instui-input-groupUne façade autour d’un champ de texte avec des emplacements d’icônes au début et à la fin.
link.instui-linkUn lien stylisé avec tailles, variante inverse pour fonds sombres, et formes inline ou non stylisées.
list.instui-listUne liste avec espacement des éléments piloté par des tokens.
list.item.instui-listUn élément de liste (InstUI List.Item).
mask.instui-maskUn overlay en flux qui remplit son parent positionné et centre son contenu — p.ex. un spinner sur une carte. Pour une modale, préférer un <dialog> natif (son ::backdrop est le masque). Chacun de ces modificateurs est aussi disponible globalement (nu, ou chainé sur n’importe quel autre composant) — voir l’utilitaire global mask.
menu.instui-menuUne surface déroulante d’éléments, de groupes et de séparateurs.
menu.group.groupUn en-tête de groupe étiqueté (InstUI Menu.Group/Menu.ItemGroup).
menu.item.itemUne entrée de menu (InstUI Menu.Item) ; ajouter -disabled, -highlighted, ou -active/[aria-checked].
menu.separator.separatorUne règle de séparation entre éléments (InstUI Menu.Separator).
metric.instui-metricUne statistique étiquetée — une grande valeur au-dessus d’une légende.
modal.instui-modalUne surface de dialogue (fonctionne sur un <dialog> natif) ; parties en-tête/corps/pied.
modal.body.bodyLa région de contenu (InstUI Modal.Body) ; un seul <img> occupe toute la largeur.
modal.footer.footerLa rangée d’actions (InstUI Modal.Footer).
modal.header.headerLa rangée de titre (InstUI Modal.Header).
number-input.instui-number-inputUne façade d’entrée numérique avec une colonne de spinner +/-.
pagination.instui-paginationNavigation de page : pages numérotées, flèches première/précédente/suivante/dernière, et une ellipse pour les lacunes.
pagination.page.pageUn lien ou bouton de page (InstUI Pagination.Page) ; la page courante porte [aria-current].
pill.instui-pillUne étiquette de statut compacte ; ajouter un glyphe en tête avec la forme partagée -icon-<name>.
popover.instui-popoverUne surface surélevée pour un [popover] natif, positionnée avec le positionnement d’ancrage CSS.
progress.instui-progressUne barre de progression déterminée avec un mètre coloré, des tailles et une étiquette de valeur optionnelle.
progress-circle.instui-progress-circleUn anneau de progression circulaire piloté par les propriétés personnalisées --value et --value-max.
radio.instui-radioUn bouton radio natif et son étiquette.
radio-input-group.instui-radio-input-groupUn <fieldset> radio à sélection unique, simple ou comme un bascule segmentée connectée.
range-input.instui-range-inputUn curseur range stylisé avec une bulle de valeur inverse.
rating.instui-ratingUne cote par étoiles avec glyphes remplis et vides et une étiquette numérique facultative.
side-nav-bar.instui-side-nav-barUne barre de navigation verticale composée d’icônes au-dessus d’étiquettes, avec un mode réduit affichant uniquement les icônes.
side-nav-bar.item.itemUne entrée de navigation (InstUI SideNavBar.Item); -selected indique celle qui est active.
simple-select.instui-simple-selectUn <select> natif stylisé avec un caret, assorti aux états et tailles du champ de texte.
spinner.instui-spinnerUn anneau de chargement animé ; lui attribuer role="status" et une aria-label.
table.instui-tableUn tableau de données stylisé pour th et td plus une légende optionnelle, avec dispositions sur survol, fixe et en cartes empilées.
table.bodytbodyLe groupe de lignes de données du tableau (InstUI Table.Body).
table.celltdUne cellule de données (InstUI Table.Cell).
table.col-headerthUne cellule d’en‑tête de colonne (InstUI Table.ColHeader) ; le style par défaut th est remplacé par table.row-header pour th[scope="row"].
table.headtheadLe groupe de lignes d’en‑tête du tableau (InstUI Table.Head).
table.rowtrUne ligne de tableau (InstUI Table.Row).
table.row-headerth[scope="row"]Une cellule d’en‑tête de ligne (InstUI Table.RowHeader) ; stylisée à partir des jetons d’en‑tête de ligne, et non de ceux d’en‑tête de colonne.
tabs.instui-tabsUn ensemble d’onglets : une liste d’onglets, des onglets sélectionnables et leurs panneaux.
tabs.panel.panelLe panneau de contenu pour un onglet (InstUI Tabs.Panel).
tabs.tab.tabUn seul bouton d’onglet (InstUI Tabs.Tab, configuré via la liste d’onglets du parent Tabs) ; -selected indique celui qui est actif.
tag.instui-tagUne puce en ligne pour un mot‑clé ou un filtre.
text.instui-textTypographie pour le texte de corps avec modificateurs de taille, poids, couleur et style.
text-area.instui-text-areaUn <textarea> natif redimensionnable stylisé avec les mêmes états et tailles que le champ de texte.
text-input.instui-text-inputUn <input> natif stylisé — incluant date, time et datetime-local, où le navigateur fournit le sélecteur — avec états de validation et tailles.
toggle-details.instui-toggle-detailsUn <details> natif stylisé de type disclosure avec un chevron rotatif.
toggle-group.instui-toggle-groupUn disclosure encadré construit sur <details> : une ligne sommaire avec chevron et un contenu rétractable.
tooltip.instui-tooltipUne bulle d’infobulle CSS pour hover et focus, positionnable de n’importe quel côté.
tray.instui-trayUn panneau épinglé au bord qui glisse depuis n’importe quel côté ; un [popover] ou <dialog> natif.
tree-browser.instui-tree-browserUn arbre de disclosure composé de collections imbriquées et d’éléments feuilles, avec chevrons rotatifs.
view.instui-viewLe primitif View : une boîte neutre avec modificateurs clé‑valeur pour arrière‑plan, bordure, rayon, ombre, affichage, position, débordement et curseur. Chacun de ces modificateurs est aussi disponible globalement (nu, ou chaîné à tout autre composant) — voir les utilitaires background/border/shadow/display/position/overflow/cursor.

Utilitaires

NomClasseRésumé
color.--text-dangerUtilitaires de couleur sémantique : .--bg-<name>, .--text-<name> (aliasé comme .--color-<name>) et .--border-<name> pour la palette sémantique sélectionnée. Chacun a aussi un modificateur alias attaché au composant (par exemple -bg-danger sur n’importe quel .instui-<component>).
cursor.--cursor-pointercursor comme classe globale composable — .--cursor-<value> — utilisable nue ou chaînée à tout composant (.instui-button.--cursor-pointer).
gap.--gap-mdUtilitaires gap flex/grid sur l’échelle d’espacement, orthographe courte (--gap-sm) ou longue (--gap-small). Utilisable nue ou chaînée à tout composant (.instui-view.--gap-sm) — les composants qui définissent déjà leur propre gap via un jeton spécifique au composant peuvent le voir remplacé.
icon.instui-iconLe système d’icônes : dimensionnement .instui-icon plus le peintre partagé -icon-<name> qui masque un glyphe (dans currentColor) avant tout élément.
layout.--display-flexUtilitaires d’affichage et d’alignement du texte — .--display-<value> et .--text-align-<value> — comme classes globales composables, utilisables nues ou chaînées à tout composant.
maskglobal.--mask-overlayUne copie globale et double des modificateurs d’overlay du composant mask--mask-overlay, --mask-fullscreen, --mask-blur — utilisable nue ou chaînée à tout composant, sans envelopper dans un élément .instui-mask.
overflow.--overflow-x-hiddenoverflow-x/overflow-y comme classes globales composables — .--overflow-x-<value> / .--overflow-y-<value> — utilisables nues ou chaînées à tout composant.
position.--position-relativeposition comme classe globale composable — .--position-<value> — utilisable nue ou chaînée à tout composant (.instui-button.--position-relative).
responsive[class*="-hidden-"],[class*="-show-"]Classes d’affichage/masquage selon la largeur de la fenêtre ou du conteneur sur une échelle de points de rupture thématisés.
screen-reader-content.instui-screen-reader-contentMasque visuel du contenu tout en le gardant disponible pour les technologies d’assistance (le motif standard de clip).
spacing.--p-mdUtilitaires de marge et de remplissage — .--m<side>-<step> / .--margin-<side>-<step> et .--p<side>-<step> / .--padding-<side>-<step> sur l’échelle d’espacement (côtés t/b/s/e/x/y ou aucun, écrits courts ou longs — par exemple --mb-sm et --margin-bottom-small sont la même règle ; la marge accepte aussi auto). Utilisables seuls ou chaînés à n’importe quel composant (par exemple class="instui-view --mb-sm").
stacking.--stack-topmostUtilitaires de profondeur z-index — .--stack-<level> (deepest, below, above, topmost) — utilisables seuls ou chaînés à n’importe quel composant, pour que les couches s’empilent de façon prévisible plutôt qu’avec des nombres ajustés à la main.
transition.instui-transition.-transition-fade-enteringClasses d’état d’animation pour le composant Transition.instui-transition et classes d’état (-transition-fade-entering, -transition-scale-exited, etc.) — utilisables seuls ou chaînés à n’importe quel composant.
truncate.--truncateTronquage avec ellipsis et limitation de lignes contrôlée par --lines — utilisable seul ou chaîné à n’importe quel composant (.instui-button.--truncate).
visual-debug.-with-visual-debugContour de débogage de mise en page : composer .-with-visual-debug sur n’importe quel élément pour entourer la boîte et ses enfants immédiats, afin que la structure de la mise en page soit visible d’un coup d’œil.

Règles

NomClasseRésumé
base*Réinitialisation globale opt-in : box-sizing, la surface de la page, la couleur et la police de base, color-scheme, et les valeurs par défaut des liens.
prose:where(body)Paramètres typographiques par défaut pour le HTML brut — titres, paragraphes, listes, liens et code — appliqués automatiquement partout où c’est importé (par défaut :where(body)) ; passez options.scope pour cibler une racine de contenu différente (par ex. .vp-doc).

Plugins

NomClasseRésumé
logos.logosLogos produits Instructure en tokens d’image CSS : --instui-logo-<product>-<layout>-<mode> contient un SVG en data-URI, donc un logo se peint via p. ex. background-image: var(--instui-logo-canvas-horizontal-color).
primitives.instui-bg-primitive-color-whiteClasses utilitaires opt-in pour la palette primitive brute : .instui-bg-/fg-/border-primitive-color-<name> appliquent une couleur à partir des tokens de couleur primitifs, plus les utilitaires font-family/font-weight pour les tokens de police primitifs. Exclues des utilitaires sémantiques pour que les overrides restent uniquement sémantiques.
visual-debug.-with-visual-debugContour de débogage de mise en page : composer .-with-visual-debug sur n’importe quel élément pour entourer la boîte et ses enfants immédiats, afin que la structure de la mise en page soit visible d’un coup d’œil.

layout

NomClasseRésumé
calloutdiv[class~="instui-callout"]Alerte d’information en ligne pour un rappel ou une note courte.
herodiv[class~="instui-hero"]Section d’en-tête pleine largeur avec titre, sous-titre et image d’arrière-plan optionnelle.
page-layoutdiv[class~="instui-page-layout"]Mise en page standard à trois colonnes avec en-tête, barre latérale et contenu principal.
rubric-notediv[class~="instui-rubric-note"]Note structurée avec catégories de rubrique et indicateurs de notation.
testimonialdiv[class~="instui-testimonial"]Affichage de citation ou témoignage avec attribution et image optionnelle.
two-columndiv[class~="instui-two-column"]Mise en page à deux colonnes avec régions de contenu gauche et droite.
wrapperbody[class~="instui-display-flex"]Ligne d’interface d’application : nav latérale, conteneur avec en-tête et panneau optionnel.