COMPONENT
IntentTimeline
Timeline intent-first pour afficher une suite d’événements (dates, marqueurs, cartes, groupes, expansion, navigation clavier).
🧭 LayoutSince v0.2.6
DESIGN SYSTEM
mode
Intent
Variant
Glow
Intensity
State
PLAYGROUND
Layout
Flags
Time / Groups
Marker / Connector
Expand / Content
Item statuses
ev-1
ev-2
ev-3
ev-4
ev-5
ev-6
Active (controlled)
PREVIEW
  1. 🗓️ Année
    2021
    Origines récentes
  2. 🧭 Repères
    2022
    Images, lieux, objets
  3. 🪐 Space
    2025
    Capsules & mémoire
  4. 🧭 Repères
    2022
    Images, lieux, objets
⌨️ Navigation: ↑/↓ (vertical) ou ←/→ (horizontal), Home/End, Enter, Space (expand).
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
itemsrequis
Événements affichés dans la timeline.
IntentTimelineItem[]
groups
Groupes optionnels (utilisés si groupId est renseigné sur les items).
IntentTimelineGroup[]
showGroupHeaders
Affiche les en-têtes de groupe.
booleantrue
orientation
Orientation de la timeline.
"vertical" | "horizontal"vertical
layout
Mise en page (vertical): stacked/split/alternate.
"stacked" | "split" | "alternate"stacked
size
Taille globale.
"xs" | "sm" | "md" | "lg"md
density
Densité des espacements.
"tight" | "normal" | "airy"normal
compact
Réduit la description et les paddings.
booleanfalse
reverse
Inverse l’ordre de rendu.
booleanfalse
markerVariant
Style du marqueur.
"dot" | "icon" | "index" | "pill" | "avatar"dot
showIndex
Affiche l’index (markerVariant=index).
booleantrue
showConnector
Affiche la ligne de connexion.
booleantrue
connectorStyle
Style de ligne.
"solid" | "dashed"solid
connectorStartCap
Cap au début de la ligne.
booleantrue
connectorEndCap
Cap à la fin de la ligne.
booleantrue
showTime
Affiche la date/heure.
booleantrue
timeLocale
Locale du format de date.
stringfr-FR
formatTime
Formatter de date custom.
(d: Date, item: IntentTimelineItem) => string
activeId
Item actif (contrôlé).
string
defaultActiveId
Item actif par défaut.
string
onActiveChange
Callback quand l’actif change.
(id: string) => void
clickable
Rend les items interactifs.
booleantrue
allowLinkNavigation
Autorise la navigation via href.
booleantrue
ariaLabel
Label ARIA du composant.
stringTimeline
collapsible
Active l’extension des items (body).
booleanfalse
expandedIds
Items étendus (contrôlé).
string[]
defaultExpandedIds
Items étendus par défaut.
string[]
allowMultiExpand
Autorise plusieurs items ouverts.
booleantrue
onExpandedChange
Callback quand l’extension change.
(ids: string[]) => void
render*
Hooks de rendu optionnels.
renderHeader/renderTitle/renderSubtitle/renderDescription/renderMeta/renderMarker/renderBody
empty
Rendu quand items est vide.
React.ReactNode
(native props)
Props natives sur le root.
Omit<React.HTMLAttributes<HTMLElement>, '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