by Theadd

React.js panel widget with support for tabs, toolbars, buttons and customizable themes

128 Stars 27 Forks Last release: over 5 years ago (v2.5.1) MIT License 137 Commits 11 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Demo/examples   Features   Playground   Install   Usage

A multipurpose tabbed panel component with many features. Using React v0.13.1 with addons.



  • No dependencies, single JS file with React inline styles.
    • Written to be browser first from the start so our browser build is a simple javascript file instead of a webpack/browserify bundle like in other react components. Nevertheless, this doesn't mean that react-panels is not suited for other kind of projects since a CommonJS build is also provided.
  • Support for themes and skins.
    • Available themes: chemical demo, flexbox demo, flexbox2 No demo yet.
    • Wanna share one of your own? Open an issue or make a pull request.
  • Fixed or as a draggable floating panel.
  • Multi-content components and toggleable footer and toolbars in tabs.
  • Auto-collapsible tab header buttons when don't fit in a single row.
  • Custom panel buttons.
  • Easily extensible by mixins. Not documented yet
  • Animations demo
  • Drag&drop tabs demo Warning: In development, subject to change.


  • Optional className in props to allow CSS styling.
  • Restore collapsed tab headers when there's available space. (not needed in flex based themes)
  • Allow prebuilt styles to increase performance.
  • More...


Using bower

bower install react-panels

Using npm

npm install react-panels
var ReactPanels = require('react-panels')
// or
var ReactPanels = require('react-panels/addons')


Example usage:

var Panel = ReactPanels.Panel;
var Tab = ReactPanels.Tab;
var Toolbar = ReactPanels.Toolbar;
var Content = ReactPanels.Content;
var Footer = ReactPanels.Footer;

var MyPanel = React.createClass({ render: function () { return ( Toolbar content of One Content of One

Footer content of One
Content of Two ); } });

Documentation for react-panels v2 is not available yet but you can take a look at the working examples for easy usages of almost all its features.


Feel free to fork this repo and make a PR. Any help is welcome, even fixing typos. I created react-panels to use it myself and I'm mostly adding new features or bug fixes on a need basis. So, if you need something specific, you can add/fix it yourself or open a new issue and I'll provide feedback as soon as possible.

Thanks to



The MIT License (MIT)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.