React Resizable Panels screenshot

React Resizable Panels

Author Avatar Theme by Bvaughn
Updated: 12 May 2025
4497 Stars

Overview

The react-resizable-panels is a set of React components designed for creating resizable panel groups/layouts. It supports input methods such as mouse, touch, and keyboard via Window Splitter. The library offers features for persistent panel sizes, conditional rendering, and layout configuration.

Features

  • Resizable Panel Groups: Create resizable panel layouts for your React applications.
  • Supported Input Methods: Includes support for mouse, touch, and keyboard interactions.
  • Persistent Layouts: Panel groups with autoSaveId prop can save and restore layouts on mount.
  • Conditional Rendering: Handle layout and sizing problems with conditionally rendered panels.
  • Custom Styling: Style the resize handles using className or style props.
  • Server-Side Rendering (SSR) Support: Provide guidance on using persistent layouts with SSR to avoid layout flicker.
  • CSP Attribute and Cursor Styles: Includes methods to set the CSP “nonce” attribute and disable global cursor styles.

Installation

To install the react-resizable-panels library in your React project, you can use npm or yarn package managers. Here’s the npm command to install the package:

npm install react-resizable-panels

For yarn, you can use the following command:

yarn add react-resizable-panels

Ensure to follow the documentation for detailed usage instructions and examples on incorporating the resizable panels into your application.

Summary

The react-resizable-panels library provides React developers with a convenient way to create flexible and interactive panel layouts. With support for various input methods, persistent layouts, and custom styling options, this library offers a comprehensive solution for implementing resizable panels in React applications. Developers can utilize the library’s features to enhance the user experience and design of their web interfaces.