Search packages, repositories and app categories

panels cover
Package detailsv0.0.3

panels

Panels is a flutter package that aims to provide a set of useful desktop UI panels that can move around, dock and tab like we expect in more robust desktop applications.

30-day downloads
17
Likes
34
Pub points
60

Install package

flutter pub add panels

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Panels is a Flutter package designed to enhance desktop application interfaces with draggable, dockable, and tabbable UI panels. Inspired by robust desktop environments, it enables users to organize content dynamically—moving panels freely, snapping them to edges, or grouping them into tabs. Ideal for complex workflows requiring flexible layouts, the package supports intuitive interactions without sacrificing performance. It integrates seamlessly into existing Flutter projects and focuses on usability and responsiveness across desktop platforms.

Use cases

  • Desktop application dashboards
  • Multi-panel data visualization
  • Customizable developer tools
  • Interactive design workspaces
  • Complex document editing interfaces

Key features

  • Draggable panel movement
  • Docking to screen edges
  • Tabbed panel grouping
  • Responsive layout handling
  • Easy integration with existing Flutter apps

Suitable for

  • Developers building desktop-first Flutter apps
  • Designers needing flexible UI layouts
  • Applications requiring multi-window-like behavior
  • Tools with dynamic workspace needs
  • Projects targeting Windows, macOS, and Linux

Considerations

  • Primarily intended for desktop use
  • Limited mobile platform support
  • Requires careful state management for complex arrangements
  • May need custom styling for brand consistency
  • Best used in applications with significant UI complexity

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Warning: Beta

Panels

Pub Version (including pre-releases)

Panels is a flutter package that aims to provide a set of useful desktop UI panels that can move around, dock and tab like we expect in more robust desktop applications.

Features

  • [x] Draggable Panels
  • [x] Resizable Panels
  • [x] Correct Mosue Cursor
  • [x] Tabs in Panels
  • [ ] Make all Panels dockable into each other
  • [ ] Custom panel themes
    • [x] Customizable close button
    • [x] Customizable context menu
    • [ ] Customizable tabs
    • [x] Customizable frame
    • [ ] Customizable top bar

Demo

ezgif com-gif-maker

Default Theme

ThemeData.light() ThemeData.dark()
image image

FrostedPanelsTheme

ThemeData.light() ThemeData.dark()
image image

Under the hood

There are 10 Mouse Regions and listeners (All sides and corners + The big one in the middle + the draggable) that change the look of the mouse according to their function. Windows can be clicked on in any of these regions to become selected (put on top).

ezgif com-gif-maker (1)

There is an InheritedWidget called Panels which is created by a StatefulWidget called PanelsManager. The children of the panels manager are put into a stack.

Please see the examples directory for an example.

Categories

Source repository

Projects using this package

No data available yet.