• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 10 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

react-panels

Demo/examples Β  Features Β  Playground Β  Install Β  Usage

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

NPM

Features

  • 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.

Roadmap

  • 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...

Install

Using bower

bower install react-panels

Include bower_components/react-panels/dist/react-panels[.min].js after react-with-addons[.min].js

Using npm

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

Usage

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 (
      <Panel theme="chemical">
        <Tab title="One" icon="fa fa-plane">
          <Toolbar>Toolbar content of One</Toolbar>
          <Content>Content of One</Content>
          <Footer>Footer content of One</Footer>
        </Tab>
        <Tab title="Two" icon="fa fa-fire">
          <Content>Content of Two</Content>
        </Tab>
      </Panel>
    );
  }
});

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.

Contributing

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

Compatibility

License

The MIT License (MIT)

More Repositories

1

juced

JUCE Interface Designer
C++
28
star
2

svg2react

Tool to transform an SVG to a ReactJS Component - This project is no longer active, better use https://github.com/smooth-code/svgr
JavaScript
12
star
3

Humankind-GUI-Tools

A mod for the Amplitude Studios Humankind game.
C#
8
star
4

TorrentzRSS

Processes torrentz.eu RSS results from your search queries and provides a set of advanced rules to merge multiple queries, sort them and exclude unwanted torrents from your search results in several ways. Output can be retrieved by XML (RSS), JSON or using the web interface.
JavaScript
8
star
5

ArrayList

VBA / VB6 ArrayList implementation w/ proper memory management and orders of magnitude faster than mscorlib.ArrayList
Visual Basic 6.0
5
star
6

Designi

A RAD WYSIWYG GUI Designer for JUCE C++ Toolkit
C++
4
star
7

react-mirror

Takes control over the component's rendering cycle allowing many synchronized replicas of its DOM.
JavaScript
4
star
8

ds3x

Visual Basic 6.0
3
star
9

govip

[CS:GO] VIP Mode - GO:VIP is a simple VIP mode for Counter-Strike: Global Offensive. At the beginning of each round, a random Counter-Terrorist will become the VIP. It is up to the rest of the Counter-Terrorists to escort the VIP safely to one of the rescue zones on the map.
3
star
10

node-ipc

Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS
JavaScript
3
star
11

Modding.Humankind.DevTools

C#
1
star
12

cb-docker

Dockerfile
1
star
13

endless-chartist

JavaScript
1
star
14

on-black-sails

JavaScript
1
star
15

MultipurposeButton

A multipurpose button for the JUCE C++ class library.
C
1
star