# Multiselect

*Category:* Components
*Section:* Selection
*Source:* https://uikit.developers.rio.cloud/#/components/multiselects
*Captured:* 2026-04-27T14:57:37.864Z

The Multiselect component is a form control and is intended to be used within forms. It's designed to be used instead of native HTML Select which cannot be styled and are rendered by each browser differently.

## Multiselect

This component allows the selection of multiple items from a list.

If no item is selected in the list a default placeholder text is displayed in the box. Otherwise the items are listed in the box. If the item list is too long for the box, it is truncated and an ellipsis is displayed.

A maximum of seven items is displayed in the list at a time. If the list contains more that 6 items, a scrollbar is added in order to limit the height of the list.

This component supports items with icons and labels.

### Example: Example 1

Default Multiselect Option 1 Option 4 Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Group Header
Option 8
Option 9 with clear button Option 1 Option 4 Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Group Header
Option 8
Option 9 Disabled Option 1 Option 4 Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Group Header
Option 8
Option 9

with external error feedback Option 1 Option 4 Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Group Header
Option 8
Option 9 This is an error message

with built-in error feedback
Option 1 Option 4 This is an error message

Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Group Header
Option 8
Option 9

#### React (tsx)

```tsx
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';
import Notification from '@rio-cloud/rio-uikit/Notification';

const options = [
    { id: '1', label: 'Option 1', selected: true },
    { id: '2', label: 'Option 2' },
    { id: '3', label: 'Option 3' },
    { id: '4', label: 'Option 4', selected: true },
    { id: '5', label: 'Option 5' },
    { id: '6', label: 'Option 6', disabled: true },
    { id: '7', label: 'Group Header', header: true },
    { id: '8', label: 'Option 8' },
    { id: '9', label: <i>Option 9</i> },
];

export default () => (
    <div className='form-group max-width-400'>
        <label htmlFor='m1'>Default Multiselect</label>
        <Multiselect
            id='m1'
            placeholder='Please select'
            options={options}
            useFilter
            noItemMessage='There must be something here, I know it. Try harder!'
            onChange={response => Notification.info(JSON.stringify(response))}
        />
        <br />
        <label htmlFor='m1-clear'>with clear button</label>
        <Multiselect
            id='m1-clear'
            placeholder='Please select'
            options={options}
            useFilter
            useClear
            onChange={response => Notification.info(response.length ? JSON.stringify(response) : 'cleared')}
        />
        <br />
        <label>Disabled</label>
        <Multiselect
            options={options}
            useFilter
            disabled
            onChange={response => Notification.info(JSON.stringify(response))}
        />
        <hr />

        <div className='form-group has-error has-feedback max-width-400'>
            <label htmlFor='m2'>with external error feedback</label>
            <Multiselect id='m2' options={options} hasError />
            <span className='form-control-feedback rioglyph rioglyph-error-sign' />
            <span className='help-block'>
                <span>This is an error message</span>
            </span>
        </div>
        <hr />

        <div className='max-width-400'>
            <label htmlFor='m3'>with built-in error feedback</label>
            <Multiselect
                id='m3'
                options={options}
                inputAddon='rioglyph rioglyph-robot'
                errorMessage='This is an error message'
            />
        </div>
        <hr />
    </div>
);
```

#### HTML (html)

