jodit-pro 4.13.43 → 4.13.45

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 (337) hide show
  1. package/es2015/jodit.css +2 -2
  2. package/es2015/jodit.fat.min.css +1 -1
  3. package/es2015/jodit.fat.min.js +8 -8
  4. package/es2015/jodit.js +19 -32
  5. package/es2015/jodit.min.js +4 -4
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  9. package/es2015/plugins/autocomplete/autocomplete.css +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  11. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  12. package/es2015/plugins/backup/backup.css +1 -1
  13. package/es2015/plugins/backup/backup.js +1 -1
  14. package/es2015/plugins/backup/backup.min.js +1 -1
  15. package/es2015/plugins/button-generator/button-generator.css +1 -1
  16. package/es2015/plugins/button-generator/button-generator.js +1 -1
  17. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  18. package/es2015/plugins/change-case/change-case.js +1 -1
  19. package/es2015/plugins/change-case/change-case.min.js +1 -1
  20. package/es2015/plugins/color-picker/color-picker.css +1 -1
  21. package/es2015/plugins/color-picker/color-picker.js +1 -1
  22. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  23. package/es2015/plugins/emoji/emoji.css +1 -1
  24. package/es2015/plugins/emoji/emoji.js +1 -1
  25. package/es2015/plugins/emoji/emoji.min.js +1 -1
  26. package/es2015/plugins/export-docs/export-docs.js +1 -1
  27. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  28. package/es2015/plugins/finder/finder.css +1 -1
  29. package/es2015/plugins/finder/finder.js +1 -1
  30. package/es2015/plugins/finder/finder.min.js +1 -1
  31. package/es2015/plugins/google-maps/google-maps.css +11 -1
  32. package/es2015/plugins/google-maps/google-maps.js +325 -82
  33. package/es2015/plugins/google-maps/google-maps.min.css +1 -1
  34. package/es2015/plugins/google-maps/google-maps.min.js +6 -6
  35. package/es2015/plugins/google-search/google-search.js +1 -1
  36. package/es2015/plugins/google-search/google-search.min.js +1 -1
  37. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  42. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  43. package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
  44. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  45. package/es2015/plugins/keyboard/keyboard.css +1 -1
  46. package/es2015/plugins/keyboard/keyboard.js +1 -1
  47. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  48. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  49. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  50. package/es2015/plugins/page-break/page-break.js +1 -1
  51. package/es2015/plugins/page-break/page-break.min.js +1 -1
  52. package/es2015/plugins/paste-code/paste-code.css +1 -1
  53. package/es2015/plugins/paste-code/paste-code.js +1 -1
  54. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  55. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  56. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  57. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  58. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  59. package/es2015/plugins/style/style.css +1 -1
  60. package/es2015/plugins/style/style.js +1 -1
  61. package/es2015/plugins/style/style.min.js +1 -1
  62. package/es2015/plugins/templates/templates.css +1 -1
  63. package/es2015/plugins/templates/templates.js +1 -1
  64. package/es2015/plugins/templates/templates.min.js +1 -1
  65. package/es2015/plugins/todo-list/todo-list.css +1 -1
  66. package/es2015/plugins/todo-list/todo-list.js +1 -1
  67. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  68. package/es2015/plugins/translate/translate.css +1 -1
  69. package/es2015/plugins/translate/translate.js +1 -1
  70. package/es2015/plugins/translate/translate.min.js +1 -1
  71. package/es2015/plugins/tune-block/tune-block.css +1 -1
  72. package/es2015/plugins/tune-block/tune-block.js +1 -1
  73. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  74. package/es2018/jodit.fat.min.css +1 -1
  75. package/es2018/jodit.fat.min.js +13 -13
  76. package/es2018/jodit.min.js +4 -4
  77. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  78. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  79. package/es2018/plugins/backup/backup.min.js +1 -1
  80. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  81. package/es2018/plugins/change-case/change-case.min.js +1 -1
  82. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  83. package/es2018/plugins/emoji/emoji.min.js +1 -1
  84. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  85. package/es2018/plugins/finder/finder.min.js +1 -1
  86. package/es2018/plugins/google-maps/google-maps.min.css +1 -1
  87. package/es2018/plugins/google-maps/google-maps.min.js +7 -7
  88. package/es2018/plugins/google-search/google-search.min.js +1 -1
  89. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  90. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  91. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  92. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  93. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  94. package/es2018/plugins/page-break/page-break.min.js +1 -1
  95. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  96. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  97. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  98. package/es2018/plugins/style/style.min.js +1 -1
  99. package/es2018/plugins/templates/templates.min.js +1 -1
  100. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  101. package/es2018/plugins/translate/translate.min.js +1 -1
  102. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  103. package/es2021/jodit.css +2 -2
  104. package/es2021/jodit.fat.min.css +1 -1
  105. package/es2021/jodit.fat.min.js +16 -16
  106. package/es2021/jodit.js +19 -32
  107. package/es2021/jodit.min.js +4 -4
  108. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  109. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  110. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  111. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  112. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  113. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  114. package/es2021/plugins/backup/backup.css +1 -1
  115. package/es2021/plugins/backup/backup.js +1 -1
  116. package/es2021/plugins/backup/backup.min.js +1 -1
  117. package/es2021/plugins/button-generator/button-generator.css +1 -1
  118. package/es2021/plugins/button-generator/button-generator.js +1 -1
  119. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  120. package/es2021/plugins/change-case/change-case.js +1 -1
  121. package/es2021/plugins/change-case/change-case.min.js +1 -1
  122. package/es2021/plugins/color-picker/color-picker.css +1 -1
  123. package/es2021/plugins/color-picker/color-picker.js +1 -1
  124. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  125. package/es2021/plugins/emoji/emoji.css +1 -1
  126. package/es2021/plugins/emoji/emoji.js +1 -1
  127. package/es2021/plugins/emoji/emoji.min.js +1 -1
  128. package/es2021/plugins/export-docs/export-docs.js +1 -1
  129. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  130. package/es2021/plugins/finder/finder.css +1 -1
  131. package/es2021/plugins/finder/finder.js +1 -1
  132. package/es2021/plugins/finder/finder.min.js +1 -1
  133. package/es2021/plugins/google-maps/google-maps.css +11 -1
  134. package/es2021/plugins/google-maps/google-maps.js +320 -85
  135. package/es2021/plugins/google-maps/google-maps.min.css +1 -1
  136. package/es2021/plugins/google-maps/google-maps.min.js +9 -9
  137. package/es2021/plugins/google-search/google-search.js +1 -1
  138. package/es2021/plugins/google-search/google-search.min.js +1 -1
  139. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  140. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  141. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  142. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  143. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  144. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  145. package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
  146. package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  147. package/es2021/plugins/keyboard/keyboard.css +1 -1
  148. package/es2021/plugins/keyboard/keyboard.js +1 -1
  149. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  150. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  151. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  152. package/es2021/plugins/page-break/page-break.js +1 -1
  153. package/es2021/plugins/page-break/page-break.min.js +1 -1
  154. package/es2021/plugins/paste-code/paste-code.css +1 -1
  155. package/es2021/plugins/paste-code/paste-code.js +1 -1
  156. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  157. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  158. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  159. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  160. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  161. package/es2021/plugins/style/style.css +1 -1
  162. package/es2021/plugins/style/style.js +1 -1
  163. package/es2021/plugins/style/style.min.js +1 -1
  164. package/es2021/plugins/templates/templates.css +1 -1
  165. package/es2021/plugins/templates/templates.js +1 -1
  166. package/es2021/plugins/templates/templates.min.js +1 -1
  167. package/es2021/plugins/todo-list/todo-list.css +1 -1
  168. package/es2021/plugins/todo-list/todo-list.js +1 -1
  169. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  170. package/es2021/plugins/translate/translate.css +1 -1
  171. package/es2021/plugins/translate/translate.js +1 -1
  172. package/es2021/plugins/translate/translate.min.js +1 -1
  173. package/es2021/plugins/tune-block/tune-block.css +1 -1
  174. package/es2021/plugins/tune-block/tune-block.js +1 -1
  175. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  176. package/es2021.en/jodit.css +2 -2
  177. package/es2021.en/jodit.fat.min.css +1 -1
  178. package/es2021.en/jodit.fat.min.js +8 -8
  179. package/es2021.en/jodit.js +19 -32
  180. package/es2021.en/jodit.min.js +4 -4
  181. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  182. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  183. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  184. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  185. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  186. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  187. package/es2021.en/plugins/backup/backup.css +1 -1
  188. package/es2021.en/plugins/backup/backup.js +1 -1
  189. package/es2021.en/plugins/backup/backup.min.js +1 -1
  190. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  191. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  192. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  193. package/es2021.en/plugins/change-case/change-case.js +1 -1
  194. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  195. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  196. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  197. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  198. package/es2021.en/plugins/emoji/emoji.css +1 -1
  199. package/es2021.en/plugins/emoji/emoji.js +1 -1
  200. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  201. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  202. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  203. package/es2021.en/plugins/finder/finder.css +1 -1
  204. package/es2021.en/plugins/finder/finder.js +1 -1
  205. package/es2021.en/plugins/finder/finder.min.js +1 -1
  206. package/es2021.en/plugins/google-maps/google-maps.css +11 -1
  207. package/es2021.en/plugins/google-maps/google-maps.js +320 -85
  208. package/es2021.en/plugins/google-maps/google-maps.min.css +1 -1
  209. package/es2021.en/plugins/google-maps/google-maps.min.js +9 -9
  210. package/es2021.en/plugins/google-search/google-search.js +1 -1
  211. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  212. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  213. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  214. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  215. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  216. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  217. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  218. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
  219. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  220. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  221. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  222. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  223. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  224. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  225. package/es2021.en/plugins/page-break/page-break.js +1 -1
  226. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  227. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  228. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  229. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  230. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  231. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  232. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  233. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  234. package/es2021.en/plugins/style/style.css +1 -1
  235. package/es2021.en/plugins/style/style.js +1 -1
  236. package/es2021.en/plugins/style/style.min.js +1 -1
  237. package/es2021.en/plugins/templates/templates.css +1 -1
  238. package/es2021.en/plugins/templates/templates.js +1 -1
  239. package/es2021.en/plugins/templates/templates.min.js +1 -1
  240. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  241. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  242. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  243. package/es2021.en/plugins/translate/translate.css +1 -1
  244. package/es2021.en/plugins/translate/translate.js +1 -1
  245. package/es2021.en/plugins/translate/translate.min.js +1 -1
  246. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  247. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  248. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  249. package/es5/jodit.css +3 -3
  250. package/es5/jodit.fat.min.css +1 -1
  251. package/es5/jodit.fat.min.js +2 -2
  252. package/es5/jodit.js +46 -32
  253. package/es5/jodit.min.css +2 -2
  254. package/es5/jodit.min.js +2 -2
  255. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  256. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  257. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  258. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  259. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  260. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  261. package/es5/plugins/backup/backup.css +1 -1
  262. package/es5/plugins/backup/backup.js +1 -1
  263. package/es5/plugins/backup/backup.min.js +1 -1
  264. package/es5/plugins/button-generator/button-generator.css +1 -1
  265. package/es5/plugins/button-generator/button-generator.js +1 -1
  266. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  267. package/es5/plugins/change-case/change-case.js +1 -1
  268. package/es5/plugins/change-case/change-case.min.js +1 -1
  269. package/es5/plugins/color-picker/color-picker.css +1 -1
  270. package/es5/plugins/color-picker/color-picker.js +1 -1
  271. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  272. package/es5/plugins/emoji/emoji.css +1 -1
  273. package/es5/plugins/emoji/emoji.js +1 -1
  274. package/es5/plugins/emoji/emoji.min.js +1 -1
  275. package/es5/plugins/export-docs/export-docs.js +1 -1
  276. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  277. package/es5/plugins/finder/finder.css +1 -1
  278. package/es5/plugins/finder/finder.js +1 -1
  279. package/es5/plugins/finder/finder.min.js +1 -1
  280. package/es5/plugins/google-maps/google-maps.css +11 -1
  281. package/es5/plugins/google-maps/google-maps.js +416 -104
  282. package/es5/plugins/google-maps/google-maps.min.css +1 -1
  283. package/es5/plugins/google-maps/google-maps.min.js +2 -2
  284. package/es5/plugins/google-search/google-search.js +1 -1
  285. package/es5/plugins/google-search/google-search.min.js +1 -1
  286. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  287. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  288. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  289. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  290. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  291. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  292. package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
  293. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  294. package/es5/plugins/keyboard/keyboard.css +1 -1
  295. package/es5/plugins/keyboard/keyboard.js +1 -1
  296. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  297. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  298. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  299. package/es5/plugins/page-break/page-break.js +1 -1
  300. package/es5/plugins/page-break/page-break.min.js +1 -1
  301. package/es5/plugins/paste-code/paste-code.css +1 -1
  302. package/es5/plugins/paste-code/paste-code.js +1 -1
  303. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  304. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  305. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  306. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  307. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  308. package/es5/plugins/style/style.css +1 -1
  309. package/es5/plugins/style/style.js +1 -1
  310. package/es5/plugins/style/style.min.js +1 -1
  311. package/es5/plugins/templates/templates.css +1 -1
  312. package/es5/plugins/templates/templates.js +1 -1
  313. package/es5/plugins/templates/templates.min.js +1 -1
  314. package/es5/plugins/todo-list/todo-list.css +1 -1
  315. package/es5/plugins/todo-list/todo-list.js +1 -1
  316. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  317. package/es5/plugins/translate/translate.css +1 -1
  318. package/es5/plugins/translate/translate.js +1 -1
  319. package/es5/plugins/translate/translate.min.js +1 -1
  320. package/es5/plugins/tune-block/tune-block.css +1 -1
  321. package/es5/plugins/tune-block/tune-block.js +1 -1
  322. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  323. package/es5/polyfills.fat.min.js +1 -1
  324. package/es5/polyfills.js +1 -1
  325. package/es5/polyfills.min.js +1 -1
  326. package/esm/plugins/google-maps/config.js +1 -1
  327. package/esm/plugins/google-maps/google-maps.js +1 -1
  328. package/esm/plugins/google-maps/helpers/helpers.d.ts +8 -0
  329. package/esm/plugins/google-maps/helpers/helpers.js +1 -1
  330. package/esm/plugins/google-maps/ui/map/map.d.ts +9 -2
  331. package/esm/plugins/google-maps/ui/map/map.js +2 -2
  332. package/esm/plugins/google-maps/ui/map/modules/drawing-controller.d.ts +42 -0
  333. package/esm/plugins/google-maps/ui/map/modules/drawing-controller.js +1 -0
  334. package/package.json +1 -1
  335. package/types/plugins/google-maps/helpers/helpers.d.ts +8 -0
  336. package/types/plugins/google-maps/ui/map/map.d.ts +9 -2
  337. package/types/plugins/google-maps/ui/map/modules/drawing-controller.d.ts +42 -0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.13.43
