Artefact UI

Search

Blog

Docs

About

Playground

MenuChevron Down

Blog

Docs

About

Playground

Splitter - Docs - Artefact

Splitter

Layout
Auto-interactive

A structural layout component that divides space into multiple distinct content areas separated by high-contrast visual dividers. It is designed to group complex sub-sections or sidebars neatly within a unified container block.


Usage

These examples illustrate how content editors configure and structure resizable splitter containers.

1. Horizontal Dashboard Splitter

Divides the layout into a left-side navigation/info bar and a right-side main content area. This is ideal for workspace layouts, technical documentation pages, or side-by-side product showcases.

{
  "type": "splitter",
  "orientation": "horizontal",
  "panels": [
    {
      "id": "left",
      "content": [
        {
          "blockType": "text",
          "content": "Left Panel (Sidebar)"
        }
      ]
    },
    {
      "id": "right",
      "content": [
        {
          "blockType": "text",
          "content": "Right Panel (Main Content)"
        }
      ]
    }
  ]
}
Left Panel (Sidebar)

2. Vertical Stack Splitter

Stacks content areas vertically, separated by a horizontal divider line. Ideal for dividing code playgrounds, stacked content feeds, or preview-and-editor dashboard sections.

{
  "type": "splitter",
  "orientation": "vertical",
  "panels": [
    {
      "id": "top",
      "content": [
        {
          "blockType": "text",
          "content": "Top Section (Code / Editor)"
        }
      ]
    },
    {
      "id": "bottom",
      "content": [
        {
          "blockType": "text",
          "content": "Bottom Section (Live Preview)"
        }
      ]
    }
  ]
}
Top Section (Code / Editor)
Bottom Section (Live Preview)

Props

PropertyCMS Field TypeDefaultDescription / Supported Options
Orientation (orientation)select"horizontal"Visual orientation of the splitter panes.
• Options: "horizontal" (side-by-side), "vertical" (stacked).
Panels (panels)list-List of nested panel configuration blocks. Each panel contains:
ID (id): Unique identifier string for the panel.
Content (content): List of nested nestable page blocks.

Developer Notes & Accessibility

  • Static Content Compilation: To guarantee zero hydration lag and peak performance, the Splitter block compiled via the CMS Page Builder always renders in static presentation mode (interactive={false}). Because a panel's content holds arbitrary nested JSX block elements, keeping it static prevents the serialization boundary issues that occur during island hydration.
  • Pure CSS Layout Flexbox: Static Splitter layouts are compiled as pure, lightweight CSS Flexbox rows or columns. This eliminates the need for any JavaScript layout execution on load, avoiding layout shift (CLS) completely.
  • WAI-ARIA Layout Roles: Generates semantic layout attributes pointing out panel groupings clearly. The horizontal and vertical divider lines compile to standard divider separators (role="separator"), helping screen reader users understand layout transitions.