COMPONENT
IntentControlData
Éditeur de données structurelles (JSON/YAML/XML/…). Textarea + overlay de coloration, intent-first, standalone ou insideField.
🕹️ ControlSince v0.2.3
DESIGN SYSTEM
mode
Intent
Variant
Glow
Intensity
State
PLAYGROUND
Format
Change le format pour voir la coloration évoluer (tokenizer léger).
Layout
wrapInField=true démontre l’intégration avec IntentControlField (data editor en mode insideField).
Size
Validation
Behavior
indent
Utilisé seulement pour le JSON quand pretty est activé.
Placeholder
Value (quick set)
Ce select sert à injecter un exemple propre dans l’éditeur.
Field wrapper
field.label
field.hint
field.error
field.direction
Astuce: active showLineNumbers puis scrolle pour valider la synchro overlay/textarea.
PREVIEW
Colle ton JSON/YAML, édite, puis blur pour tester le pretty-print JSON.
format=json, wrapInField= true, readOnly= false, pretty= true, lines= 12
Test rapide: active pretty + format=json, casse le JSON, blur, puis répare-le et blur à nouveau.
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
value
Valeur contrôlée.
string
defaultValue
Valeur initiale non contrôlée.
string
onValueChange
Callback quand le texte change.
(value: string) => void
format
Format des données (impacte la coloration).
"json" | "yaml" | "toml" | "xml" | "ini" | "graphql" | "sql" | "text"json
pretty
JSON uniquement: tente de formatter à la perte de focus.
booleanfalse
indent
JSON uniquement: indentation.
number2
showLineNumbers
Affiche les numéros de ligne.
booleanfalse
readOnly
Mode lecture seule.
booleanfalse
insideField
Mode “naked” pour être wrappé par IntentControlField (frame owned by Field).
booleanfalse
invalid
Force l’état invalide.
booleanfalse
(native props)
Props natives textarea (placeholder, name, spellCheck…).
Omit<TextareaHTMLAttributes, ...>
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