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
  */
@@ -1741,7 +1741,7 @@ jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_7__.Icon.set('map', (_icon_svg__
1741
1741
  jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.googleMaps = {
1742
1742
  saveStateInStorage: true,
1743
1743
  useStaticImage: false,
1744
- apiUrl: 'https://maps.googleapis.com/maps/api/js?key=${j.o.googleMaps.API_KEY}&libraries=geometry,places,drawing&language=${j.o.language}&callback=JoditGoogleReadyHandler',
1744
+ apiUrl: 'https://maps.googleapis.com/maps/api/js?key=${j.o.googleMaps.API_KEY}&libraries=geometry,places&language=${j.o.language}&callback=JoditGoogleReadyHandler',
1745
1745
  API_KEY: 'AIzaSyDjnR03hxN8fo0QJ85Jkkvk2DALTh3eynY',
1746
1746
  dialog: {
1747
1747
  size: [
@@ -1806,6 +1806,10 @@ var gmButton = function gmButton(name) {
1806
1806
  isActive: function isActive(editor) {
1807
1807
  return editor.buffer.get('createMode.gm') === name;
1808
1808
  },
1809
+ // Drawing needs a working map — see `failed.gm`
1810
+ isDisabled: function isDisabled(editor) {
1811
+ return name !== 'hand' && Boolean(editor.buffer.get('failed.gm'));
1812
+ },
1809
1813
  exec: function exec(editor) {
1810
1814
  editor.e.fire('changeCreateMode.gm', name);
1811
1815
  }
@@ -1892,6 +1896,7 @@ __webpack_require__.r(__webpack_exports__);
1892
1896
 
1893
1897
  // @ts-ignore
1894
1898
  window['JoditGoogleReadyHandler'] = _helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.GoogleReadyHandler;
1899
+ window['gm_authFailure'] = _helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.GoogleAuthFailureHandler;
1895
1900
  var googleMaps = /*#__PURE__*/ function(Plugin) {
1896
1901
  "use strict";
1897
1902
  (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__._)(googleMaps, Plugin);
@@ -2218,14 +2223,17 @@ function generateStaticElements(uiMap) {
2218
2223
 
2219
2224
  "use strict";
2220
2225
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2226
+ /* harmony export */ GoogleAuthFailureHandler: function() { return /* binding */ GoogleAuthFailureHandler; },
2221
2227
  /* harmony export */ GoogleReadyHandler: function() { return /* binding */ GoogleReadyHandler; },
2222
2228
  /* harmony export */ arrayToPath: function() { return /* binding */ arrayToPath; },
2229
+ /* harmony export */ googleAuthFailure: function() { return /* binding */ googleAuthFailure; },
2223
2230
  /* harmony export */ googleReady: function() { return /* binding */ googleReady; },
2224
2231
  /* harmony export */ isApiAvailable: function() { return /* binding */ isApiAvailable; },
2232
+ /* harmony export */ isApiFailed: function() { return /* binding */ isApiFailed; },
2225
2233
  /* harmony export */ pathToArray: function() { return /* binding */ pathToArray; },
2226
2234
  /* harmony export */ specialColor: function() { return /* binding */ specialColor; }
2227
2235
  /* harmony export */ });
2228
- /* unused harmony exports jdGoogleMapsAlreadyLoaded, jdGoogleMapsOnloadHandlers */
2236
+ /* unused harmony exports jdGoogleMapsAlreadyLoaded, jdGoogleMapsOnloadHandlers, jdGoogleMapsAuthFailed */
2229
2237
  /*!
2230
2238
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
2231
2239
  * See LICENSE.md in the project root for license information.
@@ -2247,6 +2255,27 @@ function GoogleReadyHandler() {
2247
2255
  });
2248
2256
  }
2249
2257
  }
2258
+ var jdGoogleMapsAuthFailed = false;
2259
+ var jdGoogleMapsAuthFailureHandlers = [];
2260
+ /**
2261
+ * Google calls `gm_authFailure` when the key or the HTTP referrer is not
2262
+ * authorized: the API is loaded, but every map instance is dead
2263
+ */ function GoogleAuthFailureHandler() {
2264
+ jdGoogleMapsAuthFailed = true;
2265
+ jdGoogleMapsAuthFailureHandlers.forEach(function(callback) {
2266
+ return callback();
2267
+ });
2268
+ }
2269
+ function googleAuthFailure(callback) {
2270
+ if (jdGoogleMapsAuthFailed) {
2271
+ callback();
2272
+ } else {
2273
+ jdGoogleMapsAuthFailureHandlers.push(callback);
2274
+ }
2275
+ }
2276
+ function isApiFailed() {
2277
+ return jdGoogleMapsAuthFailed;
2278
+ }
2250
2279
  function arrayToPath(array) {
2251
2280
  var likePlainObject = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
2252
2281
  var path = [];
@@ -2771,24 +2800,28 @@ UIPolylineEditor = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__de
2771
2800
  /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20616);
2772
2801
  /* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67709);
2773
2802
  /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82749);
2774
- /* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18766);
2775
- /* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56075);
2776
- /* harmony import */ var _swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11886);
2777
- /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(31635);
2778
- /* harmony import */ var _swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(62361);
2779
- /* harmony import */ var jodit_pro_plugins_google_maps_config__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55029);
2780
- /* harmony import */ var _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(22125);
2781
- /* harmony import */ var _modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1475);
2782
- /* harmony import */ var jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(81577);
2783
- /* harmony import */ var jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(97357);
2784
- /* harmony import */ var jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(13525);
2785
- /* harmony import */ var jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(37133);
2786
- /* harmony import */ var jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(580);
2787
- /* harmony import */ var jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(38837);
2788
- /* harmony import */ var jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(41180);
2789
- /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(67510);
2790
- /* harmony import */ var jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(11676);
2791
- /* harmony import */ var jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(17298);
2803
+ /* harmony import */ var _swc_helpers_get__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54816);
2804
+ /* harmony import */ var _swc_helpers_get_prototype_of__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84669);
2805
+ /* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18766);
2806
+ /* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(56075);
2807
+ /* harmony import */ var _swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(11886);
2808
+ /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(31635);
2809
+ /* harmony import */ var _swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(62361);
2810
+ /* harmony import */ var jodit_pro_plugins_google_maps_config__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(55029);
2811
+ /* harmony import */ var _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(22125);
2812
+ /* harmony import */ var _modules_drawing_controller__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(76864);
2813
+ /* harmony import */ var _modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(1475);
2814
+ /* harmony import */ var jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(81577);
2815
+ /* harmony import */ var jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(97357);
2816
+ /* harmony import */ var jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(13525);
2817
+ /* harmony import */ var jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(37133);
2818
+ /* harmony import */ var jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(580);
2819
+ /* harmony import */ var jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(38837);
2820
+ /* harmony import */ var jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(41180);
2821
+ /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(67510);
2822
+ /* harmony import */ var jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(11676);
2823
+ /* harmony import */ var jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(17298);
2824
+ /* harmony import */ var jodit_pro_plugins_google_maps_helpers_helpers__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(67912);
2792
2825
  /*!
2793
2826
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
2794
2827
  * See LICENSE.md in the project root for license information.
@@ -2812,6 +2845,10 @@ UIPolylineEditor = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__de
2812
2845
 
2813
2846
 
2814
2847
 
2848
+
2849
+
2850
+
2851
+
2815
2852
 
2816
2853
 
2817
2854
 
@@ -2819,14 +2856,14 @@ UIPolylineEditor = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__de
2819
2856
 
2820
2857
  var UIMap = /*#__PURE__*/ function(UIGroup) {
2821
2858
  "use strict";
2822
- (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__._)(UIMap, UIGroup);
2859
+ (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__._)(UIMap, UIGroup);
2823
2860
  function UIMap(jodit, state, options) {
2824
2861
  (0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_2__._)(this, UIMap);
2825
2862
  var _this;
2826
2863
  _this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_1__._)(this, UIMap, [
2827
2864
  jodit
2828
- ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "drawingManager", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "mapElements", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "apiLoaded", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "mapInitialized", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "map", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "layers", void 0), _this.options = options, _this.toolbar = new jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_21__.ToolbarCollection(_this.jodit), _this.state = {
2829
- uid: 'jd' + (0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_17__.uniqueUid)() + new Date().toString().replace(/[^0-9]/g, ''),
2865
+ ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "drawing", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "mapElements", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "apiLoaded", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "mapInitialized", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "failed", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "map", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "layers", void 0), _this.options = options, _this.toolbar = new jodit_esm_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_24__.ToolbarCollection(_this.jodit), _this.state = {
2866
+ uid: 'jd' + (0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_20__.uniqueUid)() + new Date().toString().replace(/[^0-9]/g, ''),
2830
2867
  layer: _this.options.googleMaps.map.layer,
2831
2868
  center: _this.options.googleMaps.map.defaultCenter,
2832
2869
  zoom: _this.options.googleMaps.map.defaultZoom,
@@ -2842,7 +2879,7 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2842
2879
  },
2843
2880
  mode: 'hand',
2844
2881
  elements: []
2845
- }, _this.mapElements = [], _this.apiLoaded = null, _this.mapInitialized = false, _this.layers = [];
2882
+ }, _this.mapElements = [], _this.apiLoaded = null, _this.mapInitialized = false, _this.failed = false, _this.layers = [];
2846
2883
  Object.assign(_this.state, state);
2847
2884
  _this.toolbar.build([
2848
2885
  'gm.hand',
@@ -2852,7 +2889,7 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2852
2889
  'gm.circle'
2853
2890
  ]);
2854
2891
  var palette = _this.getElm('map-palette');
2855
- (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__.assert)(palette != null, 'palette element does not exists');
2892
+ (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_21__.assert)(palette != null, 'palette element does not exists');
2856
2893
  palette.appendChild(_this.toolbar.container);
2857
2894
  return _this;
2858
2895
  }
