Skip to content
Mintlify
Mintlify
Composants

Arborescence

Utilisez le composant arbre pour afficher des structures hiérarchiques de fichiers et dossiers, avec nœuds repliables et coloration syntaxique des chemins.

Utilisez des composants arborescents pour afficher des structures hiérarchiques comme des systèmes de fichiers, des répertoires de projet ou du contenu imbriqué. Le composant d’arborescence prend en charge la navigation au clavier et les fonctionnalités d’accessibilité.

Vous pouvez créer des arborescences avec une liste Markdown ou avec les composants Tree.Folder et Tree.File. <Tree> et <FileTree> sont des alias : chaque balise fonctionne avec l’une ou l’autre des syntaxes.

Utilisez la syntaxe de liste Markdown pour des arborescences rapides et statiques dont chaque dossier peut se développer par défaut. Utilisez la syntaxe des composants lorsque vous devez contrôler l’état d’ouverture par dossier avec defaultOpen, marquer des dossiers comme non interactifs avec openable, ou mélanger des fichiers et des dossiers à une profondeur arbitraire.

Écrivez une liste Markdown imbriquée dans <FileTree> (ou <Tree>) pour décrire une structure de dossiers. Ajoutez une barre oblique à la fin pour indiquer un dossier, ou imbriquez des éléments en dessous. Les dossiers qui contiennent des éléments imbriqués sont développés par défaut.

  • docs/
    • index.mdx
    • guides/
      • configuration.mdx
  • docs.config.ts
File tree example
<FileTree>

- docs/
  - index.mdx
  - guides/
    - configuration.mdx
- docs.config.ts

</FileTree>

Laissez une ligne vide après la balise d’ouverture et avant la balise de fermeture pour que la liste soit interprétée comme du Markdown. Les mises en forme en ligne telles que `code`, **gras** ou _italique_ sont supprimées des noms ; ne les utilisez que si elles s’affichent correctement dans votre build.

layout.tsx
page.tsx
global.css
package.json
tsconfig.json
Tree example
<Tree>
  <Tree.Folder name="app" defaultOpen>
    <Tree.File name="layout.tsx" />
    <Tree.File name="page.tsx" />
    <Tree.File name="global.css" />
  </Tree.Folder>
  <Tree.Folder name="lib">
    <Tree.File name="utils.ts" />
    <Tree.File name="db.ts" />
  </Tree.Folder>
  <Tree.File name="package.json" />
  <Tree.File name="tsconfig.json" />
</Tree>

Créez des structures profondément imbriquées en imbriquant des composants Tree.Folder les uns dans les autres.

layout.tsx
page.tsx
route.ts
package.json
Nested folders example
<Tree>
  <Tree.Folder name="app" defaultOpen>
    <Tree.File name="layout.tsx" />
    <Tree.File name="page.tsx" />
    <Tree.Folder name="api" defaultOpen>
      <Tree.Folder name="auth">
        <Tree.File name="route.ts" />
      </Tree.Folder>
      <Tree.File name="route.ts" />
    </Tree.Folder>
    <Tree.Folder name="components">
      <Tree.File name="button.tsx" />
      <Tree.File name="dialog.tsx" />
      <Tree.File name="tabs.tsx" />
    </Tree.Folder>
  </Tree.Folder>
  <Tree.File name="package.json" />
</Tree>

Le composant d’arborescence prend en charge la navigation au clavier.

  • Flèches directionnelles : Parcourir les éléments visibles vers le haut et vers le bas.
  • Flèche droite : Développer un dossier fermé ou passer au premier élément enfant d’un dossier ouvert.
  • Flèche gauche : Réduire un dossier ouvert ou passer au dossier parent.
  • Home : Aller au premier élément de l’arborescence.
  • End : Aller au dernier élément visible de l’arborescence.
  • Entrée/Espace : Basculer l’état ouvert/fermé d’un dossier.
  • * : Développer tous les dossiers au même niveau.
  • Recherche par saisie anticipée (type-ahead) : Taper des caractères pour passer aux éléments qui commencent par ces caractères.
namestringrequired

Le nom du dossier affiché dans l’arborescence.

defaultOpenbooleandefault: false

Indique si le dossier s’ouvre par défaut.

openablebooleandefault: true

Indique si les utilisateurs peuvent ouvrir et fermer le dossier. Réglez cette valeur sur false pour les dossiers non interactifs.

namestringrequired

Le nom du fichier affiché dans l’arborescence.

Tree.File n’accepte que la prop name.

Was this page helpful?Suggest editsRaise issue