jodit 4.18.3 → 4.18.4

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 (187) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/es2015/jodit.css +60 -1
  3. package/es2015/jodit.fat.min.css +1 -1
  4. package/es2015/jodit.fat.min.js +35 -10
  5. package/es2015/jodit.js +968 -152
  6. package/es2015/jodit.min.css +1 -1
  7. package/es2015/jodit.min.js +41 -16
  8. package/es2015/plugins/debug/debug.css +1 -1
  9. package/es2015/plugins/debug/debug.js +1 -1
  10. package/es2015/plugins/debug/debug.min.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  12. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  13. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  14. package/es2018/jodit.fat.min.css +1 -1
  15. package/es2018/jodit.fat.min.js +33 -8
  16. package/es2018/jodit.min.css +1 -1
  17. package/es2018/jodit.min.js +33 -8
  18. package/es2018/plugins/debug/debug.min.js +1 -1
  19. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  20. package/es2021/jodit.css +60 -1
  21. package/es2021/jodit.fat.min.css +1 -1
  22. package/es2021/jodit.fat.min.js +36 -11
  23. package/es2021/jodit.js +958 -150
  24. package/es2021/jodit.min.css +1 -1
  25. package/es2021/jodit.min.js +36 -11
  26. package/es2021/plugins/debug/debug.css +1 -1
  27. package/es2021/plugins/debug/debug.js +1 -1
  28. package/es2021/plugins/debug/debug.min.js +1 -1
  29. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  32. package/es2021.en/jodit.css +60 -1
  33. package/es2021.en/jodit.fat.min.css +1 -1
  34. package/es2021.en/jodit.fat.min.js +36 -11
  35. package/es2021.en/jodit.js +932 -124
  36. package/es2021.en/jodit.min.css +1 -1
  37. package/es2021.en/jodit.min.js +51 -26
  38. package/es2021.en/plugins/debug/debug.css +1 -1
  39. package/es2021.en/plugins/debug/debug.js +1 -1
  40. package/es2021.en/plugins/debug/debug.min.js +1 -1
  41. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  42. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  44. package/es5/jodit.css +76 -2
  45. package/es5/jodit.fat.min.css +1 -1
  46. package/es5/jodit.fat.min.js +2 -2
  47. package/es5/jodit.js +1103 -155
  48. package/es5/jodit.min.css +3 -3
  49. package/es5/jodit.min.js +2 -2
  50. package/es5/plugins/debug/debug.css +1 -1
  51. package/es5/plugins/debug/debug.js +1 -1
  52. package/es5/plugins/debug/debug.min.js +1 -1
  53. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  56. package/es5/polyfills.fat.min.js +1 -1
  57. package/es5/polyfills.js +1 -1
  58. package/es5/polyfills.min.js +1 -1
  59. package/esm/config.d.ts +25 -26
  60. package/esm/config.js +19 -21
  61. package/esm/core/constants.js +1 -1
  62. package/esm/core/helpers/utils/align.d.ts +1 -1
  63. package/esm/core/helpers/utils/align.js +2 -3
  64. package/esm/jodit.js +14 -4
  65. package/esm/langs/ar.d.ts +7 -0
  66. package/esm/langs/ar.js +8 -1
  67. package/esm/langs/az.d.ts +7 -0
  68. package/esm/langs/az.js +8 -1
  69. package/esm/langs/cs_cz.d.ts +7 -0
  70. package/esm/langs/cs_cz.js +9 -1
  71. package/esm/langs/de.d.ts +7 -0
  72. package/esm/langs/de.js +8 -1
  73. package/esm/langs/es.d.ts +7 -0
  74. package/esm/langs/es.js +8 -1
  75. package/esm/langs/fa.d.ts +7 -0
  76. package/esm/langs/fa.js +8 -1
  77. package/esm/langs/fi.d.ts +7 -0
  78. package/esm/langs/fi.js +8 -1
  79. package/esm/langs/fr.d.ts +7 -0
  80. package/esm/langs/fr.js +8 -1
  81. package/esm/langs/he.d.ts +7 -0
  82. package/esm/langs/he.js +8 -1
  83. package/esm/langs/hu.d.ts +7 -0
  84. package/esm/langs/hu.js +8 -1
  85. package/esm/langs/id.d.ts +7 -0
  86. package/esm/langs/id.js +8 -1
  87. package/esm/langs/it.d.ts +7 -0
  88. package/esm/langs/it.js +8 -1
  89. package/esm/langs/ja.d.ts +7 -0
  90. package/esm/langs/ja.js +8 -1
  91. package/esm/langs/ko.d.ts +7 -0
  92. package/esm/langs/ko.js +8 -1
  93. package/esm/langs/mn.d.ts +7 -0
  94. package/esm/langs/mn.js +8 -1
  95. package/esm/langs/nl.d.ts +7 -0
  96. package/esm/langs/nl.js +8 -1
  97. package/esm/langs/no.d.ts +7 -0
  98. package/esm/langs/no.js +8 -1
  99. package/esm/langs/pl.d.ts +7 -0
  100. package/esm/langs/pl.js +8 -1
  101. package/esm/langs/pt_br.d.ts +7 -0
  102. package/esm/langs/pt_br.js +8 -1
  103. package/esm/langs/ru.d.ts +7 -0
  104. package/esm/langs/ru.js +8 -1
  105. package/esm/langs/sk.d.ts +7 -0
  106. package/esm/langs/sk.js +8 -1
  107. package/esm/langs/sv.d.ts +7 -0
  108. package/esm/langs/sv.js +8 -1
  109. package/esm/langs/tr.d.ts +7 -0
  110. package/esm/langs/tr.js +8 -1
  111. package/esm/langs/ua.d.ts +7 -0
  112. package/esm/langs/ua.js +8 -1
  113. package/esm/langs/zh_cn.d.ts +7 -0
  114. package/esm/langs/zh_cn.js +8 -1
  115. package/esm/langs/zh_tw.d.ts +7 -0
  116. package/esm/langs/zh_tw.js +8 -1
  117. package/esm/plugins/all.d.ts +1 -0
  118. package/esm/plugins/all.js +1 -0
  119. package/esm/plugins/image-processor/image-processor.d.ts +4 -1
  120. package/esm/plugins/image-processor/image-processor.js +9 -3
  121. package/esm/plugins/image-properties/readers/align.d.ts +2 -2
  122. package/esm/plugins/index.d.ts +1 -0
  123. package/esm/plugins/inline-popup/config/items/iframe.d.ts +9 -1
  124. package/esm/plugins/inline-popup/config/items/iframe.js +15 -0
  125. package/esm/plugins/media/media.js +16 -7
  126. package/esm/plugins/resizer/config.d.ts +5 -3
  127. package/esm/plugins/resizer/config.js +8 -2
  128. package/esm/plugins/resizer/resizer.d.ts +10 -0
  129. package/esm/plugins/resizer/resizer.js +64 -15
  130. package/esm/plugins/video/config.d.ts +6 -0
  131. package/esm/plugins/video/config.js +77 -65
  132. package/esm/plugins/video-properties/interface.d.ts +31 -0
  133. package/esm/plugins/video-properties/interface.js +6 -0
  134. package/esm/plugins/video-properties/readers.d.ts +26 -0
  135. package/esm/plugins/video-properties/readers.js +65 -0
  136. package/esm/plugins/video-properties/replace.d.ts +15 -0
  137. package/esm/plugins/video-properties/replace.js +97 -0
  138. package/esm/plugins/video-properties/ui/ui-video-form.d.ts +41 -0
  139. package/esm/plugins/video-properties/ui/ui-video-form.js +228 -0
  140. package/esm/plugins/video-properties/video-properties.d.ts +37 -0
  141. package/esm/plugins/video-properties/video-properties.js +175 -0
  142. package/esm/plugins/video-properties/writers.d.ts +15 -0
  143. package/esm/plugins/video-properties/writers.js +73 -0
  144. package/esm/types/types.d.ts +1 -1
  145. package/package.json +1 -1
  146. package/types/config.d.ts +25 -26
  147. package/types/core/helpers/utils/align.d.ts +1 -1
  148. package/types/langs/ar.d.ts +7 -0
  149. package/types/langs/az.d.ts +7 -0
  150. package/types/langs/cs_cz.d.ts +7 -0
  151. package/types/langs/de.d.ts +7 -0
  152. package/types/langs/es.d.ts +7 -0
  153. package/types/langs/fa.d.ts +7 -0
  154. package/types/langs/fi.d.ts +7 -0
  155. package/types/langs/fr.d.ts +7 -0
  156. package/types/langs/he.d.ts +7 -0
  157. package/types/langs/hu.d.ts +7 -0
  158. package/types/langs/id.d.ts +7 -0
  159. package/types/langs/it.d.ts +7 -0
  160. package/types/langs/ja.d.ts +7 -0
  161. package/types/langs/ko.d.ts +7 -0
  162. package/types/langs/mn.d.ts +7 -0
  163. package/types/langs/nl.d.ts +7 -0
  164. package/types/langs/no.d.ts +7 -0
  165. package/types/langs/pl.d.ts +7 -0
  166. package/types/langs/pt_br.d.ts +7 -0
  167. package/types/langs/ru.d.ts +7 -0
  168. package/types/langs/sk.d.ts +7 -0
  169. package/types/langs/sv.d.ts +7 -0
  170. package/types/langs/tr.d.ts +7 -0
  171. package/types/langs/ua.d.ts +7 -0
  172. package/types/langs/zh_cn.d.ts +7 -0
  173. package/types/langs/zh_tw.d.ts +7 -0
  174. package/types/plugins/image-processor/image-processor.d.ts +4 -1
  175. package/types/plugins/image-properties/readers/align.d.ts +2 -2
  176. package/types/plugins/index.d.ts +1 -0
  177. package/types/plugins/inline-popup/config/items/iframe.d.ts +9 -1
  178. package/types/plugins/resizer/config.d.ts +5 -3
  179. package/types/plugins/resizer/resizer.d.ts +10 -0
  180. package/types/plugins/video/config.d.ts +6 -0
  181. package/types/plugins/video-properties/interface.d.ts +31 -0
  182. package/types/plugins/video-properties/readers.d.ts +26 -0
  183. package/types/plugins/video-properties/replace.d.ts +15 -0
  184. package/types/plugins/video-properties/ui/ui-video-form.d.ts +41 -0
  185. package/types/plugins/video-properties/video-properties.d.ts +37 -0
  186. package/types/plugins/video-properties/writers.d.ts +15 -0
  187. package/types/types/types.d.ts +1 -1