@@ -2866,7 +2903,7 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2866
2903
  {
2867
2904
  key: "json",
2868
2905
  value: function json() {
2869
- return JSON.stringify((0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_7__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_6__._)({}, this.state), {
2906
+ return JSON.stringify((0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_9__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_8__._)({}, this.state), {
2870
2907
  mode: 'hand'
2871
2908
  }));
2872
2909
  }
@@ -2876,7 +2913,7 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2876
2913
  value: function onReady() {
2877
2914
  return (0,_swc_helpers_async_to_generator__WEBPACK_IMPORTED_MODULE_0__._)(function() {
2878
2915
  var _this, container;
2879
- return (0,_swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_9__._)(this, function(_state) {
2916
+ return (0,_swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_11__._)(this, function(_state) {
2880
2917
  switch(_state.label){
2881
2918
  case 0:
2882
2919
  _this = this;
@@ -2887,15 +2924,36 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2887
2924
  case 1:
2888
2925
  _state.sent();
2889
2926
  container = this.getElm('map-root');
2890
- (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__.assert)(container != null, 'map-root element does not exists');
2891
- this.map = new google.maps.Map(container, {
2892
- center: {
2893
- lat: this.state.center[0],
2894
- lng: this.state.center[1]
2895
- },
2896
- zoom: this.state.zoom,
2897
- mapTypeId: this.state.type
2898
- });
2927
+ (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_21__.assert)(container != null, 'map-root element does not exists');
2928
+ // Once Google has reported an authorization failure every further
2929
+ // map is dead on arrival, and constructing one makes the API throw
2930
+ // from inside its own promise — which no try/catch of ours can
2931
+ // intercept. Show the failed state instead of building it
2932
+ if ((0,jodit_pro_plugins_google_maps_helpers_helpers__WEBPACK_IMPORTED_MODULE_26__.isApiFailed)()) {
2933
+ this.markAsFailed();
2934
+ return [
2935
+ 2
2936
+ ];
2937
+ }
2938
+ try {
2939
+ this.map = new google.maps.Map(container, {
2940
+ center: {
2941
+ lat: this.state.center[0],
2942
+ lng: this.state.center[1]
2943
+ },
2944
+ zoom: this.state.zoom,
2945
+ mapTypeId: this.state.type
2946
+ });
2947
+ } catch (error) {
2948
+ // The API is loaded but unusable — an unauthorized key or
2949
+ // referrer leaves google.maps in a broken state. Keep the
2950
+ // dialog alive with the drawing tools switched off instead
2951
+ // of throwing out of an event handler
2952
+ this.markAsFailed();
2953
+ return [
2954
+ 2
2955
+ ];
2956
+ }
2899
2957
  this.map.addListener('zoom_changed', function() {
2900
2958
  var _this_map_getZoom;
2901
2959
  _this.state.zoom = (_this_map_getZoom = _this.map.getZoom()) !== null && _this_map_getZoom !== void 0 ? _this_map_getZoom : 10;
@@ -2914,7 +2972,12 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2914
2972
  _this.state.type = type;
2915
2973
  }
2916
2974
  });
2917
- this.initDrawManager();
2975
+ (0,jodit_pro_plugins_google_maps_helpers_helpers__WEBPACK_IMPORTED_MODULE_26__.googleAuthFailure)(function() {
2976
+ if (!_this.isInDestruct) {
2977
+ _this.markAsFailed();
2978
+ }
2979
+ });
2980
+ this.initDrawingController();
2918
2981
  this.onChangeElementsList();
2919
2982
  this.onChangeSize();
2920
2983
  this.onChangeControls();
@@ -2934,52 +2997,48 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2934
2997
  }
2935
2998
  },
2936
2999
  {
2937
- key: "initDrawManager",
2938
- value: function initDrawManager() {
3000
+ key: "markAsFailed",
3001
+ value: /**
3002
+ * Google Maps could not start: disable everything that needs a live
3003
+ * map, so the toolbar tools do not act on a broken instance
3004
+ */ function markAsFailed() {
3005
+ this.failed = true;
3006
+ this.state.mode = 'hand';
3007
+ this.j.buffer.set('failed.gm', true);
3008
+ var container = this.getElm('map-root');
3009
+ if (container && !container.firstChild) {
3010
+ 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.')));
3011
+ }
3012
+ // Straight to the collection: the `updateToolbar` event is debounced
3013
+ this.toolbar.update();
3014
+ this.j.e.fire(this, 'GoogleMapsIsFailed');
3015
+ }
3016
+ },
3017
+ {
3018
+ key: "initDrawingController",
3019
+ value: function initDrawingController() {
2939
3020
  var _this = this;
2940
- try {
2941
- var drawingManager = new google.maps.drawing.DrawingManager();
2942
- drawingManager.setMap(this.map);
2943
- drawingManager.setOptions({
2944
- drawingControl: false,
2945
- polygonOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_7__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_6__._)({}, this.options.googleMaps.map.defaultStates.polygon), {
2946
- clickable: true,
2947
- editable: true
2948
- }),
2949
- polylineOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_7__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_6__._)({}, this.options.googleMaps.map.defaultStates.polyline), {
2950
- clickable: true,
2951
- editable: true
2952
- }),
2953
- markerOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_7__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_6__._)({}, this.options.googleMaps.map.defaultStates.marker), {
2954
- clickable: true
2955
- }),
2956
- circleOptions: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_7__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_6__._)({}, this.options.googleMaps.map.defaultStates.circle), {
2957
- clickable: true,
2958
- editable: true
2959
- })
2960
- });
2961
- this.drawingManager = drawingManager;
2962
- google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
2963
- if (event.overlay) {
2964
- _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_11__.addNewInState.call(_this, event.overlay);
2965
- event.overlay.setMap(null);
2966
- }
2967
- });
2968
- } catch (unused) {}
3021
+ this.drawing = new _modules_drawing_controller__WEBPACK_IMPORTED_MODULE_14__.DrawingController(this.map, this.options.googleMaps.map.defaultStates, function(overlay) {
3022
+ _modules_add_new_in_state__WEBPACK_IMPORTED_MODULE_13__.addNewInState.call(_this, overlay);
3023
+ overlay.setMap(null);
3024
+ });
2969
3025
  }
2970
3026
  },
2971
3027
  {
2972
3028
  key: "changeCreateMode",
2973
3029
  value: function changeCreateMode(mode) {
3030
+ if (this.failed) {
3031
+ return;
3032
+ }
2974
3033
  this.state.mode = this.state.mode === mode ? 'hand' : mode;
2975
3034
  }
2976
3035
  },
2977
3036
  {
2978
3037
  key: "onChangeMode",
2979
3038
  value: function onChangeMode() {
2980
- var _this_drawingManager;
3039
+ var _this_drawing;
2981
3040
  this.j.buffer.set('createMode.gm', this.state.mode);
2982
- (_this_drawingManager = this.drawingManager) === null || _this_drawingManager === void 0 ? void 0 : _this_drawingManager.setDrawingMode(this.state.mode === 'hand' ? null : this.state.mode);
3041
+ (_this_drawing = this.drawing) === null || _this_drawing === void 0 ? void 0 : _this_drawing.setMode(this.state.mode);
2983
3042
  this.j.e.fire('updateToolbar');
2984
3043
  }
2985
3044
  },
@@ -2995,7 +3054,7 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
2995
3054
  }
2996
3055
  mapElements.length = elements.length;
2997
3056
  elements.forEach(function(state, index) {
2998
- return _modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_12__.initOrUpdateElementFromState.call(_this, state, index);
3057
+ return _modules_init_or_update_element_from_state__WEBPACK_IMPORTED_MODULE_15__.initOrUpdateElementFromState.call(_this, state, index);
2999
3058
  });
3000
3059
  }
3001
3060
  },
@@ -3031,7 +3090,7 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
3031
3090
  {
3032
3091
  key: "onChangeBound",
3033
3092
  value: function onChangeBound() {
3034
- this.options.googleMaps.saveStateInStorage && this.j.storage.set(jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_22__.STORAGE_KEY, {
3093
+ this.options.googleMaps.saveStateInStorage && this.j.storage.set(jodit_pro_plugins_google_maps_helpers_const__WEBPACK_IMPORTED_MODULE_25__.STORAGE_KEY, {
3035
3094
  center: this.state.center,
3036
3095
  size: this.state.size,
3037
3096
  zoom: this.state.zoom,
@@ -3045,8 +3104,8 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
3045
3104
  key: "onChangeSize",
3046
3105
  value: function onChangeSize() {
3047
3106
  var mapSize = this.getElm('map-size');
3048
- (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__.assert)(mapSize != null, 'map-size element does not exists');
3049
- (0,jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_19__.css)(mapSize, {
3107
+ (0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_21__.assert)(mapSize != null, 'map-size element does not exists');
3108
+ (0,jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_22__.css)(mapSize, {
3050
3109
  width: this.state.size[0],
3051
3110
  height: this.state.size[1]
3052
3111
  });
@@ -3082,6 +3141,19 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
3082
3141
  });
3083
3142
  }
3084
3143
  },
3144
+ {
3145
+ key: "destruct",
3146
+ value: function destruct() {
3147
+ // Never let a broken map keep the dialog from closing
3148
+ try {
3149
+ var _this_drawing;
3150
+ (_this_drawing = this.drawing) === null || _this_drawing === void 0 ? void 0 : _this_drawing.destruct();
3151
+ } catch (unused) {}
3152
+ this.drawing = undefined;
3153
+ this.j.buffer.set('failed.gm', false);
3154
+ return (0,_swc_helpers_get__WEBPACK_IMPORTED_MODULE_5__._)((0,_swc_helpers_get_prototype_of__WEBPACK_IMPORTED_MODULE_6__._)(UIMap.prototype), "destruct", this).call(this);
3155
+ }
3156
+ },
3085
3157
  {
3086
3158
  key: "render",
3087
3159
  value: function render() {
@@ -3094,35 +3166,35 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
3094
3166
  }
3095
3167
  ]);
3096
3168
  return UIMap;
3097
- }(jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_20__.UIGroup);
3098
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3099
- (0,jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_14__.hook)('ready')
3169
+ }(jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_23__.UIGroup);
3170
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3171
+ (0,jodit_esm_core_decorators_hook_hook__WEBPACK_IMPORTED_MODULE_17__.hook)('ready')
3100
3172
  ], UIMap.prototype, "onReady", null);
3101
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3102
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('?:changeCreateMode.gm')
3173
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3174
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('?:changeCreateMode.gm')
3103
3175
  ], UIMap.prototype, "changeCreateMode", null);
3104
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3105
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.mode')
3176
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3177
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.mode')
3106
3178
  ], UIMap.prototype, "onChangeMode", null);
3107
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3108
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.elements')
3179
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3180
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.elements')
3109
3181
  ], UIMap.prototype, "onChangeElementsList", null);
3110
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3111
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.center'),
3112
- (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_15__.wait)(function(ctx) {
3182
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3183
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.center'),
3184
+ (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_18__.wait)(function(ctx) {
3113
3185
  return ctx.mapInitialized;
3114
3186
  }),
3115
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_13__.debounce)()
3187
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_16__.debounce)()
3116
3188
  ], UIMap.prototype, "onChangeCenter", null);
3117
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3118
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.zoom'),
3119
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_13__.debounce)()
3189
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3190
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.zoom'),
3191
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_16__.debounce)()
3120
3192
  ], UIMap.prototype, "onChangeZoom", null);
3121
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3122
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.controls')
3193
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3194
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.controls')
3123
3195
  ], UIMap.prototype, "onChangeControls", null);
3124
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3125
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)([
3196
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3197
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)([
3126
3198
  'state.center',
3127
3199
  'state.zoom',
3128
3200
  'state.controls',
@@ -3130,20 +3202,20 @@ var UIMap = /*#__PURE__*/ function(UIGroup) {
3130
3202
  'state.type',
3131
3203
  'state.layer'
3132
3204
  ]),
3133
- (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_15__.wait)(function(ctx) {
3205
+ (0,jodit_esm_core_decorators_wait_wait__WEBPACK_IMPORTED_MODULE_18__.wait)(function(ctx) {
3134
3206
  return ctx.mapInitialized;
3135
3207
  }),
3136
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_13__.debounce)()
3208
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_16__.debounce)()
3137
3209
  ], UIMap.prototype, "onChangeBound", null);
