mui-checkboxlist
Version:
A Material UI based react component for checkbox list.
77 lines (56 loc) • 3.02 kB
Markdown
# mui-checkboxlist
This package is a checkbox list component based on Material-UI. This is designed for use with react and react-final-form.
- It accepts an array of items to be listed for selection
- Produces an array of selected items
- Customizable in terms of style and function
Check out this [Live Demo](https://codesandbox.io/s/charming-frog-uowzx).
### Usage
Your application must have the following packages installed, these are declared as peer dependencies and won't we installed automatically by installing this component:
- @material-ui/core
- @material-ui/icons
- lodash
Install the actual package:
```sh
$ npm install mui-checkboxlist
```
Then you just need to import it into your React application:
```javascript
import { CheckboxLabelValueSelect, CheckboxValueSelect } from "mui-checkboxlist";
//Use **CheckboxLabelValueSelect** when passing items with the following structure:
const listItems_labelValue = [{
label: "White"
value: "#FFFFFF"
}];
//Use **CheckboxValueSelect** when passing plain strings:
const listItems_valueOnly = [ "white", ... ];
```
### Props & Features
| Props | Mandatory | Default | Description |
| ------ | ------ | ------ | ------ |
| checkedIcon | no | | Icon to show when the checkbox controls are checked. |
| disabled | no | false | If set to true, checkboxes and textfields are disabled. |
| label | no | | Displays a label to describe the whole list.
| limit | no | | If present, it should container a number called 'max' which limits the selected items to the specified number and 'deleteLast' which when set to true, will uncheck the last checked item instead of the first. |
| icon | no | | Icon to show when the checkbox controls are not checked. |
| listItems | yes | | Contains all the items available for selection. |
| onChange | yes | | This function will provide the updated selected values. Basic structure is (selectedItems) => {}, where selectedItems is an array. |
| searchBarLabel | no | | If provided, search bar will be displayed and its value will be the placeholder. |
| selectAllLabel | no | | If provided, a select/deselect-all checkbox labeled with the provided value will be displayed. Event if present but field 'limit' is also present, the selectAll checkbox will not display. |
| selectedItems | no | [] | Contains the initially selected items. |
| selectedItemsFirst | no | false | If set to true, selected items will be displayed on top of the list. Perfect for long lists. |
| statusBar | no | false | If provided, a status bar with the number of selected items will be displayed. |
### Styling
If you want to override the styles, you can use withStyles:
```javascript
import CheckboxValueSelect from './CheckboxValueSelect';
import {withStyles} from '@material-ui/styles';
const styles = {
root: {
textAlign: 'center'
}
}
const StyledCheckboxValueSelect = withStyles(styles)(CheckboxValueSelect);
```
License
----
MIT