4
+ * Version: v4.13.45
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1646,7 +1646,7 @@ jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_7__.Icon.set('map', (_icon_svg__
1646
1646
  jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.googleMaps = {
1647
1647
  saveStateInStorage: true,
1648
1648
  useStaticImage: false,
1649
- apiUrl: 'https://maps.googleapis.com/maps/api/js?key=${j.o.googleMaps.API_KEY}&libraries=geometry,places,drawing&language=${j.o.language}&callback=JoditGoogleReadyHandler',
1649
+ apiUrl: 'https://maps.googleapis.com/maps/api/js?key=${j.o.googleMaps.API_KEY}&libraries=geometry,places&language=${j.o.language}&callback=JoditGoogleReadyHandler',
1650
1650
  API_KEY: 'AIzaSyDjnR03hxN8fo0QJ85Jkkvk2DALTh3eynY',
1651
1651
  dialog: {
1652
1652
  size: [
@@ -1708,6 +1708,8 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.googleMa
1708
1708
  const gmButton = (name)=>({
1709
1709
  icon: `edit-${name}`,
1710
1710
  isActive: (editor)=>editor.buffer.get('createMode.gm') === name,
1711
+ // Drawing needs a working map — see `failed.gm`
1712
+ isDisabled: (editor)=>name !== 'hand' && Boolean(editor.buffer.get('failed.gm')),
1711
1713
  exec: (editor)=>{
1712
1714
  editor.e.fire('changeCreateMode.gm', name);
1713
1715
  }
@@ -1779,6 +1781,7 @@ __webpack_require__.r(__webpack_exports__);
1779
1781
 
1780
1782
  // @ts-ignore
1781
1783
  window['JoditGoogleReadyHandler'] = _helpers_helpers__WEBPACK_IMPORTED_MODULE_8__.GoogleReadyHandler;
1784
+ window['gm_authFailure'] = _helpers_helpers__WEBPACK_IMPORTED_MODULE_8__.GoogleAuthFailureHandler;
1782
1785
  class googleMaps extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_15__.Plugin {
1783
1786
  className() {
1784
1787
  return 'google-maps';
@@ -2180,14 +2183,17 @@ function generateStaticElements(uiMap) {
2180
2183
 
2181
2184
  "use strict";
2182
2185
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2186
+ /* harmony export */ GoogleAuthFailureHandler: function() { return /* binding */ GoogleAuthFailureHandler; },
2183
2187
  /* harmony export */ GoogleReadyHandler: function() { return /* binding */ GoogleReadyHandler; },
2184
2188
  /* harmony export */ arrayToPath: function() { return /* binding */ arrayToPath; },
2189
+ /* harmony export */ googleAuthFailure: function() { return /* binding */ googleAuthFailure; },
2185
2190
  /* harmony export */ googleReady: function() { return /* binding */ googleReady; },
2186
2191
  /* harmony export */ isApiAvailable: function() { return /* binding */ isApiAvailable; },
2192
+ /* harmony export */ isApiFailed: function() { return /* binding */ isApiFailed; },
2187
2193
  /* harmony export */ pathToArray: function() { return /* binding */ pathToArray; },
2188
2194
  /* harmony export */ specialColor: function() { return /* binding */ specialColor; }
2189
2195
  /* harmony export */ });
2190
- /* unused harmony exports jdGoogleMapsAlreadyLoaded, jdGoogleMapsOnloadHandlers */
2196
+ /* unused harmony exports jdGoogleMapsAlreadyLoaded, jdGoogleMapsOnloadHandlers, jdGoogleMapsAuthFailed */
2191
2197
  /*!
2192
2198
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
2193
2199
  * See LICENSE.md in the project root for license information.
@@ -2207,6 +2213,25 @@ function GoogleReadyHandler() {
2207
2213
  jdGoogleMapsOnloadHandlers.forEach((callback)=>callback());
2208
2214
  }
2209
2215
  }
2216
+ let jdGoogleMapsAuthFailed = false;
2217
+ const jdGoogleMapsAuthFailureHandlers = [];
2218
+ /**
2219
+ * Google calls `gm_authFailure` when the key or the HTTP referrer is not
2220
+ * authorized: the API is loaded, but every map instance is dead
2221
+ */ function GoogleAuthFailureHandler() {
2222
+ jdGoogleMapsAuthFailed = true;
2223
+ jdGoogleMapsAuthFailureHandlers.forEach((callback)=>callback());
2224
+ }
2225
+ function googleAuthFailure(callback) {
2226
+ if (jdGoogleMapsAuthFailed) {
2227
+ callback();
2228
+ } else {
2229
+ jdGoogleMapsAuthFailureHandlers.push(callback);
2230
+ }
2231
+ }
2232
+ function isApiFailed() {
2233
+ return jdGoogleMapsAuthFailed;
2234
+ }
2210
2235
  function arrayToPath(array, likePlainObject = false) {
2211
2236
  const path = [];
2212
2237
  if (Array.isArray(array)) {
@@ -2582,17 +2607,19 @@ UIPolylineEditor = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__de
2582
2607
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(31635);
2583
2608
  /* harmony import */ var jodit_pro_plugins_google_maps_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55029);
2584
2609
  /* harmony import */ var _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(22125);
2585
- /* harmony import */ var _modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1475);
2586
- /* harmony import */ var jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(81577);
2587
- /* harmony import */ var jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(97357);
2588
- /* harmony import */ var jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(13525);
2589
- /* harmony import */ var jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(37133);
2590
- /* harmony import */ var jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(580);
2591
- /* harmony import */ var jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(38837);
2592
- /* harmony import */ var jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(41180);
2593
- /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(67510);
2594
- /* harmony import */ var jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(11676);
2595
- /* harmony import */ var jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(17298);
2610
+ /* harmony import */ var _modules_drawing_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(76864);
2611
+ /* harmony import */ var _modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1475);
2612
+ /* harmony import */ var jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(81577);
2613
+ /* harmony import */ var jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(97357);
2614
+ /* harmony import */ var jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(13525);
2615
+ /* harmony import */ var jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(37133);
2616
+ /* harmony import */ var jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(580);
2617
+ /* harmony import */ var jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(38837);
2618
+ /* harmony import */ var jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(41180);
2619
+ /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(67510);
2620
+ /* harmony import */ var jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(11676);
2621
+ /* harmony import */ var jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(17298);
2622
+ /* harmony import */ var jodit_pro_plugins_google_maps_helpers_helpers__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(67912);
2596
2623
  /*!
2597
2624
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
2598
2625
  * See LICENSE.md in the project root for license information.
@@ -2616,7 +2643,9 @@ UIPolylineEditor = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__de
2616
2643
 
2617
2644
 
2618
2645
 
2619
- class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2646
+
2647
+
2648
+ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_16__.UIGroup {
2620
2649
  className() {
2621
2650
  return 'UIMap';
2622
2651
  }
@@ -2629,15 +2658,32 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2629
2658
  return (0,_swc_helpers_async_to_generator__WEBPACK_IMPORTED_MODULE_0__._)(function*() {
2630
2659
  yield this.apiLoaded;
2631
2660
  const container = this.getElm('map-root');
2632
- (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(container != null, 'map-root element does not exists');
2633
- this.map = new google.maps.Map(container, {
2634
- center: {
2635
- lat: this.state.center[0],
2636
- lng: this.state.center[1]
2637
- },
2638
- zoom: this.state.zoom,
2639
- mapTypeId: this.state.type
2640
- });
2661
+ (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__.assert)(container != null, 'map-root element does not exists');
2662
+ // Once Google has reported an authorization failure every further
2663
+ // map is dead on arrival, and constructing one makes the API throw
2664
+ // from inside its own promise — which no try/catch of ours can
2665
+ // intercept. Show the failed state instead of building it
2666
+ if ((0,jodit_pro_plugins_google_maps_helpers_helpers__WEBPACK_IMPORTED_MODULE_19__.isApiFailed)()) {
2667
+ this.markAsFailed();
2668
+ return;
2669
+ }
2670
+ try {
2671
+ this.map = new google.maps.Map(container, {
2672
+ center: {
2673
+ lat: this.state.center[0],
2674
+ lng: this.state.center[1]
2675
+ },
2676
+ zoom: this.state.zoom,
2677
+ mapTypeId: this.state.type
2678
+ });
2679
+ } catch (error) {
2680
+ // The API is loaded but unusable — an unauthorized key or
2681
+ // referrer leaves google.maps in a broken state. Keep the
2682
+ // dialog alive with the drawing tools switched off instead
2683
+ // of throwing out of an event handler
2684
+ this.markAsFailed();
2685
+ return;
2686
+ }
2641
2687
  this.map.addListener('zoom_changed', ()=>{
2642
2688
  var _this_map_getZoom;
2643
2689
  this.state.zoom = (_this_map_getZoom = this.map.getZoom()) !== null && _this_map_getZoom !== void 0 ? _this_map_getZoom : 10;
@@ -2656,7 +2702,12 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2656
2702
  this.state.type = type;
2657
2703
  }
2658
2704
  });
2659
- this.initDrawManager();
2705
+ (0,jodit_pro_plugins_google_maps_helpers_helpers__WEBPACK_IMPORTED_MODULE_19__.googleAuthFailure)(()=>{
2706
+ if (!this.isInDestruct) {
2707
+ this.markAsFailed();
2708
+ }
2709
+ });
2710
+ this.initDrawingController();
2660
2711
  this.onChangeElementsList();
2661
2712
  this.onChangeSize();
2662
2713
  this.onChangeControls();
@@ -2669,44 +2720,37 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2669
2720
  });
2670
2721
  }).call(this);
2671
2722
  }
2672
- initDrawManager() {
2673
- try {
2674
- const drawingManager = new google.maps.drawing.DrawingManager();
2675
- drawingManager.setMap(this.map);
2676
- drawingManager.setOptions({
2677
- drawingControl: false,
2678
- polygonOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_3__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_2__._)({}, this.options.googleMaps.map.defaultStates.polygon), {
2679
- clickable: true,
2680
- editable: true
2681
- }),
2682
- polylineOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_3__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_2__._)({}, this.options.googleMaps.map.defaultStates.polyline), {
2683
- clickable: true,
2684
- editable: true
2685
- }),
2686
- markerOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_3__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_2__._)({}, this.options.googleMaps.map.defaultStates.marker), {
2687
- clickable: true
2688
- }),
2689
- circleOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_3__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_2__._)({}, this.options.googleMaps.map.defaultStates.circle), {
2690
- clickable: true,
2691
- editable: true
2692
- })
2693
- });
2694
- this.drawingManager = drawingManager;
2695
- google.maps.event.addListener(drawingManager, 'overlaycomplete', (event)=>{
2696
- if (event.overlay) {
2697
- _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_6__.addNewInState.call(this, event.overlay);
2698
- event.overlay.setMap(null);
2699
- }
2700
- });
2701
- } catch (unused) {}
2723
+ /**
2724
+ * Google Maps could not start: disable everything that needs a live
2725
+ * map, so the toolbar tools do not act on a broken instance
2726
+ */ markAsFailed() {
2727
+ this.failed = true;
2728
+ this.state.mode = 'hand';
2729
+ this.j.buffer.set('failed.gm', true);
2730
+ const container = this.getElm('map-root');
2731
+ if (container && !container.firstChild) {
2732
+ container.appendChild(this.j.c.div(this.getFullElName('error'), this.j.i18n('Google Maps could not be loaded. Check the API key and the list of allowed HTTP referrers.')));
2733
+ }
2734
+ // Straight to the collection: the `updateToolbar` event is debounced
2735
+ this.toolbar.update();
2736
+ this.j.e.fire(this, 'GoogleMapsIsFailed');
2737
+ }
2738
+ initDrawingController() {
2739
+ this.drawing = new _modules_drawing_controller__WEBPACK_IMPORTED_MODULE_7__.DrawingController(this.map, this.options.googleMaps.map.defaultStates, (overlay)=>{
2740
+ _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_6__.addNewInState.call(this, overlay);
2741
+ overlay.setMap(null);
2742
+ });
2702
2743
  }
2703
2744
  changeCreateMode(mode) {
2745
+ if (this.failed) {
2746
+ return;
2747
+ }
2704
2748
  this.state.mode = this.state.mode === mode ? 'hand' : mode;
2705
2749
  }
2706
2750
  onChangeMode() {
2707
- var _this_drawingManager;
2751
+ var _this_drawing;
2708
2752
  this.j.buffer.set('createMode.gm', this.state.mode);
2709
- (_this_drawingManager = this.drawingManager) === null || _this_drawingManager === void 0 ? void 0 : _this_drawingManager.setDrawingMode(this.state.mode === 'hand' ? null : this.state.mode);
2753
+ (_this_drawing = this.drawing) === null || _this_drawing === void 0 ? void 0 : _this_drawing.setMode(this.state.mode);
2710
2754
  this.j.e.fire('updateToolbar');
2711
2755
  }
2712
2756
  onChangeElementsList() {
@@ -2717,7 +2761,7 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2717
2761
  });
2718
2762
  }
2719
2763
  mapElements.length = elements.length;
2720
- elements.forEach((state, index)=>_modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_7__.initOrUpdateElementFromState.call(this, state, index));
2764
+ elements.forEach((state, index)=>_modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_8__.initOrUpdateElementFromState.call(this, state, index));
2721
2765
  }
2722
2766
  onChangeCenter() {
2723
2767
  const center = this.map.getCenter();
@@ -2740,7 +2784,7 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2740
2784
  }
2741
2785
  }
2742
2786
  onChangeBound() {
2743
- this.options.googleMaps.saveStateInStorage && this.j.storage.set(jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_17__.STORAGE_KEY, {
2787
+ this.options.googleMaps.saveStateInStorage && this.j.storage.set(jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_18__.STORAGE_KEY, {
2744
2788
  center: this.state.center,
2745
2789
  size: this.state.size,
2746
2790
  zoom: this.state.zoom,
@@ -2751,8 +2795,8 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2751
2795
  }
2752
2796
  onChangeSize() {
2753
2797
  const mapSize = this.getElm('map-size');
2754
- (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(mapSize != null, 'map-size element does not exists');
2755
- (0,jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_14__.css)(mapSize, {
2798
+ (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__.assert)(mapSize != null, 'map-size element does not exists');
2799
+ (0,jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_15__.css)(mapSize, {
2756
2800
  width: this.state.size[0],
2757
2801
  height: this.state.size[1]
2758
2802
  });
@@ -2776,6 +2820,16 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2776
2820
  }
2777
2821
  this.layers.forEach((layer)=>layer.setMap(this.map));
2778
2822
  }
2823
+ destruct() {
2824
+ // Never let a broken map keep the dialog from closing
2825
+ try {
2826
+ var _this_drawing;
2827
+ (_this_drawing = this.drawing) === null || _this_drawing === void 0 ? void 0 : _this_drawing.destruct();
2828
+ } catch (unused) {}
2829
+ this.drawing = undefined;
2830
+ this.j.buffer.set('failed.gm', false);
2831
+ return super.destruct();
2832
+ }
2779
2833
  render() {
2780
2834
  return `<div>
2781
2835
  <div class='&__map-root'></div>
@@ -2785,8 +2839,8 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2785
2839
  }
2786
2840
  appendChildToContainer() {}
2787
2841
  constructor(jodit, state, options){
2788
- super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "drawingManager", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "mapElements", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "apiLoaded", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "mapInitialized", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "map", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "layers", void 0), this.options = options, this.toolbar = new jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_16__.ToolbarCollection(this.jodit), this.state = {
2789
- uid: 'jd' + (0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_12__.uniqueUid)() + new Date().toString().replace(/[^0-9]/g, ''),
2842
+ super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "drawing", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "mapElements", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "apiLoaded", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "mapInitialized", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "failed", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "map", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "layers", void 0), this.options = options, this.toolbar = new jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_17__.ToolbarCollection(this.jodit), this.state = {
2843
+ uid: 'jd' + (0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_13__.uniqueUid)() + new Date().toString().replace(/[^0-9]/g, ''),
2790
2844
  layer: this.options.googleMaps.map.layer,
2791
2845
  center: this.options.googleMaps.map.defaultCenter,
2792
2846
  zoom: this.options.googleMaps.map.defaultZoom,
@@ -2802,7 +2856,7 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2802
2856
  },
2803
2857
  mode: 'hand',
2804
2858
  elements: []
2805
- }, this.mapElements = [], this.apiLoaded = null, this.mapInitialized = false, this.layers = [];
2859
+ }, this.mapElements = [], this.apiLoaded = null, this.mapInitialized = false, this.failed = false, this.layers = [];
2806
2860
  Object.assign(this.state, state);
2807
2861
  this.toolbar.build([
2808
2862
  'gm.hand',
@@ -2812,36 +2866,36 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2812
2866
  'gm.circle'
2813
2867
  ]);
2814
2868
  const palette = this.getElm('map-palette');
2815
- (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(palette != null, 'palette element does not exists');
2869
+ (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__.assert)(palette != null, 'palette element does not exists');
2816
2870
  palette.appendChild(this.toolbar.container);
2817
2871
  }
2818
2872
  }
2819
2873
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2820
- (0,jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_9__.hook)('ready')
2874
+ (0,jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_10__.hook)('ready')
2821
2875
  ], UIMap.prototype, "onReady", null);
2822
2876
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2823
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('?:changeCreateMode.gm')
2877
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('?:changeCreateMode.gm')
2824
2878
  ], UIMap.prototype, "changeCreateMode", null);
2825
2879
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2826
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.mode')
2880
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.mode')
2827
2881
  ], UIMap.prototype, "onChangeMode", null);
2828
2882
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2829
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.elements')
2883
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.elements')
2830
2884
  ], UIMap.prototype, "onChangeElementsList", null);
2831
2885
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2832
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.center'),
2833
- (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_10__.wait)((ctx)=>ctx.mapInitialized),
2834
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_8__.debounce)()
2886
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.center'),
2887
+ (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_11__.wait)((ctx)=>ctx.mapInitialized),
2888
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_9__.debounce)()
2835
2889
  ], UIMap.prototype, "onChangeCenter", null);
2836
2890
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2837
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.zoom'),
2838
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_8__.debounce)()
2891
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.zoom'),
2892
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_9__.debounce)()
2839
2893
  ], UIMap.prototype, "onChangeZoom", null);
2840
2894
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2841
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.controls')
2895
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.controls')
2842
2896
  ], UIMap.prototype, "onChangeControls", null);
2843
2897
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2844
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)([
2898
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)([
2845
2899
  'state.center',
2846
2900
  'state.zoom',
2847
2901
  'state.controls',
@@ -2849,18 +2903,18 @@ class UIMap extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_15__.UIGroup {
2849
2903
  'state.type',
2850
2904
  'state.layer'
2851
2905
  ]),
2852
- (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_10__.wait)((ctx)=>ctx.mapInitialized),
2853
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_8__.debounce)()
2906
+ (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_11__.wait)((ctx)=>ctx.mapInitialized),
2907
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_9__.debounce)()
2854
2908
  ], UIMap.prototype, "onChangeBound", null);
2855
2909
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2856
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.size'),
2857
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_8__.debounce)()
2910
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.size'),
2911
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_9__.debounce)()
2858
2912
  ], UIMap.prototype, "onChangeSize", null);
2859
2913
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2860
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.type')
2914
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.type')
2861
2915
  ], UIMap.prototype, "onChangeMapType", null);
2862
2916
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
2863
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_11__.watch)('state.layer')
2917
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_12__.watch)('state.layer')
2864
2918
  ], UIMap.prototype, "onChangeLayer", null);
2865
2919
 
2866
2920
 
@@ -2935,6 +2989,195 @@ function addNewInState(mvc) {
2935
2989
  }
2936
2990
 
2937
2991
 
2992
+ /***/ }),
2993
+
2994
+ /***/ 76864:
2995
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2996
+
2997
+ "use strict";
2998
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2999
+ /* harmony export */ DrawingController: function() { return /* binding */ DrawingController; }
3000
+ /* harmony export */ });
3001
+ /* unused harmony export isDrawableMode */
3002
+ /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749);
3003
+ /* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56075);
3004
+ /* harmony import */ var _swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11886);
3005
+ /*!
3006
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
3007
+ * See LICENSE.md in the project root for license information.
3008
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
3009
+ */
3010
+
3011
+
3012
+ const DRAWABLE_MODES = [
3013
+ 'marker',
3014
+ 'polyline',
3015
+ 'polygon',
3016
+ 'circle'
3017
+ ];
3018
+ function isDrawableMode(mode) {
3019
+ return DRAWABLE_MODES.includes(mode);
3020
+ }
3021
+ /**
3022
+ * Replacement for the removed `google.maps.drawing.DrawingManager`
3023
+ * (the Drawing Library was discontinued in Maps JS API v3.65):
3024
+ * draws markers, polylines, polygons and circles with plain map events.
3025
+ *
3026
+ * Click places a marker / a vertex / a circle center; for circles the
3027
+ * radius follows the cursor and a second click fixes it; polylines and
3028
+ * polygons are finished with a double click. The completed shape is
3029
+ * passed to `onComplete` and removed from the map — the caller
3030
+ * re-creates it from state, exactly as with DrawingManager overlays.
3031
+ */ class DrawingController {
3032
+ setMode(mode) {
3033
+ const nextMode = isDrawableMode(mode) ? mode : null;
3034
+ if (nextMode === this.mode) {
3035
+ return;
3036
+ }
3037
+ this.cancel();
3038
+ this.unbind();
3039
+ this.mode = nextMode;
3040
+ if (nextMode) {
3041
+ this.bind();
3042
+ this.map.setOptions({
3043
+ draggableCursor: 'crosshair',
3044
+ disableDoubleClickZoom: true
3045
+ });
3046
+ } else {
3047
+ this.map.setOptions({
3048
+ draggableCursor: null,
3049
+ disableDoubleClickZoom: false
3050
+ });
3051
+ }
3052
+ }
3053
+ destruct() {
3054
+ this.cancel();
3055
+ this.unbind();
3056
+ this.mode = null;
3057
+ }
3058
+ bind() {
3059
+ // A map whose API failed to authorize returns nothing from
3060
+ // addListener, so keep only real listeners
3061
+ this.listeners = [
3062
+ this.map.addListener('click', (e)=>this.onClick(e)),
3063
+ this.map.addListener('mousemove', (e)=>this.onMove(e)),
3064
+ this.map.addListener('dblclick', ()=>this.onDblClick())
3065
+ ].filter(Boolean);
3066
+ }
3067
+ unbind() {
3068
+ this.listeners.forEach((listener)=>listener === null || listener === void 0 ? void 0 : listener.remove());
3069
+ this.listeners = [];
3070
+ }
3071
+ onClick(e) {
3072
+ const point = e.latLng;
3073
+ if (!point) {
3074
+ return;
3075
+ }
3076
+ switch(this.mode){
3077
+ case 'marker':
3078
+ this.onComplete(new google.maps.Marker({
3079
+ position: point
3080
+ }));
3081
+ break;
3082
+ case 'circle':
3083
+ if (!this.previewCircle) {
3084
+ this.previewCircle = new google.maps.Circle((0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_2__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__._)({}, this.defaultStates.circle), {
3085
+ center: point,
3086
+ radius: 0,
3087
+ clickable: false,
3088
+ map: this.map
3089
+ }));
3090
+ } else {
3091
+ this.finishCircle();
3092
+ }
3093
+ break;
3094
+ case 'polyline':
3095
+ case 'polygon':
3096
+ this.vertices.push(point);
3097
+ this.updatePolyPreview(point);
3098
+ break;
3099
+ }
3100
+ }
3101
+ onMove(e) {
3102
+ const point = e.latLng;
3103
+ if (!point) {
3104
+ return;
3105
+ }
3106
+ if (this.previewCircle) {
3107
+ const center = this.previewCircle.getCenter();
3108
+ center && this.previewCircle.setRadius(google.maps.geometry.spherical.computeDistanceBetween(center, point));
3109
+ return;
3110
+ }
3111
+ if (this.vertices.length) {
3112
+ this.updatePolyPreview(point);
3113
+ }
3114
+ }
3115
+ onDblClick() {
3116
+ if (this.mode !== 'polyline' && this.mode !== 'polygon') {
3117
+ return;
3118
+ }
3119
+ // The double click is preceded by two single clicks at the same
3120
+ // point — collapse the duplicated trailing vertices
3121
+ const path = this.vertices.filter((point, i, list)=>i === 0 || !point.equals(list[i - 1]));
3122
+ const minPoints = this.mode === 'polygon' ? 3 : 2;
3123
+ if (path.length >= minPoints && this.preview) {
3124
+ const shape = this.preview;
3125
+ shape.setPath(path);
3126
+ this.onComplete(shape);
3127
+ }
3128
+ this.cancel();
3129
+ }
3130
+ finishCircle() {
3131
+ const circle = this.previewCircle;
3132
+ if (circle) {
3133
+ this.previewCircle = null;
3134
+ this.onComplete(circle);
3135
+ circle.setMap(null);
3136
+ }
3137
+ }
3138
+ updatePolyPreview(cursor) {
3139
+ const path = [
3140
+ ...this.vertices,
3141
+ cursor
3142
+ ];
3143
+ if (!this.preview) {
3144
+ const options = (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_2__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__._)({}, this.defaultStates[this.mode === 'polygon' ? 'polygon' : 'polyline']), {
3145
+ clickable: false,
3146
+ map: this.map
3147
+ });
3148
+ this.preview = this.mode === 'polygon' ? new google.maps.Polygon(options) : new google.maps.Polyline(options);
3149
+ }
3150
+ this.preview.setPath(path);
3151
+ }
3152
+ cancel() {
3153
+ var _this_preview, _this_previewCircle;
3154
+ (_this_preview = this.preview) === null || _this_preview === void 0 ? void 0 : _this_preview.setMap(null);
3155
+ this.preview = null;
3156
+ (_this_previewCircle = this.previewCircle) === null || _this_previewCircle === void 0 ? void 0 : _this_previewCircle.setMap(null);
3157
+ this.previewCircle = null;
3158
+ this.vertices = [];
3159
+ }
3160
+ constructor(map, defaultStates, onComplete){
3161
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "map", void 0);
3162
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "defaultStates", void 0);
3163
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "onComplete", void 0);
3164
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "mode", void 0);
3165
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "listeners", void 0);
3166
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "preview", void 0);
3167
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "previewCircle", void 0);
3168
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "vertices", void 0);
3169
+ this.map = map;
3170
+ this.defaultStates = defaultStates;
3171
+ this.onComplete = onComplete;
3172
+ this.mode = null;
3173
+ this.listeners = [];
3174
+ this.preview = null;
3175
+ this.previewCircle = null;
3176
+ this.vertices = [];
3177
+ }
3178
+ }
3179
+
3180
+
2938
3181
  /***/ }),
2939
3182
 
2940
3183
  /***/ 1475:
@@ -1 +1 @@
1
- .jodit-ui-combo-box{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default);position:relative}.jodit-ui-combo-box__input{appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:1.2;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-combo-box__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-combo-box__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-combo-box__input:focus{outline:0}.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__input{background-color:var(--jd-color-gray)}.jodit-ui-combo-box_has-error_true .jodit-ui-combo-box__input{border-color:var(--jd-color-red)}.jodit-ui-combo-box__error,.jodit-ui-combo-box__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-combo-box__error,.jodit-ui-combo-box_has-error_true .jodit-ui-combo-box__label{color:var(--jd-color-error)}.jodit-ui-combo-box__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-combo-box__wrapper{min-width:140px}}.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-combo-box_focused_true .jodit-ui-combo-box__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-combo-box__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-combo-box__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-combo-box__icon:not(:empty)+.jodit-ui-combo-box__input{padding-left:0}.jodit-ui-combo-box__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-combo-box__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-combo-box__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__clear svg,.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__icon svg{fill:var(--jd-color-dark)}.jodit-ui-combo-box_in-header_true{justify-self:flex-end;margin:0;width:400px}@media (max-width:480px){.jodit-ui-combo-box_in-header_true{width:270px}}.pac-container{z-index:1000000000}.jodit-ui-wysiwyg__label{color:var(--jd-color-label);padding-bottom:2px}.jodit-ui-range{user-select:none}.jodit-ui-range__slider{background:#1e87f0;height:2px;margin:var(--jd-padding-default) 7px;position:relative;z-index:1}.jodit-ui-range__slider:after,.jodit-ui-range__slider:before{background:#1e87f0;content:"";height:2px;left:-6px;position:absolute;top:0;width:7px}.jodit-ui-range__slider:after{left:auto;right:-6px}.jodit-ui-range__handle{background:#28a5f5;border:1px solid #ccc;border-radius:50%;cursor:ew-resize;height:12px;position:absolute;top:-5px;transform:translateX(-50%);width:12px;z-index:2}.jodit-ui-range__handle:active{transform:translateX(-50%) scale(1.1)}.jodit-ui-range__label{color:var(--jd-color-label);display:flex;font-size:.8em;justify-content:space-between}.jodit-ui-range__log{color:#7f7272;font-weight:700}.jodit-ui-range_log_false .jodit-ui-range__log{display:none}.jodit-color-input{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-color-input__input{appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:1.2;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-color-input__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-color-input__input_has-error_true{border-color:var(--jd-color-red)}.jodit-color-input__input:focus{outline:0}.jodit-color-input_theme_dark .jodit-color-input__input{background-color:var(--jd-color-gray)}.jodit-color-input_has-error_true .jodit-color-input__input{border-color:var(--jd-color-red)}.jodit-color-input__error,.jodit-color-input__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-color-input__error,.jodit-color-input_has-error_true .jodit-color-input__label{color:var(--jd-color-error)}.jodit-color-input__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-color-input__wrapper{min-width:140px}}.jodit-color-input_theme_dark .jodit-color-input__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-color-input_focused_true .jodit-color-input__wrapper{border-color:var(--jd-color-border-selected)}.jodit-color-input__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-color-input__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-color-input__icon:not(:empty)+.jodit-color-input__input{padding-left:0}.jodit-color-input__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-color-input__clear:active{opacity:1;transform:scale(1.1)}.jodit-color-input__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-color-input_theme_dark .jodit-color-input__clear svg,.jodit-color-input_theme_dark .jodit-color-input__icon svg{fill:var(--jd-color-dark)}.jodit-color-input__trigger{background-color:var(--jd-color-panel);border:1px solid var(--jd-color-border);border-left:0;border-radius:0;box-sizing:content-box;height:calc(var(--jd-input-height) - 2px);width:var(--jd-input-height)}.jodit-color-input_slim_true .jodit-color-input__input,.jodit-color-input_slim_true .jodit-color-input__wrapper{color:transparent;height:24px;min-width:auto;width:24px}.jodit-color-input_slim_true .jodit-color-input__trigger,.jodit-color-input_trigger_false .jodit-color-input__trigger{display:none}:root{--jd-color-map-bounding-box:rgba(99,170,241,.5)}.jodit-ui-map{background-color:#f6f6f6;height:100%;position:relative}.jodit-ui-map__map-root{height:100%}.jodit-ui-map__map-size{border:1px dotted var(--jd-color-map-bounding-box);left:50%;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%)}.jodit-ui-map__map-size:after,.jodit-ui-map__map-size:before{background-color:var(--jd-color-map-bounding-box);content:"";display:block;height:30px;left:50%;position:absolute;top:50%;transform:translateY(-50%);width:1px}.jodit-ui-map__map-size:before{height:1px;transform:translateX(-50%);width:30px}.jodit-ui-map_info-opened_true .jodit-ui-map__map-size{display:none}.jodit-ui-map__map-palette{background-color:#fff;left:50%;position:absolute;top:5px;transform:translateX(-50%)}.jodit-ui-map__map-palette .jodit-ui-group{flex-wrap:nowrap}.jodit-ui-maps-controls-form,.jodit-ui-maps-props-form{padding:16px;width:300px}.jodit-google-maps .jodit-tabs{display:flex;flex-direction:column;height:100%}.jodit-google-maps .jodit-tabs__wrapper{flex:1}.jodit-google-maps .jodit-tabs__wrapper .jodit-tab{height:100%}@media (max-width:480px){.jodit-google-maps .jodit-dialog__header{flex-direction:row}}
1
+ .jodit-ui-combo-box{display:flex;flex-direction:column;line-height:normal;margin-bottom:var(--jd-padding-default);position:relative}.jodit-ui-combo-box__input{appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:1.2;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-combo-box__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-combo-box__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-combo-box__input:focus{outline:0}.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__input{background-color:var(--jd-color-gray)}.jodit-ui-combo-box_has-error_true .jodit-ui-combo-box__input{border-color:var(--jd-color-red)}.jodit-ui-combo-box__error,.jodit-ui-combo-box__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-combo-box__error,.jodit-ui-combo-box_has-error_true .jodit-ui-combo-box__label{color:var(--jd-color-error)}.jodit-ui-combo-box__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-combo-box__wrapper{min-width:140px}}.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-combo-box_focused_true .jodit-ui-combo-box__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-combo-box__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-combo-box__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-combo-box__icon:not(:empty)+.jodit-ui-combo-box__input{padding-left:0}.jodit-ui-combo-box__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-combo-box__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-combo-box__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__clear svg,.jodit-ui-combo-box_theme_dark .jodit-ui-combo-box__icon svg{fill:var(--jd-color-dark)}.jodit-ui-combo-box_in-header_true{justify-self:flex-end;margin:0;width:400px}@media (max-width:480px){.jodit-ui-combo-box_in-header_true{width:270px}}.pac-container{z-index:1000000000}.jodit-ui-wysiwyg__label{color:var(--jd-color-label);padding-bottom:2px}.jodit-ui-range{user-select:none}.jodit-ui-range__slider{background:#1e87f0;height:2px;margin:var(--jd-padding-default) 7px;position:relative;z-index:1}.jodit-ui-range__slider:after,.jodit-ui-range__slider:before{background:#1e87f0;content:"";height:2px;left:-6px;position:absolute;top:0;width:7px}.jodit-ui-range__slider:after{left:auto;right:-6px}.jodit-ui-range__handle{background:#28a5f5;border:1px solid #ccc;border-radius:50%;cursor:ew-resize;height:12px;position:absolute;top:-5px;transform:translateX(-50%);width:12px;z-index:2}.jodit-ui-range__handle:active{transform:translateX(-50%) scale(1.1)}.jodit-ui-range__label{color:var(--jd-color-label);display:flex;font-size:.8em;justify-content:space-between}.jodit-ui-range__log{color:#7f7272;font-weight:700}.jodit-ui-range_log_false .jodit-ui-range__log{display:none}.jodit-color-input{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-color-input__input{appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:1.2;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-color-input__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-color-input__input_has-error_true{border-color:var(--jd-color-red)}.jodit-color-input__input:focus{outline:0}.jodit-color-input_theme_dark .jodit-color-input__input{background-color:var(--jd-color-gray)}.jodit-color-input_has-error_true .jodit-color-input__input{border-color:var(--jd-color-red)}.jodit-color-input__error,.jodit-color-input__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-color-input__error,.jodit-color-input_has-error_true .jodit-color-input__label{color:var(--jd-color-error)}.jodit-color-input__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-color-input__wrapper{min-width:140px}}.jodit-color-input_theme_dark .jodit-color-input__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-color-input_focused_true .jodit-color-input__wrapper{border-color:var(--jd-color-border-selected)}.jodit-color-input__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-color-input__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-color-input__icon:not(:empty)+.jodit-color-input__input{padding-left:0}.jodit-color-input__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-color-input__clear:active{opacity:1;transform:scale(1.1)}.jodit-color-input__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-color-input_theme_dark .jodit-color-input__clear svg,.jodit-color-input_theme_dark .jodit-color-input__icon svg{fill:var(--jd-color-dark)}.jodit-color-input__trigger{background-color:var(--jd-color-panel);border:1px solid var(--jd-color-border);border-left:0;border-radius:0;box-sizing:content-box;height:calc(var(--jd-input-height) - 2px);width:var(--jd-input-height)}.jodit-color-input_slim_true .jodit-color-input__input,.jodit-color-input_slim_true .jodit-color-input__wrapper{color:transparent;height:24px;min-width:auto;width:24px}.jodit-color-input_slim_true .jodit-color-input__trigger,.jodit-color-input_trigger_false .jodit-color-input__trigger{display:none}:root{--jd-color-map-bounding-box:rgba(99,170,241,.5)}.jodit-ui-map{background-color:#f6f6f6;height:100%;position:relative}.jodit-ui-map__map-root{height:100%}.jodit-ui-map__error{align-items:center;color:#7a7a7a;display:flex;height:100%;justify-content:center;padding:20px;text-align:center}.jodit-ui-map__map-size{border:1px dotted var(--jd-color-map-bounding-box);left:50%;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%)}.jodit-ui-map__map-size:after,.jodit-ui-map__map-size:before{background-color:var(--jd-color-map-bounding-box);content:"";display:block;height:30px;left:50%;position:absolute;top:50%;transform:translateY(-50%);width:1px}.jodit-ui-map__map-size:before{height:1px;transform:translateX(-50%);width:30px}.jodit-ui-map_info-opened_true .jodit-ui-map__map-size{display:none}.jodit-ui-map__map-palette{background-color:#fff;left:50%;position:absolute;top:5px;transform:translateX(-50%)}.jodit-ui-map__map-palette .jodit-ui-group{flex-wrap:nowrap}.jodit-ui-maps-controls-form,.jodit-ui-maps-props-form{padding:16px;width:300px}.jodit-google-maps .jodit-tabs{display:flex;flex-direction:column;height:100%}.jodit-google-maps .jodit-tabs__wrapper{flex:1}.jodit-google-maps .jodit-tabs__wrapper .jodit-tab{height:100%}@media (max-width:480px){.jodit-google-maps .jodit-dialog__header{flex-direction:row}}