# &lt;InlineControlButton /&gt; Component

## Description

A single button that displays on the toolbar

## Checklist

This component should...

- Should trigger the onToggle event when the button is clicked
- Should trigger a DraftJs contenteditable action that matches the `action` prop when the button is clicked
- Should trigger the `onInlineControlButtonRender` plugin hook when the InlineControlButton is being rendered
- Should trigger the `onInlineControlButtonToggle` plugin hook when the inline control button is clicked
- Should render a `Settings` button in the dom when the type prop is `settings`
- Should render a `Duplicate` button in the dom when the type prop is `duplicate`
- Should render a `Delete` button in the dom when the type prop is `delete`
- Should render a `Close` button in the dom when the type prop is `close`
- Should render a `Color` button in the dom when the type prop is `color`
- Should render a `Upload` button in the dom when the type prop is `upload`
- Should render a `Spacer` button in the dom when the type prop is `spacer`
- Should render a `Bold` button in the dom when the type prop is `bold`
- Should render a `Italic` button in the dom when the type prop is `italic`
- Should render a `Underline` button in the dom when the type prop is `underline`
- Should render a `TextStyle` button in the dom when the type prop is `textStyle`
- Should render a `TextAlign` button in the dom when the type prop is `textAlign`
- Should render a `TextAlignLeft` button in the dom when the type prop is `textAlignLeft`
- Should render a `TextAlignRight` button in the dom when the type prop is `textAlignRight`
- Should render a `TextAlignCenter` button in the dom when the type prop is `textAlignCenter`
- Should render a `Link` button in the dom when the type prop is `link`
- Should render a `List` button in the dom when the type prop is `list`
- Should render a `ListBullet` button in the dom when the type prop is `listBullet`
- Should render a `ListNumbers` button in the dom when the type prop is `listNumbers`
- Should render a `ObjAlignLeft` button in the dom when the type prop is `objAlignLeft`
- Should render a `ObjAlignRight` button in the dom when the type prop is `objAlignRight`
- Should render a `ObjAlignCenter` button in the dom when the type prop is `objAlignCenter`
- Should render a `ButtonAlignGroup` button in the dom when the type prop is `textAlignGroup`
- Should render a `ButtonLinkGroup` button in the dom when the type prop is `linkGroup`
- Should render a `ButtonColorGroup` button in the dom when the type prop is `colorGroup`
- Should render a `ButtonFontGroup` button in the dom when the type prop is `fontGroup`
- Should render a `Custom` button in the dom when the type prop is not recognized

## Usage

To install it...

> npm install @sandcastle/components

Add it to your project...

```
import * as React from 'react'
import * as InlineControlButton from '@sandcastle/components/InlineControlButton`

export default () => (
  <InlineControlButton

  />
)
```

## Best Practices

To do: Add any Best Practices here

## Lifecycle Hooks

To do: Add any Lifecycle Hooks here

## Related Components

To do: Add any Related Components here