package/esm/langs/it.d.ts CHANGED
@@ -215,5 +215,12 @@ 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;
218
225
  };
219
226
  export = _exports;
package/esm/langs/it.js CHANGED
@@ -230,5 +230,12 @@ export default {
230
230
  'Insert className': 'Inserisci il nome della classe',
231
231
  'Press Alt for custom resizing':
232
232
  'Premere Alt per il ridimensionamento personalizzato',
233
- 'License: %s': 'Licenza: %s'
233
+ 'License: %s': 'Licenza: %s',
234
+ 'Video properties': 'Proprietà del video',
235
+ 'Audio properties': "Proprietà dell'audio",
236
+ Poster: 'Immagine di anteprima',
237
+ Autoplay: 'Riproduzione automatica',
238
+ Loop: 'Ripeti',
239
+ Muted: 'Muto',
240
+ Controls: 'Controlli'
234
241
  };
package/esm/langs/ja.d.ts CHANGED
@@ -215,5 +215,12 @@ 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;
218
225
  };
219
226
  export = _exports;
package/esm/langs/ja.js CHANGED
@@ -228,5 +228,12 @@ export default {
228
228
  'Insert className': 'クラス名を挿入',
229
229
  'Press Alt for custom resizing':
230
230
  'カスタムサイズ変更のためのAltキーを押します',
231
- 'License: %s': 'ライセンス: %s'
231
+ 'License: %s': 'ライセンス: %s',
232
+ 'Video properties': '動画のプロパティー',
233
+ 'Audio properties': '音声のプロパティー',
234
+ Poster: 'ポスター画像',
235
+ Autoplay: '自動再生',
236
+ Loop: 'ループ再生',
237
+ Muted: 'ミュート',
238
+ Controls: 'コントロール'
232
239
  };
package/esm/langs/ko.d.ts CHANGED
@@ -209,5 +209,12 @@ 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;
212
219
  };
213
220
  export = _exports;
package/esm/langs/ko.js CHANGED
@@ -223,5 +223,12 @@ export default {
223
223
  'Find Next': '다음 찾기',
224
224
  'Insert className': 'className 입력',
225
225
  'Press Alt for custom resizing':
226
- '사용자 지정 크기 조정에 대 한 고도 누르십시오'
226
+ '사용자 지정 크기 조정에 대 한 고도 누르십시오',
227
+ 'Video properties': '동영상 속성',
228
+ 'Audio properties': '오디오 속성',
229
+ Poster: '포스터 이미지',
230
+ Autoplay: '자동 재생',
231
+ Loop: '반복 재생',
232
+ Muted: '음소거',
233
+ Controls: '컨트롤'
227
234
  };
package/esm/langs/mn.d.ts CHANGED
@@ -210,5 +210,12 @@ 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;
213
220
  };
214
221
  export = _exports;
package/esm/langs/mn.js CHANGED
@@ -226,5 +226,12 @@ export default {
226
226
  'Insert className': 'Бүлгийн нэрээ оруулна уу',
227
227
  'Press Alt for custom resizing':
228
228
  'Хэмжээсийг шинээр өөчрлөхийн тулд Alt товчин дээр дарна уу',
229
- 'License: %s': 'Лиценз: %s'
229
+ 'License: %s': 'Лиценз: %s',
230
+ 'Video properties': 'Видеоны үзүүлэлт',
231
+ 'Audio properties': 'Аудионы үзүүлэлт',
232
+ Poster: 'Нүүр зураг',
233
+ Autoplay: 'Автоматаар тоглуулах',
234
+ Loop: 'Давтах',
235
+ Muted: 'Дуугүй',
236
+ Controls: 'Удирдлага'
230
237
  };
