COMPONENT
IntentControlButtonGroup
Groupe de boutons/liens intent-first, avec états toggleables et sélection single/multiple.
🕹️ ControlSince v0.2.11
DESIGN SYSTEM
mode
Intent
Variant
Glow
Intensity
State
PLAYGROUND
Selection
Size
Layout
Demo data
Value
Valeur actuelle: stark
Astuce: teste Arrow, Home et End pour la navigation clavier.
PREVIEW
The WallKing's Landing
selectionMode=single, value= stark, orientation= horizontal, attached= false
Mélange boutons et liens, ou passe en multiple pour voir le groupe changer de logique comme une petite bannière de guerre 🐺
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
itemsrequis
Liste des items du groupe (boutons ou liens).
IntentControlButtonGroupItem[]
value
Valeur contrôlée: string | string[] | null selon le mode de sélection.
string | string[] | null
defaultValue
Valeur initiale non contrôlée.
string | string[] | null
onValueChange
Callback quand la sélection change.
(value, item?) => void
selectionMode
Mode de sélection: none, single ou multiple.
"none" | "single" | "multiple"single
allowDeselect
Autorise la désélection en mode single.
booleanfalse
readOnly
Empêche les changements de sélection tout en gardant le groupe focusable.
booleanfalse
orientation
Orientation du groupe.
"horizontal" | "vertical"horizontal
attached
Fusionne visuellement les boutons comme un groupe attaché.
booleanfalse
wrap
Autorise le retour à la ligne en horizontal.
booleanfalse
justify
Alignement des items dans le groupe.
"start" | "center" | "end" | "between" | "stretch"start
equalWidth
Donne une largeur homogène aux items.
booleanfalse
size
Taille propagée aux items.
"xs" | "sm" | "md" | "lg" | "xl"md
fullWidth
Étire le groupe sur toute la largeur disponible.
booleanfalse
activeIntent / activeVariant / activeTone / activeGlow / activeIntensity / activeMode
Style alternatif appliqué aux items actifs. Les valeurs manquantes héritent du style du groupe.
IntentInput partial fields
activeStyle
Objet de style appliqué aux items actifs, prioritaire sur les props active*.
Partial<IntentInput>
(native props)
Props natives du conteneur div.
Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'children' | 'onChange'>
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