```html
<div class="form-group max-width-400">
    <label for="m1">Default Multiselect</label>
    <div class="select multiselect dropdown">
        <button type="button" id="m1" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
            <span class="selected-option-list padding-left-1">
                <span class="selected-option">
                    <span class="selected-label">Option 1</span>
                    <span class="removeIcon">
                        <span class="rioglyph rioglyph-remove">
                        </span>
                    </span>
                </span>
                <span class="selected-option">
                    <span class="selected-label">Option 4</span>
                    <span class="removeIcon">
                        <span class="rioglyph rioglyph-remove">
                        </span>
                    </span>
                </span>
            </span>
            <span class="select-toggle-actions">
                <span class="clearButton hide pointer-events-none">
                    <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                    </span>
                </span>
                <span class="caret">
                </span>
            </span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">Option 1</span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">Option 2</span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">Option 3</span>
                    <input type="hidden" value="3">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                    <span class="selected-option-dropdown-item">Option 4</span>
                    <input type="hidden" value="4">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                    <span class="selected-option-dropdown-item">Option 5</span>
                    <input type="hidden" value="5">
                </a>
            </li>
            <li class="disabled" role="listitem">
                <a role="menuitem" class="pointer-events-none display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                    <span class="selected-option-dropdown-item">Option 6</span>
                    <input type="hidden" value="6">
                </a>
            </li>
            <li class="dropdown-header center ">
                <span class="dropdown-header-text">Group Header</span>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                    <span class="selected-option-dropdown-item">Option 8</span>
                    <input type="hidden" value="8">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                    <span class="selected-option-dropdown-item">
                        <i>Option 9</i>
                    </span>
                    <input type="hidden" value="9">
                </a>
            </li>
        </ul>
    </div>
    <br>
    <label for="m1-clear">with clear button</label>
    <div class="select multiselect dropdown">
        <button type="button" id="m1-clear" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
            <span class="selected-option-list padding-left-1">
                <span class="selected-option">
                    <span class="selected-label">Option 1</span>
                    <span class="removeIcon">
                        <span class="rioglyph rioglyph-remove">
                        </span>
                    </span>
                </span>
                <span class="selected-option">
                    <span class="selected-label">Option 4</span>
                    <span class="removeIcon">
                        <span class="rioglyph rioglyph-remove">
                        </span>
                    </span>
                </span>
            </span>
            <span class="select-toggle-actions">
                <span class="clearButton">
                    <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                    </span>
                </span>
                <span class="caret">
                </span>
            </span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">Option 1</span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">Option 2</span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">Option 3</span>
                    <input type="hidden" value="3">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                    <span class="selected-option-dropdown-item">Option 4</span>
                    <input type="hidden" value="4">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                    <span class="selected-option-dropdown-item">Option 5</span>
                    <input type="hidden" value="5">
                </a>
            </li>
            <li class="disabled" role="listitem">
                <a role="menuitem" class="pointer-events-none display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                    <span class="selected-option-dropdown-item">Option 6</span>
                    <input type="hidden" value="6">
                </a>
            </li>
            <li class="dropdown-header center ">
                <span class="dropdown-header-text">Group Header</span>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                    <span class="selected-option-dropdown-item">Option 8</span>
                    <input type="hidden" value="8">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                    <span class="selected-option-dropdown-item">
                        <i>Option 9</i>
                    </span>
                    <input type="hidden" value="9">
                </a>
            </li>
        </ul>
    </div>
    <br>
    <label>Disabled</label>
    <div class="select multiselect dropdown">
        <button type="button" class="dropdown-toggle form-control text-left disabled" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
            <span class="selected-option-list padding-left-1">
                <span class="selected-option">
                    <span class="selected-label">Option 1</span>
                    <span class="removeIcon">
                        <span class="rioglyph rioglyph-remove">
                        </span>
                    </span>
                </span>
                <span class="selected-option">
                    <span class="selected-label">Option 4</span>
                    <span class="removeIcon">
                        <span class="rioglyph rioglyph-remove">
                        </span>
                    </span>
                </span>
            </span>
            <span class="select-toggle-actions">
                <span class="clearButton hide pointer-events-none">
                    <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                    </span>
                </span>
                <span class="caret">
                </span>
            </span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">Option 1</span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">Option 2</span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">Option 3</span>
                    <input type="hidden" value="3">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                    <span class="selected-option-dropdown-item">Option 4</span>
                    <input type="hidden" value="4">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                    <span class="selected-option-dropdown-item">Option 5</span>
                    <input type="hidden" value="5">
                </a>
            </li>
            <li class="disabled" role="listitem">
                <a role="menuitem" class="pointer-events-none display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                    <span class="selected-option-dropdown-item">Option 6</span>
                    <input type="hidden" value="6">
                </a>
            </li>
            <li class="dropdown-header center ">
                <span class="dropdown-header-text">Group Header</span>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                    <span class="selected-option-dropdown-item">Option 8</span>
                    <input type="hidden" value="8">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                    <span class="selected-option-dropdown-item">
                        <i>Option 9</i>
                    </span>
                    <input type="hidden" value="9">
                </a>
            </li>
        </ul>
    </div>
    <hr>
    <div class="form-group has-error has-feedback max-width-400">
        <label for="m2">with external error feedback</label>
        <div class="select multiselect dropdown has-error dropup">
            <button type="button" id="m2" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                <span class="selected-option-list">
                    <span class="selected-option">
                        <span class="selected-label">Option 1</span>
                        <span class="removeIcon">
                            <span class="rioglyph rioglyph-remove">
                            </span>
                        </span>
                    </span>
                    <span class="selected-option">
                        <span class="selected-label">Option 4</span>
                        <span class="removeIcon">
                            <span class="rioglyph rioglyph-remove">
                            </span>
                        </span>
                    </span>
                </span>
                <span class="select-toggle-actions">
                    <span class="clearButton hide pointer-events-none">
                        <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                        </span>
                    </span>
                    <span class="caret">
                    </span>
                </span>
            </button>
            <ul class="dropdown-menu" role="menu">
                <li class="active" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                        <span class="selected-option-dropdown-item">Option 1</span>
                        <input type="hidden" value="1">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                        <span class="selected-option-dropdown-item">Option 2</span>
                        <input type="hidden" value="2">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                        <span class="selected-option-dropdown-item">Option 3</span>
                        <input type="hidden" value="3">
                    </a>
                </li>
                <li class="active" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                        <span class="selected-option-dropdown-item">Option 4</span>
                        <input type="hidden" value="4">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                        <span class="selected-option-dropdown-item">Option 5</span>
                        <input type="hidden" value="5">
                    </a>
                </li>
                <li class="disabled" role="listitem">
                    <a role="menuitem" class="pointer-events-none display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                        <span class="selected-option-dropdown-item">Option 6</span>
                        <input type="hidden" value="6">
                    </a>
                </li>
                <li class="dropdown-header center ">
                    <span class="dropdown-header-text">Group Header</span>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                        <span class="selected-option-dropdown-item">Option 8</span>
                        <input type="hidden" value="8">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                        <span class="selected-option-dropdown-item">
                            <i>Option 9</i>
                        </span>
                        <input type="hidden" value="9">
                    </a>
                </li>
            </ul>
        </div>
        <span class="form-control-feedback rioglyph rioglyph-error-sign">
        </span>
        <span class="help-block">
            <span>This is an error message</span>
        </span>
    </div>
    <hr>
    <div class="max-width-400">
        <label for="m3">with built-in error feedback</label>
        <div class="select multiselect dropdown dropup">
            <div class="form-group margin-bottom-0 has-feedback has-error">
                <div class="input-group">
                    <div class="input-group-addon">
                        <span class="rioglyph rioglyph-robot">
                        </span>
                    </div>
                    <div class="form-control-feedback-wrapper">
                        <button type="button" id="m3" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                            <span class="selected-option-list margin-left-0">
                                <span class="selected-option">
                                    <span class="selected-label">Option 1</span>
                                    <span class="removeIcon">
                                        <span class="rioglyph rioglyph-remove">
                                        </span>
                                    </span>
                                </span>
                                <span class="selected-option">
                                    <span class="selected-label">Option 4</span>
                                    <span class="removeIcon">
                                        <span class="rioglyph rioglyph-remove">
                                        </span>
                                    </span>
                                </span>
                            </span>
                            <span class="select-toggle-actions">
                                <span class="clearButton hide pointer-events-none">
                                    <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                                    </span>
                                </span>
                                <span class="caret">
                                </span>
                            </span>
                        </button>
                        <span class="form-control-feedback rioglyph rioglyph-error-sign">
                        </span>
                        <span class="help-block white-space-normal">
                            <span>This is an error message</span>
                        </span>
                    </div>
                </div>
            </div>
            <ul class="dropdown-menu" role="menu">
                <li class="active" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                        <span class="selected-option-dropdown-item">Option 1</span>
                        <input type="hidden" value="1">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                        <span class="selected-option-dropdown-item">Option 2</span>
                        <input type="hidden" value="2">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                        <span class="selected-option-dropdown-item">Option 3</span>
                        <input type="hidden" value="3">
                    </a>
                </li>
                <li class="active" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                        <span class="selected-option-dropdown-item">Option 4</span>
                        <input type="hidden" value="4">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                        <span class="selected-option-dropdown-item">Option 5</span>
                        <input type="hidden" value="5">
                    </a>
                </li>
                <li class="disabled" role="listitem">
                    <a role="menuitem" class="pointer-events-none display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                        <span class="selected-option-dropdown-item">Option 6</span>
                        <input type="hidden" value="6">
                    </a>
                </li>
                <li class="dropdown-header center ">
                    <span class="dropdown-header-text">Group Header</span>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                        <span class="selected-option-dropdown-item">Option 8</span>
                        <input type="hidden" value="8">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                        <span class="selected-option-dropdown-item">
                            <i>Option 9</i>
                        </span>
                        <input type="hidden" value="9">
                    </a>
                </li>
            </ul>
        </div>
    </div>
    <hr>
</div>
```

#### Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | — | Passed through as HTML attribute to the toggle button. |
| id | String | — | Passed through as HTML attribute to the toggle button. Uses the value given to name if not provided explicitly. |
| options | Array of Objects | [] | Items to display in the dropdown menu. |
| └id | String | — | Used to identify an option |
| └label | String / Node | — | The option item text |
| └icon | Node | — | Icon to be displayed in front of the label |
| └selected | Boolean | false | Defines whether the menu item is selected. |
| └disabled | Boolean | false | Setting "disabled" to true will disable the respective item. |
| └header | Boolean | false | Will treat the given value as a menu header. |
| value | Array | — | Sets the ids of the selected options when the component is already mounted. |
| onChange | Function | () => {} | Callback function triggered when an item is selected. |
| placeholder | String / Node | — | Text to display when nothing is selected. |
| dropup | Boolean | false | Defines whether the dropdown opens upwards. Set to "true" additionally disables autoDrop feature. |
| pullRight | Boolean | false | Defines whether the dropdown opens right aligned to the dropdown toggle. Set to "true" additionally disables autoDrop feature. |
| autoDropDirection | Boolean | true | Enables or disables the autoDrop positioning feature. When enabled, the option list opens below or above the input depending on the surrounding space. |
| bsSize | String | md | Defines the size of the select to be rendered. Possible values are: 'sm', 'md' and 'lg' |
| variant | 'default' \| 'blank' | 'default' | Defines the visual variant of the select. |
| disabled | Boolean | false | Option to disable the opening of the option list. |
| tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
| hasError | Boolean | false | Defines whether the Bootstrap error classes shall be added to the toggle element. |
| useFilter | Boolean | false | Defines whether the component should be filterable. |
| noItemMessage | String / Node | — | Text that shall be shown when not match was found when filtering. |
| counterMessage | Object | — | Object that will render the number of selected items instead of individual items. Using this prop will disable the filter functionality. { one: 'item selected', many: 'items selected' } |
| └one | String / Node | — | Text that will be used when a single item is selected. |
| └many | String / Node | — | Text that will be used when multiple item are selected. |
| renderCounterMessage | Function | — | Optional render function that is used to render the message how many items have been selected. The total amount of selected items will be passed into that function. Using this prop will disable the filter functionality. |
| multiline | boolean | false | Defines whether the selected items wrap around within the dropdown toggle. |
| showSelectedItemIcon | Boolean | false | Set to show only the icon and not the label of selected item. |
| showUnselectedItemIcons | Boolean | false | Set to show all item icons within the toggle element. Selected items are highlighted and unselected items are shown as inactive. |
| inputAddon | String \| ReactNode | — | Option to add an icon as a leading input addon to the select component. |
| errorMessage | String | — | Input error message. |
| warningMessage | String | — | Input warning message. |
| messageWhiteSpace | 'normal' \| 'prewrap' \| 'nowrap' | 'normal' | Optional warning message white-space setting. |
| dropdownClassName | String | — | Additional classes to be set to the dropdown. |
| btnClassName | String | — | Additional classes to be set to the select/input. |
| className | String | — | Additional classes to be set to the select wrapper. |

### Example: Example 2

With label component
Please select vehicles

Truck
Van
Bus

#### React (tsx)

```tsx
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';
import Notification from '@rio-cloud/rio-uikit/Notification';

const options = [
    {
        id: '1',
        label: (
            <span className='display-flex gap-3 align-items-center'>
                <span className='rioglyph rioglyph-truck' />
                <span>Truck</span>
            </span>
        ),
        foo: 'Bar',
    },
    {
        id: '2',
        label: (
            <span className='display-flex gap-3 align-items-center'>
                <span className='rioglyph rioglyph-van' />
                <span>Van</span>
            </span>
        ),
        foo: 'Bar',
    },
    {
        id: '3',
        label: (
            <span className='display-flex gap-3 align-items-center'>
                <span className='rioglyph rioglyph-bus' />
                <span>Bus</span>
            </span>
        ),
        foo: 'Bar',
    },
];

export default () => (
    <div className='form-group max-width-400'>
        <label htmlFor='withLabel'>With label component</label>
        <Multiselect
            id='withLabel'
            placeholder='Please select vehicles'
            options={options}
            inputAddon='rioglyph rioglyph-robot'
            useFilter
            onChange={response => Notification.info(JSON.stringify(response))}
        />
    </div>
);
```

#### HTML (html)

```html
<div class="form-group max-width-400">
    <label for="withLabel">With label component</label>
    <div class="select multiselect dropdown dropup">
        <div class="form-group margin-bottom-0">
            <div class="input-group">
                <div class="input-group-addon">
                    <span class="rioglyph rioglyph-robot">
                    </span>
                </div>
                <div class="form-control-feedback-wrapper">
                    <button type="button" id="withLabel" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                        <span class="placeholder">Please select vehicles</span>
                        <span class="select-toggle-actions">
                            <span class="clearButton hide pointer-events-none">
                                <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                                </span>
                            </span>
                            <span class="caret">
                            </span>
                        </span>
                    </button>
                </div>
            </div>
        </div>
        <ul class="dropdown-menu" role="menu">
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">
                        <span class="display-flex gap-3 align-items-center">
                            <span class="rioglyph rioglyph-truck">
                            </span>
                            <span>Truck</span>
                        </span>
                    </span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">
                        <span class="display-flex gap-3 align-items-center">
                            <span class="rioglyph rioglyph-van">
                            </span>
                            <span>Van</span>
                        </span>
                    </span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">
                        <span class="display-flex gap-3 align-items-center">
                            <span class="rioglyph rioglyph-bus">
                            </span>
                            <span>Bus</span>
                        </span>
                    </span>
                    <input type="hidden" value="3">
                </a>
            </li>
        </ul>
    </div>
</div>
```

#### Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | — | Passed through as HTML attribute to the toggle button. |
| id | String | — | Passed through as HTML attribute to the toggle button. Uses the value given to name if not provided explicitly. |
| options | Array of Objects | [] | Items to display in the dropdown menu. |
| └id | String | — | Used to identify an option |
| └label | String / Node | — | The option item text |
| └icon | Node | — | Icon to be displayed in front of the label |
| └selected | Boolean | false | Defines whether the menu item is selected. |
| └disabled | Boolean | false | Setting "disabled" to true will disable the respective item. |
| └header | Boolean | false | Will treat the given value as a menu header. |
| value | Array | — | Sets the ids of the selected options when the component is already mounted. |
| onChange | Function | () => {} | Callback function triggered when an item is selected. |
| placeholder | String / Node | — | Text to display when nothing is selected. |
| dropup | Boolean | false | Defines whether the dropdown opens upwards. Set to "true" additionally disables autoDrop feature. |
| pullRight | Boolean | false | Defines whether the dropdown opens right aligned to the dropdown toggle. Set to "true" additionally disables autoDrop feature. |
| autoDropDirection | Boolean | true | Enables or disables the autoDrop positioning feature. When enabled, the option list opens below or above the input depending on the surrounding space. |
| bsSize | String | md | Defines the size of the select to be rendered. Possible values are: 'sm', 'md' and 'lg' |
| variant | 'default' \| 'blank' | 'default' | Defines the visual variant of the select. |
| disabled | Boolean | false | Option to disable the opening of the option list. |
| tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
| hasError | Boolean | false | Defines whether the Bootstrap error classes shall be added to the toggle element. |
| useFilter | Boolean | false | Defines whether the component should be filterable. |
| noItemMessage | String / Node | — | Text that shall be shown when not match was found when filtering. |
| counterMessage | Object | — | Object that will render the number of selected items instead of individual items. Using this prop will disable the filter functionality. { one: 'item selected', many: 'items selected' } |
| └one | String / Node | — | Text that will be used when a single item is selected. |
| └many | String / Node | — | Text that will be used when multiple item are selected. |
| renderCounterMessage | Function | — | Optional render function that is used to render the message how many items have been selected. The total amount of selected items will be passed into that function. Using this prop will disable the filter functionality. |
| multiline | boolean | false | Defines whether the selected items wrap around within the dropdown toggle. |
| showSelectedItemIcon | Boolean | false | Set to show only the icon and not the label of selected item. |
| showUnselectedItemIcons | Boolean | false | Set to show all item icons within the toggle element. Selected items are highlighted and unselected items are shown as inactive. |
| inputAddon | String \| ReactNode | — | Option to add an icon as a leading input addon to the select component. |
| errorMessage | String | — | Input error message. |
| warningMessage | String | — | Input warning message. |
| messageWhiteSpace | 'normal' \| 'prewrap' \| 'nowrap' | 'normal' | Optional warning message white-space setting. |
| dropdownClassName | String | — | Additional classes to be set to the dropdown. |
| btnClassName | String | — | Additional classes to be set to the select/input. |
| className | String | — | Additional classes to be set to the select wrapper. |

### Example: Example 3

Multiline with wrapping items
Option 1 Option 2 Option 3 Option 4 Option 5 Option 6 Option 8

Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Group Header
Option 8
Option 9
Option 10

#### React (tsx)

```tsx
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';

const options = [
    { id: '1', label: 'Option 1', selected: true },
    { id: '2', label: 'Option 2', selected: true },
    { id: '3', label: 'Option 3', selected: true },
    { id: '4', label: 'Option 4', selected: true },
    { id: '5', label: 'Option 5', selected: true },
    { id: '6', label: 'Option 6', selected: true },
    { id: '7', label: 'Group Header', header: true },
    { id: '8', label: 'Option 8', selected: true },
    { id: '9', label: 'Option 9' },
    { id: '10', label: 'Option 10' },
];

export default () => (
    <div className='form-group max-width-400'>
        <label htmlFor='multiline'>Multiline with wrapping items</label>
        <Multiselect
            id='multiline'
            placeholder='Please select'
            noItemMessage='Nothing found'
            options={options}
            inputAddon='rioglyph rioglyph-filter'
            multiline
            useFilter
        />
    </div>
);
```

#### HTML (html)

```html
<div class="form-group max-width-400">
    <label for="multiline">Multiline with wrapping items</label>
    <div class="select multiselect dropdown dropup">
        <div class="form-group margin-bottom-0">
            <div class="input-group">
                <div class="input-group-addon">
                    <span class="rioglyph rioglyph-filter">
                    </span>
                </div>
                <div class="form-control-feedback-wrapper">
                    <button type="button" id="multiline" class="dropdown-toggle form-control text-left height-auto" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                        <span class="selected-option-list flex-wrap margin-left-0 padding-left-1">
                            <span class="selected-option">
                                <span class="selected-label">Option 1</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <span class="selected-option">
                                <span class="selected-label">Option 2</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <span class="selected-option">
                                <span class="selected-label">Option 3</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <span class="selected-option">
                                <span class="selected-label">Option 4</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <span class="selected-option">
                                <span class="selected-label">Option 5</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <span class="selected-option">
                                <span class="selected-label">Option 6</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <span class="selected-option">
                                <span class="selected-label">Option 8</span>
                                <span class="removeIcon">
                                    <span class="rioglyph rioglyph-remove">
                                    </span>
                                </span>
                            </span>
                            <input type="text" role="searchbox" class="multiselect-filter-input" value="">
                        </span>
                        <span class="select-toggle-actions">
                            <span class="clearButton hide pointer-events-none">
                                <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                                </span>
                            </span>
                            <span class="caret">
                            </span>
                        </span>
                    </button>
                </div>
            </div>
        </div>
        <ul class="dropdown-menu" role="menu">
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">Option 1</span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">Option 2</span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">Option 3</span>
                    <input type="hidden" value="3">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                    <span class="selected-option-dropdown-item">Option 4</span>
                    <input type="hidden" value="4">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                    <span class="selected-option-dropdown-item">Option 5</span>
                    <input type="hidden" value="5">
                </a>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                    <span class="selected-option-dropdown-item">Option 6</span>
                    <input type="hidden" value="6">
                </a>
            </li>
            <li class="dropdown-header center ">
                <span class="dropdown-header-text">Group Header</span>
            </li>
            <li class="active" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                    <span class="selected-option-dropdown-item">Option 8</span>
                    <input type="hidden" value="8">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                    <span class="selected-option-dropdown-item">Option 9</span>
                    <input type="hidden" value="9">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10" data-item-index="9">
                    <span class="selected-option-dropdown-item">Option 10</span>
                    <input type="hidden" value="10">
                </a>
            </li>
        </ul>
    </div>
</div>
```

#### Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | — | Passed through as HTML attribute to the toggle button. |
| id | String | — | Passed through as HTML attribute to the toggle button. Uses the value given to name if not provided explicitly. |
| options | Array of Objects | [] | Items to display in the dropdown menu. |
| └id | String | — | Used to identify an option |
| └label | String / Node | — | The option item text |
| └icon | Node | — | Icon to be displayed in front of the label |
| └selected | Boolean | false | Defines whether the menu item is selected. |
| └disabled | Boolean | false | Setting "disabled" to true will disable the respective item. |
| └header | Boolean | false | Will treat the given value as a menu header. |
| value | Array | — | Sets the ids of the selected options when the component is already mounted. |
| onChange | Function | () => {} | Callback function triggered when an item is selected. |
| placeholder | String / Node | — | Text to display when nothing is selected. |
| dropup | Boolean | false | Defines whether the dropdown opens upwards. Set to "true" additionally disables autoDrop feature. |
| pullRight | Boolean | false | Defines whether the dropdown opens right aligned to the dropdown toggle. Set to "true" additionally disables autoDrop feature. |
| autoDropDirection | Boolean | true | Enables or disables the autoDrop positioning feature. When enabled, the option list opens below or above the input depending on the surrounding space. |
| bsSize | String | md | Defines the size of the select to be rendered. Possible values are: 'sm', 'md' and 'lg' |
| variant | 'default' \| 'blank' | 'default' | Defines the visual variant of the select. |
| disabled | Boolean | false | Option to disable the opening of the option list. |
| tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
| hasError | Boolean | false | Defines whether the Bootstrap error classes shall be added to the toggle element. |
| useFilter | Boolean | false | Defines whether the component should be filterable. |
| noItemMessage | String / Node | — | Text that shall be shown when not match was found when filtering. |
| counterMessage | Object | — | Object that will render the number of selected items instead of individual items. Using this prop will disable the filter functionality. { one: 'item selected', many: 'items selected' } |
| └one | String / Node | — | Text that will be used when a single item is selected. |
| └many | String / Node | — | Text that will be used when multiple item are selected. |
| renderCounterMessage | Function | — | Optional render function that is used to render the message how many items have been selected. The total amount of selected items will be passed into that function. Using this prop will disable the filter functionality. |
| multiline | boolean | false | Defines whether the selected items wrap around within the dropdown toggle. |
| showSelectedItemIcon | Boolean | false | Set to show only the icon and not the label of selected item. |
| showUnselectedItemIcons | Boolean | false | Set to show all item icons within the toggle element. Selected items are highlighted and unselected items are shown as inactive. |
| inputAddon | String \| ReactNode | — | Option to add an icon as a leading input addon to the select component. |
| errorMessage | String | — | Input error message. |
| warningMessage | String | — | Input warning message. |
| messageWhiteSpace | 'normal' \| 'prewrap' \| 'nowrap' | 'normal' | Optional warning message white-space setting. |
| dropdownClassName | String | — | Additional classes to be set to the dropdown. |
| btnClassName | String | — | Additional classes to be set to the select/input. |
| className | String | — | Additional classes to be set to the select wrapper. |

### Example: Example 4

With selected item counter Please select Option 1
Option 2
Option 3 With selected item counter render function - Note: "counterMessage" should be favored Please select Option 1
Option 2
Option 3

#### React (tsx)

```tsx
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';
import Notification from '@rio-cloud/rio-uikit/Notification';

const options = [
    { id: '1', label: 'Option 1' },
    { id: '2', label: 'Option 2' },
    { id: '3', label: 'Option 3' },
];

export default () => (
    <div className='form-group max-width-500'>
        <label htmlFor='withCounter'>With selected item counter</label>
        <Multiselect
            id='withCounter'
            placeholder='Please select'
            options={options}
            counterMessage={{ one: 'Asset selected', many: 'Assets selected' }}
            onChange={response => Notification.info(JSON.stringify(response))}
        />
        <br />
        <label htmlFor='withMessage'>
            With selected item counter render function - Note: "counterMessage" should be favored
        </label>
        <Multiselect
            id='withMessage'
            placeholder='Please select'
            options={options}
            renderCounterMessage={selectedAmount =>
                selectedAmount === 1 ? `${selectedAmount} Asset selected` : `${selectedAmount} Assets selected`
            }
            onChange={response => Notification.info(JSON.stringify(response))}
        />
    </div>
);
```

#### HTML (html)

```html
<div class="form-group max-width-500">
    <label for="withCounter">With selected item counter</label>
    <div class="select multiselect dropdown dropup">
        <button type="button" id="withCounter" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
            <span class="placeholder">Please select</span>
            <span class="select-toggle-actions">
                <span class="clearButton hide pointer-events-none">
                    <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                    </span>
                </span>
                <span class="caret">
                </span>
            </span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">Option 1</span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">Option 2</span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">Option 3</span>
                    <input type="hidden" value="3">
                </a>
            </li>
        </ul>
    </div>
    <br>
    <label for="withMessage">With selected item counter render function - Note: "counterMessage" should be favored</label>
    <div class="select multiselect dropdown dropup">
        <button type="button" id="withMessage" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
            <span class="placeholder">Please select</span>
            <span class="select-toggle-actions">
                <span class="clearButton hide pointer-events-none">
                    <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                    </span>
                </span>
                <span class="caret">
                </span>
            </span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                    <span class="selected-option-dropdown-item">Option 1</span>
                    <input type="hidden" value="1">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                    <span class="selected-option-dropdown-item">Option 2</span>
                    <input type="hidden" value="2">
                </a>
            </li>
            <li class="" role="listitem">
                <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                    <span class="selected-option-dropdown-item">Option 3</span>
                    <input type="hidden" value="3">
                </a>
            </li>
        </ul>
    </div>
</div>
```

#### Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | — | Passed through as HTML attribute to the toggle button. |
| id | String | — | Passed through as HTML attribute to the toggle button. Uses the value given to name if not provided explicitly. |
| options | Array of Objects | [] | Items to display in the dropdown menu. |
| └id | String | — | Used to identify an option |
| └label | String / Node | — | The option item text |
| └icon | Node | — | Icon to be displayed in front of the label |
| └selected | Boolean | false | Defines whether the menu item is selected. |
| └disabled | Boolean | false | Setting "disabled" to true will disable the respective item. |
| └header | Boolean | false | Will treat the given value as a menu header. |
| value | Array | — | Sets the ids of the selected options when the component is already mounted. |
| onChange | Function | () => {} | Callback function triggered when an item is selected. |
| placeholder | String / Node | — | Text to display when nothing is selected. |
| dropup | Boolean | false | Defines whether the dropdown opens upwards. Set to "true" additionally disables autoDrop feature. |
| pullRight | Boolean | false | Defines whether the dropdown opens right aligned to the dropdown toggle. Set to "true" additionally disables autoDrop feature. |
| autoDropDirection | Boolean | true | Enables or disables the autoDrop positioning feature. When enabled, the option list opens below or above the input depending on the surrounding space. |
| bsSize | String | md | Defines the size of the select to be rendered. Possible values are: 'sm', 'md' and 'lg' |
| variant | 'default' \| 'blank' | 'default' | Defines the visual variant of the select. |
| disabled | Boolean | false | Option to disable the opening of the option list. |
| tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
| hasError | Boolean | false | Defines whether the Bootstrap error classes shall be added to the toggle element. |
| useFilter | Boolean | false | Defines whether the component should be filterable. |
| noItemMessage | String / Node | — | Text that shall be shown when not match was found when filtering. |
| counterMessage | Object | — | Object that will render the number of selected items instead of individual items. Using this prop will disable the filter functionality. { one: 'item selected', many: 'items selected' } |
| └one | String / Node | — | Text that will be used when a single item is selected. |
| └many | String / Node | — | Text that will be used when multiple item are selected. |
| renderCounterMessage | Function | — | Optional render function that is used to render the message how many items have been selected. The total amount of selected items will be passed into that function. Using this prop will disable the filter functionality. |
| multiline | boolean | false | Defines whether the selected items wrap around within the dropdown toggle. |
| showSelectedItemIcon | Boolean | false | Set to show only the icon and not the label of selected item. |
| showUnselectedItemIcons | Boolean | false | Set to show all item icons within the toggle element. Selected items are highlighted and unselected items are shown as inactive. |
| inputAddon | String \| ReactNode | — | Option to add an icon as a leading input addon to the select component. |
| errorMessage | String | — | Input error message. |
| warningMessage | String | — | Input warning message. |
| messageWhiteSpace | 'normal' \| 'prewrap' \| 'nowrap' | 'normal' | Optional warning message white-space setting. |
| dropdownClassName | String | — | Additional classes to be set to the dropdown. |
| btnClassName | String | — | Additional classes to be set to the select/input. |
| className | String | — | Additional classes to be set to the select wrapper. |

