shadcn-ui-resizable

star 8

Build resizable panel layouts with ShadResizablePanelGroup and ShadResizablePanel; horizontal/vertical axis, defaultSize, minSize, maxSize, showHandle. Use when adding resizable split panes or panel groups in a Flutter shadcn_ui app.

serverpod By serverpod schedule Updated 3/7/2026

name: shadcn_ui-resizable description: Build resizable panel layouts with ShadResizablePanelGroup and ShadResizablePanel; horizontal/vertical axis, defaultSize, minSize, maxSize, showHandle. Use when adding resizable split panes or panel groups in a Flutter shadcn_ui app.

Shadcn UI — Resizable

Instructions

ShadResizablePanelGroup contains ShadResizablePanel children. Each panel has id, defaultSize (fraction 0–1), optional minSize and maxSize, and child. Use axis: Axis.vertical for vertical splits. Nest ShadResizablePanelGroup inside a panel for nested layouts. Set showHandle: true to show the resize handle; optional handleIcon or handleIconSrc to customize. Double-click the handle to reset to default size.

Basic horizontal

ShadResizablePanelGroup(
  children: [
    ShadResizablePanel(
      id: 0,
      defaultSize: .5,
      minSize: .2,
      maxSize: .8,
      child: Center(child: Text('One', style: theme.textTheme.large)),
    ),
    ShadResizablePanel(
      id: 1,
      defaultSize: .5,
      child: ShadResizablePanelGroup(
        axis: Axis.vertical,
        children: [
          ShadResizablePanel(
            id: 0,
            defaultSize: .3,
            child: Center(child: Text('Two', style: theme.textTheme.large)),
          ),
          ShadResizablePanel(
            id: 1,
            defaultSize: .7,
            child: Align(child: Text('Three', style: theme.textTheme.large)),
          ),
        ],
      ),
    ),
  ],
)

Vertical

ShadResizablePanelGroup(
  axis: Axis.vertical,
  children: [
    ShadResizablePanel(
      id: 0,
      defaultSize: 0.3,
      minSize: 0.1,
      child: Center(child: Text('Header', style: theme.textTheme.large)),
    ),
    ShadResizablePanel(
      id: 1,
      defaultSize: 0.7,
      minSize: 0.1,
      child: Center(child: Text('Footer', style: theme.textTheme.large)),
    ),
  ],
)

With visible handle

ShadResizablePanelGroup(
  showHandle: true,
  children: [
    ShadResizablePanel(id: 0, defaultSize: .5, minSize: .2, child: ...),
    ShadResizablePanel(id: 1, defaultSize: .5, minSize: .2, child: ...),
  ],
)

Wrap the group in a bordered container (e.g. DecoratedBox + ClipRRect with theme.radius) for a clean look.

Install via CLI
npx skills add https://github.com/serverpod/skills-registry --skill shadcn-ui-resizable
Repository Details
star Stars 8
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator