---
title: "Jodit"
---
# Jodit

Defined in: [src/jodit.ts:98](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L98)

The base class of all Jodit UI components. Provides work with a life cycle.

## Extends

- [`Dlgs`](./traits.Dlgs.html).[`ViewWithToolbar`](./view.ViewWithToolbar.html)

## Implements

- [`IJodit`](../interfaces/types.IJodit.html)
- [`Dlgs`](./traits.Dlgs.html)

### STATUSES

`static` **STATUSES**: `object`

Defined in: [src/core/component/component.ts:40](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L40)

#### beforeInit

`readonly` **beforeInit**: `"beforeInit"` = `'beforeInit'`

#### ready

`readonly` **ready**: `"ready"` = `'ready'`

#### beforeDestruct

`readonly` **beforeDestruct**: `"beforeDestruct"` = `'beforeDestruct'`

#### destructed

`readonly` **destructed**: `"destructed"` = `'destructed'`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`STATUSES`](./view.ViewWithToolbar.html#statuses)

***

### async

**async**: [`IAsync`](../interfaces/types.IAsync.html)

Defined in: [src/core/component/component.ts:44](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L44)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`async`](../interfaces/types.IJodit.html#async)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`async`](./view.ViewWithToolbar.html#async)

***

### uid

`readonly` **uid**: `string`

Defined in: [src/core/component/component.ts:59](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L59)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`uid`](../interfaces/types.IJodit.html#uid)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`uid`](./view.ViewWithToolbar.html#uid)

***

### ownerWindow

**ownerWindow**: [`Window`](https://developer.mozilla.org/docs/Web/API/Window) = `window`

Defined in: [src/core/component/component.ts:109](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L109)

The window in which jodit was created

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`ownerWindow`](../interfaces/types.IJodit.html#ownerwindow)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`ownerWindow`](./view.ViewWithToolbar.html#ownerwindow)

***

### TOOLBAR

**TOOLBAR**: [`IToolbarCollection`](../interfaces/types.IToolbarCollection.html)

Defined in: [src/core/view/view-with-toolbar.ts:35](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L35)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`TOOLBAR`](./view.ViewWithToolbar.html#toolbar)

***

### toolbar

**toolbar**: [`IToolbarCollection`](../interfaces/types.IToolbarCollection.html)

Defined in: [src/core/view/view-with-toolbar.ts:36](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L36)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`toolbar`](../interfaces/types.IJodit.html#toolbar)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`toolbar`](./view.ViewWithToolbar.html#toolbar-1)

***

### registeredButtons

**registeredButtons**: [`Set`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)\<[`IPluginButton`](../interfaces/types.IPluginButton.html)\>

Defined in: [src/core/view/view-with-toolbar.ts:106](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L106)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`registeredButtons`](../interfaces/types.IJodit.html#registeredbuttons)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`registeredButtons`](./view.ViewWithToolbar.html#registeredbuttons)

***

### isView

`readonly` **isView**: `true`

Defined in: [src/core/view/view.ts:65](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L65)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isView`](../interfaces/types.IJodit.html#isview)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isView`](./view.ViewWithToolbar.html#isview)

***

### parent

**parent**: [`Nullable`](../modules/types.html#nullable)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> = `null`

Defined in: [src/core/view/view.ts:66](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L66)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`parent`](../interfaces/types.IJodit.html#parent)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`parent`](./view.ViewWithToolbar.html#parent)

***

### mods

`readonly` **mods**: [`IDictionary`](../modules/types.html#idictionary)\<`string` \| `boolean` \| `null`\> = `{}`

Defined in: [src/core/view/view.ts:68](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L68)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`mods`](../interfaces/types.IJodit.html#mods)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`mods`](./view.ViewWithToolbar.html#mods)

***

### id

**id**: `string`

Defined in: [src/core/view/view.ts:73](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L73)

ID attribute for a source element, id add `{id}_editor` it's editor's id

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`id`](../interfaces/types.IJodit.html#id)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`id`](./view.ViewWithToolbar.html#id)

***

### components

`readonly` **components**: [`Set`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)\<[`IComponent`](../interfaces/types.IComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\>\>

Defined in: [src/core/view/view.ts:78](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L78)

All created ViewComponent inside this view

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`components`](../interfaces/types.IJodit.html#components)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`components`](./view.ViewWithToolbar.html#components)

***

### events

`readonly` **events**: [`IEventEmitter`](../interfaces/types.IEventEmitter.html)

Defined in: [src/core/view/view.ts:80](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L80)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`events`](../interfaces/types.IJodit.html#events)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`events`](./view.ViewWithToolbar.html#events)

***

### create

`readonly` **create**: [`ICreate`](../interfaces/types.ICreate.html)

Defined in: [src/core/view/view.ts:82](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L82)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`create`](../interfaces/types.IJodit.html#create)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`create`](./view.ViewWithToolbar.html#create)

***

### ES

`readonly` `static` **ES**: `"es5"` \| `"es2015"` \| `"es2018"` \| `"es2021"`

Defined in: [src/core/view/view.ts:123](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L123)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`ES`](./view.ViewWithToolbar.html#es)

***

### version

`readonly` `static` **version**: `string` = `APP_VERSION`

Defined in: [src/core/view/view.ts:124](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L124)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`version`](./view.ViewWithToolbar.html#version)

***

### esNext

`readonly` `static` **esNext**: `boolean` = `IS_ES_NEXT`

Defined in: [src/core/view/view.ts:125](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L125)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`esNext`](./view.ViewWithToolbar.html#esnext)

***

### esModern

`readonly` `static` **esModern**: `boolean` = `IS_ES_MODERN`

Defined in: [src/core/view/view.ts:126](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L126)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`esModern`](./view.ViewWithToolbar.html#esmodern)

***

### OPTIONS

**OPTIONS**: [`IViewOptions`](../interfaces/types.IViewOptions.html) = `View.defaultOptions`

Defined in: [src/core/view/view.ts:204](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L204)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`OPTIONS`](../interfaces/types.IJodit.html#options-1)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`OPTIONS`](./view.ViewWithToolbar.html#options)

***

### isJodit

`readonly` **isJodit**: `true`

Defined in: [src/jodit.ts:140](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L140)

Define if object is Jodit

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isJodit`](../interfaces/types.IJodit.html#isjodit)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isJodit`](./view.ViewWithToolbar.html#isjodit)

***

### fatMode

`static` **fatMode**: `boolean` = `FAT_MODE`

Defined in: [src/jodit.ts:260](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L260)

***

### plugins

`readonly` `static` **plugins**: [`IPluginSystem`](../interfaces/types.IPluginSystem.html) = `pluginSystem`

Defined in: [src/jodit.ts:262](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L262)

***

### modules

`static` **modules**: [`modules`](../modules/modules.html)

Defined in: [src/jodit.ts:264](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L264)

***

### ns

`static` **ns**: [`modules`](../modules/modules.html)

Defined in: [src/jodit.ts:265](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L265)

***

### decorators

`readonly` `static` **decorators**: [`IDictionary`](../modules/types.html#idictionary)\<[`Function`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function)\> = `{}`

Defined in: [src/jodit.ts:267](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L267)

***

### constants

`readonly` `static` **constants**: [`constants`](../modules/constants.html)

Defined in: [src/jodit.ts:268](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L268)

***

### instances

`readonly` `static` **instances**: [`IDictionary`](../modules/types.html#idictionary)\<[`IJodit`](../interfaces/types.IJodit.html)\>

Defined in: [src/jodit.ts:269](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L269)

***

### lang

`readonly` `static` **lang**: `any`

Defined in: [src/jodit.ts:271](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L271)

***

### core

`readonly` `static` **core**: `object`

Defined in: [src/jodit.ts:273](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L273)

#### Plugin

**Plugin**: *typeof* [`Plugin`](./plugin.Plugin.html)

***

### editorIsActive

**editorIsActive**: `boolean` = `false`

Defined in: [src/jodit.ts:292](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L292)

Editor has focus in this time

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`editorIsActive`](../interfaces/types.IJodit.html#editorisactive)

***

### selection

`readonly` **selection**: [`Selection`](./selection.Selection.html)

Defined in: [src/jodit.ts:410](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L410)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`selection`](../interfaces/types.IJodit.html#selection)

***

### currentPlace

**currentPlace**: [`IWorkPlace`](../interfaces/types.IWorkPlace.html)

Defined in: [src/jodit.ts:1325](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1325)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`currentPlace`](../interfaces/types.IJodit.html#currentplace)

***

### places

**places**: [`IWorkPlace`](../interfaces/types.IWorkPlace.html)[] = `[]`

Defined in: [src/jodit.ts:1329](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1329)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`places`](../interfaces/types.IJodit.html#places)

#### Get Signature

**get** **componentName**(): `string`

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

##### Returns

`string`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`componentName`](../interfaces/types.IJodit.html#componentname)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`componentName`](./view.ViewWithToolbar.html#componentname)

***

#### Get Signature

**get** **ownerDocument**(): [`Document`](https://developer.mozilla.org/docs/Web/API/Document)

Defined in: [src/core/component/component.ts:95](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L95)

The document in which jodit was created

##### Returns

[`Document`](https://developer.mozilla.org/docs/Web/API/Document)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`ownerDocument`](../interfaces/types.IJodit.html#ownerdocument)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`ownerDocument`](./view.ViewWithToolbar.html#ownerdocument)

***

#### Get Signature

**get** **od**(): [`Document`](https://developer.mozilla.org/docs/Web/API/Document)

Defined in: [src/core/component/component.ts:102](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L102)

Shortcut for `this.ownerDocument`

##### Returns

[`Document`](https://developer.mozilla.org/docs/Web/API/Document)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`od`](../interfaces/types.IJodit.html#od)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`od`](./view.ViewWithToolbar.html#od)

***

#### Get Signature

**get** **ow**(): [`Window`](https://developer.mozilla.org/docs/Web/API/Window)

Defined in: [src/core/component/component.ts:110](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L110)

##### Returns

[`Window`](https://developer.mozilla.org/docs/Web/API/Window)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`ow`](../interfaces/types.IJodit.html#ow)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`ow`](./view.ViewWithToolbar.html#ow)

***

#### Get Signature

**get** **isReady**(): `boolean`

Defined in: [src/core/component/component.ts:145](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L145)

Component is ready for work

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isReady`](../interfaces/types.IJodit.html#isready)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isReady`](./view.ViewWithToolbar.html#isready)

***

#### Get Signature

**get** **isDestructed**(): `boolean`

Defined in: [src/core/component/component.ts:152](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L152)

Component was destructed

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isDestructed`](../interfaces/types.IJodit.html#isdestructed)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isDestructed`](./view.ViewWithToolbar.html#isdestructed)

***

#### Get Signature

**get** **isInDestruct**(): `boolean`

Defined in: [src/core/component/component.ts:160](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L160)

The component is currently undergoing destructuring or has already been destroyed.
Those. you should not the app froze new events on him now or do anything else with him.

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isInDestruct`](../interfaces/types.IJodit.html#isindestruct)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isInDestruct`](./view.ViewWithToolbar.html#isindestruct)

***

#### Get Signature

**get** **componentStatus**(): [`ComponentStatus`](../modules/types.html#componentstatus)

Defined in: [src/core/component/component.ts:210](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L210)

Current component status

##### Returns

[`ComponentStatus`](../modules/types.html#componentstatus)

#### Set Signature

**set** **componentStatus**(`componentStatus`): `void`

Defined in: [src/core/component/component.ts:217](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L217)

Setter for current component status

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `componentStatus` | [`ComponentStatus`](../modules/types.html#componentstatus) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`componentStatus`](../interfaces/types.IJodit.html#componentstatus)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`componentStatus`](./view.ViewWithToolbar.html#componentstatus)

***

#### Get Signature

**get** **toolbarContainer**(): [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)

Defined in: [src/core/view/view-with-toolbar.ts:44](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L44)

Container for toolbar

##### Returns

[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`toolbarContainer`](../interfaces/types.IJodit.html#toolbarcontainer)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`toolbarContainer`](./view.ViewWithToolbar.html#toolbarcontainer)

***

#### Get Signature

**get** **basePath**(): `string`

Defined in: [src/core/view/view.ts:103](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L103)

Get a path for loading extra staff

##### Returns

`string`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`basePath`](../interfaces/types.IJodit.html#basepath)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`basePath`](./view.ViewWithToolbar.html#basepath)

***

#### Get Signature

**get** **minified**(): `boolean`

Defined in: [src/core/view/view.ts:114](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L114)

Plugin autoloader should load minified version of the file

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`minified`](../interfaces/types.IJodit.html#minified)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`minified`](./view.ViewWithToolbar.html#minified)

***

#### Get Signature

**get** **buffer**(): [`IStorage`](../interfaces/types.IStorage.html)

Defined in: [src/core/view/view.ts:141](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L141)

Some extra data inside editor

##### See

copyformat plugin

##### Returns

[`IStorage`](../interfaces/types.IStorage.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`buffer`](../interfaces/types.IJodit.html#buffer)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`buffer`](./view.ViewWithToolbar.html#buffer)

***

#### Get Signature

**get** **storage**(): [`IStorage`](../interfaces/types.IStorage.html)

Defined in: [src/core/view/view.ts:159](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L159)

Container for persistent set/get value

##### Deprecated

Use asyncStorage instead

##### Returns

[`IStorage`](../interfaces/types.IStorage.html)

#### Deprecated

Use asyncStorage instead

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`storage`](../interfaces/types.IJodit.html#storage)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`storage`](./view.ViewWithToolbar.html#storage)

***

#### Get Signature

**get** **asyncStorage**(): [`IAsyncStorage`](../interfaces/types.IAsyncStorage.html)

Defined in: [src/core/view/view.ts:167](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L167)

Container for persistent set/get value

##### Returns

[`IAsyncStorage`](../interfaces/types.IAsyncStorage.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`asyncStorage`](../interfaces/types.IJodit.html#asyncstorage)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`asyncStorage`](./view.ViewWithToolbar.html#asyncstorage)

***

#### Get Signature

**get** **c**(): `this`\[`"create"`\]

Defined in: [src/core/view/view.ts:175](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L175)

Short alias for `create`

##### Returns

`this`\[`"create"`\]

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`c`](../interfaces/types.IJodit.html#c)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`c`](./view.ViewWithToolbar.html#c)

***

#### Get Signature

**get** **e**(): `this`\[`"events"`\]

Defined in: [src/core/view/view.ts:192](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L192)

Short alias for `events`

##### Returns

`this`\[`"events"`\]

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`e`](../interfaces/types.IJodit.html#e)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`e`](./view.ViewWithToolbar.html#e)

***

#### Get Signature

**get** **progressbar**(): [`IProgressBar`](../interfaces/types.IProgressBar.html)

Defined in: [src/core/view/view.ts:200](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L200)

progress_bar Progress bar

##### Returns

[`IProgressBar`](../interfaces/types.IProgressBar.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`progressbar`](../interfaces/types.IJodit.html#progressbar)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`progressbar`](./view.ViewWithToolbar.html#progressbar)

***

#### Get Signature

**get** **o**(): `this`\[`"options"`\]

Defined in: [src/core/view/view.ts:217](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L217)

Short alias for options

##### Returns

`this`\[`"options"`\]

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`o`](../interfaces/types.IJodit.html#o)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`o`](./view.ViewWithToolbar.html#o)

***

#### Get Signature

**get** **isLocked**(): `boolean`

Defined in: [src/core/view/view.ts:248](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L248)

View is locked

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isLocked`](../interfaces/types.IJodit.html#islocked)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isLocked`](./view.ViewWithToolbar.html#islocked)

***

#### Get Signature

**get** **isFullSize**(): `boolean`

Defined in: [src/core/view/view.ts:282](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L282)

View is in fullSize

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isFullSize`](../interfaces/types.IJodit.html#isfullsize)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isFullSize`](./view.ViewWithToolbar.html#isfullsize)

***

#### Get Signature

**get** `static` **ready**(): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`IJodit`](../interfaces/types.IJodit.html)\>

Defined in: [src/jodit.ts:131](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L131)

##### Deprecated

I don't know why I wrote itp

##### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`IJodit`](../interfaces/types.IJodit.html)\>

***

#### Get Signature

**get** **text**(): `string`

Defined in: [src/jodit.ts:145](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L145)

Plain text editor's value

##### Returns

`string`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`text`](../interfaces/types.IJodit.html#text)

***

#### Get Signature

**get** **defaultTimeout**(): `number`

Defined in: [src/jodit.ts:160](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L160)

Return a default timeout period in milliseconds for some debounce or throttle functions.
By default, `{history.timeout}` options

##### Returns

`number`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`defaultTimeout`](../interfaces/types.IJodit.html#defaulttimeout)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`defaultTimeout`](./view.ViewWithToolbar.html#defaulttimeout)

***

#### Get Signature

**get** `static` **defaultOptions**(): [`Config`](../options.html)

Defined in: [src/jodit.ts:209](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L209)

Default settings

##### Returns

[`Config`](../options.html)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`defaultOptions`](./view.ViewWithToolbar.html#defaultoptions)

***

#### Get Signature

**get** **createInside**(): [`ICreate`](../interfaces/types.ICreate.html)

Defined in: [src/jodit.ts:285](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L285)

##### Returns

[`ICreate`](../interfaces/types.ICreate.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`createInside`](../interfaces/types.IJodit.html#createinside)

***

#### Get Signature

**get** **element**(): [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)

Defined in: [src/jodit.ts:306](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L306)

element It contains source element

##### Returns

[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`element`](../interfaces/types.IJodit.html#element)

***

#### Get Signature

**get** **editor**(): [`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement) \| [`HTMLBodyElement`](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement)

Defined in: [src/jodit.ts:313](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L313)

editor It contains the root element editor

##### Returns

[`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement) \| [`HTMLBodyElement`](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement)

#### Set Signature

**set** **editor**(`editor`): `void`

Defined in: [src/jodit.ts:317](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L317)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `editor` | [`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement) \| [`HTMLBodyElement`](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`editor`](../interfaces/types.IJodit.html#editor)

***

#### Get Signature

**get** **container**(): [`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement)

Defined in: [src/jodit.ts:324](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L324)

Container for all staff

##### Returns

[`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement)

#### Set Signature

**set** **container**(`container`): `void`

Defined in: [src/jodit.ts:328](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L328)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `container` | [`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`container`](../interfaces/types.IJodit.html#container)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`container`](./view.ViewWithToolbar.html#container)

***

#### Get Signature

**get** **workplace**(): [`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement)

Defined in: [src/jodit.ts:335](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L335)

workplace It contains source and wysiwyg editors

##### Returns

[`HTMLDivElement`](https://developer.mozilla.org/docs/Web/API/HTMLDivElement)

workplace It contains source and wysiwyg editors

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`workplace`](../interfaces/types.IJodit.html#workplace)

***

#### Get Signature

**get** **message**(): [`IMessages`](../interfaces/types.IMessages.html)

Defined in: [src/jodit.ts:340](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L340)

##### Returns

[`IMessages`](../interfaces/types.IMessages.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`message`](../interfaces/types.IJodit.html#message)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`message`](./view.ViewWithToolbar.html#message)

***

#### Get Signature

**get** **statusbar**(): [`IStatusBar`](../interfaces/types.IStatusBar.html)

Defined in: [src/jodit.ts:347](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L347)

Statusbar module

##### Returns

[`IStatusBar`](../interfaces/types.IStatusBar.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`statusbar`](../interfaces/types.IJodit.html#statusbar)

***

#### Get Signature

**get** **iframe**(): `void` \| [`HTMLIFrameElement`](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement)

Defined in: [src/jodit.ts:354](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L354)

iframe Iframe for iframe mode

##### Returns

`void` \| [`HTMLIFrameElement`](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement)

#### Set Signature

**set** **iframe**(`iframe`): `void`

Defined in: [src/jodit.ts:358](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L358)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `iframe` | `void` \| [`HTMLIFrameElement`](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`iframe`](../interfaces/types.IJodit.html#iframe)

***

#### Get Signature

**get** **history**(): [`IHistory`](../interfaces/types.IHistory.html)

Defined in: [src/jodit.ts:362](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L362)

##### Returns

[`IHistory`](../interfaces/types.IHistory.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`history`](../interfaces/types.IJodit.html#history)

***

#### Get Signature

**get** **editorWindow**(): [`Window`](https://developer.mozilla.org/docs/Web/API/Window)

Defined in: [src/jodit.ts:369](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L369)

In iframe mode editor's window can be different by owner

##### Returns

[`Window`](https://developer.mozilla.org/docs/Web/API/Window)

#### Set Signature

**set** **editorWindow**(`win`): `void`

Defined in: [src/jodit.ts:373](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L373)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `win` | [`Window`](https://developer.mozilla.org/docs/Web/API/Window) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`editorWindow`](../interfaces/types.IJodit.html#editorwindow)

***

#### Get Signature

**get** **ew**(): `this`\[`"editorWindow"`\]

Defined in: [src/jodit.ts:380](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L380)

Alias for this.ew

##### Returns

`this`\[`"editorWindow"`\]

Alias for this.ed

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`ew`](../interfaces/types.IJodit.html#ew)

***

#### Get Signature

**get** **editorDocument**(): [`Document`](https://developer.mozilla.org/docs/Web/API/Document)

Defined in: [src/jodit.ts:387](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L387)

In iframe mode editor's window can be different by owner

##### Returns

[`Document`](https://developer.mozilla.org/docs/Web/API/Document)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`editorDocument`](../interfaces/types.IJodit.html#editordocument)

***

#### Get Signature

**get** **ed**(): `this`\[`"editorDocument"`\]

Defined in: [src/jodit.ts:394](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L394)

Alias for this.ew

##### Returns

`this`\[`"editorDocument"`\]

Alias for this.ed

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`ed`](../interfaces/types.IJodit.html#ed)

***

#### Get Signature

**get** **options**(): [`Config`](../options.html)

Defined in: [src/jodit.ts:401](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L401)

options All Jodit settings default + second arguments of constructor

##### Returns

[`Config`](../options.html)

#### Set Signature

**set** **options**(`opt`): `void`

Defined in: [src/jodit.ts:405](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L405)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `opt` | [`Config`](../options.html) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`options`](../interfaces/types.IJodit.html#options)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`options`](./view.ViewWithToolbar.html#options-1)

***

#### Get Signature

**get** **s**(): `this`\[`"selection"`\]

Defined in: [src/jodit.ts:416](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L416)

Alias for this.selection

##### Returns

`this`\[`"selection"`\]

Alias for this.selection

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`s`](../interfaces/types.IJodit.html#s)

***

#### Get Signature

**get** **uploader**(): [`IUploader`](../interfaces/types.IUploader.html)

Defined in: [src/jodit.ts:421](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L421)

##### Returns

[`IUploader`](../interfaces/types.IUploader.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`uploader`](../interfaces/types.IJodit.html#uploader)

***

#### Get Signature

**get** **filebrowser**(): [`IFileBrowser`](../interfaces/types.IFileBrowser.html)

Defined in: [src/jodit.ts:426](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L426)

##### Returns

[`IFileBrowser`](../interfaces/types.IFileBrowser.html)

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`filebrowser`](../interfaces/types.IJodit.html#filebrowser)

***

#### Get Signature

**get** **mode**(): [`Modes`](../modules/types.html#modes)

Defined in: [src/jodit.ts:473](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L473)

Editor's mode

##### Returns

[`Modes`](../modules/types.html#modes)

#### Set Signature

**set** **mode**(`mode`): `void`

Defined in: [src/jodit.ts:477](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L477)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `mode` | [`Modes`](../modules/types.html#modes) |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`mode`](../interfaces/types.IJodit.html#mode)

***

#### Get Signature

**get** **value**(): `string`

Defined in: [src/jodit.ts:519](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L519)

HTML value

##### Returns

`string`

#### Set Signature

**set** **value**(`html`): `void`

Defined in: [src/jodit.ts:523](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L523)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `html` | `string` |

##### Returns

`void`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`value`](../interfaces/types.IJodit.html#value)

***

#### Get Signature

**get** **isFocused**(): `boolean`

Defined in: [src/jodit.ts:1202](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1202)

##### Returns

`boolean`

#### Implementation of

[`IJodit`](../interfaces/types.IJodit.html).[`isFocused`](../interfaces/types.IJodit.html#isfocused)

#### Call Signature

**getFullElName**(`elementName`): `string`

Defined in: [src/core/component/component.ts:65](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L65)

Calc BEM element class name

##### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `elementName` | `string` | element name in the bem classification |

##### Returns

`string`

##### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getFullElName`](./view.ViewWithToolbar.html#getfullelname)

#### Call Signature

**getFullElName**(`elementName`, `mod`): `string`

Defined in: [src/core/component/component.ts:66](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L66)

Calc BEM element class name

##### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `elementName` | `string` | element name in the bem classification |
| `mod` | `string` | - |

##### Returns

`string`

##### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getFullElName`](./view.ViewWithToolbar.html#getfullelname)

#### Call Signature

**getFullElName**(`elementName`, `mod`, `modValue`): `string`

Defined in: [src/core/component/component.ts:67](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L67)

Calc BEM element class name

##### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `elementName` | `string` | element name in the bem classification |
| `mod` | `string` | - |
| `modValue` | `string` \| `boolean` | - |

##### Returns

`string`

##### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getFullElName`](./view.ViewWithToolbar.html#getfullelname)

***

### get()

**get**\<`T`\>(`chain`, `obj?`): [`Nullable`](../modules/types.html#nullable)\<`T`\>

Defined in: [src/core/component/component.ts:138](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L138)

Safe get any field

#### Type Parameters

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

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `chain` | `string` | the path to be traversed in the obj object |
| `obj?` | [`IDictionary`](../modules/types.html#idictionary) | the object in which the value is searched |

#### Returns

[`Nullable`](../modules/types.html#nullable)\<`T`\>

#### Example

```js
private a = {
  b: {
    c: {
      e: {
        g: {
          color: 'red'
        }
      }
    }
  }
}

this.get('a.b.c.e.g.color'); // Safe access to color
// instead using optionsl chaining
this?.a?.b?.c?.e?.g?.color
```

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`get`](./view.ViewWithToolbar.html#get)

***

### bindDestruct()

**bindDestruct**(`component`): `this`

Defined in: [src/core/component/component.ts:170](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L170)

Bind destructor to some View

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `component` | [`IComponent`](../interfaces/types.IComponent.html) |

#### Returns

`this`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`bindDestruct`](./view.ViewWithToolbar.html#binddestruct)

***

### setStatus()

**setStatus**(`componentStatus`): `void`

Defined in: [src/core/component/component.ts:226](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L226)

Set component status

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `componentStatus` | [`ComponentStatus`](../modules/types.html#componentstatus) | component status |

#### Returns

`void`

#### See

ComponentStatus

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`setStatus`](./view.ViewWithToolbar.html#setstatus)

***

### hookStatus()

**hookStatus**(`status`, `callback`): `void`

Defined in: [src/core/component/component.ts:265](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L265)

Adds a handler for changing the component's status

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `status` | [`ComponentStatus`](../modules/types.html#componentstatus) | the status at which the callback is triggered |
| `callback` | (`component`) => `void` | a function that will be called when the status is `status` |

#### Returns

`void`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`hookStatus`](./view.ViewWithToolbar.html#hookstatus)

***

### isInstanceOf()

`static` **isInstanceOf**\<`T`\>(`c`, `constructorFunc`): `c is T`

Defined in: [src/core/component/component.ts:283](https://github.com/xdan/jodit/blob/main/src/core/component/component.ts#L283)

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`Component`](./component.Component.html) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `c` | `unknown` |
| `constructorFunc` | [`Function`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function) |

#### Returns

`c is T`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isInstanceOf`](./view.ViewWithToolbar.html#isinstanceof)

***

### dlg()

**dlg**(`this`, `options?`): [`IDialog`](../interfaces/types.IDialog.html)

Defined in: [src/core/traits/dlgs.ts:18](https://github.com/xdan/jodit/blob/main/src/core/traits/dlgs.ts#L18)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | [`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\> & [`IDlgs`](../interfaces/types.IDlgs.html) |
| `options?` | [`IDialogOptions`](../interfaces/types.IDialogOptions.html) |

#### Returns

[`IDialog`](../interfaces/types.IDialog.html)

#### Inherited from

[`Dlgs`](./traits.Dlgs.html).[`dlg`](./traits.Dlgs.html#dlg)

***

### confirm()

**confirm**(`this`, `msg`, `title`, `callback?`): [`IDialog`](../interfaces/types.IDialog.html)

Defined in: [src/core/traits/dlgs.ts:42](https://github.com/xdan/jodit/blob/main/src/core/traits/dlgs.ts#L42)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | [`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\> & [`IDlgs`](../interfaces/types.IDlgs.html) |
| `msg` | `string` |
| `title` | `string` \| ((`yes`) => `void`) \| `undefined` |
| `callback?` | (`yes`) => `false` \| `void` |

#### Returns

[`IDialog`](../interfaces/types.IDialog.html)

#### Inherited from

[`Dlgs`](./traits.Dlgs.html).[`confirm`](./traits.Dlgs.html#confirm)

***

### prompt()

**prompt**(`this`, `msg`, `title`, `callback`, `placeholder?`, `defaultValue?`): [`IDialog`](../interfaces/types.IDialog.html)

Defined in: [src/core/traits/dlgs.ts:58](https://github.com/xdan/jodit/blob/main/src/core/traits/dlgs.ts#L58)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | [`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\> & [`IDlgs`](../interfaces/types.IDlgs.html) |
| `msg` | `string` |
| `title` | `string` \| (() => `false` \| `void`) \| `undefined` |
| `callback` | (`value`) => `false` \| `void` |
| `placeholder?` | `string` |
| `defaultValue?` | `string` |

#### Returns

[`IDialog`](../interfaces/types.IDialog.html)

#### Inherited from

[`Dlgs`](./traits.Dlgs.html).[`prompt`](./traits.Dlgs.html#prompt)

***

### alert()

**alert**(`this`, `msg`, `title?`, `callback?`, `className?`): [`IDialog`](../interfaces/types.IDialog.html)

Defined in: [src/core/traits/dlgs.ts:80](https://github.com/xdan/jodit/blob/main/src/core/traits/dlgs.ts#L80)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | [`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\> & [`IDlgs`](../interfaces/types.IDlgs.html) |
| `msg` | `string` \| [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `title?` | `string` \| (() => `false` \| `void`) |
| `callback?` | `string` \| ((`dialog`) => `false` \| `void`) |
| `className?` | `string` |

#### Returns

[`IDialog`](../interfaces/types.IDialog.html)

#### Inherited from

[`Dlgs`](./traits.Dlgs.html).[`alert`](./traits.Dlgs.html#alert)

***

### getElm()

**getElm**\<`T`\>(`this`, `elementName`): [`Nullable`](../modules/types.html#nullable)\<[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)\>

Defined in: [src/core/traits/elms.ts:18](https://github.com/xdan/jodit/blob/main/src/core/traits/elms.ts#L18)

Return element with BEM class name

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`IComponent`](../interfaces/types.IComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> & [`IContainer`](../interfaces/types.IContainer.html) & [`IElms`](../interfaces/types.IElms.html) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | `T` |
| `elementName` | `string` |

#### Returns

[`Nullable`](../modules/types.html#nullable)\<[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)\>

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getElm`](./view.ViewWithToolbar.html#getelm)

***

### getElms()

**getElms**\<`T`\>(`this`, `elementName`): [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)[]

Defined in: [src/core/traits/elms.ts:30](https://github.com/xdan/jodit/blob/main/src/core/traits/elms.ts#L30)

Return elements with BEM class name

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`IComponent`](../interfaces/types.IComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> & [`IContainer`](../interfaces/types.IContainer.html) & [`IElms`](../interfaces/types.IElms.html) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | `T` |
| `elementName` | `string` |

#### Returns

[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)[]

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getElms`](./view.ViewWithToolbar.html#getelms)

***

### afterSetMod()

**afterSetMod**(`name`, `value`): `void`

Defined in: [src/core/traits/mods.ts:23](https://github.com/xdan/jodit/blob/main/src/core/traits/mods.ts#L23)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `name` | `string` |
| `value` | [`ModType`](../modules/types.html#modtype) |

#### Returns

`void`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`afterSetMod`](./view.ViewWithToolbar.html#aftersetmod)

***

### setMod()

**setMod**\<`T`\>(`this`, `name`, `value`, `container?`): `T`

Defined in: [src/core/traits/mods.ts:30](https://github.com/xdan/jodit/blob/main/src/core/traits/mods.ts#L30)

Set/remove BEM class modification

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`IComponent`](../interfaces/types.IComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> & [`IContainer`](../interfaces/types.IContainer.html) & [`IMods`](../interfaces/types.IMods.html) |

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `this` | `T` | - |
| `name` | `string` | - |
| `value` | [`ModType`](../modules/types.html#modtype) | if null, mod will be removed |
| `container?` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) | - |

#### Returns

`T`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`setMod`](./view.ViewWithToolbar.html#setmod)

***

### getMod()

**getMod**(`this`, `name`): [`ModType`](../modules/types.html#modtype)

Defined in: [src/core/traits/mods.ts:64](https://github.com/xdan/jodit/blob/main/src/core/traits/mods.ts#L64)

Get BEM class modification value

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `this` | [`IMods`](../interfaces/types.IMods.html) |
| `name` | `string` |

#### Returns

[`ModType`](../modules/types.html#modtype)

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getMod`](./view.ViewWithToolbar.html#getmod)

***

### setPanel()

**setPanel**(`element`): `void`

Defined in: [src/core/view/view-with-toolbar.ts:82](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L82)

Change panel container

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | `string` \| [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Returns

`void`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`setPanel`](./view.ViewWithToolbar.html#setpanel)

***

### getRegisteredButtonGroups()

**getRegisteredButtonGroups**(): [`IDictionary`](../modules/types.html#idictionary)\<`string`[]\>

Defined in: [src/core/view/view-with-toolbar.ts:109](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L109)

#### Returns

[`IDictionary`](../modules/types.html#idictionary)\<`string`[]\>

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getRegisteredButtonGroups`](./view.ViewWithToolbar.html#getregisteredbuttongroups)

***

### registerButton()

**registerButton**(`btn`): `this`

Defined in: [src/core/view/view-with-toolbar.ts:116](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L116)

Register button for a group

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `btn` | [`IPluginButton`](../interfaces/types.IPluginButton.html) |

#### Returns

`this`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`registerButton`](./view.ViewWithToolbar.html#registerbutton)

***

### unregisterButton()

**unregisterButton**(`btn`): `this`

Defined in: [src/core/view/view-with-toolbar.ts:136](https://github.com/xdan/jodit/blob/main/src/core/view/view-with-toolbar.ts#L136)

Remove button from a group

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `btn` | [`IPluginButton`](../interfaces/types.IPluginButton.html) |

#### Returns

`this`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`unregisterButton`](./view.ViewWithToolbar.html#unregisterbutton)

***

### i18n()

**i18n**(`text`, ...`params`): `string`

Defined in: [src/core/view/view.ts:224](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L224)

Internationalization method. Uses Jodit.lang object

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `text` | `string` |
| ...`params` | (`string` \| `number`)[] |

#### Returns

`string`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`i18n`](./view.ViewWithToolbar.html#i18n)

***

### toggleFullSize()

**toggleFullSize**(`isFullSize?`): `void`

Defined in: [src/core/view/view.ts:230](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L230)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `isFullSize?` | `boolean` |

#### Returns

`void`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`toggleFullSize`](./view.ViewWithToolbar.html#togglefullsize)

***

### isLockedNotBy()

**isLockedNotBy**(`name`): `boolean`

Defined in: [src/core/view/view.ts:252](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L252)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `name` | `string` |

#### Returns

`boolean`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`isLockedNotBy`](./view.ViewWithToolbar.html#islockednotby)

***

### getVersion()

**getVersion**(): `string`

Defined in: [src/core/view/view.ts:289](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L289)

Return current version

#### Returns

`string`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getVersion`](./view.ViewWithToolbar.html#getversion)

***

### getVersion()

`static` **getVersion**(): `string`

Defined in: [src/core/view/view.ts:293](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L293)

#### Returns

`string`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getVersion`](./view.ViewWithToolbar.html#getversion-1)

***

#### Call Signature

**getInstance**\<`T`\>(`module`, `options?`): `T`

Defined in: [src/core/view/view.ts:329](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L329)

Make one instance of one module

##### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`IComponent`](../interfaces/types.IComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> |

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `module` | [`Function`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function) |
| `options?` | `object` |

##### Returns

`T`

##### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getInstance`](./view.ViewWithToolbar.html#getinstance)

#### Call Signature

**getInstance**\<`T`\>(`moduleName`, `options?`): `T`

Defined in: [src/core/view/view.ts:330](https://github.com/xdan/jodit/blob/main/src/core/view/view.ts#L330)

Make one instance of one module

##### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`IComponent`](../interfaces/types.IComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> |

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `moduleName` | `string` |
| `options?` | `object` |

##### Returns

`T`

##### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`getInstance`](./view.ViewWithToolbar.html#getinstance)

***

### className()

**className**(): `string`

Defined in: [src/jodit.ts:103](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L103)

#### Returns

`string`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`className`](./view.ViewWithToolbar.html#classname)

***

### waitForReady()

**waitForReady**(): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`IJodit`](../interfaces/types.IJodit.html)\>

Defined in: [src/jodit.ts:118](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L118)

Return promise for ready actions

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`IJodit`](../interfaces/types.IJodit.html)\>

#### Example

```js
const jodit = Jodit.make('#editor');
await jodit.waitForReady();
jodit.e.fire('someAsyncLoadedPluginEvent', (test) => {
  alert(test);
});
```

***

### atom()

`static` **atom**\<`T`\>(`object`): `T`

Defined in: [src/jodit.ts:179](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L179)

Method wrap usual object in Object helper for prevent deep object merging in options*
```js
const editor = Jodit.make('#editor', {
  controls: {
    fontsize: {
      list: Jodit.atom([8, 9, 10])
    }
  }
});
```
In this case, the array [8, 9, 10] will not be combined with other arrays, but will replace them

#### Type Parameters

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

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `object` | `T` |

#### Returns

`T`

***

### make()

`static` **make**(`element`, `options?`): `Jodit`

Defined in: [src/jodit.ts:186](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L186)

Factory for creating Jodit instance

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `element` | `string` \| [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) | - |
| `options?` | \{ `cache?`: `boolean`; `defaultTimeout?`: `number`; `namespace?`: `string`; `safeMode?`: `boolean`; `width?`: `string` \| `number`; `height?`: `string` \| `number`; `safePluginsList?`: (`string` \| `undefined`)[]; `commandToHotkeys?`: \{\[`key`: `string`\]: `string` \| (`string` \| `undefined`)[] \| `undefined`; \}; `license?`: `string`; `preset?`: `string`; `presets?`: \{\[`key`: `string`\]: `any`; \}; `ownerDocument?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `shadowRoot?`: \{ `getSelection?`: \{ \}; \} \| `null`; `nonce?`: `string`; `zIndex?`: `number`; `readonly?`: `boolean`; `disabled?`: `boolean`; `activeButtonsInReadOnly?`: (`string` \| `undefined`)[]; `allowCommandsInReadOnly?`: (`string` \| `undefined`)[]; `toolbarButtonSize?`: `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"`; `allowTabNavigation?`: `boolean`; `inline?`: `boolean`; `theme?`: `string`; `saveModeInStorage?`: `boolean`; `asyncStorage?`: \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \}; `editorClassName?`: `string` \| `false`; `className?`: `string` \| `false`; `style?`: `false` \| \{\[`key`: `string`\]: `any`; \}; `containerStyle?`: `false` \| \{\[`key`: `string`\]: `any`; \}; `styleValues?`: \{\[`key`: `string`\]: `any`; \}; `triggerChangeEvent?`: `boolean`; `direction?`: `""` \| `"rtl"` \| `"ltr"`; `language?`: `string`; `debugLanguage?`: `boolean`; `i18n?`: `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \}; `tabIndex?`: `number`; `toolbar?`: `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: \{ \}; `setTimeout?`: \{ \}; `updateTimeout?`: \{ \}; `clearTimeout?`: \{ \}; `clear?`: \{ \}; `promise?`: \{ \}; `promiseState?`: \{ \}; `debounce?`: \{ \}; `microDebounce?`: \{ \}; `throttle?`: \{ \}; `requestIdleCallback?`: \{ \}; `requestIdlePromise?`: \{ \}; `cancelIdleCallback?`: \{ \}; `schedulerPostTask?`: \{ \}; `schedulerYield?`: \{ \}; `requestAnimationFrame?`: \{ \}; `cancelAnimationFrame?`: \{ \}; `destruct?`: \{ \}; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \}; `statusbar?`: `boolean`; `showTooltip?`: `boolean`; `showTooltipDelay?`: `number`; `useNativeTooltip?`: `boolean`; `defaultActionOnPaste?`: [`InsertMode`](../modules/types.html#insertmode); `enter?`: `"br"` \| `"div"` \| `"p"`; `iframe?`: `boolean`; `editHTMLDocumentMode?`: `boolean`; `enterBlock?`: `"div"` \| `"p"`; `defaultMode?`: `number`; `useSplitMode?`: `boolean`; `colors?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: (`string` \| `undefined`)[] \| `undefined`; \}; `colorPickerDefaultTab?`: `"background"` \| `"color"`; `imageDefaultWidth?`: `number`; `removeButtons?`: (`string` \| `undefined`)[]; `disablePlugins?`: `string` \| (`string` \| `undefined`)[]; `extraPlugins?`: (`string` \| \{ `name?`: `string`; `url?`: `string`; \} \| `undefined`)[]; `basePath?`: `string`; `extraButtons?`: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[]; `extraIcons?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; `createAttributes?`: \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| `undefined`; \} \| `undefined`; \} \| \{ \} \| `undefined`; \}; `sizeLG?`: `number`; `sizeMD?`: `number`; `sizeSM?`: `number`; `buttons?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[]; `controls?`: \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`; \}; `events?`: \{\[`key`: `string`\]: \{ \} \| `undefined`; \}; `textIcons?`: `boolean`; `popupRoot?`: \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: \{ \}; `setTimeout?`: \{ \}; `updateTimeout?`: \{ \}; `clearTimeout?`: \{ \}; `clear?`: \{ \}; `promise?`: \{ \}; `promiseState?`: \{ \}; `debounce?`: \{ \}; `microDebounce?`: \{ \}; `throttle?`: \{ \}; `requestIdleCallback?`: \{ \}; `requestIdlePromise?`: \{ \}; `cancelIdleCallback?`: \{ \}; `schedulerPostTask?`: \{ \}; `schedulerYield?`: \{ \}; `requestAnimationFrame?`: \{ \}; `cancelAnimationFrame?`: \{ \}; `destruct?`: \{ \}; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null`; `showBrowserColorPicker?`: `boolean`; `defaultAjaxOptions?`: \{ `successStatuses?`: (`number` \| `undefined`)[]; `method?`: `string`; `url?`: `string`; `data?`: `string` \| \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \} \| `null`; `contentType?`: `string` \| `false`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `responseType?`: `XMLHttpRequestResponseType`; `withCredentials?`: `boolean`; `queryBuild?`: \{ \}; `xhr?`: \{ \}; `onProgress?`: \{ \}; \}; `dialog?`: \{ `resizable?`: `boolean`; `draggable?`: `boolean`; `maxWidth?`: `string` \| `number`; `minWidth?`: `string` \| `number`; `minHeight?`: `string` \| `number`; `closeOnClickOverlay?`: `boolean`; `closeOnEsc?`: `boolean`; `debugLanguage?`: `boolean`; `i18n?`: `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \}; `toolbar?`: `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \}; `toolbarButtonSize?`: `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"`; `textIcons?`: `boolean` \| \{ \}; `extraButtons?`: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `removeButtons?`: (`string` \| `undefined`)[]; `extraIcons?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; `buttons?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `showTooltip?`: `boolean`; `showTooltipDelay?`: `number`; `useNativeTooltip?`: `boolean`; `cache?`: `boolean`; `asyncStorage?`: \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \}; `getIcon?`: \{ \}; `headerButtons?`: `string` \| (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| `undefined`)[]; `basePath?`: `string`; `minified?`: `boolean`; `theme?`: `string`; `defaultTimeout?`: `number`; `disabled?`: `boolean`; `readonly?`: `boolean`; `iframe?`: `boolean`; `direction?`: `""` \| `"rtl"` \| `"ltr"`; `namespace?`: `string`; `activeButtonsInReadOnly?`: (`string` \| `undefined`)[]; `allowTabNavigation?`: `boolean`; `zIndex?`: `string` \| `number`; `fullsize?`: `boolean`; `globalFullSize?`: `boolean`; `controls?`: \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`; \}; `createAttributes?`: \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: ... \| ... \| ... \| ... \| ...; \} \| `undefined`; \} \| \{ \} \| `undefined`; \}; `events?`: \{\[`key`: `string`\]: \{ \} \| `undefined`; \}; `shadowRoot?`: \{ `getSelection?`: \{ \}; \} \| `null`; `nonce?`: `string`; `popupRoot?`: \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null`; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `language?`: `string`; `eventEmmiter?`: \{ `current?`: `string`; `currents?`: (`string` \| `undefined`)[]; `mute?`: \{ \}; `isMuted?`: \{ \}; `unmute?`: \{ \}; `on?`: \{ \}; `one?`: \{ \}; `off?`: \{ \}; `stopPropagation?`: \{ \}; `fire?`: \{ \}; `destruct?`: \{ \}; \}; \}; `filebrowser?`: \{ `zIndex?`: `number`; `fullsize?`: `boolean`; `showTooltip?`: `boolean`; `useNativeTooltip?`: `boolean`; `filter?`: \{ \}; `sortBy?`: `string`; `sort?`: `false` \| \{ \}; `preview?`: `boolean`; `showPreviewNavigation?`: `boolean`; `showSelectButtonInPreview?`: `boolean`; `saveStateInStorage?`: `false` \| \{ `storeLastOpenedFolder?`: `boolean`; `storeView?`: `boolean`; `storeSortBy?`: `boolean`; \}; `contextMenu?`: `boolean`; `howLongShowMsg?`: `number`; `pixelOffsetLoadNewChunk?`: `number`; `editImage?`: `boolean`; `createNewFolder?`: `boolean`; `deleteFolder?`: `boolean`; `renameFolder?`: `boolean`; `moveFolder?`: `boolean`; `moveFile?`: `boolean`; `permissionsPresets?`: \{\[`key`: `string`\]: `boolean` \| `undefined`; `allowFiles?`: `boolean`; `allowFileMove?`: `boolean`; `allowFileUpload?`: `boolean`; `allowFileUploadRemote?`: `boolean`; `allowFileRemove?`: `boolean`; `allowFileRename?`: `boolean`; `allowFolders?`: `boolean`; `allowFolderCreate?`: `boolean`; `allowFolderMove?`: `boolean`; `allowFolderRemove?`: `boolean`; `allowFolderRename?`: `boolean`; `allowImageResize?`: `boolean`; `allowImageCrop?`: `boolean`; \}; `showFoldersPanel?`: `boolean`; `width?`: `number`; `height?`: `number`; `view?`: `string` \| `null`; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `showFileName?`: `boolean`; `showFileSize?`: `boolean`; `showFileChangeTime?`: `boolean`; `getThumbTemplate?`: \{ \}; `ajax?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \}; `create?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `getLocalFileByUrl?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `resize?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `crop?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `fileMove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `folderMove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `fileRemove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `folderRemove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `fileRename?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `folderRename?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `items?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \}; `folder?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `permissions?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `uploader?`: \{ `url?`: `string` \| \{ \}; `insertImageAsBase64URI?`: `boolean`; `showTabInFileSelector?`: `boolean`; `imagesExtensions?`: (`string` \| `undefined`)[]; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `data?`: `object` \| `null`; `format?`: `string`; `method?`: `string`; `filesVariableName?`: \{ \}; `processFileName?`: \{ \}; `getDisplayName?`: \{ \}; `pathVariableName?`: `string`; `withCredentials?`: `boolean`; `beforeUpload?`: \{ \}; `prepareData?`: \{ \}; `buildData?`: \{ \}; `queryBuild?`: \{ \}; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `process?`: \{ \}; `error?`: \{ \}; `defaultHandlerSuccess?`: \{ \}; `defaultHandlerError?`: \{ \}; `contentType?`: \{ \}; `customUploadFunction?`: \{ \}; \}; `defaultCallback?`: \{ \}; `debugLanguage?`: `boolean`; `i18n?`: `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \}; `toolbar?`: `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \}; `toolbarButtonSize?`: `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"`; `textIcons?`: `boolean` \| \{ \}; `extraButtons?`: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `removeButtons?`: (`string` \| `undefined`)[]; `extraIcons?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; `buttons?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `showTooltipDelay?`: `number`; `cache?`: `boolean`; `asyncStorage?`: \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \}; `getIcon?`: \{ \}; `headerButtons?`: `string` \| (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| `undefined`)[]; `basePath?`: `string`; `minified?`: `boolean`; `theme?`: `string`; `defaultTimeout?`: `number`; `disabled?`: `boolean`; `readonly?`: `boolean`; `iframe?`: `boolean`; `direction?`: `""` \| `"rtl"` \| `"ltr"`; `namespace?`: `string`; `activeButtonsInReadOnly?`: (`string` \| `undefined`)[]; `allowTabNavigation?`: `boolean`; `globalFullSize?`: `boolean`; `controls?`: \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`; \}; `createAttributes?`: \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: ... \| ... \| ... \| ... \| ...; \} \| `undefined`; \} \| \{ \} \| `undefined`; \}; `events?`: \{\[`key`: `string`\]: \{ \} \| `undefined`; \}; `shadowRoot?`: \{ `getSelection?`: \{ \}; \} \| `null`; `nonce?`: `string`; `popupRoot?`: \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null`; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `language?`: `string`; `eventEmmiter?`: \{ `current?`: `string`; `currents?`: (`string` \| `undefined`)[]; `mute?`: \{ \}; `isMuted?`: \{ \}; `unmute?`: \{ \}; `on?`: \{ \}; `one?`: \{ \}; `off?`: \{ \}; `stopPropagation?`: \{ \}; `fire?`: \{ \}; `destruct?`: \{ \}; \}; \}; `history?`: \{ `enable?`: `boolean`; `maxHistoryLength?`: `number`; `timeout?`: `number`; \}; `imageeditor?`: \{ `min_width?`: `number`; `min_height?`: `number`; `closeAfterSave?`: `boolean`; `width?`: `string` \| `number`; `height?`: `string` \| `number`; `crop?`: `boolean`; `resize?`: `boolean`; `resizeUseRatio?`: `boolean`; `resizeMinWidth?`: `number`; `resizeMinHeight?`: `number`; `cropUseRatio?`: `boolean`; `cropDefaultWidth?`: `string` \| `number`; `cropDefaultHeight?`: `string` \| `number`; \}; `enableDragAndDropFileToEditor?`: `boolean`; `uploader?`: \{ `url?`: `string` \| \{ \}; `insertImageAsBase64URI?`: `boolean`; `showTabInFileSelector?`: `boolean`; `imagesExtensions?`: (`string` \| `undefined`)[]; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `data?`: `object` \| `null`; `format?`: `string`; `method?`: `string`; `filesVariableName?`: \{ \}; `processFileName?`: \{ \}; `getDisplayName?`: \{ \}; `pathVariableName?`: `string`; `withCredentials?`: `boolean`; `beforeUpload?`: \{ \}; `prepareData?`: \{ \}; `buildData?`: \{ \}; `queryBuild?`: \{ \}; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `process?`: \{ \}; `error?`: \{ \}; `defaultHandlerSuccess?`: \{ \}; `defaultHandlerError?`: \{ \}; `contentType?`: \{ \}; `customUploadFunction?`: \{ \}; \}; `addNewLine?`: `boolean`; `addNewLineTagsTriggers?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `addNewLineOnDBLClick?`: `boolean`; `addNewLineDeltaShow?`: `number`; `aiAssistant?`: \{\[`key`: `string`\]: `string` \| \{ \} \| `undefined`; `aiAssistantCallback?`: \{ \}; `aiCommonPrefixPrompt?`: `string`; `aiCommonSuffixPrompt?`: `string`; `aiImproveWritingPrompt?`: `string`; `aiMakeShorterPrompt?`: `string`; `aiMakeLongerPrompt?`: `string`; `aiSimplifyLanguagePrompt?`: `string`; `aiSummarizePrompt?`: `string`; `aiContinuePrompt?`: `string`; `aiChangeToneProfessionalPrompt?`: `string`; `aiChangeToneFriendlyPrompt?`: `string`; `aiChangeToneFormalPrompt?`: `string`; `aiChangeToneCasualPrompt?`: `string`; `aiChangeToneDirectPrompt?`: `string`; `aiChangeToneConfidentPrompt?`: `string`; `aiChangeStyleBusinessPrompt?`: `string`; `aiChangeStyleLegalPrompt?`: `string`; `aiChangeStyleJournalismPrompt?`: `string`; `aiChangeStylePoeticPrompt?`: `string`; `aiTranslateToSpanishPrompt?`: `string`; `aiTranslateToFrenchPrompt?`: `string`; `aiTranslateToGermanPrompt?`: `string`; `aiTranslateToItalianPrompt?`: `string`; `aiTranslateToPortuguesePrompt?`: `string`; `aiTranslateToEnglishPrompt?`: `string`; `aiTranslateToChinesePrompt?`: `string`; `aiTranslateToJapanesePrompt?`: `string`; `aiTranslateToKoreanPrompt?`: `string`; `aiTranslateToRussianPrompt?`: `string`; `aiTranslateToArabicPrompt?`: `string`; \}; `delete?`: \{ `hotkeys?`: \{ `delete?`: (`string` \| `undefined`)[]; `deleteWord?`: (`string` \| `undefined`)[]; `deleteSentence?`: (`string` \| `undefined`)[]; `backspace?`: (`string` \| `undefined`)[]; `backspaceWord?`: (`string` \| `undefined`)[]; `backspaceSentence?`: (`string` \| `undefined`)[]; \}; `disableCases?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; \}; `cleanHTML?`: \{ `timeout?`: `number`; `replaceNBSP?`: `boolean`; `fillEmptyParagraph?`: `boolean`; `removeEmptyElements?`: `boolean`; `collapseEmptyValueToEmptyString?`: `boolean`; `replaceOldTags?`: `false` \| \{\[`key`: `string`\]: [`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`; \}; `useIframeSandbox?`: `boolean`; `removeOnError?`: `boolean`; `removeEventAttributes?`: `boolean`; `safeJavaScriptLink?`: `boolean`; `safeLinksTarget?`: `boolean`; `allowedStyles?`: `false` \| \{\[`key`: `string`\]: (`string` \| `undefined`)[] \| `undefined`; \}; `sanitizer?`: `false` \| \{ \}; `sandboxIframesInContent?`: `boolean`; `convertUnsafeEmbeds?`: `false` \| (`string` \| `undefined`)[]; `allowTags?`: `string` \| `false` \| \{\[`key`: `string`\]: `string` \| `undefined`; \}; `denyTags?`: `string` \| `false` \| \{\[`key`: `string`\]: `string` \| `undefined`; \}; `disableCleanFilter?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} \| `null`; \}; `draggableTags?`: `string` \| (`string` \| `undefined`)[]; `dtd?`: \{ `removeExtraBr?`: `boolean`; `checkBlockNesting?`: `boolean`; `blockLimits?`: \{\[`key`: `string`\]: `1` \| `undefined`; \}; \}; `autofocus?`: `boolean`; `cursorAfterAutofocus?`: `"end"` \| `"start"`; `saveSelectionOnBlur?`: `boolean`; `defaultFontSizePoints?`: `"px"` \| `"pt"`; `fullsize?`: `boolean`; `globalFullSize?`: `boolean`; `iframeDefaultSrc?`: `string`; `iframeBaseUrl?`: `string`; `iframeTitle?`: `string`; `iframeDoctype?`: `string`; `iframeStyle?`: `string`; `iframeCSSLinks?`: (`string` \| `undefined`)[]; `iframeSandbox?`: `string` \| `null`; `imageProcessor?`: \{ `replaceDataURIToBlobIdInView?`: `boolean`; \}; `image?`: \{ `dialogWidth?`: `number`; `openOnDblClick?`: `boolean`; `editSrc?`: `boolean`; `useImageEditor?`: `boolean`; `editTitle?`: `boolean`; `editAlt?`: `boolean`; `editLink?`: `boolean`; `editSize?`: `boolean`; `editMargins?`: `boolean`; `editBorderRadius?`: `boolean`; `editClass?`: `boolean`; `availableClasses?`: (`string` \| `undefined`)[] \| (\[`string`?, `string`?\] \| `undefined`)[]; `editStyle?`: `boolean`; `editId?`: `boolean`; `editAlign?`: `boolean`; `showPreview?`: `boolean`; `selectImageAfterClose?`: `boolean`; \}; `indentMargin?`: `number`; `popup?`: \{\[`key`: `string`\]: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[] \| \{ \} \| `undefined`; \}; `toolbarInlineDisabledButtons?`: (`string` \| `undefined`)[]; `toolbarInline?`: `boolean`; `toolbarInlineForSelection?`: `boolean`; `toolbarInlineDisableFor?`: `string` \| (`string` \| `undefined`)[]; `limitWords?`: `number` \| `false`; `limitChars?`: `number` \| `false`; `limitHTML?`: `false`; `defaultLineHeight?`: `number` \| `null`; `link?`: \{ `formTemplate?`: \{ \}; `formClassName?`: `string`; `followOnDblClick?`: `boolean`; `processVideoLink?`: `boolean`; `processPastedLink?`: `boolean`; `deriveUrlFromText?`: `boolean`; `noFollowCheckbox?`: `boolean`; `openInNewTabCheckbox?`: `boolean`; `openInNewTabCheckboxDefaultChecked?`: `boolean`; `ariaLabelInput?`: `boolean`; `modeClassName?`: `"input"` \| `"select"`; `selectMultipleClassName?`: `boolean`; `selectSizeClassName?`: `number`; `selectOptionsClassName?`: (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[]; `hotkeys?`: (`string` \| `undefined`)[]; `preventReadOnlyNavigation?`: `boolean`; \}; `mediaInFakeBlock?`: `boolean`; `mediaFakeTag?`: `string`; `mediaBlocks?`: (`string` \| `undefined`)[]; `mobileTapTimeout?`: `number`; `toolbarAdaptive?`: `boolean`; `buttonsMD?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[]; `buttonsSM?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[]; `buttonsXS?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[]; `askBeforePasteFromWord?`: `boolean`; `processPasteFromWord?`: `boolean`; `defaultActionOnPasteFromWord?`: [`InsertMode`](../modules/types.html#insertmode) \| `null`; `pasteFromWordActionList?`: (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[]; `askBeforePasteHTML?`: `boolean`; `memorizeChoiceWhenPasteFragment?`: `boolean`; `processPasteHTML?`: `boolean`; `nl2brInPlainText?`: `boolean`; `pasteExcludeStripTags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `pasteHTMLActionList?`: (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[]; `scrollToPastedContent?`: `boolean`; `showPlaceholder?`: `boolean`; `useInputsPlaceholder?`: `boolean`; `placeholder?`: `string`; `hidePoweredByJodit?`: `boolean`; `tableAllowCellResize?`: `boolean`; `allowResizeX?`: `boolean`; `allowResizeY?`: `boolean`; `allowResizeTags?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; `resizer?`: \{ `showSize?`: `boolean`; `hideSizeTimeout?`: `number`; `useAspectRatio?`: `boolean` \| \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; `forImageChangeAttributes?`: `boolean`; `min_width?`: `number`; `min_height?`: `number`; \}; `useSearch?`: `boolean`; `search?`: \{ `lazyIdleTimeout?`: `number`; `useCustomHighlightAPI?`: `boolean`; `fuzzySearch?`: \{ \}; \}; `tableAllowCellSelection?`: `boolean`; `select?`: \{ `normalizeSelectionBeforeCutAndCopy?`: `boolean`; `normalizeTripleClick?`: `boolean`; \}; `saveHeightInStorage?`: `boolean`; `minWidth?`: `string` \| `number`; `minHeight?`: `string` \| `number`; `maxWidth?`: `string` \| `number`; `maxHeight?`: `string` \| `number`; `sourceEditor?`: `"area"` \| `"ace"` \| \{ \}; `sourceEditorNativeOptions?`: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| `undefined`; `showGutter?`: `boolean`; `theme?`: `string`; `mode?`: `string`; `wrap?`: `string` \| `number` \| `boolean`; `highlightActiveLine?`: `boolean`; \}; `beautifyHTML?`: `boolean`; `beautifyHTMLCDNUrlsJS?`: (`string` \| `undefined`)[]; `sourceEditorCDNUrlsJS?`: (`string` \| `undefined`)[]; `speechRecognize?`: \{ `api?`: \{ \} \| `null`; `lang?`: `string`; `continuous?`: `boolean`; `interimResults?`: `boolean`; `sound?`: `boolean`; `commands?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; \}; `spellcheck?`: `boolean`; `showCharsCounter?`: `boolean`; `countHTMLChars?`: `boolean`; `countTextSpaces?`: `boolean`; `showWordsCounter?`: `boolean`; `toolbarSticky?`: `boolean`; `toolbarDisableStickyForMobile?`: `boolean`; `toolbarStickyOffset?`: `number`; `specialCharacters?`: (`string` \| `undefined`)[]; `usePopupForSpecialCharacters?`: `boolean`; `tab?`: \{ `tabInsideLiInsertNewList?`: `boolean`; \}; `table?`: \{ `splitBlockOnInsertTable?`: `boolean`; `selectionCellStyle?`: `string`; `useExtraClassesOptions?`: `boolean`; \}; `video?`: \{ `parseUrlToVideoEmbed?`: \{ \}; `defaultWidth?`: `number`; `defaultHeight?`: `number`; \}; `wrapNodes?`: \{ `exclude?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; `emptyBlockAfterInit?`: `boolean`; \}; `showXPathInStatusbar?`: `boolean`; \} | - |
| `options.cache?` | `boolean` | When enabled, the editor caches the results of expensive computations (e.g. toolbar rebuilds) to improve performance. Disable for debugging or when options change frequently at runtime. |
| `options.defaultTimeout?` | `number` | Timeout of all asynchronous methods |
| `options.namespace?` | `string` | Prefix used for CSS class names and local-storage keys to avoid collisions when multiple editor instances or applications share the same page. |
| `options.safeMode?` | `boolean` | Editor loads completely without plugins. Useful when debugging your own plugin. |
| `options.width?` | `string` \| `number` | Editor's width `Jodit.make('.editor', { width: '100%', })` `Jodit.make('.editor', { width: 600, // equivalent for '600px' })` `Jodit.make('.editor', { width: 'auto', // autosize })` |
| `options.height?` | `string` \| `number` | Editor's height `Jodit.make('.editor', { height: '100%', })` `Jodit.make('.editor', { height: 600, // equivalent for '600px' })` `Jodit.make('.editor', { height: 'auto', // default - autosize })` |
| `options.safePluginsList?` | (`string` \| `undefined`)[] | List of plugins that will be initialized in safe mode. `Jodit.make('#editor', {   safeMode: true,   safePluginsList: ['about'],   extraPlugins: ['yourPluginDev'] });` |
| `options.commandToHotkeys?` | \{\[`key`: `string`\]: `string` \| (`string` \| `undefined`)[] \| `undefined`; \} | You can redefine hotkeys for some command `const jodit = Jodit.make('#editor', { commandToHotkeys: { bold: 'ctrl+shift+b', italic: ['ctrl+i', 'ctrl+b'], } })` |
| `options.license?` | `string` | Reserved for the paid version of the editor |
| `options.preset?` | `string` | The name of the preset that will be used to initialize the editor. The list of available presets can be found here Jodit.defaultOptions.presets `Jodit.make('.editor', {   preset: 'inline' });` |
| `options.presets?` | \{\[`key`: `string`\]: `any`; \} | Dictionary of named configuration presets. Each key is a preset name and the value is a partial options object that will be merged into the editor config when [Config.preset](../options.html#preset) matches the key. `// Use a built-in preset Jodit.make('#editor', { preset: 'inline' });` `// Define and use a custom preset Jodit.defaultOptions.presets.myCompact = { toolbarButtonSize: 'small', showCharsCounter: false, showWordsCounter: false, showXPathInStatusbar: false }; Jodit.make('#editor', { preset: 'myCompact' });` |
| `options.ownerDocument?` | \{ \} | The Document object the editor operates within. Defaults to the current `document`. Override when the editor is created inside an iframe or a different browsing context. |
| `options.ownerWindow?` | \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \} | Allows you to specify the window in which the editor will be created. Default - window This is necessary if you are creating the editor inside an iframe but the code is running in the parent window |
| `options.shadowRoot?` | \{ `getSelection?`: \{ \}; \} \| `null` | Shadow root if Jodit was created in it `<div id="editor"></div>` `const app = document.getElementById('editor'); app.attachShadow({ mode: 'open' }); const root = app.shadowRoot; root.innerHTML = ` <link rel="stylesheet" href="./build/jodit.css"/> <h1>Jodit example in Shadow DOM</h1> <div id="edit"></div> `; const editor = Jodit.make(root.getElementById('edit'), {   globalFullSize: false,   shadowRoot: root }); editor.value = '<p>start</p>';` |
| `options.nonce?` | `string` | CSP nonce applied to every `<style>`, `<script>` and `<link>` element Jodit injects at runtime (plugin styles, CDN scripts for ACE/beautify, downloaded stylesheets). Set it to the same nonce your server puts in the `Content-Security-Policy` header so a strict `style-src`/`script-src` policy does not block the editor. `Jodit.make('#editor', {   nonce: 'r4nd0m' });` |
| `options.zIndex?` | `number` | Base CSS `z-index` for the editor UI (toolbar, popups, dialogs). Set to a higher value when other page elements overlap the editor. `0` means no explicit z-index is applied. |
| `options.readonly?` | `boolean` | Change the read-only state of the editor |
| `options.disabled?` | `boolean` | Change the disabled state of the editor |
| `options.activeButtonsInReadOnly?` | (`string` \| `undefined`)[] | In readOnly mode, some buttons can still be useful, for example, the button to view source code or print |
| `options.allowCommandsInReadOnly?` | (`string` \| `undefined`)[] | When the editor is in read-only mode, some commands can still be executed: `const editor = Jodit.make('.editor', {    allowCommandsInReadOnly: ['selectall', 'preview', 'print']    readonly: true }); editor.execCommand('selectall');// will be selected all content editor.execCommand('delete');// but content will not be deleted` |
| `options.toolbarButtonSize?` | `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"` | Size of icons in the toolbar (can be "small", "middle", "large") `const editor = Jodit.make(".dark_editor", { toolbarButtonSize: "small" });` |
| `options.allowTabNavigation?` | `boolean` | Allow navigation in the toolbar of the editor by Tab key |
| `options.inline?` | `boolean` | When enabled, the editor renders without its own container chrome (toolbar, borders, statusbar). The editable area becomes the element itself. Typically combined with `toolbarInline: true` so a floating toolbar appears on selection. |
| `options.theme?` | `string` | Theme (can be "dark") `const editor = Jodit.make(".dark_editor", { theme: "dark" });` |
| `options.saveModeInStorage?` | `boolean` | if set true, then the current mode is saved in a cookie, and is restored after a reload of the page |
| `options.asyncStorage?` | \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \} | Configure the provider that backs IViewBased.asyncStorage. By default the editor's `asyncStorage` uses persistent `IndexedDB` (with an in-memory fallback when it is unavailable). Set `defaultProvider` to override it: - `'local'` — persist in `localStorage`; - `'memory'` — keep everything in memory (nothing survives a reload); - a custom IAsyncStorage implementation — plug in your own backend. `Jodit.make('#editor', { asyncStorage: { defaultProvider: 'local' } }); // or a fully custom backend Jodit.make('#editor', { asyncStorage: { defaultProvider: myAsyncStorage } });` |
| `options.asyncStorage.defaultProvider?` | `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \} | Overrides the provider that backs the storage. When omitted the storage behaves as before — persistent `IndexedDB` with an in-memory fallback. |
| `options.editorClassName?` | `string` \| `false` | Class name that can be appended to the editable area **See** - [Config.iframeCSSLinks](../options.html#iframecsslinks) - [Config.iframeStyle](../options.html#iframestyle) `Jodit.make('#editor', { editorClassName: 'some_my_class' });` `<style> .some_my_class p{ line-height: 16px; } </style>` |
| `options.className?` | `string` \| `false` | Class name that can be appended to the main editor container `const jodit = Jodit.make('#editor', { className: 'some_my_class' }); console.log(jodit.container.classList.contains('some_my_class')); // true` `<style> .some_my_class { max-width: 600px; margin: 0 auto; } </style>` |
| `options.style?` | `false` \| \{\[`key`: `string`\]: `any`; \} | The internal styles of the editable area. They are intended to change not the appearance of the editor, but to change the appearance of the content. `Jodit.make('#editor', {     style: {      font: '12px Arial',      color: '#0c0c0c'     } });` |
| `options.containerStyle?` | `false` \| \{\[`key`: `string`\]: `any`; \} | Inline CSS styles applied to the outer editor container element. Use this to style the editor wrapper (borders, background, etc.) without affecting content. `Jodit.make('#editor', {     containerStyle: {      border: '1px solid #ccc',      background: '#f9f9f9'     } });` |
| `options.styleValues?` | \{\[`key`: `string`\]: `any`; \} | Dictionary of variable values in css, a complete list can be found here https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25 `const editor = Jodit.make('#editor', { styleValues: {     'color-text': 'red',     colorBorder: 'black',     'color-panel': 'blue' } });` |
| `options.triggerChangeEvent?` | `boolean` | When enabled, the editor dispatches a native `change` event on the original `<textarea>` element whenever the content changes, so standard DOM listeners work. `const editor = Jodit.make('#editor'); document.getElementById('editor').addEventListener('change', function () { console.log(this.value); })` |
| `options.direction?` | `""` \| `"rtl"` \| `"ltr"` | The writing direction of the language which is used to create editor content. Allowed values are: '' (an empty string) – Indicates that content direction will be the same as either the editor UI direction or the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English). 'rtl' – Indicates a Right-To-Left text direction (like in Arabic). `Jodit.make('.editor', { direction: 'rtl' })` |
| `options.language?` | `string` | Language by default. if `auto` language set by document.documentElement.lang || (navigator.language && navigator.language.substr(0, 2)) || (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en' `<!-- include in you page lang file --> <script src="jodit/lang/de.js"></script> <script> var editor = Jodit.make('.editor', { language: 'de' }); </script>` |
| `options.debugLanguage?` | `boolean` | if true all Lang.i18n(key) return `{key}` `<script> var editor = Jodit.make('.editor', { debugLanguage: true }); console.log(editor.i18n("Test")); // {Test} </script>` |
| `options.i18n?` | `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \} | Collection of language pack data `{en: {'Type something': 'Type something', ...}}` `const editor = Jodit.make('#editor', { language: 'ru', i18n: { ru: { 'Type something': 'Начните что-либо вводить' } } }); console.log(editor.i18n('Type something')) //Начните что-либо вводить` |
| `options.tabIndex?` | `number` | The tabindex global attribute is an integer indicating if the element can take input focus (is focusable), if it should participate to sequential keyboard navigation, and if so, at what position. It can take several values |
| `options.toolbar?` | `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: \{ \}; `setTimeout?`: \{ \}; `updateTimeout?`: \{ \}; `clearTimeout?`: \{ \}; `clear?`: \{ \}; `promise?`: \{ \}; `promiseState?`: \{ \}; `debounce?`: \{ \}; `microDebounce?`: \{ \}; `throttle?`: \{ \}; `requestIdleCallback?`: \{ \}; `requestIdlePromise?`: \{ \}; `cancelIdleCallback?`: \{ \}; `schedulerPostTask?`: \{ \}; `schedulerYield?`: \{ \}; `requestAnimationFrame?`: \{ \}; `cancelAnimationFrame?`: \{ \}; `destruct?`: \{ \}; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} | Boolean, whether the toolbar should be shown. Alternatively, a valid css-selector-string to use an element as toolbar container. |
| `options.statusbar?` | `boolean` | Boolean, whether the statusbar should be shown. |
| `options.showTooltip?` | `boolean` | Show tooltip after mouse enter on the button |
| `options.showTooltipDelay?` | `number` | Delay before show tooltip |
| `options.useNativeTooltip?` | `boolean` | Instead of creating a custom tooltip, use the browser's native title tooltips |
| `options.defaultActionOnPaste?` | [`InsertMode`](../modules/types.html#insertmode) | How pasted content is inserted into the editor by default. Possible values: `insert_as_html`, `insert_as_text`, `insert_only_text`, `insert_clear_html`. |
| `options.enter?` | `"br"` \| `"div"` \| `"p"` | Element that will be created when you press Enter |
| `options.iframe?` | `boolean` | When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page. `Jodit.make('#editor', { iframe: true, iframeStyle: 'html{margin: 0px;}body{padding:10px;background:transparent;color:#000;position:relative;z-index:2;\ user-select:auto;margin:0px;overflow:hidden;}body:after{content:"";clear:both;display:block}'; });` |
| `options.editHTMLDocumentMode?` | `boolean` | Allow editing the entire HTML document(html, head) \> Works together with the iframe option. `const editor = Jodit.make('#editor', { iframe: true, editHTMLDocumentMode: true }); editor.value = '<!DOCTYPE html><html lang="en" style="overflow-y:hidden">' +   '<head><title>Jodit Editor</title></head>' +   '<body spellcheck="false"><p>Some text</p><p> a </p></body>' +   '</html>';` |
| `options.enterBlock?` | `"div"` \| `"p"` | Use when you need to insert new block element use enter option if not set |
| `options.defaultMode?` | `number` | Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord, Jodit.MODE_SOURCE syntax highlighting source editor `var editor = Jodit.make('#editor', { defaultMode: Jodit.MODE_SPLIT }); console.log(editor.getRealMode())` |
| `options.useSplitMode?` | `boolean` | When enabled, the editor displays both the WYSIWYG view and the source-code view side by side. |
| `options.colors?` | (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: (`string` \| `undefined`)[] \| `undefined`; \} | The colors in HEX representation to select a color for the background and for the text in colorpicker `Jodit.make('#editor', { colors: ['#ff0000', '#00ff00', '#0000ff'] })` |
| `options.colorPickerDefaultTab?` | `"background"` \| `"color"` | The default tab color picker `Jodit.make('#editor2', { colorPickerDefaultTab: 'color' })` |
| `options.imageDefaultWidth?` | `number` | Default width (in pixels) applied to images inserted into the editor |
| `options.removeButtons?` | (`string` \| `undefined`)[] | Do not display these buttons that are on the list `Jodit.make('#editor2', { removeButtons: ['hr', 'source'] });` |
| `options.disablePlugins?` | `string` \| (`string` \| `undefined`)[] | Do not init these plugins `var editor = Jodit.make('.editor', { disablePlugins: 'table,iframe' }); //or var editor = Jodit.make('.editor', { disablePlugins: ['table', 'iframe'] });` |
| `options.extraPlugins?` | (`string` \| \{ `name?`: `string`; `url?`: `string`; \} \| `undefined`)[] | Init and download extra plugins that are **not** already bundled/registered. For every name in this list that is not found in the plugin registry, Jodit loads it **at runtime over the network** from: `<basePath>plugins/<name>/<name>(.min).js` (see [Config.basePath](../options.html#basepath) and Config.minified). If the plugin is already registered — e.g. you imported it statically, or you use a bundle that ships it (such as the `jodit-pro` / `jodit-pro-react` "all plugins" build) — it is **skipped** and no request is made; in that case you don't need `extraPlugins` at all, just add the plugin's button. `// Dynamic loading: fetches <basePath>plugins/emoji/emoji.js const editor = Jodit.make('.editor', { extraPlugins: ['emoji'] });` You can also pass an explicit URL to bypass the `basePath` convention: `const editor = Jodit.make('.editor', { extraPlugins: [{ name: 'emoji', url: 'https://cdn.example.com/emoji.js' }] });` Note: if you see a request to a malformed URL (e.g. `.../src/main.tsx?t=...plugins/emoji/emoji.js`), it means `basePath` was auto-detected incorrectly under your bundler — set [Config.basePath](../options.html#basepath) explicitly. See the Plugin System docs for details. |
| `options.basePath?` | `string` | Base path used to build the URL for dynamically loaded [Config.extraPlugins](../options.html#extraplugins) (and their styles): `<basePath>plugins/<name>/<name>(.min).js`. When not set, Jodit auto-detects it from `document.currentScript`, then the last `<script src>` on the page, then `location.href`. That detection works for classic `<script>` includes, but **fails under ESM bundlers / dev servers** (Vite, Webpack dev, etc.) where there is no script tag for the bundle — it falls back to the entry module URL (e.g. `main.tsx`) and produces a broken plugin URL. Fix: host the plugin files at a public location and point `basePath` there (note the trailing slash): `const editor = Jodit.make('.editor', { basePath: 'https://your-site.com/jodit-assets/', extraPlugins: ['emoji'] // → loads https://your-site.com/jodit-assets/plugins/emoji/emoji.js });` |
| `options.extraButtons?` | (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[] | Additional buttons appended to the [Config.buttons](../options.html#buttons) list |
| `options.extraIcons?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} | By default, you can only install an icon from the Jodit suite. You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method. But for a declarative declaration, you can use this option. `Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>'); const editor = Jodit.make({ extraButtons: [{ name: 'someButton', icon: 'someIcon' }] });` `const editor = Jodit.make({ extraIcons: { someIcon: '<svg><path.../></svg>' }, extraButtons: [{ name: 'someButton', icon: 'someIcon' }] });` `const editor = Jodit.make({ extraButtons: [{ name: 'someButton', icon: '<svg><path.../></svg>' }] });` |
| `options.createAttributes?` | \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| `undefined`; \} \| `undefined`; \} \| \{ \} \| `undefined`; \} | Default attributes for created inside editor elements `const editor2 = Jodit.make('#editor', {   createAttributes: {     div: {       class: 'test'     },     ul: function (ul) {       ul.classList.add('ui-test');     }   } }); const div2 = editor2.createInside.div(); expect(div2.className).equals('test'); const ul = editor2.createInside.element('ul'); expect(ul.className).equals('ui-test');` Or JSX in React `import React, {useState, useRef} from 'react'; import JoditEditor from "jodit-react"; const config = {   createAttributes: {     div: {       class: 'align-center'     }   } }; <JoditEditor config={config}/>` |
| `options.sizeLG?` | `number` | The width of the editor, accepted as the biggest. Used to the responsive version of the editor |
| `options.sizeMD?` | `number` | The width of the editor, accepted as the medium. Used to the responsive version of the editor |
| `options.sizeSM?` | `number` | The width of the editor, accepted as the small. Used to the responsive version of the editor |
| `options.buttons?` | `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[] | The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG). Note - this is not the width of the device, the width of the editor `Jodit.make('#editor', { buttons: ['bold', 'italic', 'source'], buttonsMD: ['bold', 'italic'], buttonsXS: ['bold', 'fullsize'], });` `Jodit.make('#editor2', { buttons: [{ name: 'empty', icon: 'source', exec: function (editor) { const dialog = new Jodit.modules.Dialog({}), text = editor.c.element('textarea'); dialog.setHeader('Source code'); dialog.setContent(text); dialog.setSize(400, 300); Jodit.modules.Helpers.css(elm, { width: '100%', height: '100%' }) dialog.open(); } }] });` `Jodit.make('#editor2', { buttons: Jodit.defaultOptions.buttons.concat([{ name: 'listsss', iconURL: 'stuf/dummy.png', list: { h1: 'insert Header 1', h2: 'insert Header 2', clear: 'Empty editor', }, exec: ({originalEvent, control, btn}) => { var key = control.args[0], value = control.args[1]; if (key === 'clear') { this.val(''); return; } this.s.insertNode(this.c.element(key, '')); this.message.info('Was inserted ' + value); }, template: function (key, value) { return '<div>' + value + '</div>'; } });` |
| `options.controls?` | \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`; \} | Map of toolbar button names to their control definitions (icon, tooltip, exec handler, etc.). Plugins extend this object with their own button definitions via `Config.prototype.controls`. |
| `options.events?` | \{\[`key`: `string`\]: \{ \} \| `undefined`; \} | Some events are called when the editor is initialized, for example, the `afterInit` event. So this code won't work: `const editor = Jodit.make('#editor'); editor.events.on('afterInit', () => console.log('afterInit'));` You need to do this: `Jodit.make('#editor', {     events: {      afterInit: () => console.log('afterInit')     } });` The option can use any Jodit events, for example: `const editor = Jodit.make('#editor', {     events: {       hello: (name) => console.log('Hello', name)     } }); editor.e.fire('hello', 'Mike');` |
| `options.textIcons?` | `boolean` | Buttons in toolbar without SVG - only texts |
| `options.popupRoot?` | \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: \{ \}; `setTimeout?`: \{ \}; `updateTimeout?`: \{ \}; `clearTimeout?`: \{ \}; `clear?`: \{ \}; `promise?`: \{ \}; `promiseState?`: \{ \}; `debounce?`: \{ \}; `microDebounce?`: \{ \}; `throttle?`: \{ \}; `requestIdleCallback?`: \{ \}; `requestIdlePromise?`: \{ \}; `cancelIdleCallback?`: \{ \}; `schedulerPostTask?`: \{ \}; `schedulerYield?`: \{ \}; `requestAnimationFrame?`: \{ \}; `cancelAnimationFrame?`: \{ \}; `destruct?`: \{ \}; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null` | Element for dialog container |
| `options.showBrowserColorPicker?` | `boolean` | shows a INPUT[type=color] to open the browser color picker, on the right bottom of widget color picker |
| `options.defaultAjaxOptions?` | \{ `successStatuses?`: (`number` \| `undefined`)[]; `method?`: `string`; `url?`: `string`; `data?`: `string` \| \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \} \| `null`; `contentType?`: `string` \| `false`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `responseType?`: `XMLHttpRequestResponseType`; `withCredentials?`: `boolean`; `queryBuild?`: \{ \}; `xhr?`: \{ \}; `onProgress?`: \{ \}; \} | A set of key/value pairs that configure the Ajax request. All settings are optional |
| `options.defaultAjaxOptions.successStatuses?` | (`number` \| `undefined`)[] | - |
| `options.defaultAjaxOptions.method?` | `string` | The HTTP method to use for the request (e.g. "POST", "GET", "PUT") |
| `options.defaultAjaxOptions.url?` | `string` | A string containing the URL which the request is sent. |
| `options.defaultAjaxOptions.data?` | `string` \| \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \} \| `null` | Data be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. |
| `options.defaultAjaxOptions.contentType?` | `string` \| `false` | When sending data to the server, use this content type. Default is "application/x-www-form-urlencoded; charset=UTF-8", which is fine for most cases |
| `options.defaultAjaxOptions.headers?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null` | An object (or a function which returns an object) of additional header key/value pairs to send along with requests using the XMLHttpRequest transport. Uses in [FileBrowser](./file_browser.FileBrowser.html) and [Uploader](./uploader.Uploader.html) |
| `options.defaultAjaxOptions.responseType?` | `XMLHttpRequestResponseType` | - |
| `options.defaultAjaxOptions.withCredentials?` | `boolean` | Enable or disable Access-Control-Allow-Credentials client side. Useful for cross domain requests |
| `options.defaultAjaxOptions.queryBuild?` | \{ \} | - |
| `options.defaultAjaxOptions.xhr?` | \{ \} | - |
| `options.defaultAjaxOptions.onProgress?` | \{ \} | - |
| `options.dialog?` | \{ `resizable?`: `boolean`; `draggable?`: `boolean`; `maxWidth?`: `string` \| `number`; `minWidth?`: `string` \| `number`; `minHeight?`: `string` \| `number`; `closeOnClickOverlay?`: `boolean`; `closeOnEsc?`: `boolean`; `debugLanguage?`: `boolean`; `i18n?`: `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \}; `toolbar?`: `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \}; `toolbarButtonSize?`: `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"`; `textIcons?`: `boolean` \| \{ \}; `extraButtons?`: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `removeButtons?`: (`string` \| `undefined`)[]; `extraIcons?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; `buttons?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `showTooltip?`: `boolean`; `showTooltipDelay?`: `number`; `useNativeTooltip?`: `boolean`; `cache?`: `boolean`; `asyncStorage?`: \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \}; `getIcon?`: \{ \}; `headerButtons?`: `string` \| (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| `undefined`)[]; `basePath?`: `string`; `minified?`: `boolean`; `theme?`: `string`; `defaultTimeout?`: `number`; `disabled?`: `boolean`; `readonly?`: `boolean`; `iframe?`: `boolean`; `direction?`: `""` \| `"rtl"` \| `"ltr"`; `namespace?`: `string`; `activeButtonsInReadOnly?`: (`string` \| `undefined`)[]; `allowTabNavigation?`: `boolean`; `zIndex?`: `string` \| `number`; `fullsize?`: `boolean`; `globalFullSize?`: `boolean`; `controls?`: \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`; \}; `createAttributes?`: \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: ... \| ... \| ... \| ... \| ...; \} \| `undefined`; \} \| \{ \} \| `undefined`; \}; `events?`: \{\[`key`: `string`\]: \{ \} \| `undefined`; \}; `shadowRoot?`: \{ `getSelection?`: \{ \}; \} \| `null`; `nonce?`: `string`; `popupRoot?`: \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null`; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `language?`: `string`; `eventEmmiter?`: \{ `current?`: `string`; `currents?`: (`string` \| `undefined`)[]; `mute?`: \{ \}; `isMuted?`: \{ \}; `unmute?`: \{ \}; `on?`: \{ \}; `one?`: \{ \}; `off?`: \{ \}; `stopPropagation?`: \{ \}; `fire?`: \{ \}; `destruct?`: \{ \}; \}; \} | - |
| `options.dialog.resizable?` | `boolean` | - |
| `options.dialog.draggable?` | `boolean` | - |
| `options.dialog.maxWidth?` | `string` \| `number` | - |
| `options.dialog.minWidth?` | `string` \| `number` | - |
| `options.dialog.minHeight?` | `string` \| `number` | - |
| `options.dialog.closeOnClickOverlay?` | `boolean` | - |
| `options.dialog.closeOnEsc?` | `boolean` | - |
| `options.dialog.debugLanguage?` | `boolean` | - |
| `options.dialog.i18n?` | `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \} | - |
| `options.dialog.toolbar?` | `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} | - |
| `options.dialog.toolbarButtonSize?` | `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"` | - |
| `options.dialog.textIcons?` | `boolean` \| \{ \} | - |
| `options.dialog.extraButtons?` | (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[] | - |
| `options.dialog.removeButtons?` | (`string` \| `undefined`)[] | - |
| `options.dialog.extraIcons?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} | - |
| `options.dialog.buttons?` | `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[] | - |
| `options.dialog.showTooltip?` | `boolean` | - |
| `options.dialog.showTooltipDelay?` | `number` | - |
| `options.dialog.useNativeTooltip?` | `boolean` | - |
| `options.dialog.cache?` | `boolean` | Use cache for heavy methods |
| `options.dialog.asyncStorage?` | \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \} | Configure the provider that backs [IViewBased.asyncStorage](../interfaces/types.IViewBased.html#asyncstorage). By default it uses persistent `IndexedDB` (with an in-memory fallback); set `defaultProvider` to `'local'`, `'memory'` or a custom [IAsyncStorage](../interfaces/types.IAsyncStorage.html) implementation to override it. |
| `options.dialog.asyncStorage.defaultProvider?` | `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \} | Overrides the provider that backs the storage. When omitted the storage behaves as before — persistent `IndexedDB` with an in-memory fallback. |
| `options.dialog.getIcon?` | \{ \} | - |
| `options.dialog.headerButtons?` | `string` \| (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| `undefined`)[] | - |
| `options.dialog.basePath?` | `string` | - |
| `options.dialog.minified?` | `boolean` | Plugin autoloader should load minified version of the file |
| `options.dialog.theme?` | `string` | - |
| `options.dialog.defaultTimeout?` | `number` | - |
| `options.dialog.disabled?` | `boolean` | - |
| `options.dialog.readonly?` | `boolean` | - |
| `options.dialog.iframe?` | `boolean` | - |
| `options.dialog.direction?` | `""` \| `"rtl"` \| `"ltr"` | - |
| `options.dialog.namespace?` | `string` | - |
| `options.dialog.activeButtonsInReadOnly?` | (`string` \| `undefined`)[] | - |
| `options.dialog.allowTabNavigation?` | `boolean` | - |
| `options.dialog.zIndex?` | `string` \| `number` | - |
| `options.dialog.fullsize?` | `boolean` | - |
| `options.dialog.globalFullSize?` | `boolean` | - |
| `options.dialog.controls?` | \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`; \} | - |
| `options.dialog.createAttributes?` | \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: ... \| ... \| ... \| ... \| ...; \} \| `undefined`; \} \| \{ \} \| `undefined`; \} | - |
| `options.dialog.events?` | \{\[`key`: `string`\]: \{ \} \| `undefined`; \} | - |
| `options.dialog.shadowRoot?` | \{ `getSelection?`: \{ \}; \} \| `null` | - |
| `options.dialog.nonce?` | `string` | CSP nonce applied to every `<style>`/`<script>`/`<link>` element Jodit injects at runtime, so a strict `style-src`/`script-src` policy does not block them. |
| `options.dialog.popupRoot?` | \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null` | - |
| `options.dialog.ownerWindow?` | \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \} | - |
| `options.dialog.language?` | `string` | - |
| `options.dialog.eventEmmiter?` | \{ `current?`: `string`; `currents?`: (`string` \| `undefined`)[]; `mute?`: \{ \}; `isMuted?`: \{ \}; `unmute?`: \{ \}; `on?`: \{ \}; `one?`: \{ \}; `off?`: \{ \}; `stopPropagation?`: \{ \}; `fire?`: \{ \}; `destruct?`: \{ \}; \} | - |
| `options.dialog.eventEmmiter.current?` | `string` | Get current event name **Example** `parent.e.on('openDialog closeDialog', function () { if (parent.e.current === 'closeDialog') { alert('Dialog was closed'); } else { alert('Dialog was opened'); } });` |
| `options.dialog.eventEmmiter.currents?` | (`string` \| `undefined`)[] | - |
| `options.dialog.eventEmmiter.mute?` | \{ \} | - |
| `options.dialog.eventEmmiter.isMuted?` | \{ \} | - |
| `options.dialog.eventEmmiter.unmute?` | \{ \} | - |
| `options.dialog.eventEmmiter.on?` | \{ \} | - |
| `options.dialog.eventEmmiter.one?` | \{ \} | - |
| `options.dialog.eventEmmiter.off?` | \{ \} | - |
| `options.dialog.eventEmmiter.stopPropagation?` | \{ \} | - |
| `options.dialog.eventEmmiter.fire?` | \{ \} | - |
| `options.dialog.eventEmmiter.destruct?` | \{ \} | - |
| `options.filebrowser?` | \{ `zIndex?`: `number`; `fullsize?`: `boolean`; `showTooltip?`: `boolean`; `useNativeTooltip?`: `boolean`; `filter?`: \{ \}; `sortBy?`: `string`; `sort?`: `false` \| \{ \}; `preview?`: `boolean`; `showPreviewNavigation?`: `boolean`; `showSelectButtonInPreview?`: `boolean`; `saveStateInStorage?`: `false` \| \{ `storeLastOpenedFolder?`: `boolean`; `storeView?`: `boolean`; `storeSortBy?`: `boolean`; \}; `contextMenu?`: `boolean`; `howLongShowMsg?`: `number`; `pixelOffsetLoadNewChunk?`: `number`; `editImage?`: `boolean`; `createNewFolder?`: `boolean`; `deleteFolder?`: `boolean`; `renameFolder?`: `boolean`; `moveFolder?`: `boolean`; `moveFile?`: `boolean`; `permissionsPresets?`: \{\[`key`: `string`\]: `boolean` \| `undefined`; `allowFiles?`: `boolean`; `allowFileMove?`: `boolean`; `allowFileUpload?`: `boolean`; `allowFileUploadRemote?`: `boolean`; `allowFileRemove?`: `boolean`; `allowFileRename?`: `boolean`; `allowFolders?`: `boolean`; `allowFolderCreate?`: `boolean`; `allowFolderMove?`: `boolean`; `allowFolderRemove?`: `boolean`; `allowFolderRename?`: `boolean`; `allowImageResize?`: `boolean`; `allowImageCrop?`: `boolean`; \}; `showFoldersPanel?`: `boolean`; `width?`: `number`; `height?`: `number`; `view?`: `string` \| `null`; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `showFileName?`: `boolean`; `showFileSize?`: `boolean`; `showFileChangeTime?`: `boolean`; `getThumbTemplate?`: \{ \}; `ajax?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \}; `create?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `getLocalFileByUrl?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `resize?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `crop?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `fileMove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `folderMove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `fileRemove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `folderRemove?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `fileRename?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `folderRename?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `items?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \}; `folder?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `permissions?`: \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null`; `uploader?`: \{ `url?`: `string` \| \{ \}; `insertImageAsBase64URI?`: `boolean`; `showTabInFileSelector?`: `boolean`; `imagesExtensions?`: (`string` \| `undefined`)[]; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `data?`: `object` \| `null`; `format?`: `string`; `method?`: `string`; `filesVariableName?`: \{ \}; `processFileName?`: \{ \}; `getDisplayName?`: \{ \}; `pathVariableName?`: `string`; `withCredentials?`: `boolean`; `beforeUpload?`: \{ \}; `prepareData?`: \{ \}; `buildData?`: \{ \}; `queryBuild?`: \{ \}; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `process?`: \{ \}; `error?`: \{ \}; `defaultHandlerSuccess?`: \{ \}; `defaultHandlerError?`: \{ \}; `contentType?`: \{ \}; `customUploadFunction?`: \{ \}; \}; `defaultCallback?`: \{ \}; `debugLanguage?`: `boolean`; `i18n?`: `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \}; `toolbar?`: `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \}; `toolbarButtonSize?`: `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"`; `textIcons?`: `boolean` \| \{ \}; `extraButtons?`: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `removeButtons?`: (`string` \| `undefined`)[]; `extraIcons?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; `buttons?`: `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[]; `showTooltipDelay?`: `number`; `cache?`: `boolean`; `asyncStorage?`: \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \}; `getIcon?`: \{ \}; `headerButtons?`: `string` \| (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| `undefined`)[]; `basePath?`: `string`; `minified?`: `boolean`; `theme?`: `string`; `defaultTimeout?`: `number`; `disabled?`: `boolean`; `readonly?`: `boolean`; `iframe?`: `boolean`; `direction?`: `""` \| `"rtl"` \| `"ltr"`; `namespace?`: `string`; `activeButtonsInReadOnly?`: (`string` \| `undefined`)[]; `allowTabNavigation?`: `boolean`; `globalFullSize?`: `boolean`; `controls?`: \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`; \}; `createAttributes?`: \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: ... \| ... \| ... \| ... \| ...; \} \| `undefined`; \} \| \{ \} \| `undefined`; \}; `events?`: \{\[`key`: `string`\]: \{ \} \| `undefined`; \}; `shadowRoot?`: \{ `getSelection?`: \{ \}; \} \| `null`; `nonce?`: `string`; `popupRoot?`: \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null`; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `language?`: `string`; `eventEmmiter?`: \{ `current?`: `string`; `currents?`: (`string` \| `undefined`)[]; `mute?`: \{ \}; `isMuted?`: \{ \}; `unmute?`: \{ \}; `on?`: \{ \}; `one?`: \{ \}; `off?`: \{ \}; `stopPropagation?`: \{ \}; `fire?`: \{ \}; `destruct?`: \{ \}; \}; \} | - |
| `options.filebrowser.zIndex?` | `number` | - |
| `options.filebrowser.fullsize?` | `boolean` | - |
| `options.filebrowser.showTooltip?` | `boolean` | - |
| `options.filebrowser.useNativeTooltip?` | `boolean` | - |
| `options.filebrowser.filter?` | \{ \} | - |
| `options.filebrowser.sortBy?` | `string` | - |
| `options.filebrowser.sort?` | `false` \| \{ \} | - |
| `options.filebrowser.preview?` | `boolean` | - |
| `options.filebrowser.showPreviewNavigation?` | `boolean` | - |
| `options.filebrowser.showSelectButtonInPreview?` | `boolean` | - |
| `options.filebrowser.saveStateInStorage?` | `false` \| \{ `storeLastOpenedFolder?`: `boolean`; `storeView?`: `boolean`; `storeSortBy?`: `boolean`; \} | - |
| `options.filebrowser.contextMenu?` | `boolean` | - |
| `options.filebrowser.howLongShowMsg?` | `number` | - |
| `options.filebrowser.pixelOffsetLoadNewChunk?` | `number` | - |
| `options.filebrowser.editImage?` | `boolean` | **Deprecated** Instead use permissionsPresets.allowImageCrop and permissionsPresets.allowImageResize |
| `options.filebrowser.createNewFolder?` | `boolean` | **Deprecated** Instead use permissionsPresets.allowFolderCreate |
| `options.filebrowser.deleteFolder?` | `boolean` | **Deprecated** Instead use permissionsPresets.allowFolderRemove |
| `options.filebrowser.renameFolder?` | `boolean` | **Deprecated** Instead use permissionsPresets.allowFolderRename |
| `options.filebrowser.moveFolder?` | `boolean` | **Deprecated** Instead use permissionsPresets.allowFolderMove |
| `options.filebrowser.moveFile?` | `boolean` | **Deprecated** Instead use permissionsPresets.allowFileMove |
| `options.filebrowser.permissionsPresets?` | \{\[`key`: `string`\]: `boolean` \| `undefined`; `allowFiles?`: `boolean`; `allowFileMove?`: `boolean`; `allowFileUpload?`: `boolean`; `allowFileUploadRemote?`: `boolean`; `allowFileRemove?`: `boolean`; `allowFileRename?`: `boolean`; `allowFolders?`: `boolean`; `allowFolderCreate?`: `boolean`; `allowFolderMove?`: `boolean`; `allowFolderRemove?`: `boolean`; `allowFolderRename?`: `boolean`; `allowImageResize?`: `boolean`; `allowImageCrop?`: `boolean`; \} | - |
| `options.filebrowser.permissionsPresets.allowFiles?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFileMove?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFileUpload?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFileUploadRemote?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFileRemove?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFileRename?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFolders?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFolderCreate?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFolderMove?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFolderRemove?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowFolderRename?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowImageResize?` | `boolean` | - |
| `options.filebrowser.permissionsPresets.allowImageCrop?` | `boolean` | - |
| `options.filebrowser.showFoldersPanel?` | `boolean` | - |
| `options.filebrowser.width?` | `number` | - |
| `options.filebrowser.height?` | `number` | - |
| `options.filebrowser.view?` | `string` \| `null` | - |
| `options.filebrowser.isSuccess?` | \{ \} | - |
| `options.filebrowser.getMessage?` | \{ \} | - |
| `options.filebrowser.showFileName?` | `boolean` | - |
| `options.filebrowser.showFileSize?` | `boolean` | - |
| `options.filebrowser.showFileChangeTime?` | `boolean` | - |
| `options.filebrowser.getThumbTemplate?` | \{ \} | - |
| `options.filebrowser.ajax?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} | - |
| `options.filebrowser.ajax.url?` | `string` | - |
| `options.filebrowser.ajax.data?` | \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \} | - |
| `options.filebrowser.ajax.cache?` | `boolean` | - |
| `options.filebrowser.ajax.contentType?` | `string` | - |
| `options.filebrowser.ajax.method?` | `string` | - |
| `options.filebrowser.ajax.processData?` | `boolean` | - |
| `options.filebrowser.ajax.headers?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} | - |
| `options.filebrowser.ajax.prepareData?` | \{ \} | - |
| `options.filebrowser.ajax.process?` | \{ \} | - |
| `options.filebrowser.create?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.getLocalFileByUrl?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.resize?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.crop?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.fileMove?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.folderMove?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.fileRemove?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | AJAX options for delete file **Example** `Jodit.make('#editor', {   filebrowser: {     fileRemove: {       url: 'https://xdsoft.net/jodit/connector/index.php?action=fileDelete',       method: 'POST',     }   } });` |
| `options.filebrowser.folderRemove?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.fileRename?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.folderRename?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.items?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} | - |
| `options.filebrowser.items.url?` | `string` | - |
| `options.filebrowser.items.data?` | \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \} | - |
| `options.filebrowser.items.cache?` | `boolean` | - |
| `options.filebrowser.items.contentType?` | `string` | - |
| `options.filebrowser.items.method?` | `string` | - |
| `options.filebrowser.items.processData?` | `boolean` | - |
| `options.filebrowser.items.headers?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} | - |
| `options.filebrowser.items.prepareData?` | \{ \} | - |
| `options.filebrowser.items.process?` | \{ \} | - |
| `options.filebrowser.folder?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.permissions?` | \{ `url?`: `string`; `data?`: \{\[`key`: `string`\]: `string` \| \{\[`key`: `string`\]: `any`; \} \| `undefined`; \}; `cache?`: `boolean`; `contentType?`: `string`; `method?`: `string`; `processData?`: `boolean`; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \}; `prepareData?`: \{ \}; `process?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.uploader?` | \{ `url?`: `string` \| \{ \}; `insertImageAsBase64URI?`: `boolean`; `showTabInFileSelector?`: `boolean`; `imagesExtensions?`: (`string` \| `undefined`)[]; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `data?`: `object` \| `null`; `format?`: `string`; `method?`: `string`; `filesVariableName?`: \{ \}; `processFileName?`: \{ \}; `getDisplayName?`: \{ \}; `pathVariableName?`: `string`; `withCredentials?`: `boolean`; `beforeUpload?`: \{ \}; `prepareData?`: \{ \}; `buildData?`: \{ \}; `queryBuild?`: \{ \}; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `process?`: \{ \}; `error?`: \{ \}; `defaultHandlerSuccess?`: \{ \}; `defaultHandlerError?`: \{ \}; `contentType?`: \{ \}; `customUploadFunction?`: \{ \}; \} | - |
| `options.filebrowser.uploader.url?` | `string` \| \{ \} | - |
| `options.filebrowser.uploader.insertImageAsBase64URI?` | `boolean` | - |
| `options.filebrowser.uploader.showTabInFileSelector?` | `boolean` | Show the `Upload` tab in the image/file insert popup. Set to `false` when the uploader is configured only for the file browser and direct drag-and-drop upload should not be offered. **Default** `true` **Example** `Jodit.make('#editor', {   uploader: {     url: 'https://example.com/upload',     showTabInFileSelector: false   } });` |
| `options.filebrowser.uploader.imagesExtensions?` | (`string` \| `undefined`)[] | List of extensions for images **Default** `['jpg', 'png', 'jpeg', 'gif']` **Example** `Jodit.make('#editor', {   uploader: {     insertImageAsBase64URI: true,     imagesExtensions: ['jpg', 'png', 'jpeg', 'gif', 'svg', 'webp']   } });` |
| `options.filebrowser.uploader.headers?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null` | - |
| `options.filebrowser.uploader.data?` | `object` \| `null` | - |
| `options.filebrowser.uploader.format?` | `string` | - |
| `options.filebrowser.uploader.method?` | `string` | - |
| `options.filebrowser.uploader.filesVariableName?` | \{ \} | - |
| `options.filebrowser.uploader.processFileName?` | \{ \} | - |
| `options.filebrowser.uploader.getDisplayName?` | \{ \} | - |
| `options.filebrowser.uploader.pathVariableName?` | `string` | - |
| `options.filebrowser.uploader.withCredentials?` | `boolean` | - |
| `options.filebrowser.uploader.beforeUpload?` | \{ \} | Called with the list of files right before they are uploaded (or read as base64). Return `false` to abort the whole upload — useful for client side validation (size, type, count). Throwing an Error also aborts and routes the message through the uploader error handler. `Jodit.make('#editor', {   uploader: {     url: '...',     beforeUpload(files) {       for (const file of files) {         if (file.size > 2 * 1024 * 1024) {           this.jodit.message.error('Max 2MB');           return false;         }       }     }   } });` |
| `options.filebrowser.uploader.prepareData?` | \{ \} | - |
| `options.filebrowser.uploader.buildData?` | \{ \} | - |
| `options.filebrowser.uploader.queryBuild?` | \{ \} | - |
| `options.filebrowser.uploader.isSuccess?` | \{ \} | - |
| `options.filebrowser.uploader.getMessage?` | \{ \} | - |
| `options.filebrowser.uploader.process?` | \{ \} | - |
| `options.filebrowser.uploader.error?` | \{ \} | - |
| `options.filebrowser.uploader.defaultHandlerSuccess?` | \{ \} | - |
| `options.filebrowser.uploader.defaultHandlerError?` | \{ \} | - |
| `options.filebrowser.uploader.contentType?` | \{ \} | - |
| `options.filebrowser.uploader.customUploadFunction?` | \{ \} | This method can be used to replace the function of uploading files `Jodit.make('#editor', {   uploader: {     customUploadFunction: (requestData, showProgress) => fetch(requestData).then((res)=>{       showProgress(100)       return res.json()     })   } });` |
| `options.filebrowser.defaultCallback?` | \{ \} | - |
| `options.filebrowser.debugLanguage?` | `boolean` | - |
| `options.filebrowser.i18n?` | `false` \| \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| `undefined`; \} | - |
| `options.filebrowser.toolbar?` | `string` \| `boolean` \| \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} | - |
| `options.filebrowser.toolbarButtonSize?` | `"small"` \| `"tiny"` \| `"xsmall"` \| `"middle"` \| `"large"` | - |
| `options.filebrowser.textIcons?` | `boolean` \| \{ \} | - |
| `options.filebrowser.extraButtons?` | (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[] | - |
| `options.filebrowser.removeButtons?` | (`string` \| `undefined`)[] | - |
| `options.filebrowser.extraIcons?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} | - |
| `options.filebrowser.buttons?` | `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[] | - |
| `options.filebrowser.showTooltipDelay?` | `number` | - |
| `options.filebrowser.cache?` | `boolean` | Use cache for heavy methods |
| `options.filebrowser.asyncStorage?` | \{ `defaultProvider?`: `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \}; \} | Configure the provider that backs [IViewBased.asyncStorage](../interfaces/types.IViewBased.html#asyncstorage). By default it uses persistent `IndexedDB` (with an in-memory fallback); set `defaultProvider` to `'local'`, `'memory'` or a custom [IAsyncStorage](../interfaces/types.IAsyncStorage.html) implementation to override it. |
| `options.filebrowser.asyncStorage.defaultProvider?` | `"local"` \| `"memory"` \| \{ `set?`: \{ \}; `delete?`: \{ \}; `get?`: \{ \}; `exists?`: \{ \}; `clear?`: \{ \}; `close?`: \{ \}; \} | Overrides the provider that backs the storage. When omitted the storage behaves as before — persistent `IndexedDB` with an in-memory fallback. |
| `options.filebrowser.getIcon?` | \{ \} | - |
| `options.filebrowser.headerButtons?` | `string` \| (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| \{ `group?`: `string`; `buttons?`: (... \| ... \| ...)[]; \} \| `undefined`)[] | - |
| `options.filebrowser.basePath?` | `string` | - |
| `options.filebrowser.minified?` | `boolean` | Plugin autoloader should load minified version of the file |
| `options.filebrowser.theme?` | `string` | - |
| `options.filebrowser.defaultTimeout?` | `number` | - |
| `options.filebrowser.disabled?` | `boolean` | - |
| `options.filebrowser.readonly?` | `boolean` | - |
| `options.filebrowser.iframe?` | `boolean` | - |
| `options.filebrowser.direction?` | `""` \| `"rtl"` \| `"ltr"` | - |
| `options.filebrowser.namespace?` | `string` | - |
| `options.filebrowser.activeButtonsInReadOnly?` | (`string` \| `undefined`)[] | - |
| `options.filebrowser.allowTabNavigation?` | `boolean` | - |
| `options.filebrowser.globalFullSize?` | `boolean` | - |
| `options.filebrowser.controls?` | \{\[`key`: `string`\]: \{ \[x: string\]: ... \| \{ name?: string \| undefined; text?: string \| undefined; textTemplate?: \{\} \| undefined; mode?: Modes \| undefined; hotkeys?: string \| (string \| undefined)\[\] \| undefined; ... 26 more ...; mods?: \{ ...; \} \| undefined; \} \| undefined; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`; \} | - |
| `options.filebrowser.createAttributes?` | \{\[`key`: `string`\]: \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| \{\[`key`: `string`\]: ... \| ... \| ... \| ... \| ...; \} \| `undefined`; \} \| \{ \} \| `undefined`; \} | - |
| `options.filebrowser.events?` | \{\[`key`: `string`\]: \{ \} \| `undefined`; \} | - |
| `options.filebrowser.shadowRoot?` | \{ `getSelection?`: \{ \}; \} \| `null` | - |
| `options.filebrowser.nonce?` | `string` | CSP nonce applied to every `<style>`/`<script>`/`<link>` element Jodit injects at runtime, so a strict `style-src`/`script-src` policy does not block them. |
| `options.filebrowser.popupRoot?` | \{ `component?`: \{ `destruct?`: \{ \}; `async?`: \{ `delay?`: ... \| ...; `setTimeout?`: ... \| ...; `updateTimeout?`: ... \| ...; `clearTimeout?`: ... \| ...; `clear?`: ... \| ...; `promise?`: ... \| ...; `promiseState?`: ... \| ...; `debounce?`: ... \| ...; `microDebounce?`: ... \| ...; `throttle?`: ... \| ...; `requestIdleCallback?`: ... \| ...; `requestIdlePromise?`: ... \| ...; `cancelIdleCallback?`: ... \| ...; `schedulerPostTask?`: ... \| ...; `schedulerYield?`: ... \| ...; `requestAnimationFrame?`: ... \| ...; `cancelAnimationFrame?`: ... \| ...; `destruct?`: ... \| ...; \}; `ownerDocument?`: \{ \}; `od?`: \{ \}; `ownerWindow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `ow?`: \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \}; `get?`: \{ \}; `componentName?`: `string`; `className?`: \{ \}; `getFullElName?`: \{ \}; `uid?`: `string`; `isDestructed?`: `boolean`; `isInDestruct?`: `boolean`; `isReady?`: `boolean`; `componentStatus?`: [`ComponentStatus`](../modules/types.html#componentstatus); `setStatus?`: \{ \}; `hookStatus?`: \{ \}; `bindDestruct?`: \{ \}; \} \| `null`; \} \| `null` | - |
| `options.filebrowser.ownerWindow?` | \{\[`key`: `number`\]: \{ \[x: number\]: ... \| undefined; readonly clientInformation?: \{ readonly clipboard?: \{ read?: \{\} \| undefined; readText?: \{\} \| undefined; write?: \{\} \| undefined; writeText?: \{\} \| undefined; addEventListener?: \{\} \| undefined; dispatchEvent?: \{\} \| undefined; removeEventListener?: \{\} \| undefined; \} \| undefined; ... 42 mo...; \} | - |
| `options.filebrowser.language?` | `string` | - |
| `options.filebrowser.eventEmmiter?` | \{ `current?`: `string`; `currents?`: (`string` \| `undefined`)[]; `mute?`: \{ \}; `isMuted?`: \{ \}; `unmute?`: \{ \}; `on?`: \{ \}; `one?`: \{ \}; `off?`: \{ \}; `stopPropagation?`: \{ \}; `fire?`: \{ \}; `destruct?`: \{ \}; \} | - |
| `options.filebrowser.eventEmmiter.current?` | `string` | Get current event name **Example** `parent.e.on('openDialog closeDialog', function () { if (parent.e.current === 'closeDialog') { alert('Dialog was closed'); } else { alert('Dialog was opened'); } });` |
| `options.filebrowser.eventEmmiter.currents?` | (`string` \| `undefined`)[] | - |
| `options.filebrowser.eventEmmiter.mute?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.isMuted?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.unmute?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.on?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.one?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.off?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.stopPropagation?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.fire?` | \{ \} | - |
| `options.filebrowser.eventEmmiter.destruct?` | \{ \} | - |
| `options.history?` | \{ `enable?`: `boolean`; `maxHistoryLength?`: `number`; `timeout?`: `number`; \} | - |
| `options.history.enable?` | `boolean` | - |
| `options.history.maxHistoryLength?` | `number` | Limit of history length |
| `options.history.timeout?` | `number` | Delay on every change |
| `options.imageeditor?` | \{ `min_width?`: `number`; `min_height?`: `number`; `closeAfterSave?`: `boolean`; `width?`: `string` \| `number`; `height?`: `string` \| `number`; `crop?`: `boolean`; `resize?`: `boolean`; `resizeUseRatio?`: `boolean`; `resizeMinWidth?`: `number`; `resizeMinHeight?`: `number`; `cropUseRatio?`: `boolean`; `cropDefaultWidth?`: `string` \| `number`; `cropDefaultHeight?`: `string` \| `number`; \} | - |
| `options.imageeditor.min_width?` | `number` | - |
| `options.imageeditor.min_height?` | `number` | - |
| `options.imageeditor.closeAfterSave?` | `boolean` | Close editor after save image |
| `options.imageeditor.width?` | `string` \| `number` | Default dialog width by screen |
| `options.imageeditor.height?` | `string` \| `number` | Default dialog height by screen |
| `options.imageeditor.crop?` | `boolean` | Show tab cropping |
| `options.imageeditor.resize?` | `boolean` | Show tab resizing |
| `options.imageeditor.resizeUseRatio?` | `boolean` | Keep aspect ratio on resize |
| `options.imageeditor.resizeMinWidth?` | `number` | Minimal width on resize |
| `options.imageeditor.resizeMinHeight?` | `number` | Minimal height on resize |
| `options.imageeditor.cropUseRatio?` | `boolean` | Keep aspect ratio on crop |
| `options.imageeditor.cropDefaultWidth?` | `string` \| `number` | In the tab, crop the image is displayed not in real size |
| `options.imageeditor.cropDefaultHeight?` | `string` \| `number` | - |
| `options.enableDragAndDropFileToEditor?` | `boolean` | Enable drag and drop file editor |
| `options.uploader?` | \{ `url?`: `string` \| \{ \}; `insertImageAsBase64URI?`: `boolean`; `showTabInFileSelector?`: `boolean`; `imagesExtensions?`: (`string` \| `undefined`)[]; `headers?`: \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null`; `data?`: `object` \| `null`; `format?`: `string`; `method?`: `string`; `filesVariableName?`: \{ \}; `processFileName?`: \{ \}; `getDisplayName?`: \{ \}; `pathVariableName?`: `string`; `withCredentials?`: `boolean`; `beforeUpload?`: \{ \}; `prepareData?`: \{ \}; `buildData?`: \{ \}; `queryBuild?`: \{ \}; `isSuccess?`: \{ \}; `getMessage?`: \{ \}; `process?`: \{ \}; `error?`: \{ \}; `defaultHandlerSuccess?`: \{ \}; `defaultHandlerError?`: \{ \}; `contentType?`: \{ \}; `customUploadFunction?`: \{ \}; \} | - |
| `options.uploader.url?` | `string` \| \{ \} | - |
| `options.uploader.insertImageAsBase64URI?` | `boolean` | - |
| `options.uploader.showTabInFileSelector?` | `boolean` | Show the `Upload` tab in the image/file insert popup. Set to `false` when the uploader is configured only for the file browser and direct drag-and-drop upload should not be offered. **Default** `true` **Example** `Jodit.make('#editor', {   uploader: {     url: 'https://example.com/upload',     showTabInFileSelector: false   } });` |
| `options.uploader.imagesExtensions?` | (`string` \| `undefined`)[] | List of extensions for images **Default** `['jpg', 'png', 'jpeg', 'gif']` **Example** `Jodit.make('#editor', {   uploader: {     insertImageAsBase64URI: true,     imagesExtensions: ['jpg', 'png', 'jpeg', 'gif', 'svg', 'webp']   } });` |
| `options.uploader.headers?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} \| \{ \} \| `null` | - |
| `options.uploader.data?` | `object` \| `null` | - |
| `options.uploader.format?` | `string` | - |
| `options.uploader.method?` | `string` | - |
| `options.uploader.filesVariableName?` | \{ \} | - |
| `options.uploader.processFileName?` | \{ \} | - |
| `options.uploader.getDisplayName?` | \{ \} | - |
| `options.uploader.pathVariableName?` | `string` | - |
| `options.uploader.withCredentials?` | `boolean` | - |
| `options.uploader.beforeUpload?` | \{ \} | Called with the list of files right before they are uploaded (or read as base64). Return `false` to abort the whole upload — useful for client side validation (size, type, count). Throwing an Error also aborts and routes the message through the uploader error handler. `Jodit.make('#editor', {   uploader: {     url: '...',     beforeUpload(files) {       for (const file of files) {         if (file.size > 2 * 1024 * 1024) {           this.jodit.message.error('Max 2MB');           return false;         }       }     }   } });` |
| `options.uploader.prepareData?` | \{ \} | - |
| `options.uploader.buildData?` | \{ \} | - |
| `options.uploader.queryBuild?` | \{ \} | - |
| `options.uploader.isSuccess?` | \{ \} | - |
| `options.uploader.getMessage?` | \{ \} | - |
| `options.uploader.process?` | \{ \} | - |
| `options.uploader.error?` | \{ \} | - |
| `options.uploader.defaultHandlerSuccess?` | \{ \} | - |
| `options.uploader.defaultHandlerError?` | \{ \} | - |
| `options.uploader.contentType?` | \{ \} | - |
| `options.uploader.customUploadFunction?` | \{ \} | This method can be used to replace the function of uploading files `Jodit.make('#editor', {   uploader: {     customUploadFunction: (requestData, showProgress) => fetch(requestData).then((res)=>{       showProgress(100)       return res.json()     })   } });` |
| `options.addNewLine?` | `boolean` | Show a green "add paragraph" bar when the cursor hovers near the top or bottom edge of certain block elements (tables, images, iframes, etc.) |
| `options.addNewLineTagsTriggers?` | ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[] | Block-level tag names near which the "add new line" bar will appear |
| `options.addNewLineOnDBLClick?` | `boolean` | On dbl click on empty space of editor it add new P element `Jodit.make('#editor', { addNewLineOnDBLClick: false // disable })` |
| `options.addNewLineDeltaShow?` | `number` | Absolute delta between cursor position and edge(top or bottom) of element when show line |
| `options.aiAssistant?` | \{\[`key`: `string`\]: `string` \| \{ \} \| `undefined`; `aiAssistantCallback?`: \{ \}; `aiCommonPrefixPrompt?`: `string`; `aiCommonSuffixPrompt?`: `string`; `aiImproveWritingPrompt?`: `string`; `aiMakeShorterPrompt?`: `string`; `aiMakeLongerPrompt?`: `string`; `aiSimplifyLanguagePrompt?`: `string`; `aiSummarizePrompt?`: `string`; `aiContinuePrompt?`: `string`; `aiChangeToneProfessionalPrompt?`: `string`; `aiChangeToneFriendlyPrompt?`: `string`; `aiChangeToneFormalPrompt?`: `string`; `aiChangeToneCasualPrompt?`: `string`; `aiChangeToneDirectPrompt?`: `string`; `aiChangeToneConfidentPrompt?`: `string`; `aiChangeStyleBusinessPrompt?`: `string`; `aiChangeStyleLegalPrompt?`: `string`; `aiChangeStyleJournalismPrompt?`: `string`; `aiChangeStylePoeticPrompt?`: `string`; `aiTranslateToSpanishPrompt?`: `string`; `aiTranslateToFrenchPrompt?`: `string`; `aiTranslateToGermanPrompt?`: `string`; `aiTranslateToItalianPrompt?`: `string`; `aiTranslateToPortuguesePrompt?`: `string`; `aiTranslateToEnglishPrompt?`: `string`; `aiTranslateToChinesePrompt?`: `string`; `aiTranslateToJapanesePrompt?`: `string`; `aiTranslateToKoreanPrompt?`: `string`; `aiTranslateToRussianPrompt?`: `string`; `aiTranslateToArabicPrompt?`: `string`; \} | - |
| `options.aiAssistant.aiAssistantCallback?` | \{ \} | Callback function for AI assistant to process and return the result |
| `options.aiAssistant.aiCommonPrefixPrompt?` | `string` | Prompt for common prefix |
| `options.aiAssistant.aiCommonSuffixPrompt?` | `string` | Prompt for common suffix |
| `options.aiAssistant.aiImproveWritingPrompt?` | `string` | Prompt for improving writing quality |
| `options.aiAssistant.aiMakeShorterPrompt?` | `string` | Prompt for making text shorter |
| `options.aiAssistant.aiMakeLongerPrompt?` | `string` | Prompt for making text longer |
| `options.aiAssistant.aiSimplifyLanguagePrompt?` | `string` | Prompt for simplifying language |
| `options.aiAssistant.aiSummarizePrompt?` | `string` | Prompt for summarizing text |
| `options.aiAssistant.aiContinuePrompt?` | `string` | Prompt for continuing text |
| `options.aiAssistant.aiChangeToneProfessionalPrompt?` | `string` | Prompt for changing tone to professional |
| `options.aiAssistant.aiChangeToneFriendlyPrompt?` | `string` | Prompt for changing tone to friendly |
| `options.aiAssistant.aiChangeToneFormalPrompt?` | `string` | Prompt for changing tone to formal |
| `options.aiAssistant.aiChangeToneCasualPrompt?` | `string` | Prompt for changing tone to casual |
| `options.aiAssistant.aiChangeToneDirectPrompt?` | `string` | Prompt for changing tone to direct |
| `options.aiAssistant.aiChangeToneConfidentPrompt?` | `string` | Prompt for changing tone to confident |
| `options.aiAssistant.aiChangeStyleBusinessPrompt?` | `string` | Prompt for changing style to business |
| `options.aiAssistant.aiChangeStyleLegalPrompt?` | `string` | Prompt for changing style to legal |
| `options.aiAssistant.aiChangeStyleJournalismPrompt?` | `string` | Prompt for changing style to journalism |
| `options.aiAssistant.aiChangeStylePoeticPrompt?` | `string` | Prompt for changing style to poetic |
| `options.aiAssistant.aiTranslateToSpanishPrompt?` | `string` | Prompt for translating text to Spanish |
| `options.aiAssistant.aiTranslateToFrenchPrompt?` | `string` | Prompt for translating text to French |
| `options.aiAssistant.aiTranslateToGermanPrompt?` | `string` | Prompt for translating text to German |
| `options.aiAssistant.aiTranslateToItalianPrompt?` | `string` | Prompt for translating text to Italian |
| `options.aiAssistant.aiTranslateToPortuguesePrompt?` | `string` | Prompt for translating text to Portuguese |
| `options.aiAssistant.aiTranslateToEnglishPrompt?` | `string` | Prompt for translating text to English |
| `options.aiAssistant.aiTranslateToChinesePrompt?` | `string` | Prompt for translating text to Chinese |
| `options.aiAssistant.aiTranslateToJapanesePrompt?` | `string` | Prompt for translating text to Japanese |
| `options.aiAssistant.aiTranslateToKoreanPrompt?` | `string` | Prompt for translating text to Korean |
| `options.aiAssistant.aiTranslateToRussianPrompt?` | `string` | Prompt for translating text to Russian |
| `options.aiAssistant.aiTranslateToArabicPrompt?` | `string` | Prompt for translating text to Arabic |
| `options.delete?` | \{ `hotkeys?`: \{ `delete?`: (`string` \| `undefined`)[]; `deleteWord?`: (`string` \| `undefined`)[]; `deleteSentence?`: (`string` \| `undefined`)[]; `backspace?`: (`string` \| `undefined`)[]; `backspaceWord?`: (`string` \| `undefined`)[]; `backspaceSentence?`: (`string` \| `undefined`)[]; \}; `disableCases?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; \} | Keyboard hotkey mappings for delete and backspace operations (character, word, sentence). |
| `options.delete.hotkeys?` | \{ `delete?`: (`string` \| `undefined`)[]; `deleteWord?`: (`string` \| `undefined`)[]; `deleteSentence?`: (`string` \| `undefined`)[]; `backspace?`: (`string` \| `undefined`)[]; `backspaceWord?`: (`string` \| `undefined`)[]; `backspaceSentence?`: (`string` \| `undefined`)[]; \} | - |
| `options.delete.hotkeys.delete?` | (`string` \| `undefined`)[] | - |
| `options.delete.hotkeys.deleteWord?` | (`string` \| `undefined`)[] | - |
| `options.delete.hotkeys.deleteSentence?` | (`string` \| `undefined`)[] | - |
| `options.delete.hotkeys.backspace?` | (`string` \| `undefined`)[] | - |
| `options.delete.hotkeys.backspaceWord?` | (`string` \| `undefined`)[] | - |
| `options.delete.hotkeys.backspaceSentence?` | (`string` \| `undefined`)[] | - |
| `options.delete.disableCases?` | \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} | Disable specific Backspace/Delete cleanup cases by their stable key, so the plugin no longer applies that particular behavior. Available keys: `remove-unbreakable`, `remove-not-editable`, `remove-char`, `table-cell`, `remove-empty-parent`, `remove-empty-neighbor`, `join-two-lists`, `join-neighbors`, `unwrap-first-list-item`. `Jodit.make('#editor', {    delete: { disableCases: new Set(['remove-empty-parent']) } });` |
| `options.delete.disableCases.add?` | \{ \} | - |
| `options.delete.disableCases.clear?` | \{ \} | - |
| `options.delete.disableCases.delete?` | \{ \} | - |
| `options.delete.disableCases.forEach?` | \{ \} | - |
| `options.delete.disableCases.has?` | \{ \} | - |
| `options.delete.disableCases.size?` | `number` |  |
| `options.delete.disableCases.[iterator]?` | \{ \} | - |
| `options.delete.disableCases.entries?` | \{ \} | - |
| `options.delete.disableCases.keys?` | \{ \} | - |
| `options.delete.disableCases.values?` | \{ \} | - |
| `options.delete.disableCases.[toStringTag]?` | `string` | - |
| `options.delete.disableCases.union?` | \{ \} | - |
| `options.delete.disableCases.intersection?` | \{ \} | - |
| `options.delete.disableCases.difference?` | \{ \} | - |
| `options.delete.disableCases.symmetricDifference?` | \{ \} | - |
| `options.delete.disableCases.isSubsetOf?` | \{ \} | - |
| `options.delete.disableCases.isSupersetOf?` | \{ \} | - |
| `options.delete.disableCases.isDisjointFrom?` | \{ \} | - |
| `options.cleanHTML?` | \{ `timeout?`: `number`; `replaceNBSP?`: `boolean`; `fillEmptyParagraph?`: `boolean`; `removeEmptyElements?`: `boolean`; `collapseEmptyValueToEmptyString?`: `boolean`; `replaceOldTags?`: `false` \| \{\[`key`: `string`\]: [`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`; \}; `useIframeSandbox?`: `boolean`; `removeOnError?`: `boolean`; `removeEventAttributes?`: `boolean`; `safeJavaScriptLink?`: `boolean`; `safeLinksTarget?`: `boolean`; `allowedStyles?`: `false` \| \{\[`key`: `string`\]: (`string` \| `undefined`)[] \| `undefined`; \}; `sanitizer?`: `false` \| \{ \}; `sandboxIframesInContent?`: `boolean`; `convertUnsafeEmbeds?`: `false` \| (`string` \| `undefined`)[]; `allowTags?`: `string` \| `false` \| \{\[`key`: `string`\]: `string` \| `undefined`; \}; `denyTags?`: `string` \| `false` \| \{\[`key`: `string`\]: `string` \| `undefined`; \}; `disableCleanFilter?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} \| `null`; \} | - |
| `options.cleanHTML.timeout?` | `number` | - |
| `options.cleanHTML.replaceNBSP?` | `boolean` | Replace &amp;nbsp; to plain space |
| `options.cleanHTML.fillEmptyParagraph?` | `boolean` | Remove empty P tags, if they are not in the beginning of the text |
| `options.cleanHTML.removeEmptyElements?` | `boolean` | Remove empty elements |
| `options.cleanHTML.collapseEmptyValueToEmptyString?` | `boolean` | Return an empty string from `editor.value` (and the synced source element) when the editor holds only a single empty block — e.g. `<p><br></p>` left after the user deletes all the content. `contenteditable` keeps that caret container in the DOM, so by default the value getter returns it as-is; enable this to collapse it to `''` for form submission. |
| `options.cleanHTML.replaceOldTags?` | `false` \| \{\[`key`: `string`\]: [`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`; \} | Replace old tags to new eg. <i> to <em>, <b> to <strong> |
| `options.cleanHTML.useIframeSandbox?` | `boolean` | You can use an iframe with the sandbox attribute to safely paste and test HTML code. It prevents scripts and handlers from running, but it does slow things down. `Jodit.make('#editor', {    cleanHTML: {       useIframeSandbox: true    }   });` |
| `options.cleanHTML.removeOnError?` | `boolean` | **Deprecated** Use `removeEventAttributes` instead Remove onError attributes |
| `options.cleanHTML.removeEventAttributes?` | `boolean` | Remove all `on*` event handler attributes (onerror, onclick, onload, onmouseover, etc.) When enabled, this replaces the legacy `removeOnError` behavior with comprehensive protection. `Jodit.make('#editor', {    cleanHTML: {       removeEventAttributes: true    } });` |
| `options.cleanHTML.safeJavaScriptLink?` | `boolean` | Safe href="javascript:" links |
| `options.cleanHTML.safeLinksTarget?` | `boolean` | Automatically add `rel="noopener noreferrer"` to links with `target="_blank"` `Jodit.make('#editor', {    cleanHTML: {       safeLinksTarget: true    } });` |
| `options.cleanHTML.allowedStyles?` | `false` \| \{\[`key`: `string`\]: (`string` \| `undefined`)[] \| `undefined`; \} | Whitelist of allowed CSS properties inside `style` attributes. If set, all CSS properties not in the list will be removed. `Jodit.make('#editor', { cleanHTML: { allowedStyles: { '*': ['color', 'background-color', 'font-size', 'text-align'], img: ['width', 'height'] } } });` |
| `options.cleanHTML.sanitizer?` | `false` \| \{ \} | Custom sanitizer function. Called after Jodit's built-in sanitization. Use this to integrate DOMPurify or other external sanitizers. `import DOMPurify from 'dompurify'; Jodit.make('#editor', { cleanHTML: { sanitizer: (html) => DOMPurify.sanitize(html) } });` |
| `options.cleanHTML.sandboxIframesInContent?` | `boolean` | Automatically add `sandbox=""` attribute to all `<iframe>` elements in editor content. Prevents embedded content from running scripts or accessing the parent page. `Jodit.make('#editor', { cleanHTML: { sandboxIframesInContent: true } });` |
| `options.cleanHTML.convertUnsafeEmbeds?` | `false` \| (`string` \| `undefined`)[] | Convert unsafe embed elements to sandboxed `<iframe>`. - `['object', 'embed']` — default - `false` — disabled - `string[]` — custom list of tag names to convert `Jodit.make('#editor', { cleanHTML: { convertUnsafeEmbeds: Jodit.atom(['object', 'embed', 'applet']) } });` |
| `options.cleanHTML.allowTags?` | `string` \| `false` \| \{\[`key`: `string`\]: `string` \| `undefined`; \} | The allowTags option defines which elements will remain in the edited text when the editor saves. You can use this limit the returned HTML. `const jodit = new Jodit.make('#editor', { cleanHTML: { cleanOnPaste: false } });` `const editor = Jodit.make('#editor', { cleanHTML: { allowTags: 'p,a[href],table,tr,td, img[src=1.png]' // allow only <p>,<a>,<table>,<tr>,<td>,<img> tags and for <a> allow only `href` attribute and <img> allow only `src` attribute == '1.png' } }); editor.value = 'Sorry! <strong>Goodby</strong>\ <span>mr.</span> <a style="color:red" href="https://xdsoft.net">Freeman</a>'; console.log(editor.value); //Sorry! <a href="https://xdsoft.net">Freeman</a>` `const editor = Jodit.make('#editor', { cleanHTML: { allowTags: { p: true, a: { href: true }, table: true, tr: true, td: true, img: { src: '1.png' } } } });` |
| `options.cleanHTML.denyTags?` | `string` \| `false` \| \{\[`key`: `string`\]: `string` \| `undefined`; \} | - |
| `options.cleanHTML.disableCleanFilter?` | \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} \| `null` | Node filtering rules that do not need to be applied to content The full list of rules is generated dynamically from the folder https://github.com/xdan/jodit/tree/main/src/plugins/clean-html/helpers/visitor/filters |
| `options.draggableTags?` | `string` \| (`string` \| `undefined`)[] | Draggable elements |
| `options.dtd?` | \{ `removeExtraBr?`: `boolean`; `checkBlockNesting?`: `boolean`; `blockLimits?`: \{\[`key`: `string`\]: `1` \| `undefined`; \}; \} | - |
| `options.dtd.removeExtraBr?` | `boolean` | Remove extra br element inside block element after pasting |
| `options.dtd.checkBlockNesting?` | `boolean` | Check when inserting a block element if it can be inside another block element (according `blockLimits`) |
| `options.dtd.blockLimits?` | \{\[`key`: `string`\]: `1` \| `undefined`; \} | List of elements that contain other blocks |
| `options.autofocus?` | `boolean` | - |
| `options.cursorAfterAutofocus?` | `"end"` \| `"start"` | - |
| `options.saveSelectionOnBlur?` | `boolean` | - |
| `options.defaultFontSizePoints?` | `"px"` \| `"pt"` | - |
| `options.fullsize?` | `boolean` | Open WYSIWYG in full screen `var editor = Jodit.make({ fullsize: true // fullsize editor });` `var editor = Jodit.make(); editor.e.fire('toggleFullSize'); editor.e.fire('toggleFullSize', true); // fullsize editor.e.fire('toggleFullSize', false); // usual mode` |
| `options.globalFullSize?` | `boolean` | True, after `fullsize` - all editors elements above jodit will get `jodit_fullsize-box_true` class (z-index: 100000 !important;) |
| `options.iframeDefaultSrc?` | `string` | You can redefine default page `Jodit.make('#editor', { iframe: true, iframeDefaultSrc: 'https://xdsoft.net/jodit/docs/', });` |
| `options.iframeBaseUrl?` | `string` | Base URL where the root directory for [Config.iframe](../options.html#iframe) mode `Jodit.make('#editor', { iframe: true, iframeBaseUrl: 'https://xdsoft.net/jodit/docs/', });` |
| `options.iframeTitle?` | `string` | Iframe title's content |
| `options.iframeDoctype?` | `string` | Iframe's DOCTYPE |
| `options.iframeStyle?` | `string` | Custom style to be used inside the iframe to display content. `Jodit.make('#editor', { iframe: true, iframeStyle: 'html{margin: 0px;}', })` |
| `options.iframeCSSLinks?` | (`string` \| `undefined`)[] | Custom stylesheet files to be used inside the iframe to display content. `Jodit.make('#editor', { iframe: true, iframeCSSLinks: ['styles/default.css'], })` |
| `options.iframeSandbox?` | `string` \| `null` | Custom sandbox attribute for the iframe. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#sandbox `Jodit.make('#editor', {     iframe: true,     iframeSandbox: 'allow-same-origin allow-scripts' });` Empty string value means that all restrictions are enabled. |
| `options.imageProcessor?` | \{ `replaceDataURIToBlobIdInView?`: `boolean`; \} | Options for processing images inserted into the editor (e.g. converting base64 data URIs to Blob URLs). |
| `options.imageProcessor.replaceDataURIToBlobIdInView?` | `boolean` | - |
| `options.image?` | \{ `dialogWidth?`: `number`; `openOnDblClick?`: `boolean`; `editSrc?`: `boolean`; `useImageEditor?`: `boolean`; `editTitle?`: `boolean`; `editAlt?`: `boolean`; `editLink?`: `boolean`; `editSize?`: `boolean`; `editMargins?`: `boolean`; `editBorderRadius?`: `boolean`; `editClass?`: `boolean`; `availableClasses?`: (`string` \| `undefined`)[] \| (\[`string`?, `string`?\] \| `undefined`)[]; `editStyle?`: `boolean`; `editId?`: `boolean`; `editAlign?`: `boolean`; `showPreview?`: `boolean`; `selectImageAfterClose?`: `boolean`; \} | Configuration for the image properties dialog (opened on double-click). Controls which editing tabs are available: src, alt, title, link, size, margins, classes, styles, etc. |
| `options.image.dialogWidth?` | `number` | - |
| `options.image.openOnDblClick?` | `boolean` | Open editing dialog after double click on image |
| `options.image.editSrc?` | `boolean` | Show edit 'src' input |
| `options.image.useImageEditor?` | `boolean` | Show crop/resize btn |
| `options.image.editTitle?` | `boolean` | Show edit 'title' input |
| `options.image.editAlt?` | `boolean` | Show edit 'alt' input |
| `options.image.editLink?` | `boolean` | Show edit image link's options |
| `options.image.editSize?` | `boolean` | Show edit image size's inputs |
| `options.image.editMargins?` | `boolean` | Show edit margin inputs |
| `options.image.editBorderRadius?` | `boolean` | - |
| `options.image.editClass?` | `boolean` | Show edit classNames input |
| `options.image.availableClasses?` | (`string` \| `undefined`)[] \| (\[`string`?, `string`?\] \| `undefined`)[] | Pre-define available classes to select from Classes can be provided as list of strings or as list of tuples `["classname", "human label"]`. **Example** `new Jodit('#editor', { image: { availableClasses: [ "rte-image-width-50", ["rte-image-width-75", "75 % width"] ] } })` |
| `options.image.editStyle?` | `boolean` | Show style edit input |
| `options.image.editId?` | `boolean` | Show edit ID input |
| `options.image.editAlign?` | `boolean` | Show Alignment selector |
| `options.image.showPreview?` | `boolean` | Show preview image |
| `options.image.selectImageAfterClose?` | `boolean` | Select image after close dialog |
| `options.indentMargin?` | `number` | The number of pixels to use for indenting the current line. |
| `options.popup?` | \{\[`key`: `string`\]: (`string` \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (... \| ...)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (... \| ...)[] \| \{\[`key`: `string`\]: ... \| ... \| ...; \} \| (... \| ...)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: ... \| ...; `sticky?`: ... \| ... \| ...; `unicode?`: ... \| ... \| ...; `[match]?`: ... \| ...; `[replace]?`: ... \| ...; `[search]?`: ... \| ...; `[split]?`: ... \| ...; `dotAll?`: ... \| ... \| ...; `[matchAll]?`: ... \| ...; `hasIndices?`: ... \| ... \| ...; `unicodeSets?`: ... \| ... \| ...; `exec?`: ... \| ...; `test?`: ... \| ...; `source?`: ... \| ...; `global?`: ... \| ... \| ...; `ignoreCase?`: ... \| ... \| ...; `multiline?`: ... \| ... \| ...; `lastIndex?`: ... \| ...; `compile?`: ... \| ...; \}; `tags?`: (... \| ...)[]; `css?`: \{\[`key`: `string`\]: ... \| ... \| ...; \}; `icon?`: `string` \| \{ `name?`: ... \| ...; `iconURL?`: ... \| ...; `fill?`: ... \| ...; `scale?`: ... \| ...; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (... \| ...)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: ... \| ...; \}; \} \| `undefined`)[] \| \{ \} \| `undefined`; \} | Element-specific popup toolbars. Keys are tag names (e.g. `img`, `a`, `cells`) and values are button lists or factory functions that return them. |
| `options.toolbarInlineDisabledButtons?` | (`string` \| `undefined`)[] | List of button names to exclude from the inline toolbar |
| `options.toolbarInline?` | `boolean` | Show an inline toolbar when the user clicks inside the editor area (e.g. near images, links) |
| `options.toolbarInlineForSelection?` | `boolean` | Show an inline toolbar when the user selects text |
| `options.toolbarInlineDisableFor?` | `string` \| (`string` \| `undefined`)[] | CSS selector or array of selectors for elements that should not trigger the inline toolbar |
| `options.limitWords?` | `number` \| `false` | Maximum number of words allowed in the editor. Set to `false` to disable the limit. |
| `options.limitChars?` | `number` \| `false` | Maximum number of characters allowed in the editor. Set to `false` to disable the limit. |
| `options.limitHTML?` | `false` | Maximum number of characters counted from the raw HTML source. Set to `false` to disable the limit. |
| `options.defaultLineHeight?` | `number` \| `null` | Default line spacing for the entire editor `Jodit.make('#editor', { defaultLineHeight: 1.2 })` |
| `options.link?` | \{ `formTemplate?`: \{ \}; `formClassName?`: `string`; `followOnDblClick?`: `boolean`; `processVideoLink?`: `boolean`; `processPastedLink?`: `boolean`; `deriveUrlFromText?`: `boolean`; `noFollowCheckbox?`: `boolean`; `openInNewTabCheckbox?`: `boolean`; `openInNewTabCheckboxDefaultChecked?`: `boolean`; `ariaLabelInput?`: `boolean`; `modeClassName?`: `"input"` \| `"select"`; `selectMultipleClassName?`: `boolean`; `selectSizeClassName?`: `number`; `selectOptionsClassName?`: (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[]; `hotkeys?`: (`string` \| `undefined`)[]; `preventReadOnlyNavigation?`: `boolean`; \} | - |
| `options.link.formTemplate?` | \{ \} | Template for the link dialog form |
| `options.link.formClassName?` | `string` | - |
| `options.link.followOnDblClick?` | `boolean` | Follow link address after dblclick |
| `options.link.processVideoLink?` | `boolean` | Replace inserted youtube/vimeo link to `iframe` |
| `options.link.processPastedLink?` | `boolean` | Wrap inserted link |
| `options.link.deriveUrlFromText?` | `boolean` | When opening the link dialog for a new link with an empty URL field, pre-fill it from the selected text if that text looks like a URL or an email address (`example.com` → `https://example.com`, `user@site.com` → `mailto:user@site.com`). Plain text that is not a URL/email is left untouched. Default: false. |
| `options.link.noFollowCheckbox?` | `boolean` | Show `no follow` checkbox in link dialog. |
| `options.link.openInNewTabCheckbox?` | `boolean` | Show `Open in new tab` checkbox in link dialog. |
| `options.link.openInNewTabCheckboxDefaultChecked?` | `boolean` | Default value for the `Open in new tab` checkbox when inserting a new link. |
| `options.link.ariaLabelInput?` | `boolean` | Show an `aria-label` text input in the link dialog so an accessible name can be set on the `<a>` (useful when several links share the same visible text, e.g. "here"). Default: false. |
| `options.link.modeClassName?` | `"input"` \| `"select"` | Use an input text to ask the classname or a select or not ask |
| `options.link.selectMultipleClassName?` | `boolean` | Allow multiple choises (to use with modeClassName="select") |
| `options.link.selectSizeClassName?` | `number` | The size of the select (to use with modeClassName="select") |
| `options.link.selectOptionsClassName?` | (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[] | The list of the option for the select (to use with modeClassName="select") |
| `options.link.hotkeys?` | (`string` \| `undefined`)[] | - |
| `options.link.preventReadOnlyNavigation?` | `boolean` | Prevent navigation to the link if it is readonly. Default: true |
| `options.mediaInFakeBlock?` | `boolean` | Decorate media elements |
| `options.mediaFakeTag?` | `string` | Decorate media element with tag |
| `options.mediaBlocks?` | (`string` \| `undefined`)[] | Media tags |
| `options.mobileTapTimeout?` | `number` | Mobile timeout for CLICK emulation |
| `options.toolbarAdaptive?` | `boolean` | After resizing, the set of buttons will change to accommodate different sizes. |
| `options.buttonsMD?` | `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[] | The list of buttons that appear in the editor's toolbar for medium-sized spaces (≥ options.sizeMD). The set is constrained to `buttons`: resizing may only drop buttons on smaller widths, never surface a button that is not in `buttons`. So if you customise only `buttons` and leave this at its default, a narrow editor still shows just your `buttons`. Set this explicitly (as a subset of `buttons`) to get a different medium-width set. |
| `options.buttonsSM?` | `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[] | The list of buttons that appear in the editor's toolbar for small-sized spaces (≥ options.sizeSM). Constrained to `buttons` — see [buttonsMD](../options.html#buttonsmd). |
| `options.buttonsXS?` | `string` \| (`string` \| \{ `group?`: `string`; `buttons?`: (`string` \| \{ `name?`: ... \| ...; `text?`: ... \| ...; `textTemplate?`: ... \| ...; `mode?`: ... \| ...; `hotkeys?`: ... \| ... \| ...; `data?`: ... \| ...; `isInput?`: ... \| ... \| ...; `component?`: ... \| ... \| ...; `isVisible?`: ... \| ...; `isActive?`: ... \| ...; `update?`: ... \| ...; `isChildActive?`: ... \| ...; `getContent?`: ... \| ...; `isDisabled?`: ... \| ...; `isChildDisabled?`: ... \| ...; `list?`: ... \| ... \| ... \| ...; `command?`: ... \| ...; `tagRegExp?`: ... \| ...; `tags?`: ... \| ...; `css?`: ... \| ...; `icon?`: ... \| ... \| ...; `iconURL?`: ... \| ...; `tooltip?`: ... \| ... \| ...; `exec?`: ... \| ...; `childExec?`: ... \| ...; `args?`: ... \| ...; `template?`: ... \| ...; `childTemplate?`: ... \| ...; `popup?`: ... \| ...; `defaultValue?`: ... \| ... \| ...; `value?`: ... \| ...; `mods?`: ... \| ...; \} \| `undefined`)[]; \} \| \{ `name?`: `string`; `text?`: `string`; `textTemplate?`: \{ \}; `mode?`: [`Modes`](../modules/types.html#modes); `hotkeys?`: `string` \| (`string` \| `undefined`)[]; `data?`: \{\[`key`: `string`\]: `any`; \}; `isInput?`: `boolean`; `component?`: `"button"` \| `"select"`; `isVisible?`: \{ \}; `isActive?`: \{ \}; `update?`: \{ \}; `isChildActive?`: \{ \}; `getContent?`: \{ \}; `isDisabled?`: \{ \}; `isChildDisabled?`: \{ \}; `list?`: (`string` \| `undefined`)[] \| \{\[`key`: `string`\]: `string` \| `number` \| `undefined`; \} \| (`number` \| `undefined`)[]; `command?`: `string`; `tagRegExp?`: \{ `flags?`: `string`; `sticky?`: `boolean`; `unicode?`: `boolean`; `[match]?`: \{ \}; `[replace]?`: \{ \}; `[search]?`: \{ \}; `[split]?`: \{ \}; `dotAll?`: `boolean`; `[matchAll]?`: \{ \}; `hasIndices?`: `boolean`; `unicodeSets?`: `boolean`; `exec?`: \{ \}; `test?`: \{ \}; `source?`: `string`; `global?`: `boolean`; `ignoreCase?`: `boolean`; `multiline?`: `boolean`; `lastIndex?`: `number`; `compile?`: \{ \}; \}; `tags?`: ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[]; `css?`: \{\[`key`: `string`\]: `string` \| (... \| ...)[] \| `undefined`; \}; `icon?`: `string` \| \{ `name?`: `string`; `iconURL?`: `string`; `fill?`: `string`; `scale?`: `number`; \}; `iconURL?`: `string`; `tooltip?`: `string` \| \{ \}; `exec?`: \{ \}; `childExec?`: \{ \}; `args?`: `any`[]; `template?`: \{ \}; `childTemplate?`: \{ \}; `popup?`: \{ \}; `defaultValue?`: `string` \| (`string` \| `undefined`)[]; `value?`: \{ \}; `mods?`: \{\[`key`: `string`\]: [`ModType`](../modules/types.html#modtype) \| `undefined`; \}; \} \| `undefined`)[] | The list of buttons that appear in the editor's toolbar for extra-small spaces (less than options.sizeSM). Constrained to `buttons` — see [buttonsMD](../options.html#buttonsmd). |
| `options.askBeforePasteFromWord?` | `boolean` | Show the paste dialog if the html is similar to what MSWord gives when copying. |
| `options.processPasteFromWord?` | `boolean` | Handle pasting of HTML - similar to a fragment copied from MSWord |
| `options.defaultActionOnPasteFromWord?` | [`InsertMode`](../modules/types.html#insertmode) \| `null` | Default insert method from word, if not define, it will use defaultActionOnPaste instead `Jodit.make('#editor', { defaultActionOnPasteFromWord: 'insert_clear_html' })` |
| `options.pasteFromWordActionList?` | (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[] | Options when inserting data from Word |
| `options.askBeforePasteHTML?` | `boolean` | Ask before paste HTML in WYSIWYG mode |
| `options.memorizeChoiceWhenPasteFragment?` | `boolean` | When the user inserts a snippet of HTML, the plugin will prompt for the insertion method. If the user inserts the same fragment again, the previously selected option will be used without prompting for confirmation. |
| `options.processPasteHTML?` | `boolean` | Handle pasted text - similar to HTML |
| `options.nl2brInPlainText?` | `boolean` | Inserts HTML line breaks before all newlines in a string |
| `options.pasteExcludeStripTags?` | ([`HTMLTagNames`](../modules/types.html#htmltagnames) \| `undefined`)[] | List of tags that will not be removed from the pasted HTML with INSERT_AS_TEXT mode |
| `options.pasteHTMLActionList?` | (\{ `value?`: `string` \| `number` \| `boolean`; `text?`: `string`; \} \| `undefined`)[] | Options when inserting HTML string |
| `options.scrollToPastedContent?` | `boolean` | Scroll the editor to the pasted fragment |
| `options.showPlaceholder?` | `boolean` | Show placeholder `const editor = Jodit.make('#editor', { showPlaceholder: false });` |
| `options.useInputsPlaceholder?` | `boolean` | Use a placeholder from original input field, if it was set `//<textarea id="editor" placeholder="start typing text ..." cols="30" rows="10"></textarea> const editor = Jodit.make('#editor', { useInputsPlaceholder: true });` |
| `options.placeholder?` | `string` | Default placeholder `const editor = Jodit.make('#editor', { placeholder: 'start typing text ...' });` |
| `options.hidePoweredByJodit?` | `boolean` | Hide the link to the Jodit site at the bottom of the editor |
| `options.tableAllowCellResize?` | `boolean` | Allow users to resize table cells by dragging the cell borders |
| `options.allowResizeX?` | `boolean` | Allow the user to resize the editor horizontally by dragging the resize handle |
| `options.allowResizeY?` | `boolean` | Allow the user to resize the editor vertically by dragging the resize handle |
| `options.allowResizeTags?` | \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} | Set of HTML tag names whose elements can be resized by the user via drag handles (e.g. images, iframes, tables) |
| `options.allowResizeTags.add?` | \{ \} | - |
| `options.allowResizeTags.clear?` | \{ \} | - |
| `options.allowResizeTags.delete?` | \{ \} | - |
| `options.allowResizeTags.forEach?` | \{ \} | - |
| `options.allowResizeTags.has?` | \{ \} | - |
| `options.allowResizeTags.size?` | `number` |  |
| `options.allowResizeTags.[iterator]?` | \{ \} | - |
| `options.allowResizeTags.entries?` | \{ \} | - |
| `options.allowResizeTags.keys?` | \{ \} | - |
| `options.allowResizeTags.values?` | \{ \} | - |
| `options.allowResizeTags.[toStringTag]?` | `string` | - |
| `options.allowResizeTags.union?` | \{ \} | - |
| `options.allowResizeTags.intersection?` | \{ \} | - |
| `options.allowResizeTags.difference?` | \{ \} | - |
| `options.allowResizeTags.symmetricDifference?` | \{ \} | - |
| `options.allowResizeTags.isSubsetOf?` | \{ \} | - |
| `options.allowResizeTags.isSupersetOf?` | \{ \} | - |
| `options.allowResizeTags.isDisjointFrom?` | \{ \} | - |
| `options.resizer?` | \{ `showSize?`: `boolean`; `hideSizeTimeout?`: `number`; `useAspectRatio?`: `boolean` \| \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; `forImageChangeAttributes?`: `boolean`; `min_width?`: `number`; `min_height?`: `number`; \} | - |
| `options.resizer.showSize?` | `boolean` | Show size |
| `options.resizer.hideSizeTimeout?` | `number` | - |
| `options.resizer.useAspectRatio?` | `boolean` \| \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} | Save width and height proportions when resizing `Jodit.make('#editor', { allowResizeTags: ['img', 'iframe', 'table', 'jodit'], resizer: { useAspectRatio: false, // don't save, useAspectRatio: ['img'], // save only for images (default value) useAspectRatio: true // save for all } });` |
| `options.resizer.forImageChangeAttributes?` | `boolean` | When resizing images, change not the styles but the width and height attributes |
| `options.resizer.min_width?` | `number` | The minimum width for the editable element |
| `options.resizer.min_height?` | `number` | The minimum height for the item being edited |
| `options.useSearch?` | `boolean` | Enable custom search plugin ![search](https://user-images.githubusercontent.com/794318/34545433-cd0a9220-f10e-11e7-8d26-7e22f66e266d.gif) |
| `options.search?` | \{ `lazyIdleTimeout?`: `number`; `useCustomHighlightAPI?`: `boolean`; `fuzzySearch?`: \{ \}; \} | - |
| `options.search.lazyIdleTimeout?` | `number` | - |
| `options.search.useCustomHighlightAPI?` | `boolean` | Use custom highlight API https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API or use default implementation (wrap text in span and attribute jd-tmp-selection) |
| `options.search.fuzzySearch?` | \{ \} | Function to search for a string within a substring. The default implementation is [[fuzzySearchIndex]] But you can write your own. It must implement the [FuzzySearch](../interfaces/types.FuzzySearch.html) interface. `Jodit.make('#editor', { search: { fuzzySearch: (needle, haystack, offset) => { return [haystack.toLowerCase().indexOf(needle.toLowerCase(), offset), needle.length]; } } })` |
| `options.tableAllowCellSelection?` | `boolean` | Allow users to select multiple table cells by clicking and dragging |
| `options.select?` | \{ `normalizeSelectionBeforeCutAndCopy?`: `boolean`; `normalizeTripleClick?`: `boolean`; \} | - |
| `options.select.normalizeSelectionBeforeCutAndCopy?` | `boolean` | When the user selects the elements of the list - from the beginning to the end from the inside - when copying, we change the selection to cover the entire selected container `<ul><li>|test|</li></ul>` will be `|<ul><li>test</li></ul>|` `<ul><li>|test|</li><li>|test</li></ul>` will be `<ul>|<li>test</li><li>|test</li></ul>` |
| `options.select.normalizeTripleClick?` | `boolean` | Normalize selection after triple click `<ul><li>|test</li><li>|pop</li></ul>` will be `<ul><li>|test|</li><li>pop</li</ul>|` |
| `options.saveHeightInStorage?` | `boolean` | - |
| `options.minWidth?` | `string` \| `number` | - |
| `options.minHeight?` | `string` \| `number` | - |
| `options.maxWidth?` | `string` \| `number` | - |
| `options.maxHeight?` | `string` \| `number` | - |
| `options.sourceEditor?` | `"area"` \| `"ace"` \| \{ \} | Which source-code editor to use: `'area'` for a plain textarea, `'ace'` to load the Ace editor, or a factory function that returns a custom source editor instance. |
| `options.sourceEditorNativeOptions?` | \{\[`key`: `string`\]: `string` \| `number` \| `boolean` \| `undefined`; `showGutter?`: `boolean`; `theme?`: `string`; `mode?`: `string`; `wrap?`: `string` \| `number` \| `boolean`; `highlightActiveLine?`: `boolean`; \} | Options for [ace](https://ace.c9.io/#config) editor. Besides the named keys below, any other native ACE option is forwarded to `editor.setOptions()` as is, so e.g. `fontSize`, `tabSize` or `useSoftTabs` work too. `Jodit.make('#editor', {   sourceEditorNativeOptions: {     showGutter: true,     theme: 'ace/theme/idle_fingers',     mode: 'ace/mode/html',     wrap: true,     highlightActiveLine: true,     fontSize: '16px'   } })` |
| `options.sourceEditorNativeOptions.showGutter?` | `boolean` | - |
| `options.sourceEditorNativeOptions.theme?` | `string` | - |
| `options.sourceEditorNativeOptions.mode?` | `string` | - |
| `options.sourceEditorNativeOptions.wrap?` | `string` \| `number` \| `boolean` | - |
| `options.sourceEditorNativeOptions.highlightActiveLine?` | `boolean` | - |
| `options.beautifyHTML?` | `boolean` | Beautify HTML then it possible |
| `options.beautifyHTMLCDNUrlsJS?` | (`string` \| `undefined`)[] | CDN URLs for HTML Beautifier |
| `options.sourceEditorCDNUrlsJS?` | (`string` \| `undefined`)[] | CDN URLs for ACE editor |
| `options.speechRecognize?` | \{ `api?`: \{ \} \| `null`; `lang?`: `string`; `continuous?`: `boolean`; `interimResults?`: `boolean`; `sound?`: `boolean`; `commands?`: \{\[`key`: `string`\]: `string` \| `undefined`; \}; \} | - |
| `options.speechRecognize.api?` | \{ \} \| `null` | - |
| `options.speechRecognize.lang?` | `string` | Returns and sets the language of the current SpeechRecognition. If not specified, this defaults to the HTML lang attribute value, or the user agent's language setting if that isn't set either. **See** https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/lang |
| `options.speechRecognize.continuous?` | `boolean` | Controls whether continuous results are returned for each recognition, or only a single result. **See** https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/continuous |
| `options.speechRecognize.interimResults?` | `boolean` | Controls whether interim results should be returned (true) or not (false.) Interim results are results that are not yet final (e.g. the isFinal property is false.) **See** https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/interimResults |
| `options.speechRecognize.sound?` | `boolean` | On recognition error - make an error sound |
| `options.speechRecognize.commands?` | \{\[`key`: `string`\]: `string` \| `undefined`; \} | You can specify any commands in your language by listing them with the `|` sign. In the value, write down any commands for [execCommand](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#parameters) and value (separated by ::) You can also use [custom Jodit commands](#need-article) For example `Jodit.make('#editor', { speechRecognize: { commands: { 'remove line|remove paragraph': 'backspaceSentenceButton', 'start bold': 'bold', 'insert table|create table': 'insertHTML::<table><tr><td>test</td></tr></table>', } } });` |
| `options.spellcheck?` | `boolean` | Options specifies whether the editor is to have its spelling and grammar checked or not **See** http://www.w3schools.com/tags/att_global_spellcheck.asp |
| `options.showCharsCounter?` | `boolean` | Display a character counter in the statusbar |
| `options.countHTMLChars?` | `boolean` | When true, count characters from the raw HTML source instead of visible text only |
| `options.countTextSpaces?` | `boolean` | When true, include whitespace characters in the character count |
| `options.showWordsCounter?` | `boolean` | Display a word counter in the statusbar |
| `options.toolbarSticky?` | `boolean` | Keep the toolbar visible at the top of the viewport when scrolling past the editor `var editor = Jodit.make('#someid', { toolbarSticky: false })` |
| `options.toolbarDisableStickyForMobile?` | `boolean` | Disable sticky toolbar on mobile devices to save screen space |
| `options.toolbarStickyOffset?` | `number` | For example, in Joomla, the top menu bar closes Jodit toolbar when scrolling. Therefore, it is necessary to move the toolbar Jodit by this amount [more](https://xdsoft.net/jodit/docs/#2.5.57) `var editor = Jodit.make('#someid', { toolbarStickyOffset: 100 })` |
| `options.specialCharacters?` | (`string` \| `undefined`)[] | Array of HTML entities or characters displayed in the special-characters picker |
| `options.usePopupForSpecialCharacters?` | `boolean` | When true, show the special-characters picker as a toolbar popup instead of a modal dialog |
| `options.tab?` | \{ `tabInsideLiInsertNewList?`: `boolean`; \} | - |
| `options.tab.tabInsideLiInsertNewList?` | `boolean` | Pressing Tab inside LI will add an internal list |
| `options.table?` | \{ `splitBlockOnInsertTable?`: `boolean`; `selectionCellStyle?`: `string`; `useExtraClassesOptions?`: `boolean`; \} | Options for table insertion and behavior. |
| `options.table.splitBlockOnInsertTable?` | `boolean` | - |
| `options.table.selectionCellStyle?` | `string` | - |
| `options.table.useExtraClassesOptions?` | `boolean` | - |
| `options.video?` | \{ `parseUrlToVideoEmbed?`: \{ \}; `defaultWidth?`: `number`; `defaultHeight?`: `number`; \} | - |
| `options.video.parseUrlToVideoEmbed?` | \{ \} | Custom function for parsing video URL to embed code `Jodit.make('#editor', {     video: {       // Defaul behavior       parseUrlToVideoEmbed: (url, size) => Jodit.modules.Helpers.convertMediaUrlToVideoEmbed(url, size)     } });` |
| `options.video.defaultWidth?` | `number` | Default width for video iframe. Default: 400 |
| `options.video.defaultHeight?` | `number` | Default height for video iframe. Default: 345 |
| `options.wrapNodes?` | \{ `exclude?`: \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \}; `emptyBlockAfterInit?`: `boolean`; \} | - |
| `options.wrapNodes.exclude?` | \{ `add?`: \{ \}; `clear?`: \{ \}; `delete?`: \{ \}; `forEach?`: \{ \}; `has?`: \{ \}; `size?`: `number`; `[iterator]?`: \{ \}; `entries?`: \{ \}; `keys?`: \{ \}; `values?`: \{ \}; `[toStringTag]?`: `string`; `union?`: \{ \}; `intersection?`: \{ \}; `difference?`: \{ \}; `symmetricDifference?`: \{ \}; `isSubsetOf?`: \{ \}; `isSupersetOf?`: \{ \}; `isDisjointFrom?`: \{ \}; \} | List of tags that should not be wrapped Default: `new Set(['hr', 'style', 'br'])` |
| `options.wrapNodes.exclude.add?` | \{ \} | - |
| `options.wrapNodes.exclude.clear?` | \{ \} | - |
| `options.wrapNodes.exclude.delete?` | \{ \} | - |
| `options.wrapNodes.exclude.forEach?` | \{ \} | - |
| `options.wrapNodes.exclude.has?` | \{ \} | - |
| `options.wrapNodes.exclude.size?` | `number` |  |
| `options.wrapNodes.exclude.[iterator]?` | \{ \} | - |
| `options.wrapNodes.exclude.entries?` | \{ \} | - |
| `options.wrapNodes.exclude.keys?` | \{ \} | - |
| `options.wrapNodes.exclude.values?` | \{ \} | - |
| `options.wrapNodes.exclude.[toStringTag]?` | `string` | - |
| `options.wrapNodes.exclude.union?` | \{ \} | - |
| `options.wrapNodes.exclude.intersection?` | \{ \} | - |
| `options.wrapNodes.exclude.difference?` | \{ \} | - |
| `options.wrapNodes.exclude.symmetricDifference?` | \{ \} | - |
| `options.wrapNodes.exclude.isSubsetOf?` | \{ \} | - |
| `options.wrapNodes.exclude.isSupersetOf?` | \{ \} | - |
| `options.wrapNodes.exclude.isDisjointFrom?` | \{ \} | - |
| `options.wrapNodes.emptyBlockAfterInit?` | `boolean` | If the editor is empty, then insert an empty paragraph into it `Jodit.make('#editor', {   wrapNodes: {     emptyBlockAfterInit: true   } });` Default: `true` |
| `options.showXPathInStatusbar?` | `boolean` | Show the element breadcrumb path (e.g. `body > p > strong`) in the statusbar |

#### Returns

`Jodit`

***

### isJoditAssigned()

`static` **isJoditAssigned**(`element`): `element is HTMLElement & { component: Jodit }`

Defined in: [src/jodit.ts:196](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L196)

Checks if the element has already been initialized when for Jodit

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Returns

`element is HTMLElement & { component: Jodit }`

***

### configure()

`static` **configure**(`options`): `void`

Defined in: [src/jodit.ts:256](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L256)

Deep-merges partial options into the global defaults without replacing
top-level objects. This lets you patch nested settings (e.g. a single
button inside `controls`) without losing the rest:

```js
// Add a custom button — all existing controls remain untouched
Jodit.configure({
  controls: {
    myButton: {
      icon: 'pencil',
      command: 'selectall'
    }
  }
});

// Override only the `group` of an existing button
Jodit.configure({
  controls: {
    someButton: { group: 'custom' }
  }
});

// Works with any nested option
Jodit.configure({
  createAttributes: {
    div: { class: 'my-class' }
  }
});

// Use Jodit.atom() to replace a nested value entirely instead of merging
Jodit.configure({
  controls: {
    fontsize: {
      list: Jodit.atom([8, 9, 10])
    }
  }
});
```

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `options` | [`IDictionary`](../modules/types.html#idictionary) |

#### Returns

`void`

#### See

 - [ConfigMerge](../modules/helpers_utils.html#configmerge) for the merge algorithm
 - [ConfigProto](../modules/helpers_utils.html#configproto) for per-instance prototype-based merge used at editor creation time

***

### setNativeEditorValue()

**setNativeEditorValue**(`value`): `void`

Defined in: [src/jodit.ts:502](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L502)

Set value to native editor

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `value` | `string` |

#### Returns

`void`

***

### getEditorValue()

**getEditorValue**(`removeSelectionMarkers?`, `consumer?`): `string`

Defined in: [src/jodit.ts:546](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L546)

Return editor value

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `removeSelectionMarkers` | `boolean` | `true` |
| `consumer?` | `string` | `undefined` |

#### Returns

`string`

***

### setEditorValue()

**setEditorValue**(`value?`): `void`

Defined in: [src/jodit.ts:610](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L610)

Set editor html value and if set sync fill source element value
When method was called without arguments - it is a simple way to synchronize editor to element

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `value?` | `string` |

#### Returns

`void`

***

### getElementValue()

**getElementValue**(): `string`

Defined in: [src/jodit.ts:696](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L696)

Return source element value

#### Returns

`string`

***

### registerCommand()

**registerCommand**\<`C`\>(`commandNameOriginal`, `command`, `options?`): [`IJodit`](../interfaces/types.IJodit.html)

Defined in: [src/jodit.ts:757](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L757)

Register custom handler for command

#### Type Parameters

| Type Parameter |
| ------ |
| `C` *extends* `string` |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `commandNameOriginal` | `C` |
| `command` | [`CustomCommand`](../modules/types.html#customcommand)\<[`IJodit`](../interfaces/types.IJodit.html), `C`\> |
| `options?` | \{ `stopPropagation`: `boolean`; \} |
| `options.stopPropagation?` | `boolean` |

#### Returns

[`IJodit`](../interfaces/types.IJodit.html)

#### Example

```javascript
var jodit = Jodit.make('#editor);

jodit.setEditorValue('test test test');

jodit.registerCommand('replaceString', function (command, needle, replace) {
     var value = this.getEditorValue();
     this.setEditorValue(value.replace(needle, replace));
     return false; // stop execute native command
});

jodit.execCommand('replaceString', 'test', 'stop');

console.log(jodit.value); // stop test

// and you can add hotkeys for command
jodit.registerCommand('replaceString', {
   hotkeys: 'ctrl+r',
   exec: function (command, needle, replace) {
    var value = this.getEditorValue();
    this.setEditorValue(value.replace(needle, replace));
   }
});

```

***

### registerHotkeyToCommand()

**registerHotkeyToCommand**(`hotkeys`, `commandName`, `shouldStop?`): `void`

Defined in: [src/jodit.ts:795](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L795)

Register hotkey for command

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `hotkeys` | `string` \| `string`[] | `undefined` |
| `commandName` | `string` | `undefined` |
| `shouldStop` | `boolean` | `true` |

#### Returns

`void`

***

### execCommand()

**execCommand**(`command`, `showUI?`, `value?`, ...`args`): `void`

Defined in: [src/jodit.ts:830](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L830)

Execute command editor

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `command` | `string` | command. It supports all the |
| `showUI?` | `boolean` | - |
| `value?` | `any` | - |
| ...`args?` | `unknown`[] | - |

#### Returns

`void`

#### See

https://developer.mozilla.org/ru/docs/Web/API/Document/execCommand#commands and a number of its own
for example applyStyleProperty. Comand fontSize receives the second parameter px,
formatBlock and can take several options

#### Example

```javascript
this.execCommand('fontSize', 12); // sets the size of 12 px
this.execCommand('underline');
this.execCommand('formatBlock', 'p'); // will be inserted paragraph
```

***

### nativeExecCommand()

**nativeExecCommand**(`command`, `showUI?`, `value?`): `boolean`

Defined in: [src/jodit.ts:922](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L922)

Exec native command

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `command` | `string` |
| `showUI?` | `boolean` |
| `value?` | `any` |

#### Returns

`boolean`

***

### lock()

**lock**(`name?`): `boolean`

Defined in: [src/jodit.ts:978](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L978)

Disable selecting

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `name` | `string` | `'any'` |

#### Returns

`boolean`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`lock`](./view.ViewWithToolbar.html#lock)

***

### unlock()

**unlock**(): `boolean`

Defined in: [src/jodit.ts:993](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L993)

Enable selecting

#### Returns

`boolean`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`unlock`](./view.ViewWithToolbar.html#unlock)

***

### getMode()

**getMode**(): [`Modes`](../modules/types.html#modes)

Defined in: [src/jodit.ts:1011](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1011)

Return current editor mode: Jodit.MODE_WYSIWYG, Jodit.MODE_SOURCE or Jodit.MODE_SPLIT

#### Returns

[`Modes`](../modules/types.html#modes)

***

### isEditorMode()

**isEditorMode**(): `boolean`

Defined in: [src/jodit.ts:1015](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1015)

#### Returns

`boolean`

***

### getRealMode()

**getRealMode**(): [`Modes`](../modules/types.html#modes)

Defined in: [src/jodit.ts:1030](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1030)

Return current real work mode. When editor in MODE_SOURCE or MODE_WYSIWYG it will
return them, but then editor in MODE_SPLIT it will return MODE_SOURCE if
Textarea(CodeMirror) focused or MODE_WYSIWYG otherwise

#### Returns

[`Modes`](../modules/types.html#modes)

#### Example

```javascript
var editor = Jodit.make('#editor');
console.log(editor.getRealMode());
```

***

### setMode()

**setMode**(`mode`): `void`

Defined in: [src/jodit.ts:1052](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1052)

Set current mode

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `mode` | `string` \| `number` |

#### Returns

`void`

***

### toggleMode()

**toggleMode**(): `void`

Defined in: [src/jodit.ts:1121](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1121)

Toggle editor mode WYSIWYG to TEXTAREA(CodeMirror) to SPLIT(WYSIWYG and TEXTAREA) to again WYSIWYG

#### Returns

`void`

#### Example

```javascript
var editor = Jodit.make('#editor');
editor.toggleMode();
```

***

### setDisabled()

**setDisabled**(`isDisabled`): `void`

Defined in: [src/jodit.ts:1144](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1144)

Switch on/off the editor into the disabled state.
When disabled, the user is not able to change the editor content
This function firing the `disabled` event.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `isDisabled` | `boolean` |

#### Returns

`void`

***

### getDisabled()

**getDisabled**(): `boolean`

Defined in: [src/jodit.ts:1162](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1162)

Return true if editor in disabled mode

#### Returns

`boolean`

***

### setReadOnly()

**setReadOnly**(`isReadOnly`): `void`

Defined in: [src/jodit.ts:1172](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1172)

Switch on/off the editor into the read-only state.
When in readonly, the user is not able to change the editor content, but can still
use some editor functions (show source code, print content, or seach).
This function firing the `readonly` event.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `isReadOnly` | `boolean` |

#### Returns

`void`

***

### getReadOnly()

**getReadOnly**(): `boolean`

Defined in: [src/jodit.ts:1192](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1192)

Return true if editor in read-only mode

#### Returns

`boolean`

***

### focus()

**focus**(): `void`

Defined in: [src/jodit.ts:1196](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1196)

#### Returns

`void`

***

### addPlace()

**addPlace**(`source`, `options?`): `void` \| [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`any`\>

Defined in: [src/jodit.ts:1336](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1336)

Create and init current editable place

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `source` | `string` \| [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `options?` | `object` |

#### Returns

`void` \| [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`any`\>

***

### setCurrentPlace()

**setCurrentPlace**(`place`): `void`

Defined in: [src/jodit.ts:1544](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1544)

Set current place object

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `place` | [`IWorkPlace`](../interfaces/types.IWorkPlace.html) |

#### Returns

`void`

***

### fetch()

**fetch**\<`Response`\>(`url`, `options?`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`IResponse`](../interfaces/types.IResponse.html)\<`Response`\>\>

Defined in: [src/jodit.ts:1745](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1745)

#### Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `Response` *extends* `object` | `any` |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `url` | `string` |
| `options?` | [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype)\<[`AjaxOptions`](../interfaces/types.AjaxOptions.html)\> |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`IResponse`](../interfaces/types.IResponse.html)\<`Response`\>\>

***

### destruct()

**destruct**(): `void`

Defined in: [src/jodit.ts:1775](https://github.com/xdan/jodit/blob/main/src/jodit.ts#L1775)

Jodit's Destructor. Remove editor, and return source input

#### Returns

`void`

#### Inherited from

[`ViewWithToolbar`](./view.ViewWithToolbar.html).[`destruct`](./view.ViewWithToolbar.html#destruct)
