jodit 4.9.9 → 4.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +5 -5
  4. package/es2015/jodit.js +217 -71
  5. package/es2015/jodit.min.js +5 -5
  6. package/es2015/plugins/debug/debug.css +1 -1
  7. package/es2015/plugins/debug/debug.js +1 -1
  8. package/es2015/plugins/debug/debug.min.js +1 -1
  9. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  12. package/es2018/jodit.fat.min.js +5 -5
  13. package/es2018/jodit.min.js +5 -5
  14. package/es2018/plugins/debug/debug.min.js +1 -1
  15. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  16. package/es2021/jodit.css +1 -1
  17. package/es2021/jodit.fat.min.js +5 -5
  18. package/es2021/jodit.js +217 -71
  19. package/es2021/jodit.min.js +5 -5
  20. package/es2021/plugins/debug/debug.css +1 -1
  21. package/es2021/plugins/debug/debug.js +1 -1
  22. package/es2021/plugins/debug/debug.min.js +1 -1
  23. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  24. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  25. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  26. package/es2021.en/jodit.css +1 -1
  27. package/es2021.en/jodit.fat.min.js +5 -5
  28. package/es2021.en/jodit.js +217 -71
  29. package/es2021.en/jodit.min.js +5 -5
  30. package/es2021.en/plugins/debug/debug.css +1 -1
  31. package/es2021.en/plugins/debug/debug.js +1 -1
  32. package/es2021.en/plugins/debug/debug.min.js +1 -1
  33. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  36. package/es5/jodit.css +2 -2
  37. package/es5/jodit.fat.min.js +2 -2
  38. package/es5/jodit.js +226 -71
  39. package/es5/jodit.min.css +2 -2
  40. package/es5/jodit.min.js +2 -2
  41. package/es5/plugins/debug/debug.css +1 -1
  42. package/es5/plugins/debug/debug.js +1 -1
  43. package/es5/plugins/debug/debug.min.js +1 -1
  44. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  45. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  46. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  47. package/es5/polyfills.fat.min.js +1 -1
  48. package/es5/polyfills.js +1 -1
  49. package/es5/polyfills.min.js +1 -1
  50. package/esm/config.d.ts +268 -88
  51. package/esm/config.js +166 -51
  52. package/esm/core/constants.js +1 -1
  53. package/esm/core/decorators/autobind/autobind.d.ts +0 -5
  54. package/esm/core/decorators/autobind/autobind.js +1 -1
  55. package/esm/core/decorators/component/component.d.ts +1 -1
  56. package/esm/core/event-emitter/global.d.ts +8 -0
  57. package/esm/core/event-emitter/global.js +8 -0
  58. package/esm/core/storage/async-storage.d.ts +8 -0
  59. package/esm/core/storage/async-storage.js +5 -0
  60. package/esm/core/ui/element.d.ts +1 -0
  61. package/esm/core/ui/element.js +6 -0
  62. package/esm/core/ui/group/group.d.ts +1 -0
  63. package/esm/core/ui/group/group.js +3 -0
  64. package/esm/modules/file-browser/builders/utils.d.ts +8 -0
  65. package/esm/modules/file-browser/builders/utils.js +5 -0
  66. package/esm/modules/toolbar/button/button.d.ts +1 -0
  67. package/esm/modules/toolbar/button/button.js +3 -1
  68. package/esm/plugins/add-new-line/config.d.ts +4 -3
  69. package/esm/plugins/backspace/config.d.ts +3 -0
  70. package/esm/plugins/clean-html/config.d.ts +2 -3
  71. package/esm/plugins/fullsize/config.d.ts +2 -2
  72. package/esm/plugins/hotkeys/config.d.ts +0 -1
  73. package/esm/plugins/iframe/config.d.ts +2 -5
  74. package/esm/plugins/image-processor/config.d.ts +3 -0
  75. package/esm/plugins/image-properties/config.d.ts +4 -0
  76. package/esm/plugins/inline-popup/config/config.d.ts +16 -0
  77. package/esm/plugins/limit/config.d.ts +3 -3
  78. package/esm/plugins/placeholder/config.d.ts +3 -3
  79. package/esm/plugins/resize-cells/config.d.ts +3 -0
  80. package/esm/plugins/resize-handler/config.d.ts +6 -0
  81. package/esm/plugins/resizer/config.d.ts +1 -1
  82. package/esm/plugins/select/config.d.ts +0 -1
  83. package/esm/plugins/select-cells/config.d.ts +3 -0
  84. package/esm/plugins/size/config.js +1 -2
  85. package/esm/plugins/source/config.d.ts +6 -2
  86. package/esm/plugins/stat/config.d.ts +12 -0
  87. package/esm/plugins/sticky/config.d.ts +5 -2
  88. package/esm/plugins/symbols/config.d.ts +6 -0
  89. package/esm/plugins/table/config.d.ts +3 -0
  90. package/esm/plugins/xpath/config.d.ts +3 -0
  91. package/esm/types/ui.d.ts +1 -0
  92. package/package.json +1 -1
  93. package/types/config.d.ts +268 -88
  94. package/types/core/decorators/autobind/autobind.d.ts +0 -5
  95. package/types/core/decorators/component/component.d.ts +1 -1
  96. package/types/core/event-emitter/global.d.ts +8 -0
  97. package/types/core/storage/async-storage.d.ts +8 -0
  98. package/types/core/ui/element.d.ts +1 -0
  99. package/types/core/ui/group/group.d.ts +1 -0
  100. package/types/modules/file-browser/builders/utils.d.ts +8 -0
  101. package/types/modules/toolbar/button/button.d.ts +1 -0
  102. package/types/plugins/add-new-line/config.d.ts +4 -3
  103. package/types/plugins/backspace/config.d.ts +3 -0
  104. package/types/plugins/clean-html/config.d.ts +2 -3
  105. package/types/plugins/fullsize/config.d.ts +2 -2
  106. package/types/plugins/hotkeys/config.d.ts +0 -1
  107. package/types/plugins/iframe/config.d.ts +2 -5
  108. package/types/plugins/image-processor/config.d.ts +3 -0
  109. package/types/plugins/image-properties/config.d.ts +4 -0
  110. package/types/plugins/inline-popup/config/config.d.ts +16 -0
  111. package/types/plugins/limit/config.d.ts +3 -3
  112. package/types/plugins/placeholder/config.d.ts +3 -3
  113. package/types/plugins/resize-cells/config.d.ts +3 -0
  114. package/types/plugins/resize-handler/config.d.ts +6 -0
  115. package/types/plugins/resizer/config.d.ts +1 -1
  116. package/types/plugins/select/config.d.ts +0 -1
  117. package/types/plugins/select-cells/config.d.ts +3 -0
  118. package/types/plugins/source/config.d.ts +6 -2
  119. package/types/plugins/stat/config.d.ts +12 -0
  120. package/types/plugins/sticky/config.d.ts +5 -2
  121. package/types/plugins/symbols/config.d.ts +6 -0
  122. package/types/plugins/table/config.d.ts +3 -0
  123. package/types/plugins/xpath/config.d.ts +3 -0
  124. package/types/types/ui.d.ts +1 -0