package/esm/langs/nl.d.ts CHANGED
@@ -211,5 +211,12 @@ 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;
214
221
  };
215
222
  export = _exports;
package/esm/langs/nl.js CHANGED
@@ -225,5 +225,12 @@ export default {
225
225
  'Find Next': 'Volgende Zoeken',
226
226
  'Insert className': 'Voeg de klassenaam in',
227
227
  'Press Alt for custom resizing': 'Druk op Alt voor aangepaste grootte',
228
- 'License: %s': 'Licentie: %s'
228
+ 'License: %s': 'Licentie: %s',
229
+ 'Video properties': 'Video-eigenschappen',
230
+ 'Audio properties': 'Audio-eigenschappen',
231
+ Poster: 'Voorbeeldafbeelding',
232
+ Autoplay: 'Automatisch afspelen',
233
+ Loop: 'Herhalen',
234
+ Muted: 'Gedempt',
235
+ Controls: 'Bedieningselementen'
229
236
  };
package/esm/langs/no.d.ts CHANGED
@@ -219,5 +219,12 @@ 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;
222
229
  };
223
230
  export = _exports;
package/esm/langs/no.js CHANGED
@@ -232,5 +232,12 @@ export default {
232
232
  Dot: 'Prikk',
233
233
  Quadrate: 'Firkant',
234
234
  'Find Previous': 'Finn forrige',
235
- 'Find Next': 'Finn neste'
235
+ 'Find Next': 'Finn neste',
236
+ 'Video properties': 'Videoegenskaper',
237
+ 'Audio properties': 'Lydegenskaper',
238
+ Poster: 'Forsidebilde',
239
+ Autoplay: 'Automatisk avspilling',
240
+ Loop: 'Gjenta',
241
+ Muted: 'Dempet',
242
+ Controls: 'Kontroller'
236
243
  };
package/esm/langs/pl.d.ts CHANGED
@@ -210,5 +210,12 @@ 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;
213
220
  };
214
221
  export = _exports;
package/esm/langs/pl.js CHANGED
@@ -225,5 +225,12 @@ export default {
225
225
  'Find Next': 'Znajdź Dalej',
226
226
  'Insert className': 'Wstaw nazwę zajęć',
227
227
  'Press Alt for custom resizing': 'Naciśnij Alt, aby zmienić rozmiar',
228
- 'License: %s': 'Licencja: %s'
228
+ 'License: %s': 'Licencja: %s',
229
+ 'Video properties': 'Właściwości filmu',
230
+ 'Audio properties': 'Właściwości dźwięku',
231
+ Poster: 'Obraz podglądu',
232
+ Autoplay: 'Autoodtwarzanie',
233
+ Loop: 'Zapętlenie',
234
+ Muted: 'Wyciszony',
235
+ Controls: 'Elementy sterujące'
229
236
  };
@@ -215,5 +215,12 @@ 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;
218
225
  };
219
226
  export = _exports;
@@ -229,5 +229,12 @@ export default {
229
229
  'Insert className': 'Insira o nome da classe',
230
230
  'Press Alt for custom resizing':
231
231
  'Pressione Alt para redimensionamento personalizado',
232
- 'License: %s': 'Licença: %s'
232
+ 'License: %s': 'Licença: %s',
233
+ 'Video properties': 'Propriedades do vídeo',
234
+ 'Audio properties': 'Propriedades do áudio',
235
+ Poster: 'Imagem de capa',
236
+ Autoplay: 'Reprodução automática',
237
+ Loop: 'Repetir',
238
+ Muted: 'Sem som',
239
+ Controls: 'Controles'
233
240
  };
package/esm/langs/ru.d.ts CHANGED
@@ -209,5 +209,12 @@ 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;
212
219
  };
213
220
  export = _exports;
package/esm/langs/ru.js CHANGED
@@ -224,5 +224,12 @@ export default {
224
224
  'Find Next': 'Найти Далее',
225
225
  'Insert className': 'Вставить название класса',
226
226
  'Press Alt for custom resizing':
227
- 'Нажмите Alt для изменения пользовательского размера'
227
+ 'Нажмите Alt для изменения пользовательского размера',
228
+ 'Video properties': 'Свойства видео',
229
+ 'Audio properties': 'Свойства аудио',
230
+ Poster: 'Обложка',
231
+ Autoplay: 'Автовоспроизведение',
232
+ Loop: 'Повтор',
233
+ Muted: 'Без звука',
234
+ Controls: 'Элементы управления'
228
235
  };
package/esm/langs/sk.d.ts CHANGED
@@ -217,5 +217,12 @@ 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;
220
227
  };
221
228
  export = _exports;
package/esm/langs/sk.js CHANGED
@@ -231,5 +231,12 @@ export default {
231
231
  'Select file': 'Vybrať súbor',
232
232
  'Edit image': 'Upraviť obrázok',
233
233
  'Tiles view': 'Zobrazenie dlaždíc',
234
- 'List view': 'Zobrazenie zoznamu'
234
+ 'List view': 'Zobrazenie zoznamu',
235
+ 'Video properties': 'Vlastnosti videa',
236
+ 'Audio properties': 'Vlastnosti zvuku',
237
+ Poster: 'Náhľadový obrázok',
238
+ Autoplay: 'Automatické prehrávanie',
239
+ Loop: 'Opakovať',
240
+ Muted: 'Stlmené',
241
+ Controls: 'Ovládacie prvky'
235
242
  };
package/esm/langs/sv.d.ts CHANGED
@@ -218,5 +218,12 @@ 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;
221
228
  };
222
229
  export = _exports;
package/esm/langs/sv.js CHANGED
@@ -233,5 +233,12 @@ export default {
233
233
  space: 'mellanslag',
234
234
  'Embed code': 'Bädda in kod',
235
235
  All: 'Välj alla',
236
- 'License: %s': 'Licens: %s'
236
+ 'License: %s': 'Licens: %s',
237
+ 'Video properties': 'Videoegenskaper',
238
+ 'Audio properties': 'Ljudegenskaper',
239
+ Poster: 'Affischbild',
240
+ Autoplay: 'Automatisk uppspelning',
241
+ Loop: 'Upprepa',
242
+ Muted: 'Ljudlös',
243
+ Controls: 'Kontroller'
237
244
  };
package/esm/langs/tr.d.ts CHANGED
@@ -210,5 +210,12 @@ 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;
213
220
  };
214
221
  export = _exports;
package/esm/langs/tr.js CHANGED
@@ -224,5 +224,12 @@ export default {
224
224
  'Insert className': 'Sınıf adı girin',
225
225
  'Press Alt for custom resizing':
226
226
  'Özel yeniden boyutlandırma için Alt tuşuna basın',
227
- 'License: %s': 'Lisans: %s'
227
+ 'License: %s': 'Lisans: %s',
228
+ 'Video properties': 'Video özellikleri',
229
+ 'Audio properties': 'Ses özellikleri',
230
+ Poster: 'Kapak resmi',
231
+ Autoplay: 'Otomatik oynat',
232
+ Loop: 'Döngü',
233
+ Muted: 'Sessiz',
234
+ Controls: 'Kontroller'
228
235
  };
