# react-bootstrap-combobox

> A combo-box component for React Bootstrap

Latest version **3.0.1** (published 2015-10-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-bootstrap-combobox
pnpm add react-bootstrap-combobox
yarn add react-bootstrap-combobox
bun add react-bootstrap-combobox
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.1 |
| Published | 2015-10-16 |
| First published | 2015-06-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Known vulnerabilities | 0 (+6 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Eugene Kuzmenko |
| Maintainers | aljey |
| Keywords | react-component, react, bootstrap, sass, combobox, dropdown |

## Links

- npm: https://www.npmjs.com/package/react-bootstrap-combobox
- Repository: https://github.com/thealjey/react-bootstrap-combobox
- Homepage: https://github.com/thealjey/react-bootstrap-combobox#readme
- Issues: https://github.com/thealjey/react-bootstrap-combobox/issues
- npm.io page: https://npm.io/package/react-bootstrap-combobox

## Dependencies (5)

- [react](https://npm.io/package/react.md) ^0.14.0
- [lodash](https://npm.io/package/lodash.md) ^3.10.1
- [react-dom](https://npm.io/package/react-dom.md) ^0.14.0
- [babel-runtime](https://npm.io/package/babel-runtime.md) ^5.8.19
- [react-bootstrap](https://npm.io/package/react-bootstrap.md) ^0.27.1

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 3.0.1 (latest) — 2015-10-16
- 3.0.0 — 2015-10-13
- 2.1.0 — 2015-10-07
- 2.0.3 — 2015-08-19
- 2.0.2 — 2015-08-13
- 2.0.1 — 2015-08-12
- 2.0.0 — 2015-07-31
- 1.1.1 — 2015-06-17
- 1.1.0 — 2015-06-17
- 1.0.10 — 2015-06-14
- 1.0.9 — 2015-06-12
- 1.0.8 — 2015-06-12
- 1.0.7 — 2015-06-11
- 1.0.6 — 2015-06-11
- 1.0.5 — 2015-06-11
- … 5 more at https://npm.io/package/react-bootstrap-combobox/versions

## README

# react-bootstrap-combobox
*A combo-box component for React Bootstrap.*

[Project Home](https://github.com/thealjey/react-bootstrap-combobox)
|
[API Docs](https://thealjey.github.io/react-bootstrap-combobox)

[![Build Status](https://travis-ci.org/thealjey/react-bootstrap-combobox.svg?branch=master)](https://travis-ci.org/thealjey/react-bootstrap-combobox)
[![Coverage Status](https://coveralls.io/repos/thealjey/react-bootstrap-combobox/badge.svg?branch=master&service=github)](https://coveralls.io/github/thealjey/react-bootstrap-combobox?branch=master)
[![Code Climate](https://codeclimate.com/github/thealjey/react-bootstrap-combobox/badges/gpa.svg)](https://codeclimate.com/github/thealjey/react-bootstrap-combobox)
[![Dependency Status](https://david-dm.org/thealjey/react-bootstrap-combobox.svg)](https://david-dm.org/thealjey/react-bootstrap-combobox)
[![devDependency Status](https://david-dm.org/thealjey/react-bootstrap-combobox/dev-status.svg)](https://david-dm.org/thealjey/react-bootstrap-combobox#info=devDependencies)
[![peerDependency Status](https://david-dm.org/thealjey/react-bootstrap-combobox/peer-status.svg)](https://david-dm.org/thealjey/react-bootstrap-combobox#info=peerDependencies)
[![npm version](https://badge.fury.io/js/react-bootstrap-combobox.svg)](http://badge.fury.io/js/react-bootstrap-combobox)
[![Slack channel](https://img.shields.io/badge/slack-combobox-blue.svg)](https://webcompiler.slack.com/messages/combobox)

This is a very simple stateless wrapper around DropdownButton and MenuItem.

### Features

1. Minimizes the number of characters one would need to type when building a component in this fashion
2. Provides a good looking dropdown component, built on Twitter Bootstrap, customizable with SASS, that works and looks
   the same in all major browsers
3. The dropdown menu has a maximum height automatically calculated to prevent it from overflowing the viewport
4. Provides a number of performance optimizations, both in JavaScript and CSS

### Hint

Do not forget to set the `NODE_ENV` environment variable to **"production"** in production to get some instant
performance increase from React for free!

### Installation

```
npm i react-bootstrap-combobox --save
```

### Usage

You need to include the **"_index.scss"** file from this package.
If you are using [webcompiler](https://github.com/thealjey/webcompiler) then you can simply do:

```SCSS
// import Bootstrap
@import "bootstrap";
// import Bootstrap theme
@import "bootstrap/theme";
// import the component
@import "react-bootstrap-combobox";
```

and then:

```JavaScript
import {Combo} from 'react-bootstrap-combobox';

function someFunc(key: string) {
  ...
}

<Combo items={{
  // keys must be unique
  sweden: {label: 'Sweden', header: true}, // any combination of props supported by MenuItem
  volvo: 'Volvo',                          // same as {label: 'Volvo'}
  saab: 'Saab',
  separator: '-',                          // same as {divider: true}
  germany: {label: 'Germany', header: true},
  mercedes: 'Mercedes',
  audi: 'Audi'
}} value="volvo" onChange={someFunc} />
```

### Caveats

1. Both `items` and `value` are required props
2. The component is stateless, which means that its `value` cannot be changed without re-rendering it
3. For performance reasons `items` are considered immutable

---
_Source: https://npm.io/package/react-bootstrap-combobox · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