@@ -1,3 +1,8 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
1
6
  import { Dom } from "../../../core/dom/dom.js";
2
7
  /**
3
8
  * @private
@@ -14,6 +14,7 @@ export declare class ToolbarButton<T extends IViewBased = IViewBased> extends UI
14
14
  readonly control: IControlTypeStrong;
15
15
  readonly target: Nullable<HTMLElement>;
16
16
  className(): string;
17
+ getRole(): string;
17
18
  readonly state: {
18
19
  theme: string;
19
20
  currentValue: string;
@@ -38,6 +38,9 @@ let ToolbarButton = class ToolbarButton extends UIButton {
38
38
  className() {
39
39
  return 'ToolbarButton';
40
40
  }
41
+ getRole() {
42
+ return 'listitem';
43
+ }
41
44
  /**
42
45
  * Get parent toolbar
43
46
  */
@@ -111,7 +114,6 @@ let ToolbarButton = class ToolbarButton extends UIButton {
111
114
  const cn = this.componentName;
112
115
  const container = this.j.c.span(cn);
113
116
  const button = super.createContainer();
114
- attr(container, 'role', 'listitem');
115
117
  button.classList.remove(cn);
116
118
  button.classList.add(cn + '__button');
117
119
  Object.defineProperty(button, 'component', {
@@ -10,16 +10,17 @@ import type { HTMLTagNames } from "../../types/index";
10
10
  declare module 'jodit/config' {
11
11
  interface Config {
12
12
  /**
13
- * Create helper
13
+ * Show a green "add paragraph" bar when the cursor hovers near the top or bottom
14
+ * edge of certain block elements (tables, images, iframes, etc.)
14
15
  */
15
16
  addNewLine: boolean;
16
17
  /**
17
- * What kind of tags it will be impact
18
+ * Block-level tag names near which the "add new line" bar will appear
18
19
  */
19
20
  addNewLineTagsTriggers: HTMLTagNames[];
20
21
  /**
21
22
  * On dbl click on empty space of editor it add new P element
22
- * @example
23
+ *
23
24
  * ```js
24
25
  * Jodit.make('#editor', {
25
26
  * addNewLineOnDBLClick: false // disable
@@ -5,6 +5,9 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Keyboard hotkey mappings for delete and backspace operations (character, word, sentence).
10
+ */
8
11
  delete: {
9
12
  hotkeys: {
10
13
  delete: string[];
@@ -51,7 +51,7 @@ declare module 'jodit/config' {
51
51
  /**
52
52
  * The allowTags option defines which elements will remain in the
53
53
  * edited text when the editor saves. You can use this limit the returned HTML.
54
- * @example
54
+ *
55
55
  * ```javascript
56
56
  * const jodit = new Jodit.make('#editor', {
57
57
  * cleanHTML: {
@@ -59,7 +59,7 @@ declare module 'jodit/config' {
59
59
  * }
60
60
  * });
61
61
  * ```
62
- * @example
62
+ *
63
63
  * ```javascript
64
64
  * const editor = Jodit.make('#editor', {
65
65
  * cleanHTML: {
@@ -72,7 +72,6 @@ declare module 'jodit/config' {
72
72
  * console.log(editor.value); //Sorry! <a href="https://xdsoft.net">Freeman</a>
73
73
  * ```
74
74
  *
75
- * @example
76
75
  * ```javascript
77
76
  * const editor = Jodit.make('#editor', {
78
77
  * cleanHTML: {
@@ -7,13 +7,13 @@ declare module 'jodit/config' {
7
7
  interface Config {
8
8
  /**
9
9
  * Open WYSIWYG in full screen
10
- * @example
10
+ *
11
11
  * ```javascript
12
12
  * var editor = Jodit.make({
13
13
  * fullsize: true // fullsize editor
14
14
  * });
15
15
  * ```
16
- * @example
16
+ *
17
17
  * ```javascript
18
18
  * var editor = Jodit.make();
19
19
  * editor.e.fire('toggleFullSize');
@@ -12,7 +12,6 @@ declare module 'jodit/config' {
12
12
  /**
13
13
  * You can redefine hotkeys for some command
14
14
  *
15
- * @example
16
15
  * ```js
17
16
  * const jodit = Jodit.make('#editor', {
18
17
  * commandToHotkeys: {
@@ -8,7 +8,6 @@ declare module 'jodit/config' {
8
8
  /**
9
9
  * You can redefine default page
10
10
  *
11
- * @example
12
11
  * ```javascript
13
12
  * Jodit.make('#editor', {
14
13
  * iframe: true,
@@ -18,9 +17,8 @@ declare module 'jodit/config' {
18
17
  */
19
18
  iframeDefaultSrc: string;
20
19
  /**
21
- * Base URL where the root directory for [[Config.iframe]] mode
20
+ * Base URL where the root directory for {@link Config.iframe} mode
22
21
  *
23
- * @example
24
22
  * ```javascript
25
23
  * Jodit.make('#editor', {
26
24
  * iframe: true,
@@ -39,7 +37,7 @@ declare module 'jodit/config' {
39
37
  iframeDoctype: string;
40
38
  /**
41
39
  * Custom style to be used inside the iframe to display content.
42
- * @example
40
+ *
43
41
  * ```javascript
44
42
  * Jodit.make('#editor', {
45
43
  * iframe: true,
@@ -51,7 +49,6 @@ declare module 'jodit/config' {
51
49
  /**
52
50
  * Custom stylesheet files to be used inside the iframe to display content.
53
51
  *
54
- * @example
55
52
  * ```javascript
56
53
  * Jodit.make('#editor', {
57
54
  * iframe: true,
@@ -8,6 +8,9 @@
8
8
  */
9
9
  declare module 'jodit/config' {
10
10
  interface Config {
11
+ /**
12
+ * Options for processing images inserted into the editor (e.g. converting base64 data URIs to Blob URLs).
13
+ */
11
14
  imageProcessor: {
12
15
  replaceDataURIToBlobIdInView: boolean;
13
16
  };
@@ -9,6 +9,10 @@
9
9
  import type { ImagePropertiesOptions } from "./interface";
10
10
  declare module 'jodit/config' {
11
11
  interface Config {
12
+ /**
13
+ * Configuration for the image properties dialog (opened on double-click).
14
+ * Controls which editing tabs are available: src, alt, title, link, size, margins, classes, styles, etc.
15
+ */
12
16
  image: ImagePropertiesOptions;
13
17
  }
14
18
  }
@@ -9,10 +9,26 @@
9
9
  import type { IControlType, IDictionary, IJodit } from "../../../types/index";
10
10
  declare module 'jodit/config' {
11
11
  interface Config {
12
+ /**
13
+ * Element-specific popup toolbars. Keys are tag names (e.g. `img`, `a`, `cells`)
14
+ * and values are button lists or factory functions that return them.
15
+ */
12
16
  popup: IDictionary<Array<IControlType | string> | ((editor: IJodit, target: HTMLElement | undefined, close: () => void) => Array<IControlType | string> | HTMLElement | string)>;
17
+ /**
18
+ * List of button names to exclude from the inline toolbar
19
+ */
13
20
  toolbarInlineDisabledButtons: string[];
21
+ /**
22
+ * Show an inline toolbar when the user clicks inside the editor area (e.g. near images, links)
23
+ */
14
24
  toolbarInline: boolean;
25
+ /**
26
+ * Show an inline toolbar when the user selects text
27
+ */
15
28
  toolbarInlineForSelection: boolean;
29
+ /**
30
+ * CSS selector or array of selectors for elements that should not trigger the inline toolbar
31
+ */
16
32
  toolbarInlineDisableFor: string | string[];
17
33
  }
18
34
  }
@@ -6,15 +6,15 @@
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
8
  /**
9
- * limit words count
9
+ * Maximum number of words allowed in the editor. Set to `false` to disable the limit.
10
10
  */
11
11
  limitWords: false | number;
12
12
  /**
13
- * limit chars count
13
+ * Maximum number of characters allowed in the editor. Set to `false` to disable the limit.
14
14
  */
15
15
  limitChars: false | number;
16
16
  /**
17
- * limit html chars count
17
+ * Maximum number of characters counted from the raw HTML source. Set to `false` to disable the limit.
18
18
  */
19
19
  limitHTML: false;
20
20
  }
@@ -10,7 +10,7 @@ declare module 'jodit/config' {
10
10
  interface Config {
11
11
  /**
12
12
  * Show placeholder
13
- * @example
13
+ *
14
14
  * ```javascript
15
15
  * const editor = Jodit.make('#editor', {
16
16
  * showPlaceholder: false
@@ -20,7 +20,7 @@ declare module 'jodit/config' {
20
20
  showPlaceholder: boolean;
21
21
  /**
22
22
  * Use a placeholder from original input field, if it was set
23
- * @example
23
+ *
24
24
  * ```javascript
25
25
  * //<textarea id="editor" placeholder="start typing text ..." cols="30" rows="10"></textarea>
26
26
  * const editor = Jodit.make('#editor', {
@@ -31,7 +31,7 @@ declare module 'jodit/config' {
31
31
  useInputsPlaceholder: boolean;
32
32
  /**
33
33
  * Default placeholder
34
- * @example
34
+ *
35
35
  * ```javascript
36
36
  * const editor = Jodit.make('#editor', {
37
37
  * placeholder: 'start typing text ...'
@@ -5,6 +5,9 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Allow users to resize table cells by dragging the cell borders
10
+ */
8
11
  tableAllowCellResize: boolean;
9
12
  }
10
13
  }
@@ -5,7 +5,13 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Allow the user to resize the editor horizontally by dragging the resize handle
10
+ */
8
11
  allowResizeX: boolean;
12
+ /**
13
+ * Allow the user to resize the editor vertically by dragging the resize handle
14
+ */
9
15
  allowResizeY: boolean;
10
16
  }
11
17
  }
@@ -10,7 +10,7 @@ import type { HTMLTagNames } from "../../types/index";
10
10
  declare module 'jodit/config' {
11
11
  interface Config {
12
12
  /**
13
- * Use true frame for editing iframe size
13
+ * Set of HTML tag names whose elements can be resized by the user via drag handles (e.g. images, iframes, tables)
14
14
  */
15
15
  allowResizeTags: Set<HTMLTagNames>;
16
16
  resizer: {
@@ -17,7 +17,6 @@ declare module 'jodit/config' {
17
17
  normalizeSelectionBeforeCutAndCopy: boolean;
18
18
  /**
19
19
  * Normalize selection after triple click
20
- * @example
21
20
  *
22
21
  * `<ul><li>|test</li><li>|pop</li></ul>` will be `<ul><li>|test|</li><li>pop</li</ul>|`
23
22
  */
@@ -5,6 +5,9 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Allow users to select multiple table cells by clicking and dragging
10
+ */
8
11
  tableAllowCellSelection: boolean;
9
12
  }
10
13
  }
@@ -12,13 +12,12 @@ Config.prototype.maxWidth = '100%';
12
12
  /**
13
13
  * Editor's min-height
14
14
  *
15
- * @example
16
15
  * ```javascript
17
16
  * Jodit.make('.editor', {
18
17
  * minHeight: '30%' //min-height: 30%
19
18
  * })
20
19
  * ```
21
- * @example
20
+ *
22
21
  * ```javascript
23
22
  * Jodit.make('.editor', {
24
23
  * minHeight: 200 //min-height: 200px
@@ -9,17 +9,21 @@
9
9
  import type { IJodit, ISourceEditor } from "../../types/index";
10
10
  declare module 'jodit/config' {
11
11
  interface Config {
12
+ /**
13
+ * Which source-code editor to use: `'area'` for a plain textarea, `'ace'` to load the Ace editor,
14
+ * or a factory function that returns a custom source editor instance.
15
+ */
12
16
  sourceEditor: 'area' | 'ace' | ((jodit: IJodit) => ISourceEditor);
13
17
  /**
14
18
  * Options for [ace](https://ace.c9.io/#config) editor
15
- * @example
19
+ *
16
20
  * ```js
17
21
  * Jodit.make('#editor', {
18
22
  * showGutter: true,
19
23
  * theme: 'ace/theme/idle_fingers',
20
24
  * mode: 'ace/mode/html',
21
25
  * wrap: true,
22
- § * highlightActiveLine: true
26
+ * highlightActiveLine: true
23
27
  * })
24
28
  * ```
25
29
  */
@@ -5,9 +5,21 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Display a character counter in the statusbar
10
+ */
8
11
  showCharsCounter: boolean;
12
+ /**
13
+ * When true, count characters from the raw HTML source instead of visible text only
14
+ */
9
15
  countHTMLChars: boolean;
16
+ /**
17
+ * When true, include whitespace characters in the character count
18
+ */
10
19
  countTextSpaces: boolean;
20
+ /**
21
+ * Display a word counter in the statusbar
22
+ */
11
23
  showWordsCounter: boolean;
12
24
  }
13
25
  }
@@ -6,7 +6,8 @@
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
8
  /**
9
- * @example
9
+ * Keep the toolbar visible at the top of the viewport when scrolling past the editor
10
+ *
10
11
  * ```javascript
11
12
  * var editor = Jodit.make('#someid', {
12
13
  * toolbarSticky: false
@@ -14,12 +15,14 @@ declare module 'jodit/config' {
14
15
  * ```
15
16
  */
16
17
  toolbarSticky: boolean;
18
+ /**
19
+ * Disable sticky toolbar on mobile devices to save screen space
20
+ */
17
21
  toolbarDisableStickyForMobile: boolean;
18
22
  /**
19
23
  * For example, in Joomla, the top menu bar closes Jodit toolbar when scrolling. Therefore, it is necessary to
20
24
  * move the toolbar Jodit by this amount [more](https://xdsoft.net/jodit/docs/#2.5.57)
21
25
  *
22
- * @example
23
26
  * ```javascript
24
27
  * var editor = Jodit.make('#someid', {
25
28
  * toolbarStickyOffset: 100
@@ -5,7 +5,13 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Array of HTML entities or characters displayed in the special-characters picker
10
+ */
8
11
  specialCharacters: string[];
12
+ /**
13
+ * When true, show the special-characters picker as a toolbar popup instead of a modal dialog
14
+ */
9
15
  usePopupForSpecialCharacters: boolean;
10
16
  }
11
17
  }
@@ -5,6 +5,9 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Options for table insertion and behavior.
10
+ */
8
11
  table: {
9
12
  splitBlockOnInsertTable: boolean;
10
13
  selectionCellStyle: string;
@@ -5,6 +5,9 @@
5
5
  */
6
6
  declare module 'jodit/config' {
7
7
  interface Config {
8
+ /**
9
+ * Show the element breadcrumb path (e.g. `body > p > strong`) in the statusbar
10
+ */
8
11
  showXPathInStatusbar: boolean;
9
12
  }
10
13
  }
package/esm/types/ui.d.ts CHANGED
@@ -15,6 +15,7 @@ export interface IUIElement extends IViewComponent, IContainer, IDestructible, I
15
15
  parentElement: Nullable<IUIElement>;
16
16
  container: HTMLElement;
17
17
  name: string;
18
+ getRole(): string;
18
19
  /**
19
20
  * Apply callback for all parents
20
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jodit",
3
- "version": "4.9.9",
3
+ "version": "4.9.11",
4
4
  "description": "Jodit is an awesome and useful wysiwyg editor with filebrowser",
5
5
  "main": "esm/index.js",
6
6
  "types": "types/index.d.ts",