0.3.0 • Published 6 years ago

react-selekt v0.3.0

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

React Selekt

Ultra minimal multi-select component for React.

Features

  • Multi-select with predefined select options,
  • Live searching through select options,
  • 100% style control through adding your own classes,
  • Optional headers for both selector and the selected options.

Demo

Coming soon...

Install

npm install react-selekt

Usage (ES6)

import React from 'react';
import ReactDOM from 'react-dom';
import Selekt from '../src/react-selekt';

class App extends React.Component {

constructor(props) { super(props); this.state = { selected: 'Express' } }

_handleChange = (selected) => { this.setState({ selected: selected }); }

render() { return (

  <div>
    <Selekt
      options={['ReactJS', 'NodeJS', 'Express', 'Webpack']}
      selected={this.state.selected}
      headings={{
        selector: <h1>Select your favorite libraries.</h1>,
        selected: <h2>Your favorite libraries</h2>
      }}
      onChange={this._handleChange.bind(this)}
      classes={{
        selector: {
          wrapper: 'selector-wrapper',
          input: 'selector-input',
          ul: 'selector-ul',
          li: 'selector-li'
        },
        selected: {
          wrapper: 'selected-wrapper',
          ul: 'selected-ul',
          li: 'selected-li'
        },
      }}
    />
  </div>
)

} }

This generates the following HTML:

```html
<div>
  <div class="selector-wrapper">
    <h1>Select your favorite libraries.</h1>
    <input type="text" value="" class="selector-input">
    <ul class="selector-ul">
      <li data-vaöue="ReactJS" class="selector-li">ReactJS</li>
      <li data-vaöue="ReactJS" class="selector-li">NodeJS</li>
      <li data-vaöue="ReactJS" class="selector-li">Webpack</li>
    </ul>
  </div>
  <div class="selected-wrapper">
    <h2>Your favorite libraries</h2>
    <ul class="selected-ul">
      <li data-value="Express" class="selected-li">Express</li>
    </ul>
  </div>
</div>

Styling

To style different parts of Selekt, just give the elements you want to style classes through the classes prop and then reference them in your stylesheet. You can use the following

0.3.0

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago