jodit 4.18.3 → 4.18.6
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.
- package/CHANGELOG.md +52 -0
- package/es2015/jodit.css +72 -34
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +35 -10
- package/es2015/jodit.js +1967 -327
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +41 -16
- package/es2015/plugins/debug/debug.css +1 -1
- package/es2015/plugins/debug/debug.js +1 -1
- package/es2015/plugins/debug/debug.min.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +35 -10
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +35 -10
- package/es2018/plugins/debug/debug.min.js +1 -1
- package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021/jodit.css +72 -34
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +42 -17
- package/es2021/jodit.js +1949 -323
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +42 -17
- package/es2021/plugins/debug/debug.css +1 -1
- package/es2021/plugins/debug/debug.js +1 -1
- package/es2021/plugins/debug/debug.min.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021.en/jodit.css +72 -34
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +42 -17
- package/es2021.en/jodit.js +1923 -297
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +51 -26
- package/es2021.en/plugins/debug/debug.css +1 -1
- package/es2021.en/plugins/debug/debug.js +1 -1
- package/es2021.en/plugins/debug/debug.min.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/jodit.css +85 -38
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +2225 -379
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/debug/debug.css +1 -1
- package/es5/plugins/debug/debug.js +1 -1
- package/es5/plugins/debug/debug.min.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/config.d.ts +28 -26
- package/esm/config.js +19 -21
- package/esm/core/constants.js +1 -1
- package/esm/core/helpers/html/apply-styles.js +3 -0
- package/esm/core/helpers/html/clean-from-word.js +3 -0
- package/esm/core/helpers/html/strip-tags.js +24 -6
- package/esm/core/helpers/html/word-lists.d.ts +29 -0
- package/esm/core/helpers/html/word-lists.js +158 -0
- package/esm/core/helpers/utils/align.d.ts +1 -1
- package/esm/core/helpers/utils/align.js +2 -3
- package/esm/core/selection/helpers/index.d.ts +1 -0
- package/esm/core/selection/helpers/index.js +1 -0
- package/esm/core/selection/helpers/is-moved.d.ts +15 -0
- package/esm/core/selection/helpers/is-moved.js +22 -0
- package/esm/core/selection/style/api/list/toggle-ordered-list.js +40 -3
- package/esm/core/selection/style/transactions.js +5 -2
- package/esm/jodit.js +14 -4
- package/esm/langs/ar.d.ts +10 -0
- package/esm/langs/ar.js +11 -1
- package/esm/langs/az.d.ts +10 -0
- package/esm/langs/az.js +11 -1
- package/esm/langs/cs_cz.d.ts +10 -0
- package/esm/langs/cs_cz.js +12 -1
- package/esm/langs/de.d.ts +10 -0
- package/esm/langs/de.js +11 -1
- package/esm/langs/es.d.ts +10 -0
- package/esm/langs/es.js +11 -1
- package/esm/langs/fa.d.ts +10 -0
- package/esm/langs/fa.js +11 -1
- package/esm/langs/fi.d.ts +10 -0
- package/esm/langs/fi.js +11 -1
- package/esm/langs/fr.d.ts +10 -0
- package/esm/langs/fr.js +11 -1
- package/esm/langs/he.d.ts +10 -0
- package/esm/langs/he.js +11 -1
- package/esm/langs/hu.d.ts +10 -0
- package/esm/langs/hu.js +11 -1
- package/esm/langs/id.d.ts +10 -0
- package/esm/langs/id.js +11 -1
- package/esm/langs/it.d.ts +10 -0
- package/esm/langs/it.js +11 -1
- package/esm/langs/ja.d.ts +10 -0
- package/esm/langs/ja.js +11 -1
- package/esm/langs/ko.d.ts +10 -0
- package/esm/langs/ko.js +11 -1
- package/esm/langs/mn.d.ts +10 -0
- package/esm/langs/mn.js +11 -1
- package/esm/langs/nl.d.ts +10 -0
- package/esm/langs/nl.js +11 -1
- package/esm/langs/no.d.ts +10 -0
- package/esm/langs/no.js +11 -1
- package/esm/langs/pl.d.ts +10 -0
- package/esm/langs/pl.js +11 -1
- package/esm/langs/pt_br.d.ts +10 -0
- package/esm/langs/pt_br.js +11 -1
- package/esm/langs/ru.d.ts +10 -0
- package/esm/langs/ru.js +11 -1
- package/esm/langs/sk.d.ts +10 -0
- package/esm/langs/sk.js +11 -1
- package/esm/langs/sv.d.ts +10 -0
- package/esm/langs/sv.js +11 -1
- package/esm/langs/tr.d.ts +10 -0
- package/esm/langs/tr.js +11 -1
- package/esm/langs/ua.d.ts +10 -0
- package/esm/langs/ua.js +11 -1
- package/esm/langs/zh_cn.d.ts +10 -0
- package/esm/langs/zh_cn.js +11 -1
- package/esm/langs/zh_tw.d.ts +10 -0
- package/esm/langs/zh_tw.js +11 -1
- package/esm/modules/dialog/dialog.d.ts +7 -0
- package/esm/modules/dialog/dialog.js +24 -6
- package/esm/modules/table/table.d.ts +6 -0
- package/esm/modules/table/table.js +18 -26
- package/esm/plugins/all.d.ts +1 -0
- package/esm/plugins/all.js +1 -0
- package/esm/plugins/backspace/cases/check-join-neighbors.js +90 -3
- package/esm/plugins/clean-html/clean-html.d.ts +8 -0
- package/esm/plugins/clean-html/clean-html.js +21 -1
- package/esm/plugins/clean-html/helpers/index.d.ts +1 -0
- package/esm/plugins/clean-html/helpers/index.js +1 -0
- package/esm/plugins/clean-html/helpers/remove-placeholder-br.d.ts +16 -0
- package/esm/plugins/clean-html/helpers/remove-placeholder-br.js +51 -0
- package/esm/plugins/delete/delete.d.ts +11 -1
- package/esm/plugins/delete/delete.js +92 -16
- package/esm/plugins/focus/focus.js +12 -1
- package/esm/plugins/iframe/config.d.ts +3 -0
- package/esm/plugins/iframe/config.js +0 -27
- package/esm/plugins/iframe/iframe.js +8 -1
- package/esm/plugins/image-processor/image-processor.d.ts +4 -1
- package/esm/plugins/image-processor/image-processor.js +15 -4
- package/esm/plugins/image-properties/readers/align.d.ts +2 -2
- package/esm/plugins/index.d.ts +1 -0
- package/esm/plugins/inline-popup/config/items/iframe.d.ts +9 -1
- package/esm/plugins/inline-popup/config/items/iframe.js +15 -0
- package/esm/plugins/inline-popup/inline-popup.d.ts +19 -0
- package/esm/plugins/inline-popup/inline-popup.js +70 -1
- package/esm/plugins/media/media.js +16 -7
- package/esm/plugins/ordered-list/config.js +13 -2
- package/esm/plugins/ordered-list/start-dialog.d.ts +19 -0
- package/esm/plugins/ordered-list/start-dialog.js +58 -0
- package/esm/plugins/placeholder/placeholder.js +7 -1
- package/esm/plugins/resizer/config.d.ts +5 -3
- package/esm/plugins/resizer/config.js +8 -2
- package/esm/plugins/resizer/resizer.d.ts +20 -0
- package/esm/plugins/resizer/resizer.js +140 -17
- package/esm/plugins/select-cells/select-cells.d.ts +23 -0
- package/esm/plugins/select-cells/select-cells.js +75 -1
- package/esm/plugins/table-keyboard-navigation/table-keyboard-navigation.js +3 -2
- package/esm/plugins/video/config.d.ts +6 -0
- package/esm/plugins/video/config.js +77 -65
- package/esm/plugins/video-properties/interface.d.ts +31 -0
- package/esm/plugins/video-properties/interface.js +6 -0
- package/esm/plugins/video-properties/readers.d.ts +26 -0
- package/esm/plugins/video-properties/readers.js +65 -0
- package/esm/plugins/video-properties/replace.d.ts +15 -0
- package/esm/plugins/video-properties/replace.js +97 -0
- package/esm/plugins/video-properties/ui/ui-video-form.d.ts +41 -0
- package/esm/plugins/video-properties/ui/ui-video-form.js +228 -0
- package/esm/plugins/video-properties/video-properties.d.ts +37 -0
- package/esm/plugins/video-properties/video-properties.js +175 -0
- package/esm/plugins/video-properties/writers.d.ts +15 -0
- package/esm/plugins/video-properties/writers.js +73 -0
- package/esm/types/types.d.ts +1 -1
- package/package.json +1 -1
- package/types/config.d.ts +28 -26
- package/types/core/helpers/html/word-lists.d.ts +29 -0
- package/types/core/helpers/utils/align.d.ts +1 -1
- package/types/core/selection/helpers/index.d.ts +1 -0
- package/types/core/selection/helpers/is-moved.d.ts +15 -0
- package/types/langs/ar.d.ts +10 -0
- package/types/langs/az.d.ts +10 -0
- package/types/langs/cs_cz.d.ts +10 -0
- package/types/langs/de.d.ts +10 -0
- package/types/langs/es.d.ts +10 -0
- package/types/langs/fa.d.ts +10 -0
- package/types/langs/fi.d.ts +10 -0
- package/types/langs/fr.d.ts +10 -0
- package/types/langs/he.d.ts +10 -0
- package/types/langs/hu.d.ts +10 -0
- package/types/langs/id.d.ts +10 -0
- package/types/langs/it.d.ts +10 -0
- package/types/langs/ja.d.ts +10 -0
- package/types/langs/ko.d.ts +10 -0
- package/types/langs/mn.d.ts +10 -0
- package/types/langs/nl.d.ts +10 -0
- package/types/langs/no.d.ts +10 -0
- package/types/langs/pl.d.ts +10 -0
- package/types/langs/pt_br.d.ts +10 -0
- package/types/langs/ru.d.ts +10 -0
- package/types/langs/sk.d.ts +10 -0
- package/types/langs/sv.d.ts +10 -0
- package/types/langs/tr.d.ts +10 -0
- package/types/langs/ua.d.ts +10 -0
- package/types/langs/zh_cn.d.ts +10 -0
- package/types/langs/zh_tw.d.ts +10 -0
- package/types/modules/dialog/dialog.d.ts +7 -0
- package/types/modules/table/table.d.ts +6 -0
- package/types/plugins/clean-html/clean-html.d.ts +8 -0
- package/types/plugins/clean-html/helpers/index.d.ts +1 -0
- package/types/plugins/clean-html/helpers/remove-placeholder-br.d.ts +16 -0
- package/types/plugins/delete/delete.d.ts +11 -1
- package/types/plugins/iframe/config.d.ts +3 -0
- package/types/plugins/image-processor/image-processor.d.ts +4 -1
- package/types/plugins/image-properties/readers/align.d.ts +2 -2
- package/types/plugins/index.d.ts +1 -0
- package/types/plugins/inline-popup/config/items/iframe.d.ts +9 -1
- package/types/plugins/inline-popup/inline-popup.d.ts +19 -0
- package/types/plugins/ordered-list/start-dialog.d.ts +19 -0
- package/types/plugins/resizer/config.d.ts +5 -3
- package/types/plugins/resizer/resizer.d.ts +20 -0
- package/types/plugins/select-cells/select-cells.d.ts +23 -0
- package/types/plugins/video/config.d.ts +6 -0
- package/types/plugins/video-properties/interface.d.ts +31 -0
- package/types/plugins/video-properties/readers.d.ts +26 -0
- package/types/plugins/video-properties/replace.d.ts +15 -0
- package/types/plugins/video-properties/ui/ui-video-form.d.ts +41 -0
- package/types/plugins/video-properties/video-properties.d.ts +37 -0
- package/types/plugins/video-properties/writers.d.ts +15 -0
- package/types/types/types.d.ts +1 -1
package/types/langs/ja.d.ts
CHANGED
|
@@ -215,5 +215,15 @@ declare const _exports: {
|
|
|
215
215
|
'Insert className': string;
|
|
216
216
|
'Press Alt for custom resizing': string;
|
|
217
217
|
'License: %s': string;
|
|
218
|
+
'Video properties': string;
|
|
219
|
+
'Audio properties': string;
|
|
220
|
+
Poster: string;
|
|
221
|
+
Autoplay: string;
|
|
222
|
+
Loop: string;
|
|
223
|
+
Muted: string;
|
|
224
|
+
Controls: string;
|
|
225
|
+
'Start at...': string;
|
|
226
|
+
'Start numbering at': string;
|
|
227
|
+
'Number for the first item': string;
|
|
218
228
|
};
|
|
219
229
|
export = _exports;
|
package/types/langs/ko.d.ts
CHANGED
|
@@ -209,5 +209,15 @@ declare const _exports: {
|
|
|
209
209
|
'Find Next': string;
|
|
210
210
|
'Insert className': string;
|
|
211
211
|
'Press Alt for custom resizing': string;
|
|
212
|
+
'Video properties': string;
|
|
213
|
+
'Audio properties': string;
|
|
214
|
+
Poster: string;
|
|
215
|
+
Autoplay: string;
|
|
216
|
+
Loop: string;
|
|
217
|
+
Muted: string;
|
|
218
|
+
Controls: string;
|
|
219
|
+
'Start at...': string;
|
|
220
|
+
'Start numbering at': string;
|
|
221
|
+
'Number for the first item': string;
|
|
212
222
|
};
|
|
213
223
|
export = _exports;
|
package/types/langs/mn.d.ts
CHANGED
|
@@ -210,5 +210,15 @@ declare const _exports: {
|
|
|
210
210
|
'Insert className': string;
|
|
211
211
|
'Press Alt for custom resizing': string;
|
|
212
212
|
'License: %s': string;
|
|
213
|
+
'Video properties': string;
|
|
214
|
+
'Audio properties': string;
|
|
215
|
+
Poster: string;
|
|
216
|
+
Autoplay: string;
|
|
217
|
+
Loop: string;
|
|
218
|
+
Muted: string;
|
|
219
|
+
Controls: string;
|
|
220
|
+
'Start at...': string;
|
|
221
|
+
'Start numbering at': string;
|
|
222
|
+
'Number for the first item': string;
|
|
213
223
|
};
|
|
214
224
|
export = _exports;
|
package/types/langs/nl.d.ts
CHANGED
|
@@ -211,5 +211,15 @@ declare const _exports: {
|
|
|
211
211
|
'Insert className': string;
|
|
212
212
|
'Press Alt for custom resizing': string;
|
|
213
213
|
'License: %s': string;
|
|
214
|
+
'Video properties': string;
|
|
215
|
+
'Audio properties': string;
|
|
216
|
+
Poster: string;
|
|
217
|
+
Autoplay: string;
|
|
218
|
+
Loop: string;
|
|
219
|
+
Muted: string;
|
|
220
|
+
Controls: string;
|
|
221
|
+
'Start at...': string;
|
|
222
|
+
'Start numbering at': string;
|
|
223
|
+
'Number for the first item': string;
|
|
214
224
|
};
|
|
215
225
|
export = _exports;
|
package/types/langs/no.d.ts
CHANGED
|
@@ -219,5 +219,15 @@ declare const _exports: {
|
|
|
219
219
|
Quadrate: string;
|
|
220
220
|
'Find Previous': string;
|
|
221
221
|
'Find Next': string;
|
|
222
|
+
'Video properties': string;
|
|
223
|
+
'Audio properties': string;
|
|
224
|
+
Poster: string;
|
|
225
|
+
Autoplay: string;
|
|
226
|
+
Loop: string;
|
|
227
|
+
Muted: string;
|
|
228
|
+
Controls: string;
|
|
229
|
+
'Start at...': string;
|
|
230
|
+
'Start numbering at': string;
|
|
231
|
+
'Number for the first item': string;
|
|
222
232
|
};
|
|
223
233
|
export = _exports;
|
package/types/langs/pl.d.ts
CHANGED
|
@@ -210,5 +210,15 @@ declare const _exports: {
|
|
|
210
210
|
'Insert className': string;
|
|
211
211
|
'Press Alt for custom resizing': string;
|
|
212
212
|
'License: %s': string;
|
|
213
|
+
'Video properties': string;
|
|
214
|
+
'Audio properties': string;
|
|
215
|
+
Poster: string;
|
|
216
|
+
Autoplay: string;
|
|
217
|
+
Loop: string;
|
|
218
|
+
Muted: string;
|
|
219
|
+
Controls: string;
|
|
220
|
+
'Start at...': string;
|
|
221
|
+
'Start numbering at': string;
|
|
222
|
+
'Number for the first item': string;
|
|
213
223
|
};
|
|
214
224
|
export = _exports;
|
package/types/langs/pt_br.d.ts
CHANGED
|
@@ -215,5 +215,15 @@ declare const _exports: {
|
|
|
215
215
|
'Insert className': string;
|
|
216
216
|
'Press Alt for custom resizing': string;
|
|
217
217
|
'License: %s': string;
|
|
218
|
+
'Video properties': string;
|
|
219
|
+
'Audio properties': string;
|
|
220
|
+
Poster: string;
|
|
221
|
+
Autoplay: string;
|
|
222
|
+
Loop: string;
|
|
223
|
+
Muted: string;
|
|
224
|
+
Controls: string;
|
|
225
|
+
'Start at...': string;
|
|
226
|
+
'Start numbering at': string;
|
|
227
|
+
'Number for the first item': string;
|
|
218
228
|
};
|
|
219
229
|
export = _exports;
|
package/types/langs/ru.d.ts
CHANGED
|
@@ -209,5 +209,15 @@ declare const _exports: {
|
|
|
209
209
|
'Find Next': string;
|
|
210
210
|
'Insert className': string;
|
|
211
211
|
'Press Alt for custom resizing': string;
|
|
212
|
+
'Video properties': string;
|
|
213
|
+
'Audio properties': string;
|
|
214
|
+
Poster: string;
|
|
215
|
+
Autoplay: string;
|
|
216
|
+
Loop: string;
|
|
217
|
+
Muted: string;
|
|
218
|
+
Controls: string;
|
|
219
|
+
'Start at...': string;
|
|
220
|
+
'Start numbering at': string;
|
|
221
|
+
'Number for the first item': string;
|
|
212
222
|
};
|
|
213
223
|
export = _exports;
|
package/types/langs/sk.d.ts
CHANGED
|
@@ -217,5 +217,15 @@ declare const _exports: {
|
|
|
217
217
|
'Edit image': string;
|
|
218
218
|
'Tiles view': string;
|
|
219
219
|
'List view': string;
|
|
220
|
+
'Video properties': string;
|
|
221
|
+
'Audio properties': string;
|
|
222
|
+
Poster: string;
|
|
223
|
+
Autoplay: string;
|
|
224
|
+
Loop: string;
|
|
225
|
+
Muted: string;
|
|
226
|
+
Controls: string;
|
|
227
|
+
'Start at...': string;
|
|
228
|
+
'Start numbering at': string;
|
|
229
|
+
'Number for the first item': string;
|
|
220
230
|
};
|
|
221
231
|
export = _exports;
|
package/types/langs/sv.d.ts
CHANGED
|
@@ -218,5 +218,15 @@ declare const _exports: {
|
|
|
218
218
|
'Embed code': string;
|
|
219
219
|
All: string;
|
|
220
220
|
'License: %s': string;
|
|
221
|
+
'Video properties': string;
|
|
222
|
+
'Audio properties': string;
|
|
223
|
+
Poster: string;
|
|
224
|
+
Autoplay: string;
|
|
225
|
+
Loop: string;
|
|
226
|
+
Muted: string;
|
|
227
|
+
Controls: string;
|
|
228
|
+
'Start at...': string;
|
|
229
|
+
'Start numbering at': string;
|
|
230
|
+
'Number for the first item': string;
|
|
221
231
|
};
|
|
222
232
|
export = _exports;
|
package/types/langs/tr.d.ts
CHANGED
|
@@ -210,5 +210,15 @@ declare const _exports: {
|
|
|
210
210
|
'Insert className': string;
|
|
211
211
|
'Press Alt for custom resizing': string;
|
|
212
212
|
'License: %s': string;
|
|
213
|
+
'Video properties': string;
|
|
214
|
+
'Audio properties': string;
|
|
215
|
+
Poster: string;
|
|
216
|
+
Autoplay: string;
|
|
217
|
+
Loop: string;
|
|
218
|
+
Muted: string;
|
|
219
|
+
Controls: string;
|
|
220
|
+
'Start at...': string;
|
|
221
|
+
'Start numbering at': string;
|
|
222
|
+
'Number for the first item': string;
|
|
213
223
|
};
|
|
214
224
|
export = _exports;
|
package/types/langs/ua.d.ts
CHANGED
|
@@ -209,5 +209,15 @@ declare const _exports: {
|
|
|
209
209
|
'Find Next': string;
|
|
210
210
|
'Insert className': string;
|
|
211
211
|
'Press Alt for custom resizing': string;
|
|
212
|
+
'Video properties': string;
|
|
213
|
+
'Audio properties': string;
|
|
214
|
+
Poster: string;
|
|
215
|
+
Autoplay: string;
|
|
216
|
+
Loop: string;
|
|
217
|
+
Muted: string;
|
|
218
|
+
Controls: string;
|
|
219
|
+
'Start at...': string;
|
|
220
|
+
'Start numbering at': string;
|
|
221
|
+
'Number for the first item': string;
|
|
212
222
|
};
|
|
213
223
|
export = _exports;
|
package/types/langs/zh_cn.d.ts
CHANGED
|
@@ -211,5 +211,15 @@ declare const _exports: {
|
|
|
211
211
|
'Insert className': string;
|
|
212
212
|
'Press Alt for custom resizing': string;
|
|
213
213
|
'License: %s': string;
|
|
214
|
+
'Video properties': string;
|
|
215
|
+
'Audio properties': string;
|
|
216
|
+
Poster: string;
|
|
217
|
+
Autoplay: string;
|
|
218
|
+
Loop: string;
|
|
219
|
+
Muted: string;
|
|
220
|
+
Controls: string;
|
|
221
|
+
'Start at...': string;
|
|
222
|
+
'Start numbering at': string;
|
|
223
|
+
'Number for the first item': string;
|
|
214
224
|
};
|
|
215
225
|
export = _exports;
|
package/types/langs/zh_tw.d.ts
CHANGED
|
@@ -210,5 +210,15 @@ declare const _exports: {
|
|
|
210
210
|
'Press Alt for custom resizing': string;
|
|
211
211
|
Edit: string;
|
|
212
212
|
'License: %s': string;
|
|
213
|
+
'Video properties': string;
|
|
214
|
+
'Audio properties': string;
|
|
215
|
+
Poster: string;
|
|
216
|
+
Autoplay: string;
|
|
217
|
+
Loop: string;
|
|
218
|
+
Muted: string;
|
|
219
|
+
Controls: string;
|
|
220
|
+
'Start at...': string;
|
|
221
|
+
'Start numbering at': string;
|
|
222
|
+
'Number for the first item': string;
|
|
213
223
|
};
|
|
214
224
|
export = _exports;
|
|
@@ -48,6 +48,13 @@ export declare class Dialog extends ViewWithToolbar implements IDialog {
|
|
|
48
48
|
*/
|
|
49
49
|
private minSize;
|
|
50
50
|
private __onResizerMouseDown;
|
|
51
|
+
/**
|
|
52
|
+
* The width `box` takes with its content on one line. The header and
|
|
53
|
+
* footer are flex rows as wide as the dialog, so the footer's
|
|
54
|
+
* `scrollWidth` was the dialog's width and kept it from getting any
|
|
55
|
+
* narrower
|
|
56
|
+
*/
|
|
57
|
+
private __contentWidth;
|
|
51
58
|
private __addGlobalResizeListeners;
|
|
52
59
|
private __removeGlobalResizeListeners;
|
|
53
60
|
OPTIONS: IDialogOptions;
|
|
@@ -15,6 +15,12 @@ export declare class Table extends ViewComponent<IJodit> {
|
|
|
15
15
|
className(): string;
|
|
16
16
|
private selected;
|
|
17
17
|
private static __selectedByTable;
|
|
18
|
+
/**
|
|
19
|
+
* Rewrite the `<style>` that marks the selected cells once for all the
|
|
20
|
+
* cells (un)selected in one go: a drag over a block of cells unmarks and
|
|
21
|
+
* marks every one of them on each move. `@debounce()` was never applied,
|
|
22
|
+
* as a Table never reaches `ready`
|
|
23
|
+
*/
|
|
18
24
|
private __recalculateStyles;
|
|
19
25
|
addSelection(td: HTMLTableCellElement): void;
|
|
20
26
|
removeSelection(td: HTMLTableCellElement): void;
|
|
@@ -23,6 +23,14 @@ export declare class cleanHtml extends Plugin {
|
|
|
23
23
|
*/
|
|
24
24
|
protected onChangeCleanHTML(): void;
|
|
25
25
|
private currentSelectionNode;
|
|
26
|
+
/**
|
|
27
|
+
* Typing into an empty block (`<p><br></p>`) replaces its `<br>`, but the
|
|
28
|
+
* browser keeps the `<br>` when the caret is in an invisible-space text
|
|
29
|
+
* node in front of it, as Jodit leaves the caret in many of the empty
|
|
30
|
+
* blocks it makes (a cleared editor, a heading in an empty table cell).
|
|
31
|
+
* See #1632
|
|
32
|
+
*/
|
|
33
|
+
protected onInputRemovePlaceholderBr(event: InputEvent | CompositionEvent): void;
|
|
26
34
|
private walker;
|
|
27
35
|
protected startWalker(): void;
|
|
28
36
|
protected beforeCommand(command: string): void | false;
|
|
@@ -10,4 +10,5 @@ export * from "./get-hash";
|
|
|
10
10
|
export * from "./is-allowed-media-embed";
|
|
11
11
|
export * from "./remove-format/remove-format-for-collapsed-selection";
|
|
12
12
|
export * from "./remove-format/remove-format-for-selection";
|
|
13
|
+
export * from "./remove-placeholder-br";
|
|
13
14
|
export * from "./visitor/visit-node-walker";
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @module plugins/clean-html
|
|
8
|
+
*/
|
|
9
|
+
import type { IJodit } from "../../../types/index";
|
|
10
|
+
/**
|
|
11
|
+
* Remove the `<br>` that kept the block with the caret open while it was
|
|
12
|
+
* empty, once text has gone into the block: when the block is one line of
|
|
13
|
+
* text that ends in that `<br>`, the `<br>` adds nothing to it
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
export declare function removePlaceholderBr(jodit: IJodit): void;
|
|
@@ -20,13 +20,23 @@ export declare class deleteCommand extends Plugin {
|
|
|
20
20
|
*/
|
|
21
21
|
private __afterDeleteCommand;
|
|
22
22
|
private __onDeleteCommand;
|
|
23
|
+
/**
|
|
24
|
+
* A selection that starts or ends in a table cell clears the selected part
|
|
25
|
+
* of each cell it covers and keeps the cells, as the browsers do.
|
|
26
|
+
* `deleteContents` would remove the cells it fully covers, and the cells
|
|
27
|
+
* it cuts would then be merged as blocks. The range is moved out of those
|
|
28
|
+
* tables, so only the content between them is left to delete.
|
|
29
|
+
*
|
|
30
|
+
* Returns where the caret goes, or null when no table is involved
|
|
31
|
+
*/
|
|
32
|
+
private __clearSelectedCells;
|
|
23
33
|
private __moveContentInLeftSibling;
|
|
24
34
|
/**
|
|
25
35
|
* If left sibling is list - return last leaf
|
|
26
36
|
*/
|
|
27
37
|
private __defineRightLeftBox;
|
|
28
38
|
/**
|
|
29
|
-
* Add BR in empty
|
|
39
|
+
* Add BR in the empty block left at the caret
|
|
30
40
|
*/
|
|
31
41
|
private __addBrInEmptyBlock;
|
|
32
42
|
private __moveCursorInEditableSibling;
|
|
@@ -37,6 +37,9 @@ declare module 'jodit/config' {
|
|
|
37
37
|
iframeDoctype: string;
|
|
38
38
|
/**
|
|
39
39
|
* Custom style to be used inside the iframe to display content.
|
|
40
|
+
* It goes in after `iframeCSSLinks`. The rules Jodit's own plugins need
|
|
41
|
+
* in the editing document are added apart from it, so a value of your
|
|
42
|
+
* own doesn't have to repeat them.
|
|
40
43
|
*
|
|
41
44
|
* ```javascript
|
|
42
45
|
* Jodit.make('#editor', {
|
|
@@ -25,7 +25,10 @@ export declare class imageProcessor extends Plugin {
|
|
|
25
25
|
}): void;
|
|
26
26
|
/**
|
|
27
27
|
* While the selection is an image, only the image is highlighted: Safari
|
|
28
|
-
* paints the rest of a block image's line with its parent's highlight. See #1528
|
|
28
|
+
* paints the rest of a block image's line with its parent's highlight. See #1528.
|
|
29
|
+
* Media in a wrapper (`jodit-media`, the resizer's `jodit` for an embed, or
|
|
30
|
+
* one from `mediaWrappers`) isn't highlighted either, as Safari paints its
|
|
31
|
+
* wrapper's whole line, and its resize frame shows it's selected
|
|
29
32
|
*/
|
|
30
33
|
private onSelectionChange;
|
|
31
34
|
protected afterChange(data: {
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* @module plugins/image-properties
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
9
|
+
import type { HAlignClasses, Nullable } from "../../../types/index";
|
|
10
10
|
import type { EditValues } from "../interface";
|
|
11
11
|
/**
|
|
12
12
|
* @private
|
|
13
13
|
*/
|
|
14
|
-
export declare function readAlign(image: HTMLImageElement, values: EditValues, classes?: Nullable<
|
|
14
|
+
export declare function readAlign(image: HTMLImageElement, values: EditValues, classes?: Nullable<HAlignClasses>): void;
|
package/types/plugins/index.d.ts
CHANGED
|
@@ -68,6 +68,7 @@ import "./table/table";
|
|
|
68
68
|
import "./table-keyboard-navigation/table-keyboard-navigation";
|
|
69
69
|
import "./toolbar-navigation/toolbar-navigation";
|
|
70
70
|
import "./video/video";
|
|
71
|
+
import "./video-properties/video-properties";
|
|
71
72
|
import "./wrap-nodes/wrap-nodes";
|
|
72
73
|
import "./dtd/dtd";
|
|
73
74
|
import "./xpath/xpath";
|
|
@@ -6,10 +6,18 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* @module plugins/inline-popup
|
|
8
8
|
*/
|
|
9
|
-
import type { IJodit } from "../../../../types/index";
|
|
9
|
+
import type { IJodit, Nullable } from "../../../../types/index";
|
|
10
10
|
declare const _default: (import("../../../../types/index").IControlType<IJodit, import("../../../../types/index").IToolbarButton> | {
|
|
11
|
+
name: string;
|
|
12
|
+
icon: string;
|
|
13
|
+
tooltip: string;
|
|
14
|
+
popup: (editor: IJodit, target: Nullable<Node>, close: () => void) => HTMLElement | void;
|
|
15
|
+
exec?: undefined;
|
|
16
|
+
} | {
|
|
11
17
|
name: string;
|
|
12
18
|
tooltip: string;
|
|
13
19
|
exec: (editor: IJodit, image: HTMLImageElement) => void;
|
|
20
|
+
icon?: undefined;
|
|
21
|
+
popup?: undefined;
|
|
14
22
|
})[];
|
|
15
23
|
export default _default;
|
|
@@ -37,6 +37,17 @@ export declare class inlinePopup extends Plugin {
|
|
|
37
37
|
*/
|
|
38
38
|
private hidePopup;
|
|
39
39
|
protected onOutsideClick(): void;
|
|
40
|
+
/**
|
|
41
|
+
* A key that moves the caret off an element closes its popup, and one
|
|
42
|
+
* that moves the caret into an element with a popup (a link) opens it,
|
|
43
|
+
* as clicks do
|
|
44
|
+
*/
|
|
45
|
+
protected onKeyUp(): void;
|
|
46
|
+
private __followCaret;
|
|
47
|
+
/**
|
|
48
|
+
* The element with a popup that holds `node`
|
|
49
|
+
*/
|
|
50
|
+
private __elementAt;
|
|
40
51
|
/**
|
|
41
52
|
* Can show popup for this type
|
|
42
53
|
*/
|
|
@@ -53,6 +64,13 @@ export declare class inlinePopup extends Plugin {
|
|
|
53
64
|
* while the selection is still there. See #1238
|
|
54
65
|
*/
|
|
55
66
|
private __reopenSelectionPopup;
|
|
67
|
+
/**
|
|
68
|
+
* The alignment controls fire `recalcPositionPopup` once they have moved
|
|
69
|
+
* the element, and their button then fires `closeAllPopups`. The popup
|
|
70
|
+
* opens again beside the element, as the selection toolbar does
|
|
71
|
+
*/
|
|
72
|
+
private __reopenFor;
|
|
73
|
+
protected onRecalcPositionPopup(): void;
|
|
56
74
|
private __onDocumentMouseDown;
|
|
57
75
|
private __onCloseAllPopups;
|
|
58
76
|
/**
|
|
@@ -64,6 +82,7 @@ export declare class inlinePopup extends Plugin {
|
|
|
64
82
|
private __selectionBound;
|
|
65
83
|
private snapRange;
|
|
66
84
|
private onSelectionStart;
|
|
85
|
+
private __keyDownElement;
|
|
67
86
|
private onSelectionEnd;
|
|
68
87
|
/**
|
|
69
88
|
* Selection change handler
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @module plugins/ordered-list
|
|
8
|
+
*/
|
|
9
|
+
import type { IJodit, Nullable } from "../../types/index";
|
|
10
|
+
/**
|
|
11
|
+
* The numbered list the selection is in
|
|
12
|
+
*/
|
|
13
|
+
export declare function closestOrderedList(jodit: IJodit): Nullable<HTMLOListElement>;
|
|
14
|
+
/**
|
|
15
|
+
* Asks for the number of the first item of the list the selection is in,
|
|
16
|
+
* and sets the list's `start`. The selection is put back when the dialog
|
|
17
|
+
* closes, however it closes.
|
|
18
|
+
*/
|
|
19
|
+
export declare function openStartDialog(jodit: IJodit): void;
|
|
@@ -10,7 +10,7 @@ import type { HTMLTagNames } from "../../types/index";
|
|
|
10
10
|
declare module 'jodit/config' {
|
|
11
11
|
interface Config {
|
|
12
12
|
/**
|
|
13
|
-
* Set of HTML tag names whose elements can be resized by the user via drag handles (e.g. images, iframes, tables)
|
|
13
|
+
* Set of HTML tag names whose elements can be resized by the user via drag handles (e.g. images, iframes, tables, videos)
|
|
14
14
|
*/
|
|
15
15
|
allowResizeTags: Set<HTMLTagNames>;
|
|
16
16
|
resizer: {
|
|
@@ -23,14 +23,16 @@ declare module 'jodit/config' {
|
|
|
23
23
|
* Save width and height proportions when resizing
|
|
24
24
|
* ```js
|
|
25
25
|
* Jodit.make('#editor', {
|
|
26
|
-
* allowResizeTags: ['img', 'iframe', 'table', 'jodit'],
|
|
26
|
+
* allowResizeTags: new Set(['img', 'iframe', 'table', 'jodit', 'video']),
|
|
27
27
|
* resizer: {
|
|
28
28
|
* useAspectRatio: false, // don't save,
|
|
29
|
-
* useAspectRatio: ['img'], // save only for images
|
|
29
|
+
* useAspectRatio: new Set(['img']), // save only for images
|
|
30
30
|
* useAspectRatio: true // save for all
|
|
31
31
|
* }
|
|
32
32
|
* });
|
|
33
33
|
* ```
|
|
34
|
+
* Images and videos keep it by default. A video with no height of its
|
|
35
|
+
* own keeps it by being given only a width.
|
|
34
36
|
*/
|
|
35
37
|
useAspectRatio: boolean | Set<HTMLTagNames>;
|
|
36
38
|
/**
|
|
@@ -26,6 +26,7 @@ export declare class resizer extends Plugin {
|
|
|
26
26
|
private height;
|
|
27
27
|
private ratio;
|
|
28
28
|
private rect;
|
|
29
|
+
private layer;
|
|
29
30
|
private sizeViewer;
|
|
30
31
|
/** @override */
|
|
31
32
|
protected afterInit(editor: IJodit): void;
|
|
@@ -33,6 +34,11 @@ export declare class resizer extends Plugin {
|
|
|
33
34
|
* Click in the editor area
|
|
34
35
|
*/
|
|
35
36
|
protected onEditorClick(e: MouseEvent): void;
|
|
37
|
+
/**
|
|
38
|
+
* What a click on `node` resizes: the media in it when it's a media
|
|
39
|
+
* wrapper (`jodit-media`, or one from `mediaWrappers`), or `node` itself
|
|
40
|
+
*/
|
|
41
|
+
private __resizable;
|
|
36
42
|
protected __afterInsertImage(image: HTMLImageElement): void;
|
|
37
43
|
private addEventListeners;
|
|
38
44
|
private onStartResizing;
|
|
@@ -40,12 +46,26 @@ export declare class resizer extends Plugin {
|
|
|
40
46
|
private pointerX;
|
|
41
47
|
private pointerY;
|
|
42
48
|
private onResize;
|
|
49
|
+
private __keyDownRange;
|
|
50
|
+
private __keyDownTable;
|
|
51
|
+
private onEditorKeyDown;
|
|
52
|
+
private __caretTable;
|
|
53
|
+
/**
|
|
54
|
+
* Hide the frame once a key has moved the caret off its element, and
|
|
55
|
+
* frame a table the caret has moved into, as clicks do
|
|
56
|
+
*/
|
|
57
|
+
protected onEditorKeyUp(): void;
|
|
58
|
+
private __followCaret;
|
|
43
59
|
private isAltMode;
|
|
44
60
|
private onKeyDown;
|
|
45
61
|
private onKeyUp;
|
|
46
62
|
private onClickOutside;
|
|
47
63
|
private getWorkplacePosition;
|
|
48
64
|
private applySize;
|
|
65
|
+
/**
|
|
66
|
+
* The framed element can go with a wrapper round it, keeping its parent
|
|
67
|
+
*/
|
|
68
|
+
private get isElementInEditor();
|
|
49
69
|
private onDelete;
|
|
50
70
|
private __onChangeEditor;
|
|
51
71
|
/**
|
|
@@ -18,6 +18,29 @@ export declare class selectCells extends Plugin {
|
|
|
18
18
|
*/
|
|
19
19
|
private get __tableModule();
|
|
20
20
|
protected afterInit(jodit: IJodit): void;
|
|
21
|
+
/**
|
|
22
|
+
* The cell with the caret, and the selection, when a key went down
|
|
23
|
+
*/
|
|
24
|
+
private __keyDownCell;
|
|
25
|
+
private __keyDownRange;
|
|
26
|
+
private __onKeyDown;
|
|
27
|
+
/**
|
|
28
|
+
* A link's popup replaces the cell's while the caret is in the link
|
|
29
|
+
*/
|
|
30
|
+
private __keyDownInLink;
|
|
31
|
+
private __isInLink;
|
|
32
|
+
/**
|
|
33
|
+
* Where the selection starts rather than `s.current()`, which finds the
|
|
34
|
+
* first cell when the caret is just before the table
|
|
35
|
+
*/
|
|
36
|
+
private __caretCell;
|
|
37
|
+
/**
|
|
38
|
+
* A key that moves the caret into a cell, from another cell or from
|
|
39
|
+
* outside the table, marks that cell and opens its popup, as a click on
|
|
40
|
+
* it does. One that moves the caret out of the table unmarks the cells
|
|
41
|
+
*/
|
|
42
|
+
protected onKeyUp(): void;
|
|
43
|
+
private __followCaret;
|
|
21
44
|
/**
|
|
22
45
|
* First selected cell
|
|
23
46
|
*/
|
|
@@ -53,3 +53,9 @@ declare module 'jodit/config' {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* The video popup's tabs: Upload, when the uploader is configured, then Link
|
|
58
|
+
* and Code. `insert` runs what a tab inserts, which by default goes in at the
|
|
59
|
+
* selection the popup was opened with.
|
|
60
|
+
*/
|
|
61
|
+
export declare function videoTabs(jodit: IJodit, close: () => void, insert?: (run: () => void) => void): HTMLElement;
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @module plugins/video-properties
|
|
8
|
+
*/
|
|
9
|
+
export type EditedMedia = HTMLVideoElement | HTMLAudioElement | HTMLIFrameElement;
|
|
10
|
+
export interface VideoPropertiesValues {
|
|
11
|
+
width: number | string;
|
|
12
|
+
height: number | string;
|
|
13
|
+
poster: string;
|
|
14
|
+
autoplay: boolean;
|
|
15
|
+
loop: boolean;
|
|
16
|
+
muted: boolean;
|
|
17
|
+
controls: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface VideoPropertiesState {
|
|
20
|
+
/**
|
|
21
|
+
* What the dialog was opened for: the media, or a wrapper round it
|
|
22
|
+
*/
|
|
23
|
+
target: HTMLElement;
|
|
24
|
+
media: EditedMedia;
|
|
25
|
+
ratio: number;
|
|
26
|
+
sizeIsLocked: boolean;
|
|
27
|
+
values: VideoPropertiesValues;
|
|
28
|
+
}
|
|
29
|
+
export interface VideoPropertiesAPI {
|
|
30
|
+
openPosterPopup: (target: HTMLElement) => void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @module plugins/video-properties
|
|
8
|
+
*/
|
|
9
|
+
import type { Nullable } from "../../types/index";
|
|
10
|
+
import type { EditedMedia, VideoPropertiesState } from "./interface";
|
|
11
|
+
/**
|
|
12
|
+
* The media `target` is, or holds as its wrapper (`jodit-media`, the resizer's
|
|
13
|
+
* `jodit` for an embed, or one from `mediaWrappers`)
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
export declare function editedMedia(target: HTMLElement): Nullable<EditedMedia>;
|
|
17
|
+
/**
|
|
18
|
+
* The size `media` is given, inline or by its attribute
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
export declare function ownSize(media: EditedMedia, key: 'width' | 'height'): string;
|
|
22
|
+
/**
|
|
23
|
+
* Read the media's values into the state
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
export declare function readValues(state: VideoPropertiesState): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @module plugins/video-properties
|
|
8
|
+
*/
|
|
9
|
+
import type { IJodit } from "../../types/index";
|
|
10
|
+
/**
|
|
11
|
+
* Run `insert`, which inserts media at the cursor, with the cursor after
|
|
12
|
+
* `replaced`, and put what it inserts in place of `replaced`
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
export declare function replaceMedia(j: IJodit, replaced: HTMLElement, insert: () => void): void;
|