COMPONENT
IntentControlButton
Bouton intent-first (controls) : hooks CSS stables + variables résolues via resolveIntent().
🕹️ ControlSince v0.1.0
DESIGN SYSTEM
PLAYGROUND
Size
Layout
State
Icons
leftIcon est ignoré si loading=true.
Astuce: click sur le bouton toggle pressed.
PREVIEW
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 appliquées au root.
string
children
Contenu du bouton (label).
React.ReactNode
size
Taille du bouton (affecte padding, hauteur, typo).
"xs" | "sm" | "md" | "lg" | "xl"md
fullWidth
Étire le bouton sur toute la largeur disponible.
booleanfalse
loading
Affiche un spinner et force disabled (préserve l’état).
booleanfalse
pressed
État “pressed” (aria-pressed + hook visuel).
booleanfalse
leftIcon
Icône à gauche du label (ignorée si loading=true).
React.ReactNode
rightIcon
Icône à droite du label.
React.ReactNode
(native props)
Toutes les props natives du button (type, onClick, aria-*, data-*…).
Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, '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