Different from other Neo widgets: Side panel is managed through static methods on
NeoSidePanel rather than a widget you place in your build tree. It works automatically with both NeoSidebarLayout and NeoTopbarLayout.Examples
- Show / Hide
- Toggle with ID
Methods
NeoSidePanel.show()
Opens the side panel with the given content. If a panel is already visible, it replaces the content.The widget reference from a
ConsumerWidget or HookConsumerWidget.The content widget to display inside the side panel.
An optional identifier for the panel. Useful with
toggle to determine whether to show or hide.The width of the side panel in logical pixels.
NeoSidePanel.hide()
Hides the currently visible side panel with a smooth close animation.The widget reference to access the side panel provider.
NeoSidePanel.toggle()
Toggles the side panel visibility. If the panel is visible and has the sameid (or no ID), it hides. Otherwise, it shows the panel with the new content.
The widget reference from a
ConsumerWidget or HookConsumerWidget.The content widget to display inside the side panel.
An optional identifier for the panel.
The width of the side panel in logical pixels.
State Management
The Riverpod provider that holds the current side panel state. You can watch this to react to panel visibility changes.
Best Practices
- Use IDs for multi-panel UIs: When toggling between different panel contents (e.g., details vs. settings), assign unique
idvalues sotogglecan distinguish between them. - Desktop only: The side panel is only visible on desktop-sized screens (768px and above). On mobile, the panel is hidden automatically.
- Keep content focused: Side panels work best for contextual details, editing forms, or supplementary information related to the main content.
Integration Notes
- Layout integration: The side panel is automatically available when using
NeoSidebarLayoutorNeoTopbarLayout. No additional setup is required.

