MenuChevron Down
Splitter Diviseur - Docs - Artefact

Splitter Diviseur

Layout
Tier 1

Introduction

Un composant de mise en page qui divise le contenu en panneaux redimensionnables séparés par des poignées de déplacement.

Utilisation

Répartiteur de base

Sidebar
import { Splitter } from "../components/ui";

export default function MyPage() {
  return (
    <Splitter
      orientation="horizontal"
      panels={[
        { id: "left", content: <aside>Sidebar</aside> },
        { id: "right", content: <main>Content</main> },
      ]}
    />
  );
}

Constructeur de pages CMS

Ce composant est disponible sous forme de bloc splitter dans Page Builder (content/pages/*.json). Rend toujours statique (interactive={false}, pas de glisser pour redimensionner) — le contenu d'un panneau est un JSX imbriqué arbitrairement, qui ne peut pas traverser la limite de sérialisation prop de l'île comme le peuvent les enfants :

{
  "type": "splitter",
  "orientation": "horizontal",
  "panels": [
    { "id": "left", "content": [{ "type": "text", "content": "Left panel" }] },
    { "id": "right", "content": [{ "type": "text", "content": "Right panel" }] }
  ]
}

Propriétés

Séparateur

PropriétéTypeDescription
panelsPanelConfig[]Les panneaux à rendre (obligatoire).

| orientation | `"horizontal" \ | "verticale"` | Layout direction of the panels. |

| interactive | boolean | Activez le glisser-redimensionner côté client. |

| defaultSize | `{ id: string \ | nombre; taille : nombre }[]` | Initial sizes (interactive mode). | | size | `{ id: string \ | nombre; taille : nombre }[]` | Controlled sizes (interactive mode). | | onSizeChange | `(sizes: { id: string \ | nombre; taille : nombre }[]) => vide` | Callback when sizes change. |

| resizeTriggerClass | string | Classes CSS personnalisées pour les poignées de redimensionnement. | | class | string | Classes CSS personnalisées pour l'élément racine. |

| style | `Record<string, string \ | numéro>` | Inline styles for the root element. |

| id | string | ID personnalisé pour l’élément racine. |

Configuration du panneau

PropriétéTypeDescription

| id | `string \ | numéro` | Unique identifier for the panel. | | content | `JSX.Element \ | chaîne` | Content rendered inside the panel. |

| class | string | Classes CSS personnalisées pour le panneau. |

| style | `Record<string, string \ | numéro>` | Inline styles for the panel. |