package/esm/langs/ua.d.ts CHANGED
@@ -209,5 +209,12 @@ 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;
212
219
  };
213
220
  export = _exports;
package/esm/langs/ua.js CHANGED
@@ -223,5 +223,12 @@ export default {
223
223
  'Find Previous': 'Знайти попередні',
224
224
  'Find Next': 'Знайти наступні',
225
225
  'Insert className': 'Вставити клас',
226
- 'Press Alt for custom resizing': 'Натисніть Alt для зміни розміру'
226
+ 'Press Alt for custom resizing': 'Натисніть Alt для зміни розміру',
227
+ 'Video properties': 'Властивості відео',
228
+ 'Audio properties': 'Властивості аудіо',
229
+ Poster: 'Обкладинка',
230
+ Autoplay: 'Автовідтворення',
231
+ Loop: 'Повтор',
232
+ Muted: 'Без звуку',
233
+ Controls: 'Елементи керування'
227
234
  };
@@ -211,5 +211,12 @@ 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;
214
221
  };
215
222
  export = _exports;
@@ -223,5 +223,12 @@ export default {
223
223
  'Find Next': '查找下一个',
224
224
  'Insert className': '插入班级名称',
225
225
  'Press Alt for custom resizing': '按Alt自定义调整大小',
226
- 'License: %s': '许可证: %s'
226
+ 'License: %s': '许可证: %s',
227
+ 'Video properties': '视频属性',
228
+ 'Audio properties': '音频属性',
229
+ Poster: '封面图',
230
+ Autoplay: '自动播放',
231
+ Loop: '循环播放',
232
+ Muted: '静音',
233
+ Controls: '播放控件'
227
234
  };
@@ -210,5 +210,12 @@ 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;
213
220
  };
214
221
  export = _exports;
@@ -222,5 +222,12 @@ export default {
222
222
  'Insert className': '插入 class 名稱',
223
223
  'Press Alt for custom resizing': '按住 Alt 以調整自訂大小',
224
224
  Edit: '編輯',
225
- 'License: %s': '許可證: %s'
225
+ 'License: %s': '許可證: %s',
226
+ 'Video properties': '影片屬性',
227
+ 'Audio properties': '音訊屬性',
228
+ Poster: '封面圖片',
229
+ Autoplay: '自動播放',
230
+ Loop: '循環播放',
231
+ Muted: '靜音',
232
+ Controls: '播放控制項'
226
233
  };
@@ -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";
@@ -69,6 +69,7 @@ import "./table/table.js";
69
69
  import "./table-keyboard-navigation/table-keyboard-navigation.js";
70
70
  import "./toolbar-navigation/toolbar-navigation.js";
71
71
  import "./video/video.js";
72
+ import "./video-properties/video-properties.js";
72
73
  import "./wrap-nodes/wrap-nodes.js";
73
74
  import "./dtd/dtd.js";
74
75
  import "./xpath/xpath.js";
