# Interface: Builder

Interface for all available builder. Depending on the context different implementation might be used. A “Button” in the canvas menu might render different component than a button in the topbar or a panel.

## Properties[#](#properties)

| Property | Type |
| --- | --- |
| `Button` | (`id`, `options`) => `void` |
| `ButtonGroup` | (`id`, `options`) => `void` |
| `Checkbox` | (`id`, `options`) => `void` |
| `Dropdown` | (`id`, `options`) => `void` |
| `MediaPreview` | (`id`, `options`) => `void` |
| `Section` | (`id`, `options`) => `void` |
| `Separator` | (`id`) => `void` |
| `TextArea` | (`id`, `options`) => `void` |
| `TextInput` | (`id`, `options`) => `void` |
| `NumberInput` | (`id`, `options`) => `void` |
| `ColorInput` | (`id`, `options`) => `void` |
| `Slider` | (`id`, `options`) => `void` |
| `Library` | (`id`, `options`) => `void` |
| `Heading` | (`id`, `options`) => `void` |
| `Text` | (`id`, `options`) => `void` |
| `Select` | (`id`, `options`) => `void` |
| `Component` | (`id`, `options`) => `void` |

---



[Source](https:/img.ly/docs/cesdk/vue/api/cesdk-js/interfaces/buffer)