---
title: "IPlugin"
---
# IPlugin

Defined in: [src/types/plugin.d.ts:22](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L22)

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `T` *extends* [`IViewBased`](../interfaces/types.IViewBased.html) | [`IViewBased`](../interfaces/types.IViewBased.html) |

## Implements

- [`IDestructible`](../interfaces/types.IDestructible.html)
- [`IInitable`](../interfaces/types.IInitable.html)

### Constructor

**new IPlugin**\<`T`\>(`jodit?`): `IPlugin`\<`T`\>

Defined in: [src/types/plugin.d.ts:48](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L48)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `jodit?` | `T` |

#### Returns

`IPlugin`\<`T`\>

### requires?

`static` `optional` **requires?**: `string`[]

Defined in: [src/types/plugin.d.ts:25](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L25)

***

### hasStyle?

`optional` **hasStyle?**: `boolean`

Defined in: [src/types/plugin.d.ts:27](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L27)

***

### styles?

`optional` **styles?**: `string`

Defined in: [src/types/plugin.d.ts:38](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L38)

Additional plugin styles can be written simply as inline styles
```js
class A extends Jodit.modules.Plugin {
  styles = 'h1{color: red}';
}
```
Will only be applied if the plugin is activated

***

### buttons?

`optional` **buttons?**: [`IPluginButton`](../interfaces/types.IPluginButton.html)[]

Defined in: [src/types/plugin.d.ts:43](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L43)

Plugin buttons

### init()

**init**(`jodit`): `void`

Defined in: [src/types/plugin.d.ts:45](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L45)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `jodit` | `T` |

#### Returns

`void`

#### Implementation of

[`IInitable`](../interfaces/types.IInitable.html).[`init`](../interfaces/types.IInitable.html#init)

***

### destruct()

**destruct**(`jodit?`): `void`

Defined in: [src/types/plugin.d.ts:46](https://github.com/xdan/jodit/blob/main/src/types/plugin.d.ts#L46)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `jodit?` | `T` |

#### Returns

`void`

#### Implementation of

[`IDestructible`](../interfaces/types.IDestructible.html).[`destruct`](../interfaces/types.IDestructible.html#destruct)
