List
Lists render possible actions or selectable options for a given element. This component is usually placed under a kebab menu icon.
Version 0.1.3
Installation
To install @igloo-ui/list
in your project, you will need to run the following command using npm:
npm install @igloo-ui/list
If you prefer Yarn, use the following command instead:
yarn add @igloo-ui/list
Usage
Then to use the component in your code just import it!
import List from '@igloo-ui/list';
const optionList = [
{
type: 'list',
label: 'Item 1',
value: '1',
description: 'just adding some description',
},
{
type: 'list',
label: 'Item 2 (disabled)',
value: '2',
disabled: true,
},
{
type: 'list',
label: 'Item 3 (focused)',
value: '3',
description: 'just adding some description',
},
{
type: 'list',
label: 'Item 4 (selected)',
value: '4',
},
{
type: 'list',
label: 'Item 5',
value: '5',
color: '#74DCC9',
},
];
const [selectedOption, setSeletedOption] = React.useState(optionList[3]);
const [focusedOption, setFocusedOption] = React.useState(optionList[2]);
function handleOptionSelect(option) {
setSeletedOption(option);
}
function handleOptionFocus(option) {
setFocusedOption(option);
}
<List
options={optionList}
onOptionChange={handleOptionSelect}
onOptionFocus={handleOptionFocus}
selectedOption={selectedOption}
focusedOption={focusedOption}
/>;
API
List
Prop | Type | Default | Description |
---|---|---|---|
className | string | - | Add a specific class to the Select |
dataTest | string | - | Add a data-test tag for automated tests |
focusedOption | OptionType | - | The option that is currently being focused or hovered |
isCompact | boolean | True for a compact appearance | |
multiple | boolean | - | The List gains checkboxes beside each option to be able to select multiple options |
onOptionFocus | (option: OptionType) => void | - | Called when an option becomes focused or hovered |
onOptionChange | (option: OptionType) => void | - | Called when an option is selected |
options | OptionType[] | - | A list of options |
selectedOption | OptionType | OptionType[] | - | The initial selected option or a list of selected options |
ListItem
Prop | Type | Default | Description |
---|---|---|---|
className | string | - | Add a specific class to the Select |
isCompact | boolean | True for a compact appearance | |
isFocused | boolean | If the option is focused/hovered | |
isSelected | boolean | If the option is selected | |
useCheckbox | boolean | - | Use a checkbox to show selected state |
onOptionFocus | (option: OptionType) => void | - | Called when an option becomes focused or hovered |
onOptionChange | (option: OptionType) => void | - | Called when an option is selected |
option | OptionType | - | A list of options |