# TableConversionAdditionalSlot

interface

By default, only the `tableRow` elements from the `table` model are downcast inside the `<table>` and all other elements are pushed outside the table. This handler allows creating additional slots inside the table for other elements.

Take this model as an example:

```xml
<table>
  <tableRow>...</tableRow>
  <tableRow>...</tableRow>
  <tableColumnGroup>...</tableColumnGroup>
</table>
```

By default, downcasting result will be:

```xml
<table>
  <tbody>
	<tr>...</tr>
	<tr>...</tr>
  </tbody>
</table>
<colgroup>...</colgroup>
```

To allow the `tableColumnGroup` element at the end of the table, use the following configuration:

```typescript
const additionalSlot = {
  filter: element => element.is( 'element', 'tableColumnGroup' ),
  positionOffset: 'end'
}
```

Now, the downcast result will be:

```xml
<table>
  <tbody>
	<tr>...</tr>
	<tr>...</tr>
  </tbody>
  <colgroup>...</colgroup>
</table>
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-table/src/tableediting.ts#L376)

<a id="properties">

## Properties

<a id="member-filter">

### `filter: DowncastSlotFilter`

Filter for elements that should be placed inside given slot.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-table/src/tableediting.ts#L381)

<a id="member-positionOffset">

### `positionOffset: ModelPositionOffset`

Position of the slot within the table.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-table/src/tableediting.ts#L386)

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