### Example: Example 5

Inline: Please select vehicles Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10

Please select vehicles Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10

Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10

Full width: Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10

#### React (tsx)

```tsx
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';
import Notification from '@rio-cloud/rio-uikit/Notification';

const options = [
    { id: '1', label: 'Option 1' },
    { id: '2', label: 'Option 2' },
    { id: '3', label: 'Option 3' },
    { id: '4', label: 'Option 4' },
    { id: '5', label: 'Option 5' },
    { id: '6', label: 'Option 6' },
    { id: '7', label: 'Option 7' },
    { id: '8', label: 'Option 8' },
    { id: '9', label: 'Option 9' },
    { id: '10', label: 'Option 10' },
];

export default () => (
    <div className='form-group'>
        <label>Inline:</label>
        <div className='form-inline'>
            <div className='form-group'>
                <Multiselect
                    placeholder='Please select vehicles'
                    options={options}
                    bsSize='lg'
                    onChange={response => Notification.info(JSON.stringify(response))}
                    useFilter
                />
            </div>
            <div className='form-group'>
                <Multiselect
                    placeholder='Please select vehicles'
                    options={options}
                    onChange={response => Notification.info(JSON.stringify(response))}
                    useFilter
                />
            </div>
            <div className='form-group'>
                <Multiselect
                    options={options}
                    bsSize='sm'
                    onChange={response => Notification.info(JSON.stringify(response))}
                    className='min-width-100'
                    useFilter
                />
            </div>
        </div>
        <div className='form-group margin-top-20 max-width-500'>
            <label htmlFor='fullWidth'>Full width:</label>
            <Multiselect
                id='fullWidth'
                options={options}
                bsSize='sm'
                onChange={response => Notification.info(JSON.stringify(response))}
            />
        </div>
    </div>
);
```

#### HTML (html)

```html
<div class="form-group">
    <label>Inline:</label>
    <div class="form-inline">
        <div class="form-group">
            <div class="select multiselect dropdown dropup">
                <button type="button" class="dropdown-toggle form-control text-left input-lg" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                    <span class="placeholder">Please select vehicles</span>
                    <span class="select-toggle-actions">
                        <span class="clearButton hide pointer-events-none">
                            <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                            </span>
                        </span>
                        <span class="caret">
                        </span>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                            <span class="selected-option-dropdown-item">Option 1</span>
                            <input type="hidden" value="1">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                            <span class="selected-option-dropdown-item">Option 2</span>
                            <input type="hidden" value="2">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                            <span class="selected-option-dropdown-item">Option 3</span>
                            <input type="hidden" value="3">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                            <span class="selected-option-dropdown-item">Option 4</span>
                            <input type="hidden" value="4">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                            <span class="selected-option-dropdown-item">Option 5</span>
                            <input type="hidden" value="5">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                            <span class="selected-option-dropdown-item">Option 6</span>
                            <input type="hidden" value="6">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="7" data-item-index="6">
                            <span class="selected-option-dropdown-item">Option 7</span>
                            <input type="hidden" value="7">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                            <span class="selected-option-dropdown-item">Option 8</span>
                            <input type="hidden" value="8">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                            <span class="selected-option-dropdown-item">Option 9</span>
                            <input type="hidden" value="9">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10" data-item-index="9">
                            <span class="selected-option-dropdown-item">Option 10</span>
                            <input type="hidden" value="10">
                        </a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="form-group">
            <div class="select multiselect dropdown dropup">
                <button type="button" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                    <span class="placeholder">Please select vehicles</span>
                    <span class="select-toggle-actions">
                        <span class="clearButton hide pointer-events-none">
                            <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                            </span>
                        </span>
                        <span class="caret">
                        </span>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                            <span class="selected-option-dropdown-item">Option 1</span>
                            <input type="hidden" value="1">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                            <span class="selected-option-dropdown-item">Option 2</span>
                            <input type="hidden" value="2">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                            <span class="selected-option-dropdown-item">Option 3</span>
                            <input type="hidden" value="3">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                            <span class="selected-option-dropdown-item">Option 4</span>
                            <input type="hidden" value="4">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                            <span class="selected-option-dropdown-item">Option 5</span>
                            <input type="hidden" value="5">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                            <span class="selected-option-dropdown-item">Option 6</span>
                            <input type="hidden" value="6">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="7" data-item-index="6">
                            <span class="selected-option-dropdown-item">Option 7</span>
                            <input type="hidden" value="7">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                            <span class="selected-option-dropdown-item">Option 8</span>
                            <input type="hidden" value="8">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                            <span class="selected-option-dropdown-item">Option 9</span>
                            <input type="hidden" value="9">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10" data-item-index="9">
                            <span class="selected-option-dropdown-item">Option 10</span>
                            <input type="hidden" value="10">
                        </a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="form-group">
            <div class="select multiselect dropdown min-width-100 dropup">
                <button type="button" class="dropdown-toggle form-control text-left input-sm" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                    <span>
                    </span>
                    <span class="select-toggle-actions">
                        <span class="clearButton hide pointer-events-none">
                            <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                            </span>
                        </span>
                        <span class="caret">
                        </span>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                            <span class="selected-option-dropdown-item">Option 1</span>
                            <input type="hidden" value="1">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                            <span class="selected-option-dropdown-item">Option 2</span>
                            <input type="hidden" value="2">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                            <span class="selected-option-dropdown-item">Option 3</span>
                            <input type="hidden" value="3">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                            <span class="selected-option-dropdown-item">Option 4</span>
                            <input type="hidden" value="4">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                            <span class="selected-option-dropdown-item">Option 5</span>
                            <input type="hidden" value="5">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                            <span class="selected-option-dropdown-item">Option 6</span>
                            <input type="hidden" value="6">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="7" data-item-index="6">
                            <span class="selected-option-dropdown-item">Option 7</span>
                            <input type="hidden" value="7">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                            <span class="selected-option-dropdown-item">Option 8</span>
                            <input type="hidden" value="8">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                            <span class="selected-option-dropdown-item">Option 9</span>
                            <input type="hidden" value="9">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10" data-item-index="9">
                            <span class="selected-option-dropdown-item">Option 10</span>
                            <input type="hidden" value="10">
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
    <div class="form-group margin-top-20 max-width-500">
        <label for="fullWidth">Full width:</label>
        <div class="select multiselect dropdown dropup">
            <button type="button" id="fullWidth" class="dropdown-toggle form-control text-left input-sm" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                <span>
                </span>
                <span class="select-toggle-actions">
                    <span class="clearButton hide pointer-events-none">
                        <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                        </span>
                    </span>
                    <span class="caret">
                    </span>
                </span>
            </button>
            <ul class="dropdown-menu" role="menu">
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                        <span class="selected-option-dropdown-item">Option 1</span>
                        <input type="hidden" value="1">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                        <span class="selected-option-dropdown-item">Option 2</span>
                        <input type="hidden" value="2">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                        <span class="selected-option-dropdown-item">Option 3</span>
                        <input type="hidden" value="3">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                        <span class="selected-option-dropdown-item">Option 4</span>
                        <input type="hidden" value="4">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="5" data-item-index="4">
                        <span class="selected-option-dropdown-item">Option 5</span>
                        <input type="hidden" value="5">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="6" data-item-index="5">
                        <span class="selected-option-dropdown-item">Option 6</span>
                        <input type="hidden" value="6">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="7" data-item-index="6">
                        <span class="selected-option-dropdown-item">Option 7</span>
                        <input type="hidden" value="7">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="8" data-item-index="7">
                        <span class="selected-option-dropdown-item">Option 8</span>
                        <input type="hidden" value="8">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="9" data-item-index="8">
                        <span class="selected-option-dropdown-item">Option 9</span>
                        <input type="hidden" value="9">
                    </a>
                </li>
                <li class="" role="listitem">
                    <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10" data-item-index="9">
                        <span class="selected-option-dropdown-item">Option 10</span>
                        <input type="hidden" value="10">
                    </a>
                </li>
            </ul>
        </div>
    </div>
</div>
```

#### Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | — | Passed through as HTML attribute to the toggle button. |
| id | String | — | Passed through as HTML attribute to the toggle button. Uses the value given to name if not provided explicitly. |
| options | Array of Objects | [] | Items to display in the dropdown menu. |
| └id | String | — | Used to identify an option |
| └label | String / Node | — | The option item text |
| └icon | Node | — | Icon to be displayed in front of the label |
| └selected | Boolean | false | Defines whether the menu item is selected. |
| └disabled | Boolean | false | Setting "disabled" to true will disable the respective item. |
| └header | Boolean | false | Will treat the given value as a menu header. |
| value | Array | — | Sets the ids of the selected options when the component is already mounted. |
| onChange | Function | () => {} | Callback function triggered when an item is selected. |
| placeholder | String / Node | — | Text to display when nothing is selected. |
| dropup | Boolean | false | Defines whether the dropdown opens upwards. Set to "true" additionally disables autoDrop feature. |
| pullRight | Boolean | false | Defines whether the dropdown opens right aligned to the dropdown toggle. Set to "true" additionally disables autoDrop feature. |
| autoDropDirection | Boolean | true | Enables or disables the autoDrop positioning feature. When enabled, the option list opens below or above the input depending on the surrounding space. |
| bsSize | String | md | Defines the size of the select to be rendered. Possible values are: 'sm', 'md' and 'lg' |
| variant | 'default' \| 'blank' | 'default' | Defines the visual variant of the select. |
| disabled | Boolean | false | Option to disable the opening of the option list. |
| tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
| hasError | Boolean | false | Defines whether the Bootstrap error classes shall be added to the toggle element. |
| useFilter | Boolean | false | Defines whether the component should be filterable. |
| noItemMessage | String / Node | — | Text that shall be shown when not match was found when filtering. |
| counterMessage | Object | — | Object that will render the number of selected items instead of individual items. Using this prop will disable the filter functionality. { one: 'item selected', many: 'items selected' } |
| └one | String / Node | — | Text that will be used when a single item is selected. |
| └many | String / Node | — | Text that will be used when multiple item are selected. |
| renderCounterMessage | Function | — | Optional render function that is used to render the message how many items have been selected. The total amount of selected items will be passed into that function. Using this prop will disable the filter functionality. |
| multiline | boolean | false | Defines whether the selected items wrap around within the dropdown toggle. |
| showSelectedItemIcon | Boolean | false | Set to show only the icon and not the label of selected item. |
| showUnselectedItemIcons | Boolean | false | Set to show all item icons within the toggle element. Selected items are highlighted and unselected items are shown as inactive. |
| inputAddon | String \| ReactNode | — | Option to add an icon as a leading input addon to the select component. |
| errorMessage | String | — | Input error message. |
| warningMessage | String | — | Input warning message. |
| messageWhiteSpace | 'normal' \| 'prewrap' \| 'nowrap' | 'normal' | Optional warning message white-space setting. |
| dropdownClassName | String | — | Additional classes to be set to the dropdown. |
| btnClassName | String | — | Additional classes to be set to the select/input. |
| className | String | — | Additional classes to be set to the select wrapper. |

### Example: Example 6

Please select Option 1
Option 2
Option 3
Option 4

Please select Option 1
Option 2
Option 3
Option 4

Option 1
Option 2
Option 3
Option 4

#### React (tsx)

```tsx
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';
import Notification from '@rio-cloud/rio-uikit/Notification';

const options = [
    {
        id: '1',
        label: 'Option 1',
        icon: <span className='rioglyph rioglyph-status-available text-color-status-available' />,
    },
    {
        id: '2',
        label: 'Option 2',
        icon: <span className='rioglyph rioglyph-status-driving text-color-status-driving' />,
    },
    {
        id: '3',
        label: 'Option 3',
        icon: <span className='rioglyph rioglyph-status-resting text-color-status-resting' />,
    },
    {
        id: '4',
        label: 'Option 4',
        icon: <span className='rioglyph rioglyph-status-working text-color-status-working' />,
    },
];

export default () => (
    <div className='form-group'>
        <div className='form-inline'>
            <div className='form-group margin-bottom-5'>
                <Multiselect
                    placeholder='Please select'
                    options={options}
                    onChange={response => Notification.info(JSON.stringify(response))}
                />
            </div>
            <div className='form-group margin-bottom-5'>
                <Multiselect
                    placeholder='Please select'
                    options={options}
                    showSelectedItemIcon
                    onChange={response => Notification.info(JSON.stringify(response))}
                />
            </div>
            <div className='form-group margin-bottom-5'>
                <Multiselect
                    placeholder='Please select'
                    options={options}
                    showSelectedItemIcon
                    showUnselectedItemIcons
                    onChange={response => Notification.info(JSON.stringify(response))}
                />
            </div>
        </div>
    </div>
);
```