3138
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3139
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.size'),
3140
- (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_13__.debounce)()
3210
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3211
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.size'),
3212
+ (0,jodit_esm_core_decorators_debounce_debounce__WEBPACK_IMPORTED_MODULE_16__.debounce)()
3141
3213
  ], UIMap.prototype, "onChangeSize", null);
3142
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3143
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.type')
3214
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3215
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.type')
3144
3216
  ], UIMap.prototype, "onChangeMapType", null);
3145
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate)([
3146
- (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_16__.watch)('state.layer')
3217
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
3218
+ (0,jodit_esm_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_19__.watch)('state.layer')
3147
3219
  ], UIMap.prototype, "onChangeLayer", null);
3148
3220
 
3149
3221
 
@@ -3217,6 +3289,246 @@ function addNewInState(mvc) {
3217
3289
  }
3218
3290
 
3219
3291
 
3292
+ /***/ }),
3293
+
3294
+ /***/ 76864:
3295
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3296
+
3297
+ "use strict";
3298
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3299
+ /* harmony export */ DrawingController: function() { return /* binding */ DrawingController; }
3300
+ /* harmony export */ });
3301
+ /* unused harmony export isDrawableMode */
3302
+ /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20616);
3303
+ /* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67709);
3304
+ /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82749);
3305
+ /* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56075);
3306
+ /* harmony import */ var _swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11886);
3307
+ /* harmony import */ var _swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(94899);
3308
+ /*!
3309
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
3310
+ * See LICENSE.md in the project root for license information.
3311
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
3312
+ */
3313
+
3314
+
3315
+
3316
+
3317
+
3318
+ var DRAWABLE_MODES = [
3319
+ 'marker',
3320
+ 'polyline',
3321
+ 'polygon',
3322
+ 'circle'
3323
+ ];
3324
+ function isDrawableMode(mode) {
3325
+ return DRAWABLE_MODES.includes(mode);
3326
+ }
3327
+ /**
3328
+ * Replacement for the removed `google.maps.drawing.DrawingManager`
3329
+ * (the Drawing Library was discontinued in Maps JS API v3.65):
3330
+ * draws markers, polylines, polygons and circles with plain map events.
3331
+ *
3332
+ * Click places a marker / a vertex / a circle center; for circles the
3333
+ * radius follows the cursor and a second click fixes it; polylines and
3334
+ * polygons are finished with a double click. The completed shape is
3335
+ * passed to `onComplete` and removed from the map — the caller
3336
+ * re-creates it from state, exactly as with DrawingManager overlays.
3337
+ */ var DrawingController = /*#__PURE__*/ function() {
3338
+ "use strict";
3339
+ function DrawingController(map, defaultStates, onComplete) {
3340
+ (0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__._)(this, DrawingController);
3341
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "map", void 0);
3342
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "defaultStates", void 0);
3343
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "onComplete", void 0);
3344
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "mode", void 0);
3345
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "listeners", void 0);
3346
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "preview", void 0);
3347
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "previewCircle", void 0);
3348
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "vertices", void 0);
3349
+ this.map = map;
3350
+ this.defaultStates = defaultStates;
3351
+ this.onComplete = onComplete;
3352
+ this.mode = null;
3353
+ this.listeners = [];
3354
+ this.preview = null;
3355
+ this.previewCircle = null;
3356
+ this.vertices = [];
3357
+ }
3358
+ (0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__._)(DrawingController, [
3359
+ {
3360
+ key: "setMode",
3361
+ value: function setMode(mode) {
3362
+ var nextMode = isDrawableMode(mode) ? mode : null;
3363
+ if (nextMode === this.mode) {
3364
+ return;
3365
+ }
3366
+ this.cancel();
3367
+ this.unbind();
3368
+ this.mode = nextMode;
3369
+ if (nextMode) {
3370
+ this.bind();
3371
+ this.map.setOptions({
3372
+ draggableCursor: 'crosshair',
3373
+ disableDoubleClickZoom: true
3374
+ });
3375
+ } else {
3376
+ this.map.setOptions({
3377
+ draggableCursor: null,
3378
+ disableDoubleClickZoom: false
3379
+ });
3380
+ }
3381
+ }
3382
+ },
3383
+ {
3384
+ key: "destruct",
3385
+ value: function destruct() {
3386
+ this.cancel();
3387
+ this.unbind();
3388
+ this.mode = null;
3389
+ }
3390
+ },
3391
+ {
3392
+ key: "bind",
3393
+ value: function bind() {
3394
+ var _this = this;
3395
+ // A map whose API failed to authorize returns nothing from
3396
+ // addListener, so keep only real listeners
3397
+ this.listeners = [
3398
+ this.map.addListener('click', function(e) {
3399
+ return _this.onClick(e);
3400
+ }),
3401
+ this.map.addListener('mousemove', function(e) {
3402
+ return _this.onMove(e);
3403
+ }),
3404
+ this.map.addListener('dblclick', function() {
3405
+ return _this.onDblClick();
3406
+ })
3407
+ ].filter(Boolean);
3408
+ }
3409
+ },
3410
+ {
3411
+ key: "unbind",
3412
+ value: function unbind() {
3413
+ this.listeners.forEach(function(listener) {
3414
+ return listener === null || listener === void 0 ? void 0 : listener.remove();
3415
+ });
3416
+ this.listeners = [];
3417
+ }
3418
+ },
3419
+ {
3420
+ key: "onClick",
3421
+ value: function onClick(e) {
3422
+ var point = e.latLng;
3423
+ if (!point) {
3424
+ return;
3425
+ }
3426
+ switch(this.mode){
3427
+ case 'marker':
3428
+ this.onComplete(new google.maps.Marker({
3429
+ position: point
3430
+ }));
3431
+ break;
3432
+ case 'circle':
3433
+ if (!this.previewCircle) {
3434
+ this.previewCircle = new google.maps.Circle((0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_4__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_3__._)({}, this.defaultStates.circle), {
3435
+ center: point,
3436
+ radius: 0,
3437
+ clickable: false,
3438
+ map: this.map
3439
+ }));
3440
+ } else {
3441
+ this.finishCircle();
3442
+ }
3443
+ break;
3444
+ case 'polyline':
3445
+ case 'polygon':
3446
+ this.vertices.push(point);
3447
+ this.updatePolyPreview(point);
3448
+ break;
3449
+ }
3450
+ }
3451
+ },
3452
+ {
3453
+ key: "onMove",
3454
+ value: function onMove(e) {
3455
+ var point = e.latLng;
3456
+ if (!point) {
3457
+ return;
3458
+ }
3459
+ if (this.previewCircle) {
3460
+ var center = this.previewCircle.getCenter();
3461
+ center && this.previewCircle.setRadius(google.maps.geometry.spherical.computeDistanceBetween(center, point));
3462
+ return;
3463
+ }
3464
+ if (this.vertices.length) {
3465
+ this.updatePolyPreview(point);
3466
+ }
3467
+ }
3468
+ },
3469
+ {
3470
+ key: "onDblClick",
3471
+ value: function onDblClick() {
3472
+ if (this.mode !== 'polyline' && this.mode !== 'polygon') {
3473
+ return;
3474
+ }
3475
+ // The double click is preceded by two single clicks at the same
3476
+ // point — collapse the duplicated trailing vertices
3477
+ var path = this.vertices.filter(function(point, i, list) {
3478
+ return i === 0 || !point.equals(list[i - 1]);
3479
+ });
3480
+ var minPoints = this.mode === 'polygon' ? 3 : 2;
3481
+ if (path.length >= minPoints && this.preview) {
3482
+ var shape = this.preview;
3483
+ shape.setPath(path);
3484
+ this.onComplete(shape);
3485
+ }
3486
+ this.cancel();
3487
+ }
3488
+ },
3489
+ {
3490
+ key: "finishCircle",
3491
+ value: function finishCircle() {
3492
+ var circle = this.previewCircle;
3493
+ if (circle) {
3494
+ this.previewCircle = null;
3495
+ this.onComplete(circle);
3496
+ circle.setMap(null);
3497
+ }
3498
+ }
3499
+ },
3500
+ {
3501
+ key: "updatePolyPreview",
3502
+ value: function updatePolyPreview(cursor) {
3503
+ var path = (0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_5__._)(this.vertices).concat([
3504
+ cursor
3505
+ ]);
3506
+ if (!this.preview) {
3507
+ var options = (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_4__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_3__._)({}, this.defaultStates[this.mode === 'polygon' ? 'polygon' : 'polyline']), {
3508
+ clickable: false,
3509
+ map: this.map
3510
+ });
3511
+ this.preview = this.mode === 'polygon' ? new google.maps.Polygon(options) : new google.maps.Polyline(options);
3512
+ }
3513
+ this.preview.setPath(path);
3514
+ }
3515
+ },
3516
+ {
3517
+ key: "cancel",
3518
+ value: function cancel() {
3519
+ var _this_preview, _this_previewCircle;
3520
+ (_this_preview = this.preview) === null || _this_preview === void 0 ? void 0 : _this_preview.setMap(null);
3521
+ this.preview = null;
3522
+ (_this_previewCircle = this.previewCircle) === null || _this_previewCircle === void 0 ? void 0 : _this_previewCircle.setMap(null);
3523
+ this.previewCircle = null;
3524
+ this.vertices = [];
3525
+ }
3526
+ }
3527
+ ]);
3528
+ return DrawingController;
3529
+ }();
3530
+
3531
+
3220
3532
  /***/ }),
3221
3533
 
3222
3534
  /***/ 1475: