COMPONENT
IntentDrawer
Drawer intent-first (overlay + panneau glissant) avec gestion du focus et fermeture ESC/clic overlay.
🧱 SurfaceSince v0.2.0
DESIGN SYSTEM
mode
Intent
Variant
Glow
Intensity
State
PLAYGROUND
Open
Layout
sizePx override:
Behavior
Copy
Action log
Aucune action pour l’instant.
PREVIEW
position: right · size: md · opaqueBackdrop: false
RESOLVED
{
  "mode": "dark",
  "intent": "informed",
  "variant": "elevated",
  "intensity": "medium",
  "toneStep": 500,
  "toneEffective": "blue",
  "glowKey": null,
  "glowBackground": null,
  "style": {
    "--intent-bg": "var(--ids-color-blue-500)",
    "--intent-ring": "var(--ids-color-blue-700)",
    "--intent-text": "var(--ids-color-blue-200)",
    "--intent-bg-opacity": "0.16",
    "--intent-ring-opacity": "0.304",
    "--intent-border": "var(--ids-color-blue-700)",
    "--intent-glow-fill-opacity": "0",
    "--intent-glow-border-opacity": "0",
    "--intent-glow-filter": "none"
  },
  "classes": {
    "base": "intent-surface inline-flex items-center gap-2",
    "surface": "intent-bg",
    "border": "intent-ring",
    "text": "intent-text",
    "ring": "",
    "shadow": "intent-shadow-soft",
    "glow": "",
    "disabled": ""
  },
  "warnings": []
}
PROPS
PropTypeDefault
PROPS SYSTÈME
intent
Intent sémantique (informed/empowered/warned/threatened/themed/toned/glowed).
IntentDEFAULT_INTENT
variant
Variant visuel (flat/outlined/elevated/ghost).
VariantDEFAULT_VARIANT
tone
Override de tone (n’a d’effet que si intent='toned').
ToneDEFAULT_TONE (si toned)
toneStep
Step Tailwind (50..950) pour éclaircir/assombrir les teintes (autour du step canonique 500).
ToneStepDEFAULT_TONE_STEP
glow
Glow normal (true/false) ou glow esthétique (uniquement si intent='glowed').
boolean | Glowfalse (ou glow par intent)
intensity
Intensité (soft/medium/strong).
IntensityDEFAULT_INTENSITY
mode
Mode colorimétrique (dark/light).
ModeDEFAULT_MODE
disabled
Désactive l’état visuel (hooks + styles).
booleanfalse
PROPS LOCALES
className
Classes CSS additionnelles sur le root.
string
open
Contrôle l’ouverture (mode contrôlé).
boolean
defaultOpen
Ouverture par défaut (non-contrôlé).
booleanfalse
onOpenChange
Callback d’ouverture/fermeture.
(open: boolean) => void
position
Côté d’apparition du drawer.
"left" | "right" | "top" | "bottom"right
size
Taille du panneau (preset).
"xs" | "sm" | "md" | "lg" | "xl"md
sizePx
Override numérique (px) pour la largeur/hauteur du panel.
number
overlay
Affiche un overlay cliquable.
booleantrue
opaqueBackdrop
Ajoute un fond opaque uniquement derrière le panneau du drawer, sans couvrir toute la page.
booleanfalse
closeOnOverlay
Ferme au clic sur l’overlay.
booleantrue
closeOnEscape
Ferme via ESC.
booleantrue
lockScroll
Bloque le scroll du body.
booleantrue
trapFocus
Piège le focus dans le panel.
booleantrue
restoreFocus
Restaure le focus à la fermeture.
booleantrue
preventClose
Empêche toute fermeture (overlay/ESC/programmatique via interactions).
booleanfalse
inset
Panel inset (laisse une marge au bord).
booleanfalse
title
Titre simple (header auto).
React.ReactNode
description
Description simple (header auto).
React.ReactNode
header
Header custom (override).
React.ReactNode
footer
Footer slot.
React.ReactNode
children
Contenu du drawer.
React.ReactNode
ariaLabel
Label ARIA du dialog.
stringDrawer
initialFocusRef
Élément à focus à l’ouverture.
React.RefObject<HTMLElement>
finalFocusRef
Élément à focus à la fermeture.
React.RefObject<HTMLElement>
(native props)
Props natives sur le root.
Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'children'>
TYPES & CONSTANTES
APIValeur / Référence
TYPES
IntentNametype
Type union des intents sémantiques.
"informed" | "empowered" | "warned" | "threatened" | "themed" | "toned" | "glowed"
VariantNametype
Type union des variants visuels.
"flat" | "outlined" | "elevated" | "ghost"
ToneNametype
Type union des tones (familles Tailwind + theme + black).
("slate" | "gray" | ... | "theme" | "black")
GlowNametype
Type union des aesthetic glows (utilisable quand intent='glowed').
"aurora" | "ember" | "cosmic" | "mythic" | "royal" | "mono"
Intensitytype
Intensité des effets (glow/contraste).
"soft" | "medium" | "strong"
ModeNametype
Mode colorimétrique.
"dark" | "light"
CONSTANTES
DEFAULT_INTENTconst
Intent par défaut si aucun intent n’est fourni.
informed
DEFAULT_VARIANTconst
Variant par défaut si aucun variant n’est fourni.
elevated
DEFAULT_GLOW_BY_INTENTconst
Mapping intent → glow par défaut (quand glow est implicite).
DEFAULT_GLOW_BY_INTENT