Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Nettalco/nettalco-theme/llms.txt

Use this file to discover all available pages before exploring further.

The Splitter component divides a container into resizable panels separated by a draggable gutter. Panels can be oriented horizontally or vertically and can be given minimum and maximum size constraints. The Nettalco preset styles the gutter using {content.border.color} so it blends with other structural borders, while the drag handle itself remains transparent — providing a clean look with no extra visual weight.

Usage

<!-- app.component.html -->
<p-splitter [style]="{ height: '300px' }">
  <ng-template #panel>
    <div class="flex items-center justify-center h-full">
      <p>Panel A</p>
    </div>
  </ng-template>
  <ng-template #panel>
    <div class="flex items-center justify-center h-full">
      <p>Panel B</p>
    </div>
  </ng-template>
</p-splitter>

<!-- Nested vertical splitter inside the right panel -->
<p-splitter [style]="{ height: '400px' }">
  <ng-template #panel [minSize]="20">
    <p class="p-4">Left</p>
  </ng-template>
  <ng-template #panel>
    <p-splitter layout="vertical">
      <ng-template #panel [size]="60"><p class="p-4">Top Right</p></ng-template>
      <ng-template #panel><p class="p-4">Bottom Right</p></ng-template>
    </p-splitter>
  </ng-template>
</p-splitter>
// app.component.ts
import { Component } from '@angular/core';
import { SplitterModule } from 'primeng/splitter';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  imports: [SplitterModule],
})
export class AppComponent {}

Design Tokens

All tokens are defined in src/lib/theme/splitter/index.ts.

Root

TokenValueDescription
root.background{content.background}Background of the splitter container
root.borderColor{content.border.color}Outer border color
root.color{content.color}Default text color inside panels
root.transitionDuration{transition.duration}Transition timing for resize animations

Gutter

TokenValueDescription
gutter.background{content.border.color}Gutter line color — matches structural borders

Handle

TokenValueDescription
handle.size24pxWidth/height of the drag handle hit area
handle.backgroundtransparentHandle has no visible fill — purely invisible
handle.borderRadius{content.border.radius}Rounded hit area for the handle

Handle Focus Ring

TokenValueDescription
handle.focusRing.width{focus.ring.width}Global focus ring width
handle.focusRing.style{focus.ring.style}Global focus ring style
handle.focusRing.color{focus.ring.color}Global focus ring color
handle.focusRing.offset{focus.ring.offset}Global focus ring offset
handle.focusRing.shadow{focus.ring.shadow}Global focus ring shadow

Theme Notes

  • The gutter uses {content.border.color} directly (not a dedicated gutter color token), so it visually matches the separator used by Divider, Panel, and Accordion. This keeps structural chrome uniform across the UI.
  • The transparent handle means there is no knurled or dotted drag indicator by default. If you want a visual drag affordance, override handle.background with a surface color and add a custom icon via the handle slot.
  • Focus ring tokens all inherit from global focus.* semantic tokens, ensuring keyboard-navigable gutter handles meet the same accessibility outline standard as other interactive elements.

Build docs developers (and LLMs) love