Several fenced blocks shown as one block with a tab each. The label of every tab
is the fence's own filename, because that is what the reader is choosing between
and it is already written.

## Usage

::preview
:::code-group
```ts [nuxt.config.ts]
export default defineNuxtConfig({
  extends: ['@kirchdev/duxt']
});
```

```json [package.json]
{
  "devDependencies": {
    "@kirchdev/duxt": "latest"
  }
}
```
:::

#code
`````mdc
::code-group
```ts [nuxt.config.ts]
export default defineNuxtConfig({
  extends: ['@kirchdev/duxt']
});
```

```json [package.json]
{
  "devDependencies": { "@kirchdev/duxt": "latest" }
}
```
::
`````
::

## API

No props. A fence without a filename gets its language as the label.

### Slots

| Slot      | What goes in it        |
| :-------- | :--------------------- |
| `default` | A run of fenced blocks |

## Notes

The children are read from the default slot's VNodes rather than registered by a
child component: a fence is a `ProsePre`, not something this block can ask to
announce itself, and its filename is a prop on that node.

For anything that is not code, use [Tab group](/reference/mdc-components/tab-group).