@@ -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: {
@@ -17,13 +17,14 @@ import { INVISIBLE_SPACE_REG_EXP, SOURCE_CONSUMER } from "../../core/constants.j
17
17
  import { autobind, cached, debounce, watch } from "../../core/decorators/index.js";
18
18
  import { Dom } from "../../core/dom/dom.js";
19
19
  import { pluginSystem } from "../../core/global.js";
20
- import { $$, dataBind } from "../../core/helpers/index.js";
20
+ import { $$, dataBind, getWrappedMedia } from "../../core/helpers/index.js";
21
21
  import { Plugin } from "../../core/plugin/index.js";
22
22
  import { dataURItoBlob } from "../../modules/uploader/helpers/data-uri-to-blob.js";
23
23
  import "./config.js";
24
24
  const JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded';
25
25
  const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
26
26
  const IMAGE_SELECTED = 'jodit-wysiwyg_image-selected';
27
+ const SELECTED_TAGS = new Set(['img', 'jodit', 'jodit-media']);
27
28
  /**
28
29
  * Change editor's size after load all images
29
30
  */
@@ -66,7 +67,10 @@ export class imageProcessor extends Plugin {
66
67
  }
67
68
  /**
68
69
  * While the selection is an image, only the image is highlighted: Safari
69
- * paints the rest of a block image's line with its parent's highlight. See #1528
70
+ * paints the rest of a block image's line with its parent's highlight. See #1528.
71
+ * Media in a wrapper (`jodit-media`, the resizer's `jodit` for an embed, or
72
+ * one from `mediaWrappers`) isn't highlighted either, as Safari paints its
73
+ * wrapper's whole line, and its resize frame shows it's selected
70
74
  */
71
75
  onSelectionChange() {
72
76
  const { jodit } = this;
@@ -117,9 +121,11 @@ function isImageSelected(jodit) {
117
121
  return false;
118
122
  }
119
123
  const { startContainer, startOffset, endContainer, endOffset } = sel.getRangeAt(0);
124
+ const node = startContainer.childNodes[startOffset];
120
125
  return (startContainer === endContainer &&
121
126
  endOffset === startOffset + 1 &&
122
- Dom.isTag(startContainer.childNodes[startOffset], 'img') &&
127
+ (Dom.isTag(node, SELECTED_TAGS) ||
128
+ Boolean(getWrappedMedia(jodit, node))) &&
123
129
  Dom.isOrContains(jodit.editor, startContainer));
124
130
  }
125
131
  /**
@@ -6,9 +6,9 @@
6
6
  /**
7
7
  * @module plugins/image-properties
8
8
  */
9
- import type { ImageAlignClasses, Nullable } from "../../../types/index";
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<ImageAlignClasses>): void;
14
+ export declare function readAlign(image: HTMLImageElement, values: EditValues, classes?: Nullable<HAlignClasses>): void;
@@ -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;
@@ -5,6 +5,14 @@
5
5
  */
6
6
  import { align } from "./img.js";
7
7
  export default [
8
+ {
9
+ name: 'replace',
10
+ icon: 'video',
11
+ tooltip: 'Replace',
12
+ popup: (editor, target, close) => target
13
+ ? editor.e.fire('generateReplaceVideoTabs', target, close)
14
+ : undefined
15
+ },
8
16
  {
9
17
  name: 'bin',
10
18
  tooltip: 'Delete',
@@ -12,5 +20,12 @@ export default [
12
20
  image && editor.s.removeNode(image);
13
21
  }
14
22
  },
23
+ {
24
+ name: 'pencil',
25
+ tooltip: 'Edit',
26
+ exec: (editor, target) => {
27
+ target && editor.e.fire('openVideoProperties', target);
28
+ }
29
+ },
15
30
  align
16
31
  ];
@@ -26,6 +26,7 @@ export function media(editor) {
26
26
  (_a = getMediaWrapper(editor, element)) !== null && _a !== void 0 ? _a : wrapMedia(editor, element);
27
27
  }
28
28
  else if (mediaInFakeBlock) {
29
+ const media = element;
29
30
  const wrapper = editor.createInside.element(mediaFakeTag, {
30
31
  'data-jodit-temp': 1,
31
32
  contenteditable: false,
@@ -33,13 +34,21 @@ export function media(editor) {
33
34
  [`data-${keyFake}`]: 1
34
35
  });
35
36
  attr(wrapper, 'style', attr(element, 'style'));
36
- css(wrapper, {
37
- display: cssInline(element, 'display') === 'inline-block'
38
- ? 'inline-block'
39
- : 'block',
40
- width: element.offsetWidth,
41
- height: element.offsetHeight
42
- });
37
+ // The wrapper fits the media, whose size changes as its metadata loads
38
+ // and as it's resized. A percentage width is of the line, so it takes that
39
+ const fit = () => {
40
+ css(wrapper, {
41
+ display: cssInline(media, 'display') === 'inline-block'
42
+ ? 'inline-block'
43
+ : 'block',
44
+ width: cssInline(media, 'width').endsWith('%')
45
+ ? ''
46
+ : 'fit-content',
47
+ height: ''
48
+ });
49
+ };
50
+ fit();
51
+ editor.e.on(media, 'changesize', fit);
43
52
  if (element.parentNode) {
44
53
  Dom.before(element, wrapper);
45
54
  }
@@ -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 (default value)
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
  /**