docs/CompositionObjects/OptionGroup.md
# OptionGroup
An [option group](https://api.slack.com/reference/messaging/composition-objects#option-group) is a way of collection options together in a select menu.
## Importing the OptionGroup Class
```javascript
import { OptionGroup } from 'slack-block-msg-kit';
```
or
```javascript
import OptionGroup from 'slack-block-msg-kit/CompositionObjects/OptionGroup';
```
## Creating an OptionGroup
| Parameter | Type | Description | Example |
| --------- | ---- | ----------- | ------- |
| label | string | The babel of this option group | 'Group one' |
| options | [Option](https://github.com/IyiKuyoro/slack-block-msg-kit/blob/master/docs/CompositionObjects/Option.md)[] | An array of options to be added to the group. | [ new Option('option 1', 'one') ] |
Creating an option group object is as simple as calling the constructor and passing the required parameters.
```javascript
import Option from 'slack-block-msg-kit/CompositionObjects/Option';
import OptionGroup from 'slack-block-msg-kit/CompositionObjects/OptionGroup';
const opts = new OptionGroup(
'options',
[new Option('option', 'option')]
);
```
## Possible Errors
| Error | Cause | Remedy |
| ----- | ----- | ------ |
| 'label cannot be more than 75 characters' | Adding more than 75 characters in the label | Reduce the label size |
| 'Cannot have more than 100 options in a group' | Adding more than 100 options in one group | Reduce the number of options in the array. |
| 'Two options cannot share the same value in one group: 'value'' | Having two options with the same value in one group | Use unique values for each option. |