# Built-in Components
## Badge
- Props:
- type
- Type: `'tip' | 'warning' | 'danger'`
- Default: `'tip'`
- text
- Type: `string`
- Default: `''`
- vertical
- Type: `'top' | 'middle' | 'bottom' | undefined`
- Default: `undefined`
- Example:
**Input**
```md
- VuePress -
- VuePress -
- VuePress -
```
**Output**
- VuePress -
- VuePress -
- VuePress -
## CodeGroup
- Details:
Wrapper of the [CodeGroupItem](#codegroupitem) components.
## CodeGroupItem
- Props:
- title
- Type: `string`
- Required: `true`
- active
- Type: `boolean`
- Default: `false`
- Details:
This component must be placed inside a [CodeGroup](#codegroup) component.
Use the `active` prop to set the initial active item, or the first item will be activated by default.
- Example:
**Input**
````md
```bash:no-line-numbers
yarn
```
```bash:no-line-numbers
npm install
```
````
**Output**
```bash:no-line-numbers
yarn
```
```bash:no-line-numbers
npm install
```
::: warning
You must add an empty line between the starting tag of `` and the code fence, otherwise the code fence will not be parsed correctly by Markdown.
All content must be valid Markdown first, and then a Vue SFC.
Learn more: [Advanced > Markdown and Vue SFC](../../guide/advanced/markdown.md)
Alternatively, you can use the [custom containers](./markdown.md#custom-containers).
:::