#### HTML (html)

```html
<div class="form-group">
    <div class="form-inline">
        <div class="form-group margin-bottom-5">
            <div class="select multiselect dropdown dropup">
                <button type="button" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                    <span class="placeholder">Please select</span>
                    <span class="select-toggle-actions">
                        <span class="clearButton hide pointer-events-none">
                            <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                            </span>
                        </span>
                        <span class="caret">
                        </span>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-available text-color-status-available">
                                </span>Option 1</span>
                            <input type="hidden" value="1">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-driving text-color-status-driving">
                                </span>Option 2</span>
                            <input type="hidden" value="2">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-resting text-color-status-resting">
                                </span>Option 3</span>
                            <input type="hidden" value="3">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-working text-color-status-working">
                                </span>Option 4</span>
                            <input type="hidden" value="4">
                        </a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="form-group margin-bottom-5">
            <div class="select multiselect dropdown dropup">
                <button type="button" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                    <span class="placeholder">Please select</span>
                    <span class="select-toggle-actions">
                        <span class="clearButton hide pointer-events-none">
                            <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                            </span>
                        </span>
                        <span class="caret">
                        </span>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-available text-color-status-available">
                                </span>Option 1</span>
                            <input type="hidden" value="1">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-driving text-color-status-driving">
                                </span>Option 2</span>
                            <input type="hidden" value="2">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-resting text-color-status-resting">
                                </span>Option 3</span>
                            <input type="hidden" value="3">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-working text-color-status-working">
                                </span>Option 4</span>
                            <input type="hidden" value="4">
                        </a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="form-group margin-bottom-5">
            <div class="select multiselect dropdown dropup">
                <button type="button" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
                    <span class="">
                        <span class="margin-right-5 inactiveIcon">
                            <span class="rioglyph rioglyph-status-available text-color-status-available">
                            </span>
                        </span>
                        <span class="margin-right-5 inactiveIcon">
                            <span class="rioglyph rioglyph-status-driving text-color-status-driving">
                            </span>
                        </span>
                        <span class="margin-right-5 inactiveIcon">
                            <span class="rioglyph rioglyph-status-resting text-color-status-resting">
                            </span>
                        </span>
                        <span class="margin-right-5 inactiveIcon">
                            <span class="rioglyph rioglyph-status-working text-color-status-working">
                            </span>
                        </span>
                    </span>
                    <span class="select-toggle-actions">
                        <span class="clearButton hide pointer-events-none">
                            <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
                            </span>
                        </span>
                        <span class="caret">
                        </span>
                    </span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="1" data-item-index="0">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-available text-color-status-available">
                                </span>Option 1</span>
                            <input type="hidden" value="1">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="2" data-item-index="1">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-driving text-color-status-driving">
                                </span>Option 2</span>
                            <input type="hidden" value="2">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="3" data-item-index="2">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-resting text-color-status-resting">
                                </span>Option 3</span>
                            <input type="hidden" value="3">
                        </a>
                    </li>
                    <li class="" role="listitem">
                        <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="4" data-item-index="3">
                            <span class="selected-option-dropdown-item">
                                <span class="rioglyph rioglyph-status-working text-color-status-working">
                                </span>Option 4</span>
                            <input type="hidden" value="4">
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div>
```

#### Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | — | Passed through as HTML attribute to the toggle button. |
| id | String | — | Passed through as HTML attribute to the toggle button. Uses the value given to name if not provided explicitly. |
| options | Array of Objects | [] | Items to display in the dropdown menu. |
| └id | String | — | Used to identify an option |
| └label | String / Node | — | The option item text |
| └icon | Node | — | Icon to be displayed in front of the label |
| └selected | Boolean | false | Defines whether the menu item is selected. |
| └disabled | Boolean | false | Setting "disabled" to true will disable the respective item. |
| └header | Boolean | false | Will treat the given value as a menu header. |
| value | Array | — | Sets the ids of the selected options when the component is already mounted. |
| onChange | Function | () => {} | Callback function triggered when an item is selected. |
| placeholder | String / Node | — | Text to display when nothing is selected. |
| dropup | Boolean | false | Defines whether the dropdown opens upwards. Set to "true" additionally disables autoDrop feature. |
| pullRight | Boolean | false | Defines whether the dropdown opens right aligned to the dropdown toggle. Set to "true" additionally disables autoDrop feature. |
| autoDropDirection | Boolean | true | Enables or disables the autoDrop positioning feature. When enabled, the option list opens below or above the input depending on the surrounding space. |
| bsSize | String | md | Defines the size of the select to be rendered. Possible values are: 'sm', 'md' and 'lg' |
| variant | 'default' \| 'blank' | 'default' | Defines the visual variant of the select. |
| disabled | Boolean | false | Option to disable the opening of the option list. |
| tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
| hasError | Boolean | false | Defines whether the Bootstrap error classes shall be added to the toggle element. |
| useFilter | Boolean | false | Defines whether the component should be filterable. |
| noItemMessage | String / Node | — | Text that shall be shown when not match was found when filtering. |
| counterMessage | Object | — | Object that will render the number of selected items instead of individual items. Using this prop will disable the filter functionality. { one: 'item selected', many: 'items selected' } |
| └one | String / Node | — | Text that will be used when a single item is selected. |
| └many | String / Node | — | Text that will be used when multiple item are selected. |
| renderCounterMessage | Function | — | Optional render function that is used to render the message how many items have been selected. The total amount of selected items will be passed into that function. Using this prop will disable the filter functionality. |
| multiline | boolean | false | Defines whether the selected items wrap around within the dropdown toggle. |
| showSelectedItemIcon | Boolean | false | Set to show only the icon and not the label of selected item. |
| showUnselectedItemIcons | Boolean | false | Set to show all item icons within the toggle element. Selected items are highlighted and unselected items are shown as inactive. |
| inputAddon | String \| ReactNode | — | Option to add an icon as a leading input addon to the select component. |
| errorMessage | String | — | Input error message. |
| warningMessage | String | — | Input warning message. |
| messageWhiteSpace | 'normal' \| 'prewrap' \| 'nowrap' | 'normal' | Optional warning message white-space setting. |
| dropdownClassName | String | — | Additional classes to be set to the dropdown. |
| btnClassName | String | — | Additional classes to be set to the select/input. |
| className | String | — | Additional classes to be set to the select wrapper. |