languagetool-widget 0.0.1 → 8.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -13
  3. data/Rakefile +6 -0
  4. data/assets/javascripts/languagetool.js +1 -1
  5. data/assets/stylesheets/{languagetool-fonts.css → languagetool/fonts.css} +43 -43
  6. data/assets/stylesheets/{languagetool.css → languagetool/styles.css} +237 -237
  7. data/lib/generators/languagetool/install_generator.rb +14 -0
  8. data/lib/languagetool/widget/engine.rb +13 -0
  9. data/lib/languagetool/widget/version.rb +1 -1
  10. data/lib/languagetool/widget.rb +1 -2
  11. data/tasks/updater/css.rb +24 -0
  12. data/tasks/updater/fonts.rb +12 -0
  13. data/tasks/updater/images.rb +12 -0
  14. data/tasks/updater/js.rb +24 -0
  15. data/tasks/updater.rb +74 -0
  16. metadata +337 -288
  17. /data/{assets → public/languagetool}/fonts/Roboto-Mono-latin-bold.woff2 +0 -0
  18. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-bold-mac.woff2 +0 -0
  19. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-bold-win.woff2 +0 -0
  20. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-ext-bold-mac.woff2 +0 -0
  21. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-ext-bold-win.woff2 +0 -0
  22. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-ext-mac.woff2 +0 -0
  23. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-mac.woff2 +0 -0
  24. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-win.woff2 +0 -0
  25. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-ext-win.woff2 +0 -0
  26. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-mac.woff2 +0 -0
  27. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-semi-bold-mac.woff2 +0 -0
  28. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-semi-bold-win.woff2 +0 -0
  29. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-cycrillic-win.woff2 +0 -0
  30. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-bold-mac.woff2 +0 -0
  31. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-bold-win.woff2 +0 -0
  32. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-ext-bold-mac.woff2 +0 -0
  33. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-ext-bold-win.woff2 +0 -0
  34. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-ext-mac.woff2 +0 -0
  35. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-ext-semi-bold-mac.woff2 +0 -0
  36. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-ext-semi-bold-win.woff2 +0 -0
  37. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-ext-win.woff2 +0 -0
  38. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-mac.woff2 +0 -0
  39. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-semi-bold-mac.woff2 +0 -0
  40. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-semi-bold-win.woff2 +0 -0
  41. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-greek-win.woff2 +0 -0
  42. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-bold-mac.woff2 +0 -0
  43. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-bold-win.woff2 +0 -0
  44. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-ext-bold-mac.woff2 +0 -0
  45. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-ext-bold-win.woff2 +0 -0
  46. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-ext-mac.woff2 +0 -0
  47. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-ext-semi-bold-mac.woff2 +0 -0
  48. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-ext-semi-bold-win.woff2 +0 -0
  49. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-ext-win.woff2 +0 -0
  50. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-mac.woff2 +0 -0
  51. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-semi-bold-mac.woff2 +0 -0
  52. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-semi-bold-win.woff2 +0 -0
  53. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-latin-win.woff2 +0 -0
  54. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-vietnamese-bold-mac.woff2 +0 -0
  55. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-vietnamese-bold-win.woff2 +0 -0
  56. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-vietnamese-mac.woff2 +0 -0
  57. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-vietnamese-semi-bold-mac.woff2 +0 -0
  58. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-vietnamese-semi-bold-win.woff2 +0 -0
  59. /data/{assets → public/languagetool}/fonts/Source-Sans-Pro-vietnamese-win.woff2 +0 -0
  60. /data/{assets → public/languagetool}/images/16/black/add_on_icon_16_ai.svg +0 -0
  61. /data/{assets → public/languagetool}/images/16/black/add_on_icon_16_black_logo.svg +0 -0
  62. /data/{assets → public/languagetool}/images/16/black/add_on_icon_16_missing.svg +0 -0
  63. /data/{assets → public/languagetool}/images/16/black/add_on_icon_16_scissors.svg +0 -0
  64. /data/{assets → public/languagetool}/images/16/special/add_on_icon_16_ai.svg +0 -0
  65. /data/{assets → public/languagetool}/images/16/special/add_on_icon_16_blue_picky.svg +0 -0
  66. /data/{assets → public/languagetool}/images/16/special/add_on_icon_16_premium.svg +0 -0
  67. /data/{assets → public/languagetool}/images/16/special/add_on_icon_16_special_switch_active.svg +0 -0
  68. /data/{assets → public/languagetool}/images/16/special/add_on_icon_16_special_switch_inactive.svg +0 -0
  69. /data/{assets → public/languagetool}/images/16/white/add_on_icon_16_white_logo.svg +0 -0
  70. /data/{assets → public/languagetool}/images/16/white/add_on_icon_16_white_switch_active.svg +0 -0
  71. /data/{assets → public/languagetool}/images/16/white/add_on_icon_16_white_switch_inactive.svg +0 -0
  72. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_add.svg +0 -0
  73. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_add_circle.svg +0 -0
  74. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_basic_error.svg +0 -0
  75. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_blocked.svg +0 -0
  76. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_bookmark.svg +0 -0
  77. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_check.svg +0 -0
  78. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_check_circle.svg +0 -0
  79. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_chevron_down.svg +0 -0
  80. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_chevron_right.svg +0 -0
  81. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_chevron_up.svg +0 -0
  82. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_close_circle.svg +0 -0
  83. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_close_filled.svg +0 -0
  84. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_close_small.svg +0 -0
  85. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_dictionary.svg +0 -0
  86. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_disable.svg +0 -0
  87. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_disable_circle.svg +0 -0
  88. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_disabled_website.svg +0 -0
  89. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_experimental_settings.svg +0 -0
  90. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_feedback.svg +0 -0
  91. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_gear.svg +0 -0
  92. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_glasses.svg +0 -0
  93. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_globe.svg +0 -0
  94. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_help.svg +0 -0
  95. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_info.svg +0 -0
  96. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_locked.svg +0 -0
  97. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_new_window.svg +0 -0
  98. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_pause.svg +0 -0
  99. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_privacy.svg +0 -0
  100. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_reload.svg +0 -0
  101. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_save.svg +0 -0
  102. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_synonyms.svg +0 -0
  103. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_trash.svg +0 -0
  104. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_uppercase_ignore.svg +0 -0
  105. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_user_statistics.svg +0 -0
  106. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_view_default.svg +0 -0
  107. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_view_left.svg +0 -0
  108. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_view_right.svg +0 -0
  109. /data/{assets → public/languagetool}/images/20/black/add_on_icon_20_black_view_scroll.svg +0 -0
  110. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_arrow_down.svg +0 -0
  111. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_arrow_left.svg +0 -0
  112. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_arrow_right.svg +0 -0
  113. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_check.svg +0 -0
  114. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_chevron_down.svg +0 -0
  115. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_expand.svg +0 -0
  116. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_insert.svg +0 -0
  117. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_blue_narrow_down.svg +0 -0
  118. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_color_logo.svg +0 -0
  119. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_orange_check.svg +0 -0
  120. /data/{assets → public/languagetool}/images/20/special/add_on_icon_20_premium.svg +0 -0
  121. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_add.svg +0 -0
  122. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_add_circle.svg +0 -0
  123. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_basic_error.svg +0 -0
  124. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_blocked.svg +0 -0
  125. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_bookmark.svg +0 -0
  126. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_check.svg +0 -0
  127. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_check_circle.svg +0 -0
  128. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_chevron_down.svg +0 -0
  129. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_chevron_up.svg +0 -0
  130. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_close_circle.svg +0 -0
  131. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_close_filled.svg +0 -0
  132. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_close_small.svg +0 -0
  133. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_dictionary.svg +0 -0
  134. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_disable.svg +0 -0
  135. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_disable_circle.svg +0 -0
  136. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_disabled_website.svg +0 -0
  137. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_expand.svg +0 -0
  138. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_experimental_settings.svg +0 -0
  139. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_feedback.svg +0 -0
  140. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_gear.svg +0 -0
  141. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_glasses.svg +0 -0
  142. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_globe.svg +0 -0
  143. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_help.svg +0 -0
  144. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_info.svg +0 -0
  145. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_locked.svg +0 -0
  146. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_lt.svg +0 -0
  147. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_narrow_down.svg +0 -0
  148. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_new_window.svg +0 -0
  149. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_pause.svg +0 -0
  150. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_premium.svg +0 -0
  151. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_privacy.svg +0 -0
  152. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_reload.svg +0 -0
  153. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_rephrasing.svg +0 -0
  154. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_save.svg +0 -0
  155. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_synonyms.svg +0 -0
  156. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_trash.svg +0 -0
  157. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_uppercase_ignore.svg +0 -0
  158. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_user_statistics.svg +0 -0
  159. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_view_default.svg +0 -0
  160. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_view_left.svg +0 -0
  161. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_view_right.svg +0 -0
  162. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_view_scroll-to.svg +0 -0
  163. /data/{assets → public/languagetool}/images/20/white/add_on_icon_20_white_view_scroll.svg +0 -0
  164. /data/{assets → public/languagetool}/images/backgrounds/background-skeleton-loading-dark-mode.webp +0 -0
  165. /data/{assets → public/languagetool}/images/backgrounds/background-skeleton-loading.webp +0 -0
  166. /data/{assets → public/languagetool}/images/backgrounds/elements.svg +0 -0
  167. /data/{assets → public/languagetool}/images/card-drag-handle.svg +0 -0
  168. /data/{assets → public/languagetool}/images/favicon.ico +0 -0
  169. /data/{assets → public/languagetool}/images/flags/ar.svg +0 -0
  170. /data/{assets → public/languagetool}/images/flags/ast-es.svg +0 -0
  171. /data/{assets → public/languagetool}/images/flags/be-by.svg +0 -0
  172. /data/{assets → public/languagetool}/images/flags/br-fr.svg +0 -0
  173. /data/{assets → public/languagetool}/images/flags/ca-es-valencia.svg +0 -0
  174. /data/{assets → public/languagetool}/images/flags/ca-es.svg +0 -0
  175. /data/{assets → public/languagetool}/images/flags/da-dk.svg +0 -0
  176. /data/{assets → public/languagetool}/images/flags/de-at.svg +0 -0
  177. /data/{assets → public/languagetool}/images/flags/de-ch.svg +0 -0
  178. /data/{assets → public/languagetool}/images/flags/de-de.svg +0 -0
  179. /data/{assets → public/languagetool}/images/flags/el-gr.svg +0 -0
  180. /data/{assets → public/languagetool}/images/flags/en-au.svg +0 -0
  181. /data/{assets → public/languagetool}/images/flags/en-ca.svg +0 -0
  182. /data/{assets → public/languagetool}/images/flags/en-gb.svg +0 -0
  183. /data/{assets → public/languagetool}/images/flags/en-nz.svg +0 -0
  184. /data/{assets → public/languagetool}/images/flags/en-us.svg +0 -0
  185. /data/{assets → public/languagetool}/images/flags/en-za.svg +0 -0
  186. /data/{assets → public/languagetool}/images/flags/eo.svg +0 -0
  187. /data/{assets → public/languagetool}/images/flags/es.svg +0 -0
  188. /data/{assets → public/languagetool}/images/flags/eu.svg +0 -0
  189. /data/{assets → public/languagetool}/images/flags/fa.svg +0 -0
  190. /data/{assets → public/languagetool}/images/flags/fr.svg +0 -0
  191. /data/{assets → public/languagetool}/images/flags/ga-ie.svg +0 -0
  192. /data/{assets → public/languagetool}/images/flags/gl-es.svg +0 -0
  193. /data/{assets → public/languagetool}/images/flags/globe_dark.svg +0 -0
  194. /data/{assets → public/languagetool}/images/flags/globe_white.svg +0 -0
  195. /data/{assets → public/languagetool}/images/flags/it.svg +0 -0
  196. /data/{assets → public/languagetool}/images/flags/ja-jp.svg +0 -0
  197. /data/{assets → public/languagetool}/images/flags/km-kh.svg +0 -0
  198. /data/{assets → public/languagetool}/images/flags/nl.svg +0 -0
  199. /data/{assets → public/languagetool}/images/flags/no.svg +0 -0
  200. /data/{assets → public/languagetool}/images/flags/not_found.svg +0 -0
  201. /data/{assets → public/languagetool}/images/flags/oc.svg +0 -0
  202. /data/{assets → public/languagetool}/images/flags/pl-pl.svg +0 -0
  203. /data/{assets → public/languagetool}/images/flags/pt-ao.svg +0 -0
  204. /data/{assets → public/languagetool}/images/flags/pt-br.svg +0 -0
  205. /data/{assets → public/languagetool}/images/flags/pt-mz.svg +0 -0
  206. /data/{assets → public/languagetool}/images/flags/pt-pt.svg +0 -0
  207. /data/{assets → public/languagetool}/images/flags/ro-ro.svg +0 -0
  208. /data/{assets → public/languagetool}/images/flags/ru-ru.svg +0 -0
  209. /data/{assets → public/languagetool}/images/flags/sk-sk.svg +0 -0
  210. /data/{assets → public/languagetool}/images/flags/sl-si.svg +0 -0
  211. /data/{assets → public/languagetool}/images/flags/sv.svg +0 -0
  212. /data/{assets → public/languagetool}/images/flags/ta-in.svg +0 -0
  213. /data/{assets → public/languagetool}/images/flags/tl-ph.svg +0 -0
  214. /data/{assets → public/languagetool}/images/flags/uk-ua.svg +0 -0
  215. /data/{assets → public/languagetool}/images/flags/zh-cn.svg +0 -0
  216. /data/{assets → public/languagetool}/images/hint-arrow.png +0 -0
  217. /data/{assets → public/languagetool}/images/icons/icon128.png +0 -0
  218. /data/{assets → public/languagetool}/images/icons/icon128_white.png +0 -0
  219. /data/{assets → public/languagetool}/images/icons/icon16.png +0 -0
  220. /data/{assets → public/languagetool}/images/icons/icon16_white.png +0 -0
  221. /data/{assets → public/languagetool}/images/icons/icon32.png +0 -0
  222. /data/{assets → public/languagetool}/images/icons/icon32_white.png +0 -0
  223. /data/{assets → public/languagetool}/images/icons/icon48.png +0 -0
  224. /data/{assets → public/languagetool}/images/icons/icon48_white.png +0 -0
  225. /data/{assets → public/languagetool}/images/icons/icon64.png +0 -0
  226. /data/{assets → public/languagetool}/images/icons/icon64_white.png +0 -0
  227. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_disabled.svg +0 -0
  228. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_errors.svg +0 -0
  229. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_language_not_supported.svg +0 -0
  230. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_no_errors.svg +0 -0
  231. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_scroll_hint.gif +0 -0
  232. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_text_too_long.svg +0 -0
  233. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_text_too_short.svg +0 -0
  234. /data/{assets → public/languagetool}/images/illustrations/color/color_dialog_update.svg +0 -0
  235. /data/{assets → public/languagetool}/images/illustrations/color/google_docs_teaser.svg +0 -0
  236. /data/{assets → public/languagetool}/images/illustrations/color/google_slides_teaser.svg +0 -0
  237. /data/{assets → public/languagetool}/images/illustrations/color/mascot-2x.png +0 -0
  238. /data/{assets → public/languagetool}/images/illustrations/color/mascot-error-2x.png +0 -0
  239. /data/{assets → public/languagetool}/images/illustrations/color/mascot-error.png +0 -0
  240. /data/{assets → public/languagetool}/images/illustrations/color/mascot-happy-2x.png +0 -0
  241. /data/{assets → public/languagetool}/images/illustrations/color/mascot-happy.png +0 -0
  242. /data/{assets → public/languagetool}/images/illustrations/color/mascot-sad-2x.png +0 -0
  243. /data/{assets → public/languagetool}/images/illustrations/color/mascot-sad.png +0 -0
  244. /data/{assets → public/languagetool}/images/illustrations/color/mascot-weeping-2x.png +0 -0
  245. /data/{assets → public/languagetool}/images/illustrations/color/mascot-weeping.png +0 -0
  246. /data/{assets → public/languagetool}/images/illustrations/color/mascot.png +0 -0
  247. /data/{assets → public/languagetool}/images/illustrations/color/overleaf_teaser.svg +0 -0
  248. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration-2x.png +0 -0
  249. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration.png +0 -0
  250. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_de-2x.png +0 -0
  251. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_de.png +0 -0
  252. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_es-2x.png +0 -0
  253. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_es.png +0 -0
  254. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_fr-2x.png +0 -0
  255. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_fr.png +0 -0
  256. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_pt-2x.png +0 -0
  257. /data/{assets → public/languagetool}/images/illustrations/color/rephrasing_illustration_pt.png +0 -0
  258. /data/{assets → public/languagetool}/images/illustrations/color/undo-button.svg +0 -0
  259. /data/{assets → public/languagetool}/images/illustrations/white/white_add.svg +0 -0
  260. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_disabled.svg +0 -0
  261. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_errors.svg +0 -0
  262. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_language_not_supported.svg +0 -0
  263. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_no_errors.svg +0 -0
  264. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_text_too_long.svg +0 -0
  265. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_text_too_short.svg +0 -0
  266. /data/{assets → public/languagetool}/images/illustrations/white/white_dialog_update.svg +0 -0
  267. /data/{assets → public/languagetool}/images/illustrations/white/white_failure.svg +0 -0
  268. /data/{assets → public/languagetool}/images/illustrations/white/white_no_errors.svg +0 -0
  269. /data/{assets → public/languagetool}/images/illustrations/white/white_premium.svg +0 -0
  270. /data/{assets → public/languagetool}/images/logos/logo_color_circle.svg +0 -0
  271. /data/{assets → public/languagetool}/images/logos/logo_color_with_background.svg +0 -0
  272. /data/{assets → public/languagetool}/images/lt-favicon-color.png +0 -0
  273. /data/{assets → public/languagetool}/images/lt-favicon-color_notification.png +0 -0
  274. /data/{assets → public/languagetool}/images/lt-favicon-white.png +0 -0
  275. /data/{assets → public/languagetool}/images/lt-favicon-white_notification.png +0 -0
  276. /data/{assets → public/languagetool}/images/lt-logo_gdocs_selected.svg +0 -0
  277. /data/{assets → public/languagetool}/images/lt-logo_gdocs_unselected.svg +0 -0
  278. /data/{assets → public/languagetool}/images/messages/message_turn_on.gif +0 -0
  279. /data/{assets → public/languagetool}/images/messages/message_turn_on_safari.gif +0 -0
  280. /data/{assets → public/languagetool}/images/ratings/thumpsdown.svg +0 -0
  281. /data/{assets → public/languagetool}/images/ratings/thumpsup.svg +0 -0
  282. /data/{assets → public/languagetool}/images/stores/chrome_store.svg +0 -0
  283. /data/{assets → public/languagetool}/images/stores/edge_store.svg +0 -0
  284. /data/{assets → public/languagetool}/images/stores/firefox_store.svg +0 -0
  285. /data/{assets → public/languagetool}/images/stores/opera_store.svg +0 -0
  286. /data/{assets → public/languagetool}/images/stores/safari_store.svg +0 -0
  287. /data/{assets → public/languagetool}/images/toolbarStates/done.svg +0 -0
  288. /data/{assets → public/languagetool}/images/toolbarStates/error_counts_white.png +0 -0
  289. /data/{assets → public/languagetool}/images/toolbarStates/loading.webp +0 -0
  290. /data/{assets → public/languagetool}/images/toolbarStates/progress.gif +0 -0
  291. /data/{assets → public/languagetool}/images/toolbarStates/progress_2x.gif +0 -0
  292. /data/{assets → public/languagetool}/images/toolbarStates/text_too_long.svg +0 -0
  293. /data/{assets → public/languagetool}/images/toolbarStates/toolbar_failed.png +0 -0
  294. /data/{assets → public/languagetool}/images/toolbarStates/toolbar_language_not_supported.svg +0 -0
  295. /data/{assets → public/languagetool}/images/toolbarStates/toolbar_permission_required.svg +0 -0
  296. /data/{assets → public/languagetool}/images/toolbarStates/turnoff.svg +0 -0
  297. /data/{assets → public/languagetool}/images/toolbarStates/wave.svg +0 -0
@@ -84,7 +84,7 @@ class Ea extends xt{constructor(){super(),this._setUniqueId(),this._loadData()}_
84
84
  /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
85
85
  var ba;va.CONTAINER_ELEMENT_NAME="lt-message",va.eventNames={destroyed:"lt-message.destroyed",turnOn:"lt-message.turn-on"},va._isInitialized=!1,function(e){e.PERMISSION_REQUIRED="PERMISSION_REQUIRED",e.DISABLED="DISABLED",e.DISCONNECTED="DISCONNECTED",e.TEXT_TOO_SHORT="TEXT_TOO_SHORT",e.TEXT_TOO_LONG="TEXT_TOO_LONG",e.IN_PROGRESS="IN_PROGRESS",e.COMPLETED="COMPLETED",e.UNSUPPORTED_LANGUAGE="UNSUPPORTED_LANGUAGE",e.NEEDS_LANGUAGE_HINT="NEEDS_LANGUAGE_HINT",e.FAILED="FAILED"}(ba||(ba={}));class Sa{constructor(e,t,s,a,n=!0){this._className=e,this._label=t,this._parentElement=a,this._toolTip=s,this._document=a.ownerDocument,this._render(n)}_render(e){if(this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-icon","lt-icon--"+this._className),this._element.classList.toggle("lt-icon--clickable",e),this._element.setAttribute("data-lt-prevent-focus",""),this._parentElement.appendChild(this._element),this._icon=this._document.createElement("lt-span"),this._icon.classList.add("lt-icon__icon","lt-icon__"+this._className),this._element.appendChild(this._icon),this._toolTip){const e=this._document.createElement("lt-div");e.classList.add("lt-icon__tooltip","lt-icon__tooltip--"+this._toolTip.position,"lt-icon__tooltip--"+this._className),e.textContent=this._toolTip.label,this._element.appendChild(e)}if(this._label){const e=this._document.createElement("lt-span");e.classList.add("lt-icon__label"),e.textContent=this._label,this._element.appendChild(e)}}setIcon(e){this._icon.className="",this._icon.classList.add("lt-icon__icon","lt-icon__"+e)}getElement(){return this._element}}class ya{constructor(e,t,s,a,n,r,o=null){this._className=e,this._parentElement=s,this._dialog=a,this._appendElement=o,this._optionElements=[],this._options=t,this._document=s.ownerDocument,this._position=n,this._isSelectable=r,this._render()}_render(){this._overlay=this._document.createElement("lt-div"),this._overlay.setAttribute("data-lt-prevent-focus",""),this._overlay.classList.add("lt-menu-overlay","lt-menu-overlay--"+this._className),this._dialog.appendChild(this._overlay),this._element=this._document.createElement("lt-div"),this._element.setAttribute("data-lt-prevent-focus",""),this._element.classList.add("lt-menu","lt-menu--"+this._className,"lt-menu--position-"+this._position),this._parentElement.appendChild(this._element),this._options.forEach((e=>{const t=this._document.createElement("lt-div");t.classList.add("lt-menu__item","lt-menu__item--"+e.className,"lt-icon__"+e.className),e.isClickable&&t.classList.add("lt-menu__item--clickable"),this._isSelectable&&t.classList.add("lt-menu__item--selectable"),this._element.appendChild(t);const s=this._document.createElement("lt-span");if(s.classList.add("lt-menu__item__label","lt-menu__item__label--"+e.className),s.textContent=e.label,t.appendChild(s),e.info){const s=this._document.createElement("lt-span");s.classList.add("lt-menu__item__info","lt-menu__item__info--"+e.className),s.textContent=e.info,t.appendChild(s)}if(e.tag){const s=this._document.createElement("lt-span");s.classList.add("lt-menu__item__tag","lt-menu__item__tag--"+e.className),s.textContent=e.tag,t.appendChild(s)}this._optionElements.push(t)})),this._appendElement&&this._element.appendChild(this._appendElement)}show(){this._parentElement.classList.add("lt-menu-visible"),this._element.classList.add("lt-menu--show"),this._overlay.classList.add("lt-menu--show")}hide(){this._parentElement.classList.remove("lt-menu-visible"),this._element.classList.remove("lt-menu--show"),this._overlay.classList.remove("lt-menu--show")}getElement(){return this._element}getAllOptions(){return this._optionElements}getActiveOptions(){return this._optionElements}getOverlay(){return this._overlay}setInfo(e,t){if(e>=0&&e<this._optionElements.length){const s=this._optionElements[e].querySelector(".lt-menu__item__info");s&&(s.textContent=t)}}toggleActive(e,t,s){s&&this.getAllOptions().forEach((e=>{e.classList.remove("lt-menu__item--active")})),e>=0&&e<this._optionElements.length&&(t?this._optionElements[e].classList.add("lt-menu__item--active"):this._optionElements[e].classList.remove("lt-menu__item--active"))}toogleVisibility(e,t){e>=0&&e<this._optionElements.length&&(t?this._optionElements[e].classList.remove("lt-menu__item--hidden"):this._optionElements[e].classList.add("lt-menu__item--hidden"))}}class Ta{constructor(e,t,s,a){this._className=e,this._type=t,this._size=s,this._parentElement=a,this._document=a.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-package-badge","lt-package-badge--"+this._type,"lt-package-badge--"+this._size),this._element.textContent=this._type,this._parentElement.appendChild(this._element)}getElement(){return this._element}}class Ca{constructor(e,t,s,a=(()=>{})){this._parentElement=e,this._document=e.ownerDocument,this._expires=t,this._classes=s,this._onCountdownEnd=a,this._element=this._document.createElement("lt-div"),this._element.className="lt-countdown",this._addOptionalClass(this._element,this._classes.countdown),this._render(),this._interval=self.setInterval((()=>this._render()),1e3),this._parentElement.appendChild(this._element)}getElement(){return this._element}destroy(){clearInterval(this._interval)}_addOptionalClass(e,t){e.classList.toggle(String(t),Boolean(t))}_render(){const e=Date.now();let t=this._expires-e;if(t<0)return void this._onCountdownEnd();const s=Math.floor(t/1e3%60),a=Math.floor(t/1e3/60%60),n=`${rt(Math.floor(t/1e3/60/60))}:${rt(a)}:${rt(s)}`.split(/:|/),r=this._document.createElement("lt-div");n.forEach(((e,t)=>{const s=this._document.createElement("lt-span");if(s.className="lt-countdown__digit",this._addOptionalClass(s,this._classes.digit),s.textContent=e,r.appendChild(s),t%2==1&&t<n.length-1){const e=this._document.createElement("lt-span");e.className="lt-countdown__divider",this._addOptionalClass(e,this._classes.divider),e.textContent=":",r.appendChild(e)}})),this._element.innerHTML=r.innerHTML}}class ka{constructor(e,t,s=null,a=null,n=null,r){this._listeners=[],this._parentElement=e,this._headline=s,this._text=a,this._buttonText=n,this._trackingEvent=t,this._linkParameters=r,this._document=e.ownerDocument,this._storageController=Lt.create(),this._element=this._document.createElement("lt-div"),this._listeners.push(as(this._element,"click",(e=>{e.stopImmediatePropagation(),e.preventDefault();const t={command:"OPEN_PREMIUM_PAGE",...this._linkParameters};Rt().runtime.sendMessage(t)}))),this._element.className="lt-premium-errors-teaser",this._parentElement.appendChild(this._element),this._renderPremiumErrorsTeaser()}_observe(){this._element.addEventListener("click",(()=>{Pt.trackEvent("Action",`${this._trackingEvent}:click`)}))}_renderPremiumErrorsTeaser(){Pt.trackEvent("Action",this._trackingEvent),this._observe(),this._storageController.onReady((()=>{this._storageController.startChangelogCoupon();const e=this._storageController.getActiveCoupon();if(e&&(this._linkParameters.campaign=this._linkParameters.campaign.replace(/addon2-(dialog|popup|validator)/,"addon2-changelog"),this._renderCoupon(e)),!this._headline&&!this._text&&!this._buttonText)return;const t=this._document.createElement("lt-div");if(t.className="lt-premium-errors-teaser__content",this._element.appendChild(t),this._headline&&!e){const e=this._document.createElement("lt-span");e.className="lt-premium-errors-teaser__content__headline",e.textContent=this._headline,t.appendChild(e)}if(this._text){const e=this._document.createElement("lt-span");e.className="lt-premium-errors-teaser__content__text",e.innerHTML=this._text,t.appendChild(e)}if(this._buttonText){const e=this._document.createElement("lt-span");e.className="lt-premium-errors-teaser__content__button",e.textContent=this._buttonText,t.appendChild(e)}}))}_renderCoupon(e){const t=this._document.createElement("lt-div");t.className="lt-premium-errors-teaser__coupon";const s=this._document.createElement("lt-span");s.textContent=o.getMessage("upgradeTeaserDiscountHeadline"),s.className="lt-premium-errors-teaser__coupon__title__headline";const a=this._document.createElement("lt-span");a.textContent=o.getMessage("upgradeTeaserDiscount",[e.percent]),a.className="lt-premium-errors-teaser__coupon__title__subline";const n=this._document.createElement("lt-div");n.className="lt-premium-errors-teaser__coupon__title",n.appendChild(s),n.appendChild(a),t.appendChild(n),this._timerElement=new Ca(t,e.expires||0,{},(()=>t.remove())),this._element.prepend(t)}destroy(){this._listeners.forEach((({destroy:e})=>e())),this._timerElement?.destroy()}}class xa{constructor(e,t,s){this._listeners=[],this._parentElement=e,this._componentName=t,this._url=s,this._document=e.ownerDocument,this._storageController=Lt.create(),this._element=this._document.createElement("lt-div"),this._element.className="lt-rating-teaser",this._parentElement.appendChild(this._element),this.render()}_sendRating(e){Pt.trackEvent("Stat",`rating:${kt.getPrimaryLanguageCode(navigator.language)}`,e),this._storageController.updateStatistics({ratingValue:e}),this._storageController.updateUIState({hasRated:!0}),"like"===e?wt.isChrome()||wt.isFirefox()||wt.isOpera()||wt.isEdge()||wt.isSafari()?this._showReviewContainer():this._showThanksContainer():"dislike"===e&&(this._showThanksContainer(),this._openFeedbackForm(o.getMessage("ratingUnhappyQuestion")),Pt.trackEvent("Stat","dislike_host",ut()))}_showReviewContainer(){this._element.classList.remove("lt-rating-teaser--thanks-visible"),this._element.classList.add("lt-rating-teaser--review-visible")}_showThanksContainer(){this._element.classList.remove("lt-rating-teaser--review-visible"),this._element.classList.add("lt-rating-teaser--thanks-visible")}_openFeedbackForm(e){n.openFeedbackForm(this._url,e)}render(){const e=this._document.createElement("lt-div");e.className="lt-rating-teaser__intro",this._element.appendChild(e);const t=this._document.createElement("lt-div");t.className="lt-rating-teaser__intro__question";const s=this._document.createElement("lt-div");s.className="lt-rating-teaser__intro__headline",s.innerText=o.getMessage("ratingHeadline"),t.appendChild(s);const a=this._document.createElement("lt-div");a.innerText=o.getMessage("ratingText"),t.appendChild(a),e.appendChild(t);const n=this._document.createElement("lt-div");n.className="lt-rating-teaser__intro__options";const r=this._document.createElement("lt-div");r.className="lt-rating-teaser__intro__option",r.setAttribute("data-lt-emotion","like"),n.appendChild(r);const i=this._document.createElement("lt-div");i.className="lt-rating-teaser__intro__option",i.setAttribute("data-lt-emotion","dislike"),n.appendChild(i),e.appendChild(n);const l=this._document.createElement("a");l.target="_blank",l.rel="noreferrer noopener",l.className="lt-rating-teaser__review",this._element.appendChild(l);const c=this._document.createElement("lt-div");c.className="lt-rating-teaser__review__text",l.appendChild(c),wt.isFirefox()?Ht(c,"reviewFirefoxHeadline"):wt.isOpera()?Ht(c,"reviewOperaHeadline"):wt.isEdge()?Ht(c,"reviewEdgeHeadline"):wt.isSafari()?Ht(c,"reviewSafariHeadline"):Ht(c,"reviewChromeHeadline");const g=this._document.createElement("lt-a");g.className="lt-rating-teaser__review__link",g.innerText=o.getMessage("reviewLink"),l.appendChild(g);const u=this._document.createElement("lt-div");u.className="lt-rating-teaser__thanks",u.innerText=o.getMessage("ratingThankYou"),this._element.appendChild(u),this._listeners.push(as(r,"click",(e=>{e.stopImmediatePropagation(),this._sendRating("like")}))),this._listeners.push(as(i,"click",(e=>{e.stopImmediatePropagation(),this._sendRating("dislike")}))),this._listeners.push(as(l,"click",(e=>{e.stopImmediatePropagation(),Pt.trackEvent("Action","dialog:rating_teaser:click")}))),wt.isChrome()?(this._element.classList.add("lt-rating-teaser--chrome"),l.href="https://chromewebstore.google.com/detail/grammatik-und-rechtschrei/oldceeleldhonbafppcapldpdifcinji/reviews"):wt.isFirefox()?(this._element.classList.add("lt-rating-teaser--firefox"),l.href="https://addons.mozilla.org/firefox/addon/languagetool/"):wt.isOpera()?(this._element.classList.add("lt-rating-teaser--opera"),l.href="https://addons.opera.com/extensions/details/grammar-and-spell-checker-languagetool/"):wt.isEdge()?(this._element.classList.add("lt-rating-teaser--edge"),l.href="https://microsoftedge.microsoft.com/addons/detail/hfjadhjooeceemgojogkhlppanjkbobc"):wt.isSafari()&&(this._element.classList.add("lt-rating-teaser--safari"),l.href="https://appstoreconnect.apple.com/apps/1534275760/appstore"),Pt.trackEvent("Action",`${this._componentName}:rating_teaser`)}destroy(){this._listeners.forEach((({destroy:e})=>e()))}}class La{constructor(e,t,s){this._className=e,this._parentElement=t,this._toolTip=s,this._document=t.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-score","lt-score--"+this._className),this._element.setAttribute("data-lt-prevent-focus",""),this._parentElement.appendChild(this._element),this._progressLabel=this._document.createElement("lt-span"),this._progressLabel.classList.add("lt-score__label"),this._progressLabel.setAttribute("data-lt-prevent-focus",""),this._progressLabel.textContent="0";const e=this._document.createElement("lt-div");e.classList.add("lt-icon__tooltip","lt-icon__tooltip--"+this._toolTip.position,"lt-icon__tooltip--"+this._className),e.textContent=this._toolTip.label,this._element.appendChild(e),this._element.appendChild(this._progressLabel)}setScore(e){Math.PI;e>0?(this._progressLabel.textContent=e.toString(),this._updateProgress(e),this._element.classList.remove("lt-score--hidden")):this._element.classList.add("lt-score--hidden")}_updateProgress(e){let t="",s="";if(e<50){t="linear-gradient(90deg, #DEE3ED 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0))",s="linear-gradient("+(90+3.6*e)+"deg, #1976F0 50%, #DEE3ED 50%, #DEE3ED)"}else{t="linear-gradient("+(3.6*(e-50)-90)+"deg, #1976F0 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0))",s="linear-gradient(270deg, #1976F0 50%, #DEE3ED 50%, #DEE3ED)"}this._element.setAttribute("style","background-image: "+t+", "+s+" !important")}}class wa{constructor(e,t,s){this._listeners=[],this.stopPropagation=e=>e.stopImmediatePropagation(),this._className=e,this._parentElement=t,this._select=s,this._document=t.ownerDocument,this._currentSelection=this._document.createElement("lt-span"),this._render()}destroy(){this._listeners.forEach((({destroy:e})=>e()))}_render(){this._selectorWrapper=this._document.createElement("lt-div"),this._selectorWrapper.classList.add("lt-dialog__selector-wrapper","lt-dialog__selector-wrapper--"+this._className,"lt-icon__chevron_down"),this._parentElement.appendChild(this._selectorWrapper),this._currentSelection.classList.add("lt-dialog__current-selection","lt-dialog__current-selection--"+this._className),this._selectorWrapper.appendChild(this._currentSelection),this._select.classList.add("lt-dialog__selector","lt-dialog__selector--"+this._className),this._selectorWrapper.appendChild(this._select),this._listeners.push(as(this._selectorWrapper,"click",this.stopPropagation))}setActive(e,t,s){this._currentSelection.textContent=e||"",this._select.value=t,new It(this._document).setStyles(this._currentSelection,s)}addOption(e){this._select.prepend(e)}updateOptionLable(e,t){this._select.querySelectorAll("option[value="+e+"]")[0].textContent=t}getSelect(){return this._select}getValue(){return this._select.value}toggleHighlight(e){this._selectorWrapper.classList.toggle("lt-dialog__selector-wrapper--highlight",e)}}class Pa{constructor(e,t,s,a){this._className=e,this._label=t,this._info=s,this._parentElement=a,this._document=a.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.setAttribute("data-lt-prevent-focus",""),this._element.classList.add("lt-toggle-item","lt-toggle--"+this._className,"lt-icon__"+this._className),this._parentElement.appendChild(this._element);const e=this._document.createElement("lt-div");e.classList.add("lt-toggle-item__title","lt-toggle-item__title--"+this._className);const t=this._document.createElement("lt-span");t.classList.add("lt-toggle-item__title__label"),t.textContent=this._label,e.appendChild(t),this._info&&(this._infoElement=this._document.createElement("lt-span"),this._infoElement.classList.add("lt-toggle-item__title__info"),this._infoElement.textContent=this._info,e.appendChild(this._infoElement)),this._element.appendChild(e);const s=this._document.createElement("lt-div");s.classList.add("lt-toggle-item__toggle","lt-toggle-item__toggle--"+this._className),this._element.appendChild(s);const a=this._document.createElement("lt-div");a.classList.add("lt-toggle-item__toggle__dot"),s.appendChild(a)}set(e){e?this._element.classList.add("lt-toggle-item---checked"):this._element.classList.remove("lt-toggle-item---checked")}setInfo(e){this._infoElement.textContent=e}getElement(){return this._element}}
86
86
  /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
87
- class Aa{static _cacheMessages(){Aa.MESSAGES={EXTENSION_UPDATED_HEADLINE:o.getMessage("extensionUpdatedHeadline"),EXTENSION_UPDATED_TEXT:o.getMessage("extensionUpdatedText",["<lt-span class='lt-dialog__icon'></lt-span>"]),INCOMPLETE_RESULT:o.getMessage("incompleteResult"),POWERED_BY:o.getMessage("poweredBy"),FEEDBACK:o.getMessage("sendFeedback"),DELETE:o.getMessage("deleteWord"),ENABLE_HEADLINE:o.getMessage("dialogEnableInDialogHeadline"),ENABLE_TEXT:o.getMessage("dialogEnableInDialogText"),ENABLE_EVERYWHERE_BUTTON:o.getMessage("enableEverywhereButton"),ENABLE_HERE_BUTTON:o.getMessage("enableHereButton"),OPTIONS_TITLE:o.getMessage("settingsHeadline"),NO_ERRORS:o.getMessage("noErrorsFound2"),NO_ERRORS_TEXT:o.getMessage("noErrorsFoundText"),TEXT_TOO_LONG_HEADLINE:o.getMessage("dialogTextTooLongHeadline"),TEXT_TOO_LONG_TEXT:o.getMessage("dialogTextTooLongText"),SCROLL_HINT_HEADLINE:o.getMessage("dialogScrollHintHeadline"),SCROLL_HINT_TEXT:o.getMessage("dialogScrollHintText"),TEXT_TOO_LONG_BUTTON:o.getMessage("dialogTextTooLongButton"),TEXT_TOO_SHORT_TEXT:o.getMessage("dialogTextTooShortText"),TEXT_TOO_SHORT_HEADLINE:o.getMessage("dialogTextTooShortHeadline"),TEXT_SCORE_MENU_ITEM:o.getMessage("dialogMainMenuTextScore"),REGULAR_MISTAKE_MENU_ITEM:o.getMessage("dialogMainMenuRegularMistake"),PREMIUM_MISTAKE_MENU_ITEM:o.getMessage("dialogMainMenuPremiumMistake"),PICKY_MODE_MENU_ITEM:o.getMessage("dialogMainMenuPickyMode"),PICKY_MODE_MENU_ITEM_INFO:o.getMessage("dialogMainMenuPickyModeInfo"),COUNTER_CHARACTERS_OPTION:o.getMessage("dialogCounterCharactersOption"),COUNTER_WORDS_OPTION:o.getMessage("dialogCounterWordsOption"),COUNTER_SENTENCES_OPTION:o.getMessage("dialogCounterSentencesOption"),POSITION_DEFAULT_MENU_ITEM:o.getMessage("dialogPositionMenuDefault"),POSITION_RIGHT_MENU_ITEM:o.getMessage("dialogPositionMenuRight"),POSITION_LEFT_MENU_ITEM:o.getMessage("dialogPositionMenuLeft"),Fail_STATE_HEADLINE:o.getMessage("dialogFailStateHeadline"),Fail_STATE_TEXT:o.getMessage("dialogFailStateText"),HEADLINE_SPELLING_ERROR:o.getMessage("spellingError"),HEADLINE_CUSTOM_SUGGESTION_ERROR:o.getMessage("customSuggestionError"),HEADLINE_SUGGESTION_ERROR:o.getMessage("suggestionError"),HEADLINE_PUNCTUATION_ERROR:o.getMessage("punctuationError"),HEADLINE_GRAMMAR_ERROR:o.getMessage("grammarError"),SELECT_LANGUAGE_LABEL:o.getMessage("dialogSelectLanguageLabel"),UNSUPPORTED_LANGUAGE_LABEL:o.getMessage("dialogUnsupportedLanguageLabel"),UNSUPPORTED_LANGUAGE_HEADLINE:o.getMessage("dialogUnsupportedLanguageHeadline"),UNSUPPORTED_LANGUAGE_TEXT:o.getMessage("dialogUnsupportedLanguageText"),ALL_LANGUAGES:o.getMessage("dialogAllLanguages"),RECOMMENDED_LANGUAGES:o.getMessage("dialogRecommendedLanguages"),SCROLL_TO_LINK:o.getMessage("dialogScrollToLink"),SEND_FEEDBACK_TOOLTIP:o.getMessage("dialogTooltipSendFeedback"),HELP_TOOLTIP:o.getMessage("dialogTooltipHelp"),HELP_CENTER_TOOLTIP:o.getMessage("dialogTooltipHelpCenter"),IGNORE_RULE_TOOLTIP:o.getMessage("ignoreHere"),DISABLE_CHECKING_TOOLTIP:o.getMessage("dialogTooltipDisableChecking"),DISABLE_CHECKING_MENU_ITEM:o.getMessage("dialogDisableMenuDisableChecking"),PAUSE_CHECKING_MENU_ITEM:o.getMessage("dialogDisableMenuPauseChecking"),DIALOG_POSITION_TOOLTIP:o.getMessage("dialogTooltipPosition"),SETTINGS_TOOLTIP:o.getMessage("dialogTooltipSettings"),USER_STATISTICS_TOOLTIP:o.getMessage("dialogTooltipUserStatistics"),SAVE_TEXT_TOOLTIP:o.getMessage("dialogTooltipSaveText"),NEEDS_LANGUAGE_HINT_HEADLINE:o.getMessage("dialogNeedsLanguageHintHeadline"),NEEDS_LANGUAGE_HINT_TEXT:o.getMessage("dialogNeedsLanguageHintText"),NEEDS_LANGUAGE_HINT_IGNORE:o.getMessage("dialogNeedsLanguageHintIgnore"),LANGUAGES:kt.LANGUAGES}}static init(){Aa._isInitialized||(Aa._cacheMessages(),Aa._isInitialized=!0)}constructor(e,t,s,a,r){this._menus=[],this._allDisplyedErrorsCount=0,this._toolbarContainer=e,this._appearance=t,this._uiOptions=r,this._document=this._toolbarContainer.ownerDocument,this._languageCode=s,this._onCloseClick=this._onCloseClick.bind(this),this._onUnload=this._onUnload.bind(this),self.addEventListener("pagehide",this._onUnload,!0),this._controls={},this._eventListeners=[],this._render().then((()=>{this.setCurrentLanguage(s||kt.getUserLanguageCode()),this.updateCounter({mode:"words",counts:{words:0,characters:0,sentences:0}}),this.updateState(a)})),this._eventListeners.push(as(document,"keydown",this._onKeydown.bind(this))),this._inApplyFixMode=!1,this._inInsignificantChangeMode=!0,this._shouldShowRatingTeaser=!a.displayedPremiumErrors.length&&!this._controls.teaserElement&&!this._uiOptions.disableRatingTeaser&&n.isRuntimeConnected()&&0===Math.floor(2*Math.random())}async _render(){if(this._controls.container)return;this._controls.container=Gt(this._document,Aa.CONTAINER_ELEMENT_NAME);const e=e=>{e.stopImmediatePropagation()};this._eventListeners.push(as(this._controls.container,"mousedown",(t=>{t.target===this._controls.languageSelector.getSelect()&&(document.addEventListener("blur",e,!0),setTimeout((()=>{document.removeEventListener("blur",e,!0)}),10)),t.target===this._controls.countSelector.getSelect()&&(document.addEventListener("blur",e,!0),setTimeout((()=>{document.removeEventListener("blur",e,!0)}),10)),t.target instanceof HTMLElement&&t.target.closest("[data-lt-prevent-focus]")&&t.preventDefault(),e(t)})),as(this._controls.container,"mouseup",e),as(this._controls.container,"pointerdown",e),as(this._controls.container,"pointerup",e),as(this._controls.container,"focusin",e),as(this._controls.container,"focusout",e),as(this._controls.container,"click",(e=>{e.preventDefault(),e.stopPropagation()}))),this._controls.innerContainer=this._document.createElement("lt-div"),this._controls.innerContainer.classList.add("lt-dialog__container","notranslate"),wt.isSafari()&&this._controls.innerContainer.classList.add("lt-dialog__container--safari"),this._appearance.canDisplayAllSuggestions()||this._controls.innerContainer.classList.add("lt-dialog__container--small"),this._controls.container.appendChild(this._controls.innerContainer),this._controls.header=this._document.createElement("lt-div"),this._controls.header.className="lt-dialog__header",this._controls.innerContainer.appendChild(this._controls.header);const t=this._document.createElement("lt-div");t.className="lt-dialog__header__logo-wrapper",this._controls.logo=this._document.createElement("lt-div"),this._controls.logo.classList.add("lt-dialog__logo","lt-icon__lt"),t.appendChild(this._controls.logo),this._uiOptions.isPremiumAccount||(this._controls.packageBadge=new Ta(null,"basic","default",t),this._eventListeners.push(as(this._controls.packageBadge.getElement(),"click",this._onBadgeClicked.bind(this)))),this._controls.header.appendChild(t),this._controls.headerScoreProgress=this._document.createElement("lt-div"),this._controls.headerScoreProgress.className="lt-dialog__header__progress-score",this._controls.header.appendChild(this._controls.headerScoreProgress),this._controls.headerScoreProgressBar=this._document.createElement("lt-div"),this._controls.headerScoreProgressBar.className="lt-dialog__header__progress-score__bar",this._controls.headerScoreProgress.appendChild(this._controls.headerScoreProgressBar),this._controls.headerControlsWrapper=this._document.createElement("lt-div"),this._controls.headerControlsWrapper.className="lt-dialog__header__controls-wrapper";const s=this._document.createElement("select");if(Aa.MESSAGES.LANGUAGES.forEach((e=>{const t=this._document.createElement("option");t.value=e.code,t.textContent=e.name,s.appendChild(t)})),n.isRuntimeConnected()){const e=await n.getPreferredLanguages();if(!s||!e.length)return;const t=s.value,a=this._document.createElement("optgroup");a.label=Aa.MESSAGES.ALL_LANGUAGES,Array.from(s.children).forEach((e=>{a.append(e)}));const r=this._document.createElement("optgroup");r.label=Aa.MESSAGES.RECOMMENDED_LANGUAGES,e.forEach((e=>{const t=kt.LANGUAGES.find((t=>t.code.startsWith(e.toLowerCase())));if(t){const e=this._document.createElement("option");e.value=t.code,e.textContent=t.name,r.appendChild(e)}})),s.append(r),s.append(a),s.value=t}if(this._controls.languageSelector=new wa("language-select",this._controls.headerControlsWrapper,s),this._eventListeners.push(as(this._controls.languageSelector.getSelect(),"change",this._onLanguageChange.bind(this))),!this._uiOptions.disableSaveDocument){const e={label:Aa.MESSAGES.SAVE_TEXT_TOOLTIP,position:"top-center"};this._controls.saveIcon=new Sa("save",null,e,this._controls.headerControlsWrapper),this._eventListeners.push(as(this._controls.saveIcon.getElement(),"click",this._onSaveTextClick.bind(this)))}if(this._appearance.isPositionVisible()&&n.isRuntimeConnected()){const e=this._document.createElement("lt-div");e.className="lt-icon-group",this._controls.headerControlsWrapper.appendChild(e);const t={label:Aa.MESSAGES.DIALOG_POSITION_TOOLTIP,position:"bottom-right"};this._controls.positionIcon=new Sa(this._uiOptions.dialogPosition,null,t,e);const s=[{className:"default",label:Aa.MESSAGES.POSITION_DEFAULT_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"right",label:Aa.MESSAGES.POSITION_RIGHT_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"left",label:Aa.MESSAGES.POSITION_LEFT_MENU_ITEM,info:null,tag:null,isClickable:!0}];this._controls.positionMenu=new ya("position",s,this._controls.positionIcon.getElement(),this._controls.innerContainer,"bottom",!0),this._menus.push(this._controls.positionMenu);const a=this._controls.positionMenu.getAllOptions();this._eventListeners.push(as(a[0],"click",this._onPositionDialogClick.bind(this)),as(a[1],"click",this._onPositionRightClick.bind(this)),as(a[2],"click",this._onPositionLeftClick.bind(this)),as(this._controls.positionMenu.getOverlay(),"click",this._onPositionOverlayClick.bind(this)),as(this._controls.positionIcon.getElement(),"click",this._onPositionIconClick.bind(this)))}this._controls.closeIcon=new Sa("close_filled",null,null,this._controls.headerControlsWrapper),this._eventListeners.push(as(this._controls.closeIcon.getElement(),"click",this._onCloseClick)),this._controls.headerControlsWrapper.appendChild(this._controls.closeIcon.getElement()),this._eventListeners.push(as(this._controls.logo,"click",this._gotoLanguageTool.bind(this))),this._controls.content=this._document.createElement("lt-div"),this._controls.content.className="lt-dialog__content",this._controls.innerContainer.appendChild(this._controls.content),this._eventListeners.push(as(this._controls.content,"scroll",this._onContentScroll.bind(this))),this._controls.contentTop=this._document.createElement("lt-div"),this._controls.contentTop.className="lt-dialog__content__top",this._controls.content.appendChild(this._controls.contentTop),this._controls.contentMain=this._document.createElement("lt-div"),this._controls.contentMain.className="lt-dialog__content__main",this._controls.content.appendChild(this._controls.contentMain),this._controls.contentBottom=this._document.createElement("lt-div"),this._controls.contentBottom.className="lt-dialog__content__bottom",this._controls.content.appendChild(this._controls.contentBottom),this._controls.footer=this._document.createElement("lt-div"),this._controls.footer.className="lt-dialog__footer",this._controls.loadingBar=this._document.createElement("lt-div"),this._controls.loadingBar.className="lt-dialog__footer__loading-bar-container";const a=this._document.createElement("lt-div");a.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-1");const r=this._document.createElement("lt-div");r.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-2");const o=this._document.createElement("lt-div");o.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-3"),this._controls.loadingBar.appendChild(a),this._controls.loadingBar.appendChild(r),this._controls.loadingBar.appendChild(o),this._controls.footer.appendChild(this._controls.loadingBar);const i=[{label:Aa.MESSAGES.COUNTER_CHARACTERS_OPTION,value:"characters"},{label:Aa.MESSAGES.COUNTER_WORDS_OPTION,value:"words"},{label:Aa.MESSAGES.COUNTER_SENTENCES_OPTION,value:"sentences"}],l=this._document.createElement("select");if(i.forEach((e=>{const t=this._document.createElement("option");t.value=e.value,t.textContent=e.label,l.appendChild(t)})),this._controls.countSelector=new wa("countSelect",this._controls.footer,l),this._controls.footerControlsWrapper=this._document.createElement("lt-div"),this._controls.footerControlsWrapper.className="lt-dialog__footer__controls-wrapper",this._controls.footer.appendChild(this._controls.footerControlsWrapper),this._eventListeners.push(as(this._controls.countSelector.getSelect(),"change",this._onCountChange.bind(this))),this._uiOptions.disableHelpCenter||this._uiOptions.disableFeedbackForm)if(this._uiOptions.disableFeedbackForm){if(!this._uiOptions.disableHelpCenter){const e={label:Aa.MESSAGES.HELP_CENTER_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("help",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement()),this._eventListeners.push(as(this._controls.sendFeedback.getElement(),"click",this._gotoHelpCenter.bind(this)))}}else{const e={label:Aa.MESSAGES.SEND_FEEDBACK_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("feedback",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement()),this._eventListeners.push(as(this._controls.sendFeedback.getElement(),"click",this._showFeedbackForm.bind(this)))}else{const e={label:Aa.MESSAGES.HELP_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("help",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement());const t=[{className:"help",label:Aa.MESSAGES.HELP_CENTER_TOOLTIP,info:null,tag:null,isClickable:!0,isSelectable:!1},{className:"feedback",label:Aa.MESSAGES.SEND_FEEDBACK_TOOLTIP,info:null,tag:null,isClickable:!0}];this._controls.helpMenu=new ya("help",t,this._controls.sendFeedback.getElement(),this._controls.innerContainer,"top",!1,null),this._menus.push(this._controls.helpMenu);const s=this._controls.helpMenu.getAllOptions();this._eventListeners.push(as(s[0],"click",this._gotoHelpCenter.bind(this)),as(s[1],"click",this._showFeedbackForm.bind(this)),as(this._controls.helpMenu.getOverlay(),"click",this._onHelpOverlayClick.bind(this)),as(this._controls.sendFeedback.getElement(),"click",this._onHelpIconClick.bind(this)))}if(this._uiOptions.showUserStatisticsLink){const e={label:Aa.MESSAGES.USER_STATISTICS_TOOLTIP,position:"top-right"},t=new Sa("user-statistics",null,e,this._controls.footerControlsWrapper);this._eventListeners.push(as(t.getElement(),"click",this._onUserStatisticsClick.bind(this)))}if(!this._uiOptions.disableTurnOff){const e={label:Aa.MESSAGES.DISABLE_CHECKING_TOOLTIP,position:"top-right"};this._controls.disableIcon=new Sa("disable_circle",null,e,this._controls.footerControlsWrapper);const t=[{className:"pause",label:Aa.MESSAGES.PAUSE_CHECKING_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"disable_circle",label:Aa.MESSAGES.DISABLE_CHECKING_MENU_ITEM,info:null,tag:null,isClickable:!0}];this._controls.disableMenu=new ya("disable",t,this._controls.disableIcon.getElement(),this._controls.innerContainer,"top",!1),this._menus.push(this._controls.disableMenu);const s=this._controls.disableMenu.getAllOptions();this._eventListeners.push(as(s[0],"click",this._onPauseCheckingClick.bind(this)),as(s[1],"click",this._onTurnOffClick.bind(this)),as(this._controls.disableMenu.getOverlay(),"click",this._onDisableOverlayClick.bind(this)),as(this._controls.disableIcon.getElement(),"click",this._onDisableIconClicked.bind(this)))}if(!this._uiOptions.disableOptionsPage){const e={label:Aa.MESSAGES.SETTINGS_TOOLTIP,position:"top-right"};this._controls.optionsIcon=new Sa("options",null,e,this._controls.footerControlsWrapper),this._eventListeners.push(as(this._controls.optionsIcon.getElement(),"click",this._onOptionsClick.bind(this)))}this._controls.incompleteResult=this._document.createElement("lt-div"),this._controls.incompleteResult.className="lt-dialog__incomplete-result",this._controls.incompleteResult.textContent=Aa.MESSAGES.INCOMPLETE_RESULT,this._controls.footer.appendChild(this._controls.incompleteResult),this._controls.pointer=this._document.createElement("lt-span"),this._controls.pointer.className="lt-dialog__pointer",this._controls.innerContainer.appendChild(this._controls.pointer),this._toolbarContainer.appendChild(this._controls.container),this._toolbarContainer.classList.add("lt-toolbar--dialog-opened"),n.isRuntimeConnected()&&(this._controls.innerContainer.appendChild(this._controls.footer),this._controls.header.appendChild(this._controls.headerControlsWrapper));const c=this._toolbarContainer.querySelector(".lt-toolbar__premium-icon-dot--has-notification");c&&c.classList.remove("lt-toolbar__premium-icon-dot--has-notification")}_position(e=null){const t=this._controls.container.ownerDocument.body.offsetWidth,s=n.isRuntimeConnected()&&this._appearance.isPositionVisible()&&t>400?e||this._uiOptions.dialogPosition:"default";if(this._uiOptions.dialogPosition=s,this._controls.innerContainer.classList.remove("lt-dialog__container--fixed-right"),this._controls.innerContainer.classList.remove("lt-dialog__container--fixed-left"),"default"===s){!this._controls.positionMenu||this._controls.positionMenu.toggleActive(0,!0,!0);let e=this._controls.innerContainer.getBoundingClientRect();const t=document.doctype?this._document.documentElement.clientWidth:Math.min(this._document.documentElement.clientWidth,document.body.clientWidth);e.right>=t-Aa.SPACE_TO_SCREEN_EDGE&&this._alignToBottom(),e=this._controls.innerContainer.getBoundingClientRect();const s=document.doctype?this._document.documentElement.clientHeight:Math.min(this._document.documentElement.clientHeight,document.body.clientHeight);e.bottom>=s&&this._alignToTop(),e=this._controls.innerContainer.getBoundingClientRect(),e.top<=Aa.SPACE_TO_SCREEN_EDGE&&this._alignToBottom(),e.top<0&&!qt(document.body)&&!qt(document.documentElement)&&this._alignToBottom()}else"right"===s?(!this._controls.positionMenu||this._controls.positionMenu.toggleActive(1,!0,!0),this._controls.innerContainer.style.removeProperty("right"),this._controls.innerContainer.style.removeProperty("left"),this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container--fixed-right")):"left"===s&&(!this._controls.positionMenu||this._controls.positionMenu.toggleActive(2,!0,!0),this._controls.innerContainer.style.removeProperty("right"),this._controls.innerContainer.style.removeProperty("left"),this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container--fixed-left"))}_alignToBottom(){const e=new It(this._document);this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.add("lt-dialog__container-bottom");const t=this._controls.innerContainer.getBoundingClientRect();if(t.left<=Aa.SPACE_TO_SCREEN_EDGE){const s=parseInt(e.getStyle(this._controls.innerContainer,"right"),10)+t.left-Aa.SPACE_TO_SCREEN_EDGE,a=parseInt(e.getStyle(this._controls.pointer,"right"),10)-t.left+Aa.SPACE_TO_SCREEN_EDGE;e.setStyles(this._controls.innerContainer,{right:s+"px !important",left:"auto !important"}),e.setStyles(this._controls.pointer,{right:a+"px !important",left:"auto !important"})}if(t.right>this._document.documentElement.clientWidth){e.setStyles(this._controls.innerContainer,{right:"0px !important",left:"auto !important"});const s=parseInt(e.getStyle(this._controls.pointer,"right"),10)+(this._controls.innerContainer.getBoundingClientRect().right-t.right);e.setStyles(this._controls.pointer,{right:s+"px !important",left:"auto !important"})}}_alignToTop(){this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container-top");const e=this._controls.innerContainer.getBoundingClientRect(),t=new It(this._document);if(this._controls.innerContainer.classList.add("lt-dialog__container-hide"),e.right>=this._document.documentElement.clientWidth-Aa.SPACE_TO_SCREEN_EDGE){const s=parseInt(t.getStyle(this._controls.innerContainer,"left"),10)-(e.right-this._document.documentElement.clientWidth)-Aa.SPACE_TO_SCREEN_EDGE,a=parseInt(t.getStyle(this._controls.pointer,"left"),10)+(e.right-this._document.documentElement.clientWidth)+Aa.SPACE_TO_SCREEN_EDGE;t.setStyles(this._controls.innerContainer,{left:s+"px !important",right:"auto !important"}),t.setStyles(this._controls.pointer,{left:a+"px !important",right:"auto !important"})}this._controls.innerContainer.classList.remove("lt-dialog__container-hide")}_removeTeaser(){this._controls.teaserElement&&(this._controls.teaserElement.remove(),this._controls.teaserElement=void 0)}_updateContent(){if(!this._controls.content)return;this.closeAllMenus();const e=this._state.checkStatus;this._controls.content.classList.remove("lt-dialog__has-errors"),this._controls.content.classList.remove("lt-dialog__is-loading"),this._controls.contentMain.innerHTML="",this._controls.contentTop.innerHTML="",this._controls.contentBottom.innerHTML="",this.updateCounter(this._state.countOptions);const t=(this._inApplyFixMode||this._inInsignificantChangeMode)&&e===ba.IN_PROGRESS&&this._allDisplyedErrorsCount>0;this._showLoadingBar(t);const s=e===ba.NEEDS_LANGUAGE_HINT;if(this._controls.languageSelector.toggleHighlight(s),t?(this._renderHeadline(),this._renderCompletedState()):e===ba.IN_PROGRESS?(this._renderHeadline(),this._renderInProgressState()):e===ba.COMPLETED?(this._renderHeadline(),this._renderCompletedState()):e===ba.DISABLED?this._renderDisabledState():e===ba.TEXT_TOO_SHORT?(this._renderHeadline(),this._renderTextTooShortState(),this._renderPremiumErrorsTeaser()):e===ba.TEXT_TOO_LONG?(this._renderHeadline(),this._renderTextTooLongState(),this._renderDiscountTimerTeaser()):e===ba.UNSUPPORTED_LANGUAGE?(this._renderHeadline(),this._renderLanguageUnsupportedState()):e===ba.DISCONNECTED?this._renderDisconnectedState():e===ba.FAILED?this._renderFailedState():s&&this._renderNeedsLanguageHintState(),e===ba.COMPLETED&&this._controls.mainHeadline){this._controls.headerScoreProgressBar.style.width=this._state.textScore+"%",this._controls.textScore.setScore(this._state.textScore);const e=this._state.displayedErrors.length||0,t=this._state.displayedPremiumErrors.length||0;this._allDisplyedErrorsCount=e+t,this._controls.errorsCounter.textContent=this._allDisplyedErrorsCount.toString()}this._position()}_showLoadingBar(e){e!==this._isLoadingBarShown&&(e?this._controls.loadingBar.classList.remove("lt-dialog__footer__loading-bar-container--hidden"):this._controls.loadingBar.classList.add("lt-dialog__footer__loading-bar-container--hidden"),this._isLoadingBarShown=e)}_getCountString(e,t){if(!n.isRuntimeConnected())return"";const s={words:[o.getMessage("dialogCounterWordsSingular"),o.getMessage("dialogCounterWordsPlural",[dt(e.counts.words,n.getUILanguageCode())])],sentences:[o.getMessage("dialogCounterSentencesSingular"),o.getMessage("dialogCounterSentencesPlural",[dt(e.counts.sentences,n.getUILanguageCode())])],characters:[o.getMessage("dialogCounterCharactersSingular"),o.getMessage("dialogCounterCharactersPlural",[dt(e.counts.characters,n.getUILanguageCode())])]},a=e.counts[t];return 0===a?s[t][1]:1===a?s[t][0]:s[t][1]}_renderHeadline(){this._controls.mainHeadline=this._document.createElement("lt-div"),this._controls.mainHeadline.classList.add("lt-dialog__content-top__menu"),this._controls.mainHeadline.setAttribute("data-lt-prevent-focus","");const e=this._document.createElement("lt-span");e.className="lt-dialog__main-headline";const t=this._document.createElement("lt-span");t.className="lt-dialog__main-headline__headline",t.textContent=Aa.MESSAGES.REGULAR_MISTAKE_MENU_ITEM,this._controls.errorsCounter=this._document.createElement("lt-span"),this._controls.errorsCounter.className="lt-dialog__main-headline__counter",this._controls.errorsCounter.textContent=this._allDisplyedErrorsCount.toString(),e.appendChild(t),e.appendChild(this._controls.errorsCounter),this._controls.mainHeadline.appendChild(e);const s={label:Aa.MESSAGES.TEXT_SCORE_MENU_ITEM,position:"bottom-right"};this._controls.textScore=new La("lt-dialog__main-headline__score",this._controls.mainHeadline,s),this._controls.textScore.setScore(this._state.textScore),this._controls.contentTop.appendChild(this._controls.mainHeadline),this._controls.pickyToggle=new Pa("picky_mode",Aa.MESSAGES.PICKY_MODE_MENU_ITEM,"",this._controls.contentTop),this._controls.pickyToggle.set(this._state.isPickyModeEnabled),this._eventListeners.push(as(this._controls.pickyToggle.getElement(),"click",this._onTogglePickyMode.bind(this)))}_renderInProgressState(){this._controls.content.classList.add("lt-dialog__is-loading");const e=this._document.createElement("lt-div");e.className="lt-dialog-skeleton lt-dialog-skeleton--error-card";const t=this._document.createElement("lt-div");t.className="lt-dialog-skeleton lt-dialog-skeleton--error-card",this._controls.contentMain.appendChild(e),this._controls.contentMain.appendChild(t)}_renderCompletedState(){this._state.displayedErrors&&this._state.displayedErrors.length?this._appearance.canDisplayAllSuggestions()?(this._renderErrors(),this._renderIgnoredErrorsStats()):this._renderScrollHint():this._state.displayedPremiumErrors&&this._state.displayedPremiumErrors.length?(this._removeTeaser(),this._renderPremiumState()):(this._removeTeaser(),this._renderNoErrorsState(),this._renderIgnoredErrorsStats()),this._controls.incompleteResult.classList.toggle("lt-dialog__incomplete-result-show",!!this._state.isIncompleteResult)}_renderErrors(){this._controls.content.classList.add("lt-dialog__has-errors"),this._state.displayedPremiumErrors&&this._state.displayedPremiumErrors.length&&this._renderPremiumErrorsTeaser(),this._state.displayedErrors.forEach((e=>{const t=this._document.createElement("lt-div");t.className="lt-dialog__error-item";const s={label:Aa.MESSAGES.IGNORE_RULE_TOOLTIP,position:"top-right"},a=new Sa("trash",null,s,t);this._eventListeners.push(as(a.getElement(),"click",(s=>{e.isSpellingError?this._onTemporarilyIgnoreWordClick(e,s):this._onTemporarilyIgnoreRuleClick(e,s),t.remove()})));const n=this._document.createElement("lt-div");n.className="lt-dialog__error-headline",e.isPicky&&t.classList.add("lt-dialog__error-item--picky-mistake"),e.isCustomError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_SUGGESTION_ERROR,t.classList.add("lt-dialog__error-item--custom-suggestion")):e.isSpellingError?(n.textContent=Aa.MESSAGES.HEADLINE_SPELLING_ERROR,t.classList.add("lt-dialog__error-item--spelling-mistake")):e.isStyleError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_SUGGESTION_ERROR,t.classList.add("lt-dialog__error-item--style-suggestion")):e.isPunctuationError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_PUNCTUATION_ERROR,t.classList.add("lt-dialog__error-item--punctuation-mistake")):(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_GRAMMAR_ERROR,t.classList.add("lt-dialog__error-item--grammar-mistake")),t.append(n),t.addEventListener("mouseenter",(()=>this._onErrorHighlighted(e.id))),t.addEventListener("mouseleave",(()=>this._onErrorHighlighted(null)));const r=this._document.createElement("lt-div");r.className="lt-dialog__original-phrase",t.appendChild(r);const o=this._document.createElement("lt-div");o.className="lt-dialog__original-phrase__header",r.appendChild(o);const i=this._document.createElement("lt-div");i.className="lt-dialog__original-phrase__header__title",i.textContent=e.originalPhrase,o.appendChild(i);const l=new Sa("scroll-to-link",Aa.MESSAGES.SCROLL_TO_LINK,null,o);this._eventListeners.push(as(l.getElement(),"click",(t=>{t.stopImmediatePropagation(),this._onErrorSelected(e.id)})));const c=this._document.createElement("lt-div");c.className="lt-dialog__original-phrase__long-context-phrase",c.innerHTML=e.longContextPhrase,r.appendChild(c),this._renderFixes(e,t),this._renderDescription(e,t),this._renderActions(e,t),this._controls.contentMain.appendChild(t)}))}_renderFixes(e,t){const s=this._document.createElement("lt-div");s.className="lt-dialog__fix-container",t.appendChild(s);const a=Math.min(e.fixes.length,se);for(let n=0;n<a;n++){const r=e.fixes[n],o=this._document.createElement("lt-div");if(o.title=r.shortDescription||"",o.className="lt-dialog__fix",o.setAttribute("data-lt-prevent-focus",""),r.value.match(be)&&!r.value.match(/^\s*[\-–—:;]\s$/))o.textContent=r.value.replace(be,"·");else{const t=r.value.replace(Se," ");a>3&&e.isSpellingError?o.textContent=t:(o.classList.add("lt-dialog__fix--highlighted"),o.innerHTML=Zs(ea(e.originalPhrase,t)))}""===r.value&&e.originalPhrase.match(/[a-z0-9]{2,}/)?(o.classList.add("lt-dialog__fix--remove"),o.classList.remove("lt-dialog__fix--highlighted"),o.textContent=e.originalPhrase):""===r.value&&(o.classList.add("lt-dialog__fix--delete"),o.classList.remove("lt-dialog__fix--highlighted"),o.textContent=Aa.MESSAGES.DELETE),this._eventListeners.push(as(o,"click",(s=>{this._onFixClick(e,n,s),t.remove()}))),s.appendChild(o);const i=js(e,r.value);if(this._uiOptions.canCorrectMultipleErrorsAtOnce&&Vs(this._state.errors,e)&&i){const t=this._document.createElement("lt-span");t.classList.add("lt-dialog__fix--correct-all"),t.innerHTML=i.suggestion.message;const a=this._onCorrectAll.bind(this,e,i);this._eventListeners.push(as(t,"click",a)),s.appendChild(t),s.appendChild(this._document.createElement("br"))}r.value.length>=14&&t.classList.add("lt-dialog__long-fix")}}_renderActions(e,t){if(e.isSpellingError){if(!this._uiOptions.disableAddingWord&&!Ge(e.originalPhrase)){const s=this._document.createElement("lt-div");s.classList.add("lt-dialog__add-to-dictionary","lt-icon__dictionary"),s.setAttribute("data-lt-prevent-focus",""),s.textContent=o.getMessage("addToDictionaryCaption",e.originalPhrase),this._eventListeners.push(as(s,"click",(s=>{this._onAddToDictionaryClick(e,s),t.remove()}))),t.appendChild(s)}}else if(!this._uiOptions.disableIgnoringRule&&!e.isCustomError){const s=this._document.createElement("lt-div");s.classList.add("lt-dialog__ignore-rule"),s.classList.add("lt-icon__ignore"),s.setAttribute("data-lt-prevent-focus",""),s.classList.add("lt-icon__ignore"),s.textContent=o.getMessage("turnOffRule"),this._eventListeners.push(as(s,"click",(s=>{this._onIgnoreRuleClick(e,s),t.remove()}))),t.appendChild(s)}}_renderDescription(e,t){const s=this._document.createElement("lt-div");if(s.className="lt-dialog__error-text",s.setAttribute("data-lt-prevent-focus",""),s.textContent=e.description,t.append(s),e.rule.urls&&e.rule.urls.length>0){const t=this._document.createElement("lt-span");t.classList.add("lt-dialog__more-details","lt-icon__info"),t.setAttribute("data-lt-prevent-focus",""),t.title=o.getMessage("moreDetails"),this._eventListeners.push(as(t,"click",(t=>{this._onMoreDetailsClick(e.rule.urls[0],t)}))),s.appendChild(t)}}_renderScrollHint(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__scroll-hint__headline",t.textContent=Aa.MESSAGES.SCROLL_HINT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__scroll-hint__text",s.textContent=Aa.MESSAGES.SCROLL_HINT_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._shouldShowRatingTeaser?this._renderRatingTeaser():this._renderPremiumErrorsTeaser()}_renderTextTooShortState(){this._removeTeaser();const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__text-too-short__headline",t.innerHTML=Aa.MESSAGES.TEXT_TOO_SHORT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__text-too-short__text",s.innerHTML=Aa.MESSAGES.TEXT_TOO_SHORT_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderNoErrorsState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__no-errors__headline",t.textContent=Aa.MESSAGES.NO_ERRORS;const s=this._document.createElement("lt-div");s.className="lt-dialog__no-errors__text",s.textContent=Aa.MESSAGES.NO_ERRORS_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._shouldShowRatingTeaser?this._renderRatingTeaser():this._renderPremiumErrorsTeaser()}_renderIgnoredErrorsStats(){if(!this._state.ignoredErrorsStats)return;if(0===this._state.ignoredErrorsStats.byDictionary&&0===this._state.ignoredErrorsStats.byRules)return;const e=this._document.createElement("lt-div");if(this._state.displayedErrors&&this._state.displayedErrors.length?e.className="lt-dialog__ignored-errors-item":e.className="lt-dialog__ignored-errors-message",this._state.ignoredErrorsStats.byDictionary>0&&!this._uiOptions.disableAddingWord){const t=1===this._state.ignoredErrorsStats.byDictionary?"errorsIgnoredByDictionarySingular":"errorsIgnoredByDictionary",s=o.getMessage(t,[this._state.ignoredErrorsStats.byDictionary]),a=document.createElement("lt-span");a.textContent=s,a.dataset.type="byDictionary",e.appendChild(a)}if(this._state.ignoredErrorsStats.byRules>0&&!this._uiOptions.disableIgnoringRule){if(this._state.ignoredErrorsStats.byDictionary>0){const t=document.createElement("lt-span");t.textContent=", ",e.appendChild(t)}const t=1===this._state.ignoredErrorsStats.byRules?"errorsIgnoredByRulesSingular":"errorsIgnoredByRules",s=o.getMessage(t,[this._state.ignoredErrorsStats.byRules]),a=document.createElement("lt-span");a.textContent=s,a.dataset.type="byRules",e.appendChild(a)}this._controls.contentMain.appendChild(e),this._eventListeners.push(as(e,"click",this._onIgnoredErrorsClick.bind(this)))}_renderRatingTeaser(){this._ratingTeaser=new xa(this._controls.contentBottom,"dialog",ct().substr(0,150))}_renderPremiumErrorsTeaser(){this._controls.teaserElement||n.isRuntimeConnected()&&Lt.create().onReady((e=>{if(e.getUIState().hasPaidSubscription)return;const t=function(e){const t=300;let s=0;const a=Date.now();let n=0;for(const r of e.hiddenErrors){const e=+new Date(r.day);if(a-e>864e6)break;if(n=e,s+=r.count,s>t){s=t;break}}let r=String(s);return s>=t&&(r="300+"),{hiddenErrorsCount:s,hiddenErrorsCountStr:r,dayCount:Math.ceil((a-n)/1e3/60/60/24)}}(e.getStatistics());e.startChangelogCoupon();const s=e.getActiveCoupon();if(this._state.displayedPremiumErrors.length){const e=this._state.displayedPremiumErrors.filter((e=>!e.isStyleError&&!e.isPunctuationError)).length,t=this._state.displayedPremiumErrors.filter((e=>e.isPunctuationError)).length,s=this._state.displayedPremiumErrors.filter((e=>e.isStyleError)).length,a="dialog:premium_teaser",n=1===e+t+s?o.getMessage("premiumErrorsTextSingular"):o.getMessage("premiumErrorsTextPlural",[this._state.displayedPremiumErrors.length]),r=o.getMessage("premiumErrorsButton");this._premiumTeaser=new ka(this._controls.contentTop,a,null,n,r,{campaign:"addon2-dialog-premium-errors",hiddenGrammarMatches:e,hiddenStyleMatches:s,hiddenPunctuationMatches:t,textLanguage:this._languageCode||void 0})}else if(t.hiddenErrorsCount>5){const e="dialog:historic_premium_teaser",s=o.getMessage("historicPremiumErrorsHeadline"),a=o.getMessage("historicPremiumErrorsText2",[t.hiddenErrorsCount,t.dayCount]),n=o.getMessage("historicPremiumErrorsButton");this._premiumTeaser=new ka(this._controls.contentBottom,e,s,a,n,{campaign:"addon2-dialog-historic-premium-errors",historicMatches:t.hiddenErrorsCountStr})}else if(s){const e="dialog:premium_teaser";this._premiumTeaser=new ka(this._controls.contentBottom,e,null,null,null,{campaign:"addon2-dialog"})}e.destroy()}))}_renderDiscountTimerTeaser(){Lt.create().onReady((e=>{e.startChangelogCoupon();if(e.getActiveCoupon()){const e="dialog:premium_teaser";this._premiumTeaser=new ka(this._controls.contentBottom,e,null,null,null,{campaign:"addon2-dialog-premium"})}e.destroy()}))}_renderPremiumState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__premium__headline",t.textContent=1===this._state.displayedPremiumErrors.length?o.getMessage("dialogPremiumHeadlineSingular"):o.getMessage("dialogPremiumHeadlinePlural",[this._state.displayedPremiumErrors.length]);const s=this._document.createElement("lt-div");s.className="lt-dialog__premium__text",s.textContent=o.getMessage("dialogPremiumText");const a=this._document.createElement("lt-div");a.className="lt-dialog__premium__button lt-icon__new_window",a.textContent=o.getMessage("dialogPremiumButton");let n="addon2-dialog-premium";this._eventListeners.push(as(a,"click",(e=>{e.stopImmediatePropagation();const t={dialog:this,campaign:n};ts(document,Aa.eventNames.premiumTeaserClicked,t),Pt.trackEvent("Action","dialog:premium:click")}))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e),Lt.create().onReady((e=>{e.startChangelogCoupon();e.getActiveCoupon()&&(n=n.replace("addon2","addon2-countdown"),this._premiumTeaser=new ka(this._controls.contentBottom,"dialog:premium_teaser",null,null,null,{campaign:n})),e.destroy()}))}_renderDisabledState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__enable-text__headline",t.textContent=Aa.MESSAGES.ENABLE_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__enable-everywhere",s.innerHTML=Aa.MESSAGES.ENABLE_EVERYWHERE_BUTTON,this._eventListeners.push(as(s,"click",this._enableEverywhere.bind(this)));const a=this._document.createElement("lt-div");a.className="lt-dialog__enable-here",a.innerHTML=Aa.MESSAGES.ENABLE_HERE_BUTTON,this._eventListeners.push(as(a,"click",this._enableHere.bind(this))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e)}_renderTextTooLongState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__premium__headline",t.textContent=Aa.MESSAGES.TEXT_TOO_LONG_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__premium__text",s.textContent=Aa.MESSAGES.TEXT_TOO_LONG_TEXT;const a=this._document.createElement("lt-div");a.className="lt-dialog__premium__button lt-icon__new_window",a.textContent=Aa.MESSAGES.TEXT_TOO_LONG_BUTTON;let n="addon2-dialog-text-too-long";Lt.create().onReady((e=>{e.getActiveCoupon()&&(n=n.replace("addon2-dialog","addon2-dialog-countdown")),e.destroy()})),this._eventListeners.push(as(a,"click",(e=>{e.stopImmediatePropagation();const t={command:"OPEN_PREMIUM_PAGE",campaign:n};Rt().runtime.sendMessage(t),Pt.trackEvent("Action","dialog:text_too_long:click")}))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e)}_renderLanguageUnsupportedState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__language-unsupported__headline",t.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_HEADLINE;const s=this._document.createElement("lt-div");if(s.className="lt-dialog__language-unsupported__text",s.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._controls.languageSelector){const e=this._document.createElement("option");e.disabled=!0,e.selected=!0,e.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_LABEL,this._controls.languageSelector.addOption(e);const t=n.getURL("/assets/images/flags/not_found.svg");this._controls.languageSelector.setActive(Aa.MESSAGES.SELECT_LANGUAGE_LABEL,"",{"background-image":`url('${t}') !important`})}}_renderDisconnectedState(){this._controls.footer.remove(),this._controls.headerControlsWrapper.remove();const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.innerHTML=Aa.MESSAGES.EXTENSION_UPDATED_HEADLINE,t.className="lt-dialog__reload-headline",this._controls.contentMain.appendChild(t);const s=this._document.createElement("lt-div");s.innerHTML=Aa.MESSAGES.EXTENSION_UPDATED_TEXT,s.className="lt-dialog__reload__text",this._controls.contentMain.appendChild(s),e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderFailedState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__exception-headline",t.textContent=Aa.MESSAGES.Fail_STATE_HEADLINE,e.appendChild(t);const s=this._document.createElement("lt-div");s.className="lt-dialog__exception__text",s.textContent=this._state.checkErrorMessage||Aa.MESSAGES.Fail_STATE_TEXT,e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderNeedsLanguageHintState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__needs-language-hint__headline",t.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__needs-language-hint__text",s.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_TEXT;const a=this._document.createElement("lt-div");a.className="lt-dialog__needs-language-hint__button",a.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_IGNORE,e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e),this._eventListeners.push(as(a,"click",(()=>{const e={dialog:this,language:this._controls.languageSelector.getValue()};Pt.trackEvent("Action","dialog:ignore_language_hint"),ts(document,Aa.eventNames.languageChanged,e)})))}_onUnload(){this.destroy()}_onKeydown(e){"Escape"===e.key&&(this.destroy(),e.stopImmediatePropagation())}_onLanguageChange(e){e.stopImmediatePropagation();const t={dialog:this,language:this._controls.languageSelector.getValue()};this.setCurrentLanguage(this._controls.languageSelector.getValue()),ts(document,Aa.eventNames.languageChanged,t)}_onTogglePickyMode(e){e.stopImmediatePropagation(),this._state.isPickyModeEnabled=!this._state.isPickyModeEnabled,this.setInsignificantChangeMode(!1);const t={dialog:this,isEnabled:this._state.isPickyModeEnabled};ts(document,Aa.eventNames.togglePickyMode,t)}_onCountChange(e){e.stopImmediatePropagation(),this._state.countOptions.mode=this._controls.countSelector.getValue(),this.updateCounter(this._state.countOptions);const t={dialog:this,countMode:this._controls.countSelector.getValue()};ts(document,Aa.eventNames.countChanged,t)}_onCloseClick(e){e.stopImmediatePropagation(),this._onUnload()}_onHelpIconClick(e){e.stopImmediatePropagation(),this._controls.helpMenu.show()}_onHelpOverlayClick(e){e.stopImmediatePropagation(),this._controls.helpMenu.hide()}_onPositionIconClick(e){e.stopImmediatePropagation(),this._controls.positionMenu.show()}_onPositionOverlayClick(e){e.stopImmediatePropagation(),this._controls.positionMenu.hide()}_onPositionRightClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"right"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("right"),this._position("right"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onPositionLeftClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"left"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("left"),this._position("left"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onPositionDialogClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"default"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("default"),this._position("default"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onSaveTextClick(e){e.stopImmediatePropagation()}_onTurnOffClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.turnOff,t)}_onPauseCheckingClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.pauseChecking,t)}_onDisableIconClicked(e){e.stopImmediatePropagation(),this._controls.disableMenu.show()}_onDisableOverlayClick(e){e.stopImmediatePropagation(),this._controls.disableMenu.hide()}_onBadgeClicked(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.badgeClicked,t)}_onOptionsClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.openOptions,t)}_onUserStatisticsClick(e){e.stopImmediatePropagation(),n.openWindow("https://languagetool.com/editor/statistics")}_onContentScroll(e){this._controls.content.scrollTop>50?this._controls.headerScoreProgress.classList.add("show"):this._controls.headerScoreProgress.classList.remove("show")}_onIgnoredErrorsClick(e){e.stopImmediatePropagation();let t="personalDictionary";if(e.target){const s=e.target;s.dataset&&"byRules"===s.dataset.type&&(t="ignoredRules")}const s={dialog:this,target:t,ref:"dialog-ignored-errors"};ts(document,Aa.eventNames.openOptions,s)}_gotoLanguageTool(e){e.stopImmediatePropagation();let t="https://languagetool.org/?utm_campaign=addon2-dialog";wt.isSafari()&&(t+="&hidePremium=true"),n.openWindow(t)}_gotoHelpCenter(e){e.stopImmediatePropagation(),this._controls.helpMenu.hide(),n.openWindow("https://languagetooler.freshdesk.com/support/home")}_showFeedbackForm(e){e.stopImmediatePropagation();const t={dialog:this};this._controls.helpMenu.hide(),ts(document,Aa.eventNames.showFeedbackForm,t)}_onErrorHighlighted(e){const t={dialog:this,errorId:e};ts(document,Aa.eventNames.errorHighlighted,t)}_onErrorSelected(e){const t={dialog:this,errorId:e};ts(document,Aa.eventNames.errorSelected,t)}_onMoreDetailsClick(e,t){t.stopImmediatePropagation();const s={dialog:this,url:e.value};ts(document,Aa.eventNames.moreDetailsClicked,s)}_onCorrectAll(e,t,s){s.stopImmediatePropagation();const a={dialog:this,config:t,selectedError:e};ts(document,Aa.eventNames.correctAll,a)}_onFixClick(e,t,s){s.stopImmediatePropagation(),this._inApplyFixMode=!0;const a={dialog:this,error:e,fixIndex:t,selectNextError:!1};ts(document,Aa.eventNames.fixSelected,a)}_onAddToDictionaryClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.addToDictionaryClicked,s)}_onIgnoreRuleClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.ignoreRuleClicked,s)}_onTemporarilyIgnoreWordClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.temporarilyIgnoreWordClicked,s)}_onTemporarilyIgnoreRuleClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.temporarilyIgnoreRuleClicked,s)}_enableEverywhere(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.enableEverywhere,t)}_enableHere(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.enableHere,t)}getCurrentPosition(){return this._uiOptions.dialogPosition}updateState(e){st(this._state,e)||(this._state=Object.assign(this._state||{},e),this._updateContent())}setCurrentLanguage(e){if(!n.isRuntimeConnected())return;e=e.toLowerCase();const t=kt.LANGUAGES.find((t=>t.code===e))||kt.LANGUAGES.find((t=>e.startsWith(t.code)))||kt.LANGUAGES.find((e=>"en-us"===e.code)),s=n.getURL("/assets/images/flags/"+t.code+".svg");this._controls.languageSelector&&this._controls.languageSelector.setActive(this._shortenLanguageName(t.name),t.code,{"background-image":`url('${s}') !important`})}_shortenLanguageName(e){return e.split(" ",1)[0]}updateCounter(e){this._controls.countSelector&&(this._controls.countSelector.setActive(this._getCountString(e,e.mode),e.mode,{}),this._controls.countSelector.updateOptionLable("characters",this._getCountString(e,"characters")),this._controls.countSelector.updateOptionLable("sentences",this._getCountString(e,"sentences")),this._controls.countSelector.updateOptionLable("words",this._getCountString(e,"words")))}setInsignificantChangeMode(e){this._inInsignificantChangeMode=e}setApplyFixMode(e){this._inApplyFixMode=e}closeAllMenus(){this._menus.forEach((e=>{e.hide()}))}fadeOut(){this._controls.innerContainer.classList.add("lt-dialog--faded")}fadeIn(){this._controls.innerContainer.classList.remove("lt-dialog--faded")}destroy(){Yt(this._controls.container,(()=>{this._toolbarContainer.classList.remove("lt-toolbar--dialog-opened")})),this._controls.languageSelector?.destroy(),this._ratingTeaser?.destroy(),this._controls={},self.removeEventListener("pagehide",this._onUnload,!0),this._eventListeners.forEach((e=>{e.destroy()})),this._eventListeners=[];const e={dialog:this};this._premiumTeaser?.destroy(),ts(document,Aa.eventNames.destroyed,e)}}Aa.CONTAINER_ELEMENT_NAME="lt-dialog",Aa.SPACE_TO_SCREEN_EDGE=5,Aa.eventNames={turnOff:"lt-dialog.turnOff",pauseChecking:"lt-dialog.pauseChecking",enableHere:"lt-dialog.enableHere",enableEverywhere:"lt-dialog.enableEverywhere",languageChanged:"lt-dialog.languageChanged",countChanged:"lt-dialog.countChanged",errorSelected:"lt-dialog.errorSelected",errorHighlighted:"lt-dialog.errorHighlighted",addToDictionaryClicked:"lt-dialog.addToDictionaryClicked",ignoreRuleClicked:"lt-dialog.ignoreRuleClicked",temporarilyIgnoreWordClicked:"lt-dialog.temporarilyIgnoreWordClicked",temporarilyIgnoreRuleClicked:"lt-dialog.temporarilyIgnoreRuleClicked",moreDetailsClicked:"lt-dialog.moreDetailsClicked",fixSelected:"lt-dialog.fixSelected",openOptions:"lt-dialog.openOptions",showFeedbackForm:"lt-dialog.showFeedbackForm",destroyed:"lt-dialog.destroyed",togglePickyMode:"lt-dialog.togglePickyMode",positionChangeClicked:"lt-dialog.positionChangeClicked",badgeClicked:"lt-dialog.badgeClicked",premiumTeaserClicked:"lt-dialog.premiumTeaserClicked",correctAll:"lt-dialog.correctAll"},Aa._isInitialized=!1;class Ia{calculateTextScore(e,t,s,a){if(e<100)return 0;let n=0,r=0,o=0;const i=e=>{e.isSpellingError?o++:e.isStyleError?r++:n++};t.forEach(i),s.forEach(i),a.forEach(i);const l=3*n+4*o+2*r;return Math.max(0,Math.floor((e-l)/e*100))}}
87
+ class Aa{static _cacheMessages(){Aa.MESSAGES={EXTENSION_UPDATED_HEADLINE:o.getMessage("extensionUpdatedHeadline"),EXTENSION_UPDATED_TEXT:o.getMessage("extensionUpdatedText",["<lt-span class='lt-dialog__icon'></lt-span>"]),INCOMPLETE_RESULT:o.getMessage("incompleteResult"),POWERED_BY:o.getMessage("poweredBy"),FEEDBACK:o.getMessage("sendFeedback"),DELETE:o.getMessage("deleteWord"),ENABLE_HEADLINE:o.getMessage("dialogEnableInDialogHeadline"),ENABLE_TEXT:o.getMessage("dialogEnableInDialogText"),ENABLE_EVERYWHERE_BUTTON:o.getMessage("enableEverywhereButton"),ENABLE_HERE_BUTTON:o.getMessage("enableHereButton"),OPTIONS_TITLE:o.getMessage("settingsHeadline"),NO_ERRORS:o.getMessage("noErrorsFound2"),NO_ERRORS_TEXT:o.getMessage("noErrorsFoundText"),TEXT_TOO_LONG_HEADLINE:o.getMessage("dialogTextTooLongHeadline"),TEXT_TOO_LONG_TEXT:o.getMessage("dialogTextTooLongText"),SCROLL_HINT_HEADLINE:o.getMessage("dialogScrollHintHeadline"),SCROLL_HINT_TEXT:o.getMessage("dialogScrollHintText"),TEXT_TOO_LONG_BUTTON:o.getMessage("dialogTextTooLongButton"),TEXT_TOO_SHORT_TEXT:o.getMessage("dialogTextTooShortText"),TEXT_TOO_SHORT_HEADLINE:o.getMessage("dialogTextTooShortHeadline"),TEXT_SCORE_MENU_ITEM:o.getMessage("dialogMainMenuTextScore"),REGULAR_MISTAKE_MENU_ITEM:o.getMessage("dialogMainMenuRegularMistake"),PREMIUM_MISTAKE_MENU_ITEM:o.getMessage("dialogMainMenuPremiumMistake"),PICKY_MODE_MENU_ITEM:o.getMessage("dialogMainMenuPickyMode"),PICKY_MODE_MENU_ITEM_INFO:o.getMessage("dialogMainMenuPickyModeInfo"),COUNTER_CHARACTERS_OPTION:o.getMessage("dialogCounterCharactersOption"),COUNTER_WORDS_OPTION:o.getMessage("dialogCounterWordsOption"),COUNTER_SENTENCES_OPTION:o.getMessage("dialogCounterSentencesOption"),POSITION_DEFAULT_MENU_ITEM:o.getMessage("dialogPositionMenuDefault"),POSITION_RIGHT_MENU_ITEM:o.getMessage("dialogPositionMenuRight"),POSITION_LEFT_MENU_ITEM:o.getMessage("dialogPositionMenuLeft"),Fail_STATE_HEADLINE:o.getMessage("dialogFailStateHeadline"),Fail_STATE_TEXT:o.getMessage("dialogFailStateText"),HEADLINE_SPELLING_ERROR:o.getMessage("spellingError"),HEADLINE_CUSTOM_SUGGESTION_ERROR:o.getMessage("customSuggestionError"),HEADLINE_SUGGESTION_ERROR:o.getMessage("suggestionError"),HEADLINE_PUNCTUATION_ERROR:o.getMessage("punctuationError"),HEADLINE_GRAMMAR_ERROR:o.getMessage("grammarError"),SELECT_LANGUAGE_LABEL:o.getMessage("dialogSelectLanguageLabel"),UNSUPPORTED_LANGUAGE_LABEL:o.getMessage("dialogUnsupportedLanguageLabel"),UNSUPPORTED_LANGUAGE_HEADLINE:o.getMessage("dialogUnsupportedLanguageHeadline"),UNSUPPORTED_LANGUAGE_TEXT:o.getMessage("dialogUnsupportedLanguageText"),ALL_LANGUAGES:o.getMessage("dialogAllLanguages"),RECOMMENDED_LANGUAGES:o.getMessage("dialogRecommendedLanguages"),SCROLL_TO_LINK:o.getMessage("dialogScrollToLink"),SEND_FEEDBACK_TOOLTIP:o.getMessage("dialogTooltipSendFeedback"),HELP_TOOLTIP:o.getMessage("dialogTooltipHelp"),HELP_CENTER_TOOLTIP:o.getMessage("dialogTooltipHelpCenter"),IGNORE_RULE_TOOLTIP:o.getMessage("ignoreHere"),DISABLE_CHECKING_TOOLTIP:o.getMessage("dialogTooltipDisableChecking"),DISABLE_CHECKING_MENU_ITEM:o.getMessage("dialogDisableMenuDisableChecking"),PAUSE_CHECKING_MENU_ITEM:o.getMessage("dialogDisableMenuPauseChecking"),DIALOG_POSITION_TOOLTIP:o.getMessage("dialogTooltipPosition"),SETTINGS_TOOLTIP:o.getMessage("dialogTooltipSettings"),USER_STATISTICS_TOOLTIP:o.getMessage("dialogTooltipUserStatistics"),SAVE_TEXT_TOOLTIP:o.getMessage("dialogTooltipSaveText"),NEEDS_LANGUAGE_HINT_HEADLINE:o.getMessage("dialogNeedsLanguageHintHeadline"),NEEDS_LANGUAGE_HINT_TEXT:o.getMessage("dialogNeedsLanguageHintText"),NEEDS_LANGUAGE_HINT_IGNORE:o.getMessage("dialogNeedsLanguageHintIgnore"),LANGUAGES:kt.LANGUAGES}}static init(){Aa._isInitialized||(Aa._cacheMessages(),Aa._isInitialized=!0)}constructor(e,t,s,a,r){this._menus=[],this._allDisplyedErrorsCount=0,this._toolbarContainer=e,this._appearance=t,this._uiOptions=r,this._document=this._toolbarContainer.ownerDocument,this._languageCode=s,this._onCloseClick=this._onCloseClick.bind(this),this._onUnload=this._onUnload.bind(this),self.addEventListener("pagehide",this._onUnload,!0),this._controls={},this._eventListeners=[],this._render().then((()=>{this.setCurrentLanguage(s||kt.getUserLanguageCode()),this.updateCounter({mode:"words",counts:{words:0,characters:0,sentences:0}}),this.updateState(a)})),this._eventListeners.push(as(document,"keydown",this._onKeydown.bind(this))),this._inApplyFixMode=!1,this._inInsignificantChangeMode=!0,this._shouldShowRatingTeaser=!a.displayedPremiumErrors.length&&!this._controls.teaserElement&&!this._uiOptions.disableRatingTeaser&&n.isRuntimeConnected()&&0===Math.floor(2*Math.random())}async _render(){if(this._controls.container)return;this._controls.container=Gt(this._document,Aa.CONTAINER_ELEMENT_NAME);const e=e=>{e.stopImmediatePropagation()};this._eventListeners.push(as(this._controls.container,"mousedown",(t=>{t.target===this._controls.languageSelector.getSelect()&&(document.addEventListener("blur",e,!0),setTimeout((()=>{document.removeEventListener("blur",e,!0)}),10)),t.target===this._controls.countSelector.getSelect()&&(document.addEventListener("blur",e,!0),setTimeout((()=>{document.removeEventListener("blur",e,!0)}),10)),t.target instanceof HTMLElement&&t.target.closest("[data-lt-prevent-focus]")&&t.preventDefault(),e(t)})),as(this._controls.container,"mouseup",e),as(this._controls.container,"pointerdown",e),as(this._controls.container,"pointerup",e),as(this._controls.container,"focusin",e),as(this._controls.container,"focusout",e),as(this._controls.container,"click",(e=>{e.preventDefault(),e.stopPropagation()}))),this._controls.innerContainer=this._document.createElement("lt-div"),this._controls.innerContainer.classList.add("lt-dialog__container","notranslate"),wt.isSafari()&&this._controls.innerContainer.classList.add("lt-dialog__container--safari"),this._appearance.canDisplayAllSuggestions()||this._controls.innerContainer.classList.add("lt-dialog__container--small"),this._controls.container.appendChild(this._controls.innerContainer),this._controls.header=this._document.createElement("lt-div"),this._controls.header.className="lt-dialog__header",this._controls.innerContainer.appendChild(this._controls.header);const t=this._document.createElement("lt-div");t.className="lt-dialog__header__logo-wrapper",this._controls.logo=this._document.createElement("lt-div"),this._controls.logo.classList.add("lt-dialog__logo","lt-icon__lt"),t.appendChild(this._controls.logo),this._uiOptions.isPremiumAccount||(this._controls.packageBadge=new Ta(null,"basic","default",t),this._eventListeners.push(as(this._controls.packageBadge.getElement(),"click",this._onBadgeClicked.bind(this)))),this._controls.header.appendChild(t),this._controls.headerScoreProgress=this._document.createElement("lt-div"),this._controls.headerScoreProgress.className="lt-dialog__header__progress-score",this._controls.header.appendChild(this._controls.headerScoreProgress),this._controls.headerScoreProgressBar=this._document.createElement("lt-div"),this._controls.headerScoreProgressBar.className="lt-dialog__header__progress-score__bar",this._controls.headerScoreProgress.appendChild(this._controls.headerScoreProgressBar),this._controls.headerControlsWrapper=this._document.createElement("lt-div"),this._controls.headerControlsWrapper.className="lt-dialog__header__controls-wrapper";const s=this._document.createElement("select");if(Aa.MESSAGES.LANGUAGES.forEach((e=>{const t=this._document.createElement("option");t.value=e.code,t.textContent=e.name,s.appendChild(t)})),n.isRuntimeConnected()){const e=await n.getPreferredLanguages();if(!s||!e.length)return;const t=s.value,a=this._document.createElement("optgroup");a.label=Aa.MESSAGES.ALL_LANGUAGES,Array.from(s.children).forEach((e=>{a.append(e)}));const r=this._document.createElement("optgroup");r.label=Aa.MESSAGES.RECOMMENDED_LANGUAGES,e.forEach((e=>{const t=kt.LANGUAGES.find((t=>t.code.startsWith(e.toLowerCase())));if(t){const e=this._document.createElement("option");e.value=t.code,e.textContent=t.name,r.appendChild(e)}})),s.append(r),s.append(a),s.value=t}if(this._controls.languageSelector=new wa("language-select",this._controls.headerControlsWrapper,s),this._eventListeners.push(as(this._controls.languageSelector.getSelect(),"change",this._onLanguageChange.bind(this))),!this._uiOptions.disableSaveDocument){const e={label:Aa.MESSAGES.SAVE_TEXT_TOOLTIP,position:"top-center"};this._controls.saveIcon=new Sa("save",null,e,this._controls.headerControlsWrapper),this._eventListeners.push(as(this._controls.saveIcon.getElement(),"click",this._onSaveTextClick.bind(this)))}if(this._appearance.isPositionVisible()&&n.isRuntimeConnected()){const e=this._document.createElement("lt-div");e.className="lt-icon-group",this._controls.headerControlsWrapper.appendChild(e);const t={label:Aa.MESSAGES.DIALOG_POSITION_TOOLTIP,position:"bottom-right"};this._controls.positionIcon=new Sa(this._uiOptions.dialogPosition,null,t,e);const s=[{className:"default",label:Aa.MESSAGES.POSITION_DEFAULT_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"right",label:Aa.MESSAGES.POSITION_RIGHT_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"left",label:Aa.MESSAGES.POSITION_LEFT_MENU_ITEM,info:null,tag:null,isClickable:!0}];this._controls.positionMenu=new ya("position",s,this._controls.positionIcon.getElement(),this._controls.innerContainer,"bottom",!0),this._menus.push(this._controls.positionMenu);const a=this._controls.positionMenu.getAllOptions();this._eventListeners.push(as(a[0],"click",this._onPositionDialogClick.bind(this)),as(a[1],"click",this._onPositionRightClick.bind(this)),as(a[2],"click",this._onPositionLeftClick.bind(this)),as(this._controls.positionMenu.getOverlay(),"click",this._onPositionOverlayClick.bind(this)),as(this._controls.positionIcon.getElement(),"click",this._onPositionIconClick.bind(this)))}this._controls.closeIcon=new Sa("close_filled",null,null,this._controls.headerControlsWrapper),this._eventListeners.push(as(this._controls.closeIcon.getElement(),"click",this._onCloseClick)),this._controls.headerControlsWrapper.appendChild(this._controls.closeIcon.getElement()),this._eventListeners.push(as(this._controls.logo,"click",this._gotoLanguageTool.bind(this))),this._controls.content=this._document.createElement("lt-div"),this._controls.content.className="lt-dialog__content",this._controls.innerContainer.appendChild(this._controls.content),this._eventListeners.push(as(this._controls.content,"scroll",this._onContentScroll.bind(this))),this._controls.contentTop=this._document.createElement("lt-div"),this._controls.contentTop.className="lt-dialog__content__top",this._controls.content.appendChild(this._controls.contentTop),this._controls.contentMain=this._document.createElement("lt-div"),this._controls.contentMain.className="lt-dialog__content__main",this._controls.content.appendChild(this._controls.contentMain),this._controls.contentBottom=this._document.createElement("lt-div"),this._controls.contentBottom.className="lt-dialog__content__bottom",this._controls.content.appendChild(this._controls.contentBottom),this._controls.footer=this._document.createElement("lt-div"),this._controls.footer.className="lt-dialog__footer",this._controls.loadingBar=this._document.createElement("lt-div"),this._controls.loadingBar.className="lt-dialog__footer__loading-bar-container";const a=this._document.createElement("lt-div");a.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-1");const r=this._document.createElement("lt-div");r.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-2");const o=this._document.createElement("lt-div");o.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-3"),this._controls.loadingBar.appendChild(a),this._controls.loadingBar.appendChild(r),this._controls.loadingBar.appendChild(o),this._controls.footer.appendChild(this._controls.loadingBar);const i=[{label:Aa.MESSAGES.COUNTER_CHARACTERS_OPTION,value:"characters"},{label:Aa.MESSAGES.COUNTER_WORDS_OPTION,value:"words"},{label:Aa.MESSAGES.COUNTER_SENTENCES_OPTION,value:"sentences"}],l=this._document.createElement("select");if(i.forEach((e=>{const t=this._document.createElement("option");t.value=e.value,t.textContent=e.label,l.appendChild(t)})),this._controls.countSelector=new wa("countSelect",this._controls.footer,l),this._controls.footerControlsWrapper=this._document.createElement("lt-div"),this._controls.footerControlsWrapper.className="lt-dialog__footer__controls-wrapper",this._controls.footer.appendChild(this._controls.footerControlsWrapper),this._eventListeners.push(as(this._controls.countSelector.getSelect(),"change",this._onCountChange.bind(this))),this._uiOptions.disableHelpCenter||this._uiOptions.disableFeedbackForm)if(this._uiOptions.disableFeedbackForm){if(!this._uiOptions.disableHelpCenter){const e={label:Aa.MESSAGES.HELP_CENTER_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("help",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement()),this._eventListeners.push(as(this._controls.sendFeedback.getElement(),"click",this._gotoHelpCenter.bind(this)))}}else{const e={label:Aa.MESSAGES.SEND_FEEDBACK_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("feedback",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement()),this._eventListeners.push(as(this._controls.sendFeedback.getElement(),"click",this._showFeedbackForm.bind(this)))}else{const e={label:Aa.MESSAGES.HELP_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("help",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement());const t=[{className:"help",label:Aa.MESSAGES.HELP_CENTER_TOOLTIP,info:null,tag:null,isClickable:!0,isSelectable:!1},{className:"feedback",label:Aa.MESSAGES.SEND_FEEDBACK_TOOLTIP,info:null,tag:null,isClickable:!0}];this._controls.helpMenu=new ya("help",t,this._controls.sendFeedback.getElement(),this._controls.innerContainer,"top",!1,null),this._menus.push(this._controls.helpMenu);const s=this._controls.helpMenu.getAllOptions();this._eventListeners.push(as(s[0],"click",this._gotoHelpCenter.bind(this)),as(s[1],"click",this._showFeedbackForm.bind(this)),as(this._controls.helpMenu.getOverlay(),"click",this._onHelpOverlayClick.bind(this)),as(this._controls.sendFeedback.getElement(),"click",this._onHelpIconClick.bind(this)))}if(this._uiOptions.showUserStatisticsLink){const e={label:Aa.MESSAGES.USER_STATISTICS_TOOLTIP,position:"top-right"},t=new Sa("user-statistics",null,e,this._controls.footerControlsWrapper);this._eventListeners.push(as(t.getElement(),"click",this._onUserStatisticsClick.bind(this)))}if(!this._uiOptions.disableTurnOff){const e={label:Aa.MESSAGES.DISABLE_CHECKING_TOOLTIP,position:"top-right"};this._controls.disableIcon=new Sa("disable_circle",null,e,this._controls.footerControlsWrapper);const t=[{className:"pause",label:Aa.MESSAGES.PAUSE_CHECKING_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"disable_circle",label:Aa.MESSAGES.DISABLE_CHECKING_MENU_ITEM,info:null,tag:null,isClickable:!0}];this._controls.disableMenu=new ya("disable",t,this._controls.disableIcon.getElement(),this._controls.innerContainer,"top",!1),this._menus.push(this._controls.disableMenu);const s=this._controls.disableMenu.getAllOptions();this._eventListeners.push(as(s[0],"click",this._onPauseCheckingClick.bind(this)),as(s[1],"click",this._onTurnOffClick.bind(this)),as(this._controls.disableMenu.getOverlay(),"click",this._onDisableOverlayClick.bind(this)),as(this._controls.disableIcon.getElement(),"click",this._onDisableIconClicked.bind(this)))}if(!this._uiOptions.disableOptionsPage){const e={label:Aa.MESSAGES.SETTINGS_TOOLTIP,position:"top-right"};this._controls.optionsIcon=new Sa("options",null,e,this._controls.footerControlsWrapper),this._eventListeners.push(as(this._controls.optionsIcon.getElement(),"click",this._onOptionsClick.bind(this)))}this._controls.incompleteResult=this._document.createElement("lt-div"),this._controls.incompleteResult.className="lt-dialog__incomplete-result",this._controls.incompleteResult.textContent=Aa.MESSAGES.INCOMPLETE_RESULT,this._controls.footer.appendChild(this._controls.incompleteResult),this._controls.pointer=this._document.createElement("lt-span"),this._controls.pointer.className="lt-dialog__pointer",this._controls.innerContainer.appendChild(this._controls.pointer),this._toolbarContainer.appendChild(this._controls.container),this._toolbarContainer.classList.add("lt-toolbar--dialog-opened"),n.isRuntimeConnected()&&(this._controls.innerContainer.appendChild(this._controls.footer),this._controls.header.appendChild(this._controls.headerControlsWrapper));const c=this._toolbarContainer.querySelector(".lt-toolbar__premium-icon-dot--has-notification");c&&c.classList.remove("lt-toolbar__premium-icon-dot--has-notification")}_position(e=null){const t=this._controls.container.ownerDocument.body.offsetWidth,s=n.isRuntimeConnected()&&this._appearance.isPositionVisible()&&t>400?e||this._uiOptions.dialogPosition:"default";if(this._uiOptions.dialogPosition=s,this._controls.innerContainer.classList.remove("lt-dialog__container--fixed-right"),this._controls.innerContainer.classList.remove("lt-dialog__container--fixed-left"),"default"===s){!this._controls.positionMenu||this._controls.positionMenu.toggleActive(0,!0,!0);let e=this._controls.innerContainer.getBoundingClientRect();const t=document.doctype?this._document.documentElement.clientWidth:Math.min(this._document.documentElement.clientWidth,document.body.clientWidth);e.right>=t-Aa.SPACE_TO_SCREEN_EDGE&&this._alignToBottom(),e=this._controls.innerContainer.getBoundingClientRect();const s=document.doctype?this._document.documentElement.clientHeight:Math.min(this._document.documentElement.clientHeight,document.body.clientHeight);e.bottom>=s&&this._alignToTop(),e=this._controls.innerContainer.getBoundingClientRect(),e.top<=Aa.SPACE_TO_SCREEN_EDGE&&this._alignToBottom(),e.top<0&&!qt(document.body)&&!qt(document.documentElement)&&this._alignToBottom()}else"right"===s?(!this._controls.positionMenu||this._controls.positionMenu.toggleActive(1,!0,!0),this._controls.innerContainer.style.removeProperty("right"),this._controls.innerContainer.style.removeProperty("left"),this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container--fixed-right")):"left"===s&&(!this._controls.positionMenu||this._controls.positionMenu.toggleActive(2,!0,!0),this._controls.innerContainer.style.removeProperty("right"),this._controls.innerContainer.style.removeProperty("left"),this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container--fixed-left"))}_alignToBottom(){const e=new It(this._document);this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.add("lt-dialog__container-bottom");const t=this._controls.innerContainer.getBoundingClientRect();if(t.left<=Aa.SPACE_TO_SCREEN_EDGE){const s=parseInt(e.getStyle(this._controls.innerContainer,"right"),10)+t.left-Aa.SPACE_TO_SCREEN_EDGE,a=parseInt(e.getStyle(this._controls.pointer,"right"),10)-t.left+Aa.SPACE_TO_SCREEN_EDGE;e.setStyles(this._controls.innerContainer,{right:s+"px !important",left:"auto !important"}),e.setStyles(this._controls.pointer,{right:a+"px !important",left:"auto !important"})}if(t.right>this._document.documentElement.clientWidth){e.setStyles(this._controls.innerContainer,{right:"0px !important",left:"auto !important"});const s=parseInt(e.getStyle(this._controls.pointer,"right"),10)+(this._controls.innerContainer.getBoundingClientRect().right-t.right);e.setStyles(this._controls.pointer,{right:s+"px !important",left:"auto !important"})}}_alignToTop(){this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container-top");const e=this._controls.innerContainer.getBoundingClientRect(),t=new It(this._document);if(this._controls.innerContainer.classList.add("lt-dialog__container-hide"),e.right>=this._document.documentElement.clientWidth-Aa.SPACE_TO_SCREEN_EDGE){const s=parseInt(t.getStyle(this._controls.innerContainer,"left"),10)-(e.right-this._document.documentElement.clientWidth)-Aa.SPACE_TO_SCREEN_EDGE,a=parseInt(t.getStyle(this._controls.pointer,"left"),10)+(e.right-this._document.documentElement.clientWidth)+Aa.SPACE_TO_SCREEN_EDGE;t.setStyles(this._controls.innerContainer,{left:s+"px !important",right:"auto !important"}),t.setStyles(this._controls.pointer,{left:a+"px !important",right:"auto !important"})}this._controls.innerContainer.classList.remove("lt-dialog__container-hide")}_removeTeaser(){this._controls.teaserElement&&(this._controls.teaserElement.remove(),this._controls.teaserElement=void 0)}_updateContent(){if(!this._controls.content)return;this.closeAllMenus();const e=this._state.checkStatus;this._controls.content.classList.remove("lt-dialog__has-errors"),this._controls.content.classList.remove("lt-dialog__is-loading"),this._controls.contentMain.innerHTML="",this._controls.contentTop.innerHTML="",this._controls.contentBottom.innerHTML="",this.updateCounter(this._state.countOptions);const t=(this._inApplyFixMode||this._inInsignificantChangeMode)&&e===ba.IN_PROGRESS&&this._allDisplyedErrorsCount>0;this._showLoadingBar(t);const s=e===ba.NEEDS_LANGUAGE_HINT;if(this._controls.languageSelector.toggleHighlight(s),t?(this._renderHeadline(),this._renderCompletedState()):e===ba.IN_PROGRESS?(this._renderHeadline(),this._renderInProgressState()):e===ba.COMPLETED?(this._renderHeadline(),this._renderCompletedState()):e===ba.DISABLED?this._renderDisabledState():e===ba.TEXT_TOO_SHORT?(this._renderHeadline(),this._renderTextTooShortState(),this._renderPremiumErrorsTeaser()):e===ba.TEXT_TOO_LONG?(this._renderHeadline(),this._renderTextTooLongState(),this._renderDiscountTimerTeaser()):e===ba.UNSUPPORTED_LANGUAGE?(this._renderHeadline(),this._renderLanguageUnsupportedState()):e===ba.DISCONNECTED?this._renderDisconnectedState():e===ba.FAILED?this._renderFailedState():s&&this._renderNeedsLanguageHintState(),e===ba.COMPLETED&&this._controls.mainHeadline){this._controls.headerScoreProgressBar.style.width=this._state.textScore+"%",this._controls.textScore.setScore(this._state.textScore);const e=this._state.displayedErrors.length||0,t=this._state.displayedPremiumErrors.length||0;this._allDisplyedErrorsCount=e+t,this._controls.errorsCounter.textContent=this._allDisplyedErrorsCount.toString()}this._position()}_showLoadingBar(e){e!==this._isLoadingBarShown&&(e?this._controls.loadingBar.classList.remove("lt-dialog__footer__loading-bar-container--hidden"):this._controls.loadingBar.classList.add("lt-dialog__footer__loading-bar-container--hidden"),this._isLoadingBarShown=e)}_getCountString(e,t){if(!n.isRuntimeConnected())return"";const s={words:[o.getMessage("dialogCounterWordsSingular"),o.getMessage("dialogCounterWordsPlural",[dt(e.counts.words,n.getUILanguageCode())])],sentences:[o.getMessage("dialogCounterSentencesSingular"),o.getMessage("dialogCounterSentencesPlural",[dt(e.counts.sentences,n.getUILanguageCode())])],characters:[o.getMessage("dialogCounterCharactersSingular"),o.getMessage("dialogCounterCharactersPlural",[dt(e.counts.characters,n.getUILanguageCode())])]},a=e.counts[t];return 0===a?s[t][1]:1===a?s[t][0]:s[t][1]}_renderHeadline(){this._controls.mainHeadline=this._document.createElement("lt-div"),this._controls.mainHeadline.classList.add("lt-dialog__content-top__menu"),this._controls.mainHeadline.setAttribute("data-lt-prevent-focus","");const e=this._document.createElement("lt-span");e.className="lt-dialog__main-headline";const t=this._document.createElement("lt-span");t.className="lt-dialog__main-headline__headline",t.textContent=Aa.MESSAGES.REGULAR_MISTAKE_MENU_ITEM,this._controls.errorsCounter=this._document.createElement("lt-span"),this._controls.errorsCounter.className="lt-dialog__main-headline__counter",this._controls.errorsCounter.textContent=this._allDisplyedErrorsCount.toString(),e.appendChild(t),e.appendChild(this._controls.errorsCounter),this._controls.mainHeadline.appendChild(e);const s={label:Aa.MESSAGES.TEXT_SCORE_MENU_ITEM,position:"bottom-right"};this._controls.textScore=new La("lt-dialog__main-headline__score",this._controls.mainHeadline,s),this._controls.textScore.setScore(this._state.textScore),this._controls.contentTop.appendChild(this._controls.mainHeadline),this._controls.pickyToggle=new Pa("picky_mode",Aa.MESSAGES.PICKY_MODE_MENU_ITEM,"",this._controls.contentTop),this._controls.pickyToggle.set(this._state.isPickyModeEnabled),this._eventListeners.push(as(this._controls.pickyToggle.getElement(),"click",this._onTogglePickyMode.bind(this)))}_renderInProgressState(){this._controls.content.classList.add("lt-dialog__is-loading");const e=this._document.createElement("lt-div");e.className="lt-dialog-skeleton lt-dialog-skeleton--error-card";const t=this._document.createElement("lt-div");t.className="lt-dialog-skeleton lt-dialog-skeleton--error-card",this._controls.contentMain.appendChild(e),this._controls.contentMain.appendChild(t)}_renderCompletedState(){this._state.displayedErrors&&this._state.displayedErrors.length?this._appearance.canDisplayAllSuggestions()?(this._renderErrors(),this._renderIgnoredErrorsStats()):this._renderScrollHint():this._state.displayedPremiumErrors&&this._state.displayedPremiumErrors.length?(this._removeTeaser(),this._renderPremiumState()):(this._removeTeaser(),this._renderNoErrorsState(),this._renderIgnoredErrorsStats()),this._controls.incompleteResult.classList.toggle("lt-dialog__incomplete-result-show",!!this._state.isIncompleteResult)}_renderErrors(){this._controls.content.classList.add("lt-dialog__has-errors"),this._state.displayedPremiumErrors&&this._state.displayedPremiumErrors.length&&this._renderPremiumErrorsTeaser(),this._state.displayedErrors.forEach((e=>{const t=this._document.createElement("lt-div");t.className="lt-dialog__error-item";const s={label:Aa.MESSAGES.IGNORE_RULE_TOOLTIP,position:"top-right"},a=new Sa("trash",null,s,t);this._eventListeners.push(as(a.getElement(),"click",(s=>{e.isSpellingError?this._onTemporarilyIgnoreWordClick(e,s):this._onTemporarilyIgnoreRuleClick(e,s),t.remove()})));const n=this._document.createElement("lt-div");n.className="lt-dialog__error-headline",e.isPicky&&t.classList.add("lt-dialog__error-item--picky-mistake"),e.isCustomError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_SUGGESTION_ERROR,t.classList.add("lt-dialog__error-item--custom-suggestion")):e.isSpellingError?(n.textContent=Aa.MESSAGES.HEADLINE_SPELLING_ERROR,t.classList.add("lt-dialog__error-item--spelling-mistake")):e.isStyleError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_SUGGESTION_ERROR,t.classList.add("lt-dialog__error-item--style-suggestion")):e.isPunctuationError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_PUNCTUATION_ERROR,t.classList.add("lt-dialog__error-item--punctuation-mistake")):(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_GRAMMAR_ERROR,t.classList.add("lt-dialog__error-item--grammar-mistake")),t.append(n),t.addEventListener("mouseenter",(()=>this._onErrorHighlighted(e.id))),t.addEventListener("mouseleave",(()=>this._onErrorHighlighted(null)));const r=this._document.createElement("lt-div");r.className="lt-dialog__original-phrase",t.appendChild(r);const o=this._document.createElement("lt-div");o.className="lt-dialog__original-phrase__header",r.appendChild(o);const i=this._document.createElement("lt-div");i.className="lt-dialog__original-phrase__header__title",i.textContent=e.originalPhrase,o.appendChild(i);const l=new Sa("scroll-to-link",Aa.MESSAGES.SCROLL_TO_LINK,null,o);this._eventListeners.push(as(l.getElement(),"click",(t=>{t.stopImmediatePropagation(),this._onErrorSelected(e.id)})));const c=this._document.createElement("lt-div");c.className="lt-dialog__original-phrase__long-context-phrase",c.innerHTML=e.longContextPhrase,r.appendChild(c),this._renderFixes(e,t),this._renderDescription(e,t),this._renderActions(e,t),this._controls.contentMain.appendChild(t)}))}_renderFixes(e,t){const s=this._document.createElement("lt-div");s.className="lt-dialog__fix-container",t.appendChild(s);const a=Math.min(e.fixes.length,se);for(let n=0;n<a;n++){const r=e.fixes[n],o=this._document.createElement("lt-div");if(o.title=r.shortDescription||"",o.className="lt-dialog__fix",o.setAttribute("data-lt-prevent-focus",""),r.value.match(be)&&!r.value.match(/^\s*[\-–—:;]\s$/))o.textContent=r.value.replace(be,"·");else{const t=r.value.replace(Se," ");a>3&&e.isSpellingError?o.textContent=t:(o.classList.add("lt-dialog__fix--highlighted"),o.innerHTML=Zs(ea(e.originalPhrase,t)))}""===r.value&&e.originalPhrase.match(/[a-z0-9]{2,}/)?(o.classList.add("lt-dialog__fix--remove"),o.classList.remove("lt-dialog__fix--highlighted"),o.textContent=e.originalPhrase):""===r.value&&(o.classList.add("lt-dialog__fix--delete"),o.classList.remove("lt-dialog__fix--highlighted"),o.textContent=Aa.MESSAGES.DELETE),this._eventListeners.push(as(o,"click",(s=>{this._onFixClick(e,n,s),t.remove()}))),s.appendChild(o);const i=js(e,r.value);if(this._uiOptions.canCorrectMultipleErrorsAtOnce&&Vs(this._state.errors,e)&&i){const t=this._document.createElement("lt-span");t.classList.add("lt-dialog__fix--correct-all"),t.innerHTML=i.suggestion.message;const a=this._onCorrectAll.bind(this,e,i);this._eventListeners.push(as(t,"click",a)),s.appendChild(t),s.appendChild(this._document.createElement("br"))}r.value.length>=14&&t.classList.add("lt-dialog__long-fix")}}_renderActions(e,t){if(e.isSpellingError){if(!this._uiOptions.disableAddingWord&&!Ge(e.originalPhrase)){const s=this._document.createElement("lt-div");s.classList.add("lt-dialog__add-to-dictionary","lt-icon__dictionary"),s.setAttribute("data-lt-prevent-focus",""),s.textContent=o.getMessage("addToDictionaryCaption",e.originalPhrase),this._eventListeners.push(as(s,"click",(s=>{this._onAddToDictionaryClick(e,s),t.remove()}))),t.appendChild(s)}}else if(!this._uiOptions.disableIgnoringRule&&!e.isCustomError){const s=this._document.createElement("lt-div");s.classList.add("lt-dialog__ignore-rule"),s.classList.add("lt-icon__ignore"),s.setAttribute("data-lt-prevent-focus",""),s.classList.add("lt-icon__ignore"),s.textContent=o.getMessage("turnOffRule"),this._eventListeners.push(as(s,"click",(s=>{this._onIgnoreRuleClick(e,s),t.remove()}))),t.appendChild(s)}}_renderDescription(e,t){const s=this._document.createElement("lt-div");if(s.className="lt-dialog__error-text",s.setAttribute("data-lt-prevent-focus",""),s.textContent=e.description,t.append(s),e.rule.urls&&e.rule.urls.length>0){const t=this._document.createElement("lt-span");t.classList.add("lt-dialog__more-details","lt-icon__info"),t.setAttribute("data-lt-prevent-focus",""),t.title=o.getMessage("moreDetails"),this._eventListeners.push(as(t,"click",(t=>{this._onMoreDetailsClick(e.rule.urls[0],t)}))),s.appendChild(t)}}_renderScrollHint(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__scroll-hint__headline",t.textContent=Aa.MESSAGES.SCROLL_HINT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__scroll-hint__text",s.textContent=Aa.MESSAGES.SCROLL_HINT_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._shouldShowRatingTeaser?this._renderRatingTeaser():this._renderPremiumErrorsTeaser()}_renderTextTooShortState(){this._removeTeaser();const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__text-too-short__headline",t.innerHTML=Aa.MESSAGES.TEXT_TOO_SHORT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__text-too-short__text",s.innerHTML=Aa.MESSAGES.TEXT_TOO_SHORT_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderNoErrorsState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__no-errors__headline",t.textContent=Aa.MESSAGES.NO_ERRORS;const s=this._document.createElement("lt-div");s.className="lt-dialog__no-errors__text",s.textContent=Aa.MESSAGES.NO_ERRORS_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._shouldShowRatingTeaser?this._renderRatingTeaser():this._renderPremiumErrorsTeaser()}_renderIgnoredErrorsStats(){if(!this._state.ignoredErrorsStats)return;if(0===this._state.ignoredErrorsStats.byDictionary&&0===this._state.ignoredErrorsStats.byRules)return;const e=this._document.createElement("lt-div");if(this._state.displayedErrors&&this._state.displayedErrors.length?e.className="lt-dialog__ignored-errors-item":e.className="lt-dialog__ignored-errors-message",this._state.ignoredErrorsStats.byDictionary>0&&!this._uiOptions.disableAddingWord){const t=1===this._state.ignoredErrorsStats.byDictionary?"errorsIgnoredByDictionarySingular":"errorsIgnoredByDictionary",s=o.getMessage(t,[this._state.ignoredErrorsStats.byDictionary]),a=document.createElement("lt-span");a.textContent=s,a.dataset.type="byDictionary",e.appendChild(a)}if(this._state.ignoredErrorsStats.byRules>0&&!this._uiOptions.disableIgnoringRule){if(this._state.ignoredErrorsStats.byDictionary>0){const t=document.createElement("lt-span");t.textContent=", ",e.appendChild(t)}const t=1===this._state.ignoredErrorsStats.byRules?"errorsIgnoredByRulesSingular":"errorsIgnoredByRules",s=o.getMessage(t,[this._state.ignoredErrorsStats.byRules]),a=document.createElement("lt-span");a.textContent=s,a.dataset.type="byRules",e.appendChild(a)}this._controls.contentMain.appendChild(e),this._eventListeners.push(as(e,"click",this._onIgnoredErrorsClick.bind(this)))}_renderRatingTeaser(){this._ratingTeaser=new xa(this._controls.contentBottom,"dialog",ct().substr(0,150))}_renderPremiumErrorsTeaser(){this._controls.teaserElement||n.isRuntimeConnected()&&Lt.create().onReady((e=>{if(e.getUIState().hasPaidSubscription)return;const t=function(e){const t=300;let s=0;const a=Date.now();let n=0;for(const r of e.hiddenErrors){const e=+new Date(r.day);if(a-e>864e6)break;if(n=e,s+=r.count,s>t){s=t;break}}let r=String(s);return s>=t&&(r="300+"),{hiddenErrorsCount:s,hiddenErrorsCountStr:r,dayCount:Math.ceil((a-n)/1e3/60/60/24)}}(e.getStatistics());e.startChangelogCoupon();const s=e.getActiveCoupon();if(this._state.displayedPremiumErrors.length){const e=this._state.displayedPremiumErrors.filter((e=>!e.isStyleError&&!e.isPunctuationError)).length,t=this._state.displayedPremiumErrors.filter((e=>e.isPunctuationError)).length,s=this._state.displayedPremiumErrors.filter((e=>e.isStyleError)).length,a="dialog:premium_teaser",n=1===e+t+s?o.getMessage("premiumErrorsTextSingular"):o.getMessage("premiumErrorsTextPlural",[this._state.displayedPremiumErrors.length]),r=o.getMessage("premiumErrorsButton");this._premiumTeaser=new ka(this._controls.contentTop,a,null,n,r,{campaign:"addon2-dialog-premium-errors",hiddenGrammarMatches:e,hiddenStyleMatches:s,hiddenPunctuationMatches:t,textLanguage:this._languageCode||void 0})}else if(t.hiddenErrorsCount>5){const e="dialog:historic_premium_teaser",s=o.getMessage("historicPremiumErrorsHeadline"),a=o.getMessage("historicPremiumErrorsText2",[t.hiddenErrorsCount,t.dayCount]),n=o.getMessage("historicPremiumErrorsButton");this._premiumTeaser=new ka(this._controls.contentBottom,e,s,a,n,{campaign:"addon2-dialog-historic-premium-errors",historicMatches:t.hiddenErrorsCountStr})}else if(s){const e="dialog:premium_teaser";this._premiumTeaser=new ka(this._controls.contentBottom,e,null,null,null,{campaign:"addon2-dialog"})}e.destroy()}))}_renderDiscountTimerTeaser(){Lt.create().onReady((e=>{e.startChangelogCoupon();if(e.getActiveCoupon()){const e="dialog:premium_teaser";this._premiumTeaser=new ka(this._controls.contentBottom,e,null,null,null,{campaign:"addon2-dialog-premium"})}e.destroy()}))}_renderPremiumState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__premium__headline",t.textContent=1===this._state.displayedPremiumErrors.length?o.getMessage("dialogPremiumHeadlineSingular"):o.getMessage("dialogPremiumHeadlinePlural",[this._state.displayedPremiumErrors.length]);const s=this._document.createElement("lt-div");s.className="lt-dialog__premium__text",s.textContent=o.getMessage("dialogPremiumText");const a=this._document.createElement("lt-div");a.className="lt-dialog__premium__button lt-icon__new_window",a.textContent=o.getMessage("dialogPremiumButton");let n="addon2-dialog-premium";this._eventListeners.push(as(a,"click",(e=>{e.stopImmediatePropagation();const t={dialog:this,campaign:n};ts(document,Aa.eventNames.premiumTeaserClicked,t),Pt.trackEvent("Action","dialog:premium:click")}))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e),Lt.create().onReady((e=>{e.startChangelogCoupon();e.getActiveCoupon()&&(n=n.replace("addon2","addon2-countdown"),this._premiumTeaser=new ka(this._controls.contentBottom,"dialog:premium_teaser",null,null,null,{campaign:n})),e.destroy()}))}_renderDisabledState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__enable-text__headline",t.textContent=Aa.MESSAGES.ENABLE_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__enable-everywhere",s.innerHTML=Aa.MESSAGES.ENABLE_EVERYWHERE_BUTTON,this._eventListeners.push(as(s,"click",this._enableEverywhere.bind(this)));const a=this._document.createElement("lt-div");a.className="lt-dialog__enable-here",a.innerHTML=Aa.MESSAGES.ENABLE_HERE_BUTTON,this._eventListeners.push(as(a,"click",this._enableHere.bind(this))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e)}_renderTextTooLongState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__premium__headline",t.textContent=Aa.MESSAGES.TEXT_TOO_LONG_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__premium__text",s.textContent=Aa.MESSAGES.TEXT_TOO_LONG_TEXT;const a=this._document.createElement("lt-div");a.className="lt-dialog__premium__button lt-icon__new_window",a.textContent=Aa.MESSAGES.TEXT_TOO_LONG_BUTTON;let n="addon2-dialog-text-too-long";Lt.create().onReady((e=>{e.getActiveCoupon()&&(n=n.replace("addon2-dialog","addon2-dialog-countdown")),e.destroy()})),this._eventListeners.push(as(a,"click",(e=>{e.stopImmediatePropagation();const t={command:"OPEN_PREMIUM_PAGE",campaign:n};Rt().runtime.sendMessage(t),Pt.trackEvent("Action","dialog:text_too_long:click")}))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e)}_renderLanguageUnsupportedState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__language-unsupported__headline",t.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_HEADLINE;const s=this._document.createElement("lt-div");if(s.className="lt-dialog__language-unsupported__text",s.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._controls.languageSelector){const e=this._document.createElement("option");e.disabled=!0,e.selected=!0,e.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_LABEL,this._controls.languageSelector.addOption(e);const t=n.getURL("../../languagetool/images/flags/not_found.svg");this._controls.languageSelector.setActive(Aa.MESSAGES.SELECT_LANGUAGE_LABEL,"",{"background-image":`url('${t}') !important`})}}_renderDisconnectedState(){this._controls.footer.remove(),this._controls.headerControlsWrapper.remove();const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.innerHTML=Aa.MESSAGES.EXTENSION_UPDATED_HEADLINE,t.className="lt-dialog__reload-headline",this._controls.contentMain.appendChild(t);const s=this._document.createElement("lt-div");s.innerHTML=Aa.MESSAGES.EXTENSION_UPDATED_TEXT,s.className="lt-dialog__reload__text",this._controls.contentMain.appendChild(s),e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderFailedState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__exception-headline",t.textContent=Aa.MESSAGES.Fail_STATE_HEADLINE,e.appendChild(t);const s=this._document.createElement("lt-div");s.className="lt-dialog__exception__text",s.textContent=this._state.checkErrorMessage||Aa.MESSAGES.Fail_STATE_TEXT,e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderNeedsLanguageHintState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__needs-language-hint__headline",t.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__needs-language-hint__text",s.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_TEXT;const a=this._document.createElement("lt-div");a.className="lt-dialog__needs-language-hint__button",a.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_IGNORE,e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e),this._eventListeners.push(as(a,"click",(()=>{const e={dialog:this,language:this._controls.languageSelector.getValue()};Pt.trackEvent("Action","dialog:ignore_language_hint"),ts(document,Aa.eventNames.languageChanged,e)})))}_onUnload(){this.destroy()}_onKeydown(e){"Escape"===e.key&&(this.destroy(),e.stopImmediatePropagation())}_onLanguageChange(e){e.stopImmediatePropagation();const t={dialog:this,language:this._controls.languageSelector.getValue()};this.setCurrentLanguage(this._controls.languageSelector.getValue()),ts(document,Aa.eventNames.languageChanged,t)}_onTogglePickyMode(e){e.stopImmediatePropagation(),this._state.isPickyModeEnabled=!this._state.isPickyModeEnabled,this.setInsignificantChangeMode(!1);const t={dialog:this,isEnabled:this._state.isPickyModeEnabled};ts(document,Aa.eventNames.togglePickyMode,t)}_onCountChange(e){e.stopImmediatePropagation(),this._state.countOptions.mode=this._controls.countSelector.getValue(),this.updateCounter(this._state.countOptions);const t={dialog:this,countMode:this._controls.countSelector.getValue()};ts(document,Aa.eventNames.countChanged,t)}_onCloseClick(e){e.stopImmediatePropagation(),this._onUnload()}_onHelpIconClick(e){e.stopImmediatePropagation(),this._controls.helpMenu.show()}_onHelpOverlayClick(e){e.stopImmediatePropagation(),this._controls.helpMenu.hide()}_onPositionIconClick(e){e.stopImmediatePropagation(),this._controls.positionMenu.show()}_onPositionOverlayClick(e){e.stopImmediatePropagation(),this._controls.positionMenu.hide()}_onPositionRightClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"right"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("right"),this._position("right"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onPositionLeftClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"left"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("left"),this._position("left"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onPositionDialogClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"default"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("default"),this._position("default"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onSaveTextClick(e){e.stopImmediatePropagation()}_onTurnOffClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.turnOff,t)}_onPauseCheckingClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.pauseChecking,t)}_onDisableIconClicked(e){e.stopImmediatePropagation(),this._controls.disableMenu.show()}_onDisableOverlayClick(e){e.stopImmediatePropagation(),this._controls.disableMenu.hide()}_onBadgeClicked(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.badgeClicked,t)}_onOptionsClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.openOptions,t)}_onUserStatisticsClick(e){e.stopImmediatePropagation(),n.openWindow("https://languagetool.com/editor/statistics")}_onContentScroll(e){this._controls.content.scrollTop>50?this._controls.headerScoreProgress.classList.add("show"):this._controls.headerScoreProgress.classList.remove("show")}_onIgnoredErrorsClick(e){e.stopImmediatePropagation();let t="personalDictionary";if(e.target){const s=e.target;s.dataset&&"byRules"===s.dataset.type&&(t="ignoredRules")}const s={dialog:this,target:t,ref:"dialog-ignored-errors"};ts(document,Aa.eventNames.openOptions,s)}_gotoLanguageTool(e){e.stopImmediatePropagation();let t="https://languagetool.org/?utm_campaign=addon2-dialog";wt.isSafari()&&(t+="&hidePremium=true"),n.openWindow(t)}_gotoHelpCenter(e){e.stopImmediatePropagation(),this._controls.helpMenu.hide(),n.openWindow("https://languagetooler.freshdesk.com/support/home")}_showFeedbackForm(e){e.stopImmediatePropagation();const t={dialog:this};this._controls.helpMenu.hide(),ts(document,Aa.eventNames.showFeedbackForm,t)}_onErrorHighlighted(e){const t={dialog:this,errorId:e};ts(document,Aa.eventNames.errorHighlighted,t)}_onErrorSelected(e){const t={dialog:this,errorId:e};ts(document,Aa.eventNames.errorSelected,t)}_onMoreDetailsClick(e,t){t.stopImmediatePropagation();const s={dialog:this,url:e.value};ts(document,Aa.eventNames.moreDetailsClicked,s)}_onCorrectAll(e,t,s){s.stopImmediatePropagation();const a={dialog:this,config:t,selectedError:e};ts(document,Aa.eventNames.correctAll,a)}_onFixClick(e,t,s){s.stopImmediatePropagation(),this._inApplyFixMode=!0;const a={dialog:this,error:e,fixIndex:t,selectNextError:!1};ts(document,Aa.eventNames.fixSelected,a)}_onAddToDictionaryClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.addToDictionaryClicked,s)}_onIgnoreRuleClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.ignoreRuleClicked,s)}_onTemporarilyIgnoreWordClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.temporarilyIgnoreWordClicked,s)}_onTemporarilyIgnoreRuleClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.temporarilyIgnoreRuleClicked,s)}_enableEverywhere(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.enableEverywhere,t)}_enableHere(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.enableHere,t)}getCurrentPosition(){return this._uiOptions.dialogPosition}updateState(e){st(this._state,e)||(this._state=Object.assign(this._state||{},e),this._updateContent())}setCurrentLanguage(e){if(!n.isRuntimeConnected())return;e=e.toLowerCase();const t=kt.LANGUAGES.find((t=>t.code===e))||kt.LANGUAGES.find((t=>e.startsWith(t.code)))||kt.LANGUAGES.find((e=>"en-us"===e.code)),s=n.getURL("../../languagetool/images/flags/"+t.code+".svg");this._controls.languageSelector&&this._controls.languageSelector.setActive(this._shortenLanguageName(t.name),t.code,{"background-image":`url('${s}') !important`})}_shortenLanguageName(e){return e.split(" ",1)[0]}updateCounter(e){this._controls.countSelector&&(this._controls.countSelector.setActive(this._getCountString(e,e.mode),e.mode,{}),this._controls.countSelector.updateOptionLable("characters",this._getCountString(e,"characters")),this._controls.countSelector.updateOptionLable("sentences",this._getCountString(e,"sentences")),this._controls.countSelector.updateOptionLable("words",this._getCountString(e,"words")))}setInsignificantChangeMode(e){this._inInsignificantChangeMode=e}setApplyFixMode(e){this._inApplyFixMode=e}closeAllMenus(){this._menus.forEach((e=>{e.hide()}))}fadeOut(){this._controls.innerContainer.classList.add("lt-dialog--faded")}fadeIn(){this._controls.innerContainer.classList.remove("lt-dialog--faded")}destroy(){Yt(this._controls.container,(()=>{this._toolbarContainer.classList.remove("lt-toolbar--dialog-opened")})),this._controls.languageSelector?.destroy(),this._ratingTeaser?.destroy(),this._controls={},self.removeEventListener("pagehide",this._onUnload,!0),this._eventListeners.forEach((e=>{e.destroy()})),this._eventListeners=[];const e={dialog:this};this._premiumTeaser?.destroy(),ts(document,Aa.eventNames.destroyed,e)}}Aa.CONTAINER_ELEMENT_NAME="lt-dialog",Aa.SPACE_TO_SCREEN_EDGE=5,Aa.eventNames={turnOff:"lt-dialog.turnOff",pauseChecking:"lt-dialog.pauseChecking",enableHere:"lt-dialog.enableHere",enableEverywhere:"lt-dialog.enableEverywhere",languageChanged:"lt-dialog.languageChanged",countChanged:"lt-dialog.countChanged",errorSelected:"lt-dialog.errorSelected",errorHighlighted:"lt-dialog.errorHighlighted",addToDictionaryClicked:"lt-dialog.addToDictionaryClicked",ignoreRuleClicked:"lt-dialog.ignoreRuleClicked",temporarilyIgnoreWordClicked:"lt-dialog.temporarilyIgnoreWordClicked",temporarilyIgnoreRuleClicked:"lt-dialog.temporarilyIgnoreRuleClicked",moreDetailsClicked:"lt-dialog.moreDetailsClicked",fixSelected:"lt-dialog.fixSelected",openOptions:"lt-dialog.openOptions",showFeedbackForm:"lt-dialog.showFeedbackForm",destroyed:"lt-dialog.destroyed",togglePickyMode:"lt-dialog.togglePickyMode",positionChangeClicked:"lt-dialog.positionChangeClicked",badgeClicked:"lt-dialog.badgeClicked",premiumTeaserClicked:"lt-dialog.premiumTeaserClicked",correctAll:"lt-dialog.correctAll"},Aa._isInitialized=!1;class Ia{calculateTextScore(e,t,s,a){if(e<100)return 0;let n=0,r=0,o=0;const i=e=>{e.isSpellingError?o++:e.isStyleError?r++:n++};t.forEach(i),s.forEach(i),a.forEach(i);const l=3*n+4*o+2*r;return Math.max(0,Math.floor((e-l)/e*100))}}
88
88
  /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
89
89
  class Na{static _update(e){return this._storageController.updateSettings({dictionary:e})}static init(e,t=[]){this._isInitialized||(this._storageController=e||Lt.create(),this._defaultWords=t,this._isInitialized=!0)}static get(){let e=this._storageController.getSettings().dictionary;return Array.isArray(e)||(e=[]),e=e.concat(this._defaultWords),e=et(e),e}static getSorted(){return this.get().sort(((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase())))}static add(e){const t=this.get();return t.push(e.trim()),n.addWordToDictionary(e),this._update(t)}static addBatch(e){const t=this.get();return e.forEach((e=>{e&&e.trim()&&!e.trim().match(/\s/)&&t.push(e.trim())})),n.addWordsToDictionary(e),this._update(t)}static remove(e){const t=this.get(),s=t.indexOf(e);return-1===s?Promise.resolve():(t.splice(s,1),n.removeWordFromDictionary(e),this._update(t))}static clear(){return n.clearDictionary(),this._update([])}}Na._isInitialized=!1;class Da{constructor(e,t){this._allWords=null,this._text=e,this._normalizedText=this.normalizeText(e),this._sentenceRanges=t}updateText(e,t){this._text=e,this._normalizedText=this.normalizeText(e),this._sentenceRanges=t,this._allWords=null}normalizeText(e){return e=(e=(e=(e=e.replace(/([a-zèéêáàâ0-9])['’`´‘]([a-z])/gi,"$1$2")).replace(/[\-_–"“”„'’`´‘˚^°\+\*\.\!\?…\:,;=\)\(\[\]%¡¿‽#<>•\/]/g," ")).replace(/\s+/g," ")).replace(/(^\s*)|(\s*$)/g,"")}_filterEmptySentenceRanges(e){return e.filter((e=>e.end-e.start>0))}getAllWords(){return this._normalizedText?(this._allWords||(this._allWords=this._normalizedText.replace(/([0-9])[\.,]([0-9])/g,"$1$2").split(/\s/)),this._allWords):[]}countWords(){return this.getAllWords().length}countUniqueWords(){return et(this.getAllWords()).length}getAllSentences(){return this._sentenceRanges}countSentences(){return this.getAllSentences().length}getReadingTime(){return Math.round(this.countWords()/200)}getSpeakingTime(){return Math.round(this.countWords()/130)}countCharacters(){return this._text.trim().length}uniq(e){const t=[];return e.forEach((e=>{-1===t.indexOf(e)&&t.push(e)})),t}}var Ra=s(378),Ma=s(246);const Oa=(0,Ra.createContext)({setFocusIndex:()=>{},getFocusIndex:()=>0,setButtonGroupHash:()=>{}}),Ha=e=>e.filter((e=>e.dataset.ltTabindex&&Number(e.dataset.ltTabindex)>-1)),za=e=>Array.from(e.querySelectorAll("[data-lt-tabindex]")),Ba=({keyboardEventTarget:e,enableKeyboard:t,root:s,children:a,onClose:n})=>{const[r,o]=(0,Ra.useState)(""),i=(0,Ra.useRef)(0),l=(0,Ra.useMemo)((()=>new It(e)),[e]),c=(0,Ra.useCallback)((e=>{i.current=e}),[]),g=(0,Ra.useCallback)((()=>i.current),[]),u=(0,Ra.useCallback)((()=>{const e=za(s);if(!e)return;for(const t of e)t.classList.remove("lt-card__button-focused");if(void 0===i.current||!e[i.current])return;const t=Ha(e)[i.current];t&&(t.classList.add("lt-card__button-focused"),t.scrollIntoView({block:"nearest",inline:"nearest"}))}),[e]);return(0,Ra.useEffect)((()=>{const{destroy:a}=as(e,"keydown",(e=>{if("Escape"===e.key)return n(e),e.target?.addEventListener("keyup",(e=>e.stopImmediatePropagation()),{once:!0,capture:!0}),void e.stopImmediatePropagation();const a=za(s);if(!t||void 0===i.current||!a?.length)return;const r=Ha(a);let o=e.key;switch("Tab"===e.key&&(o=e.shiftKey?"ArrowLeft":"ArrowRight"),o){case"ArrowLeft":for(let e=1;e<r.length;e++){let t=i.current-e;if(t<0&&(t+=r.length),Xt(r[t])){i.current=t;break}}u(),e.stopImmediatePropagation(),e.preventDefault();break;case"ArrowRight":for(let e=1;e<r.length;e++){let t=i.current+e;if(t>=r.length&&(t-=r.length),Xt(r[t])){i.current=t;break}}u(),e.stopImmediatePropagation(),e.preventDefault();break;case"ArrowUp":{const t=r.map((e=>Xt(e)?l.getBorderBox(e):null)),s=t[i.current];if(!s)return;const a=t.filter((e=>"number"==typeof e?.bottom&&e?.bottom<=s.top)),n=Math.max(...a.map((e=>e.top))),o=Bt(a.filter((e=>e.top===n)),s);if(o)i.current=t.indexOf(o);else for(let e=r.length-1;e>=0;e--)if(Xt(r[e])){i.current=e;break}u(),e.stopImmediatePropagation(),e.preventDefault();break}case"ArrowDown":{const t=r.map((e=>Xt(e)?l.getBorderBox(e):null)),s=t[i.current];if(!s)return;const a=t.filter((e=>"number"==typeof e?.top&&e?.top>=s.bottom)),n=Math.min(...a.map((e=>e.top))),o=Bt(a.filter((e=>e.top===n)),s);if(o)i.current=t.indexOf(o);else for(let e=0;e<r.length;e++)if(Xt(r[e])){i.current=e;break}u(),e.stopImmediatePropagation(),e.preventDefault();break}case"Enter":r[i.current]&&(!function(e,t={}){const s=new MouseEvent("click",Object.assign({},t,{view:self,button:0,bubbles:!0,cancelable:!0}));e.dispatchEvent(s)}(r[i.current],{shiftKey:e.shiftKey}),requestAnimationFrame((()=>u()))),e.stopImmediatePropagation(),e.preventDefault()}}));return()=>a()}),[e,t,r,i,l,u,n]),(0,Ra.useEffect)((()=>{if(!t)return;let e;if(!Ha(za(s)).length)return e=new MutationObserver((t=>{for(const a of t)if("childList"===a.type){Ha(za(s)).length&&(e?.disconnect(),e=void 0,u())}})),e.observe(s,{childList:!0,subtree:!0}),()=>{e?.disconnect()};u()}),[s,t,e,r,u]),(0,Ra.useEffect)((()=>{l.clearCache()}),[r,l]),(0,Ma.jsx)(Oa.Provider,{value:{setFocusIndex:c,getFocusIndex:g,setButtonGroupHash:o},children:a})};var Ua=s(634);class $a extends Ra.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){const[,s="<unknown>"]=String(t?.componentStack).match(/^[^at]+at\s+([^\s]+)/)||[];Pt.trackError("js","react_error_boundary",`[${s}] ${e.message}`)}render(){return this.state.hasError?null:this.props.children}}const Fa=$a,Ga=e=>{const t=({children:t,className:s,...a},n)=>{const{onChange:r,onInput:o,onClick:i,onMouseDown:l,onMouseUp:c,onMouseOver:g,onMouseOut:u,onMouseEnter:d,onMouseLeave:m,onMouseMove:p,onPointerDown:h,onPointerUp:f,onScroll:_,onKeyDown:E,onKeyPress:v,onKeyUp:b,...S}=a,y=(0,Ra.useRef)([]),T=(e=>Object.entries(e).filter((([e,t])=>Re(t))).map((([e,t])=>[e.replace("on","").toLowerCase(),t])))({onChange:r,onInput:o,onClick:i,onMouseDown:l,onMouseUp:c,onMouseOver:g,onMouseOut:u,onMouseEnter:d,onMouseLeave:m,onMouseMove:p,onPointerDown:h,onPointerUp:f,onScroll:_,onKeyDown:E,onKeyPress:v,onKeyUp:b}),C=(0,Ra.useRef)(null),k=(0,Ra.useMemo)((()=>n||C),[n,C]);return(0,Ra.useEffect)((()=>{const e=y.current;return k.current&&T.map((([e,t])=>y.current.push(as(k.current,e,t)))),()=>e.forEach((({destroy:e})=>e()))}),[T,y,k]),(0,Ra.createElement)("lt-"+e,{class:s,ref:k,...S},t)};return t.displayName="COMPONENT_PREFIX + name",(0,Ra.forwardRef)(t)},Wa=Ga("div"),ja=Ga("span");class Va{static get RootContext(){return this._rootContext||(this._rootContext=(0,Ra.createContext)({isInDOM:!1}),this._rootContext.displayName="Lt-RootContext"),this._rootContext}static get I18nContext(){return this._i18nContext||(this._i18nContext=(0,Ra.createContext)({getMessage:()=>""}),this._i18nContext.displayName="Lt-I18nContext"),this._i18nContext}static get StorageContext(){return this._storageContext||(this._storageContext=(0,Ra.createContext)({getSettings:()=>({}),getPrivacySettings:()=>({}),hasCustomServer:()=>!1,updateSettings:async()=>{},updatePrivacySettings:async()=>{},addEventListener:()=>{}}),this._storageContext.displayName="Lt-StorageContext"),this._storageContext}static get Tr(){if(!this._Tr){const e=({name:e,substitutions:t})=>{const s=this._getMessage(e,t);return(0,Ra.createElement)(Ra.Fragment,null,s)};e.displayName="LTReact.Tr",this._Tr=(0,Ra.memo)(e)}return this._Tr}static init(e,t){this._i18nManager=e,this._storageController=t}static createView(e,t,s){return new Promise((a=>{const n=(e=>{if(vs(e))return e;if(Es(e))return e.createElement("lt-span");throw new Error("Passed in base is neither document nor element.")})(e),r=(0,Ua.s)(n);r.render((0,Ra.createElement)((()=>{const[o,i]=(0,Ra.useState)(n.parentNode?.nodeType===n.ELEMENT_NODE),l=(0,Ra.useRef)(o),c=(0,Ra.useRef)([]),g=(0,Ra.useCallback)((e=>{null===e||o||(e.append(n),l.current=!0,i(!0))}),[o]),u=(0,Ra.useCallback)((e=>{null===e||o||(e.prepend(n),l.current=!0,i(!0))}),[o]);return(0,Ra.useEffect)((()=>{this._storageController.onReady((()=>{a({element:n,appendTo:g,prependTo:u,isInDOM:()=>l.current,unmount:()=>r.unmount()})}))}),[g,u]),(0,Ra.useEffect)((()=>{const t=c.current;return c.current.push(...(e=>["mousedown","mouseup","pointerdown","pointerup"].map((t=>as(e,t,(e=>{const t=e.target;"true"!==t?.dataset.ltDragHandle&&e.stopImmediatePropagation(),[t?.dataset.ltSelectable,t?.dataset.ltDragHandle].includes("true")||e.preventDefault()})))))(e)),()=>t.forEach((({destroy:e})=>e()))}),[c]),(0,Ra.createElement)(Fa,null,(0,Ra.createElement)(Va.RootContext.Provider,{value:{isInDOM:o}},(0,Ra.createElement)(Va.I18nContext.Provider,{value:{getMessage:this._getMessage.bind(this)}},(0,Ra.createElement)(Va.StorageContext.Provider,{value:{getSettings:this._storageController.getSettings.bind(this._storageController),getPrivacySettings:this._storageController.getPrivacySettings.bind(this._storageController),hasCustomServer:this._storageController.hasCustomServer.bind(this._storageController),updateSettings:this._storageController.updateSettings.bind(this._storageController),updatePrivacySettings:this._storageController.updatePrivacySettings.bind(this._storageController),addEventListener:this._storageController.addEventListener.bind(this._storageController)}},(0,Ra.createElement)(t,s)))))})))}))}static _getMessage(e,t){return this._i18nManager.getMessage(e,t)}}const qa=()=>(0,Ra.useContext)(Va.RootContext),Ka=()=>{const{getMessage:e}=(0,Ra.useContext)(Va.I18nContext);return e},Za=()=>(0,Ra.useContext)(Va.StorageContext),Xa=Ga("comp-keyboard-navigation-hint"),Ya=({className:e})=>{const t=Ka(),{current:s}=(0,Ra.useRef)({errorCardKeyboardInstructions:t("errorCardKeyboardInstructions",["<lt-em>Enter</lt-em>","<lt-em>&#8679;</lt-em> <lt-em>Enter</lt-em>"])});return(0,Ma.jsx)(Xa,{className:e,dangerouslySetInnerHTML:{__html:s.errorCardKeyboardInstructions}})},Qa=e=>(0,Ra.useCallback)((t=>{t.stopImmediatePropagation(),e(t)}),[e]);class Ja{constructor({parent:e,handle:t,backdropRoot:s,onStateUpdate:a}){this._isDraggingEnabled=!1,this._isDraggable=!1,this._isDragging=!1,this._isDetached=!1,this._isInSnapProximity=!1,this._isResetting=!1,this._postReset=()=>{this._isResetting=!1,this._update()},this._updateDocumentBox=()=>{this._domMeasurement.clearCache(),this._documentBox=this._domMeasurement.getDocumentVisibleBox()},this._handleScreenResize=()=>{if(this._updateDocumentBox(),!this._isDetached)return;const{top:e,right:t}=this._domMeasurement.getContentBox(this._parent),s=Math.min(this._documentBox.width-t,0),a=Math.min(e,0);if(!s&&!a)return;const n=this._domMeasurement.getComputedStyle(this._parent),r=parseInt(n.left,10),o=parseInt(n.bottom,10),i={};s<0&&!Number.isNaN(r)&&(i.left=`${r+s}px`),a<0&&!Number.isNaN(o)&&(i.bottom=`${o+a}px`),this._domMeasurement.setStyles(this._parent,i,!0)},this._handleDocumentLeave=e=>{this._handleMouseUp(e)},this._handleMouseOver=e=>{this._stopPropagation(e),this._isDraggingEnabled||this._isResetting||Re(this._destroyBackdrop)||(this._isDraggingEnabled=!0,this._update(),De(this._mouseOutBinding)&&(this._mouseOutBinding=as(this._handle,"mouseout",this._handleMouseOut)),this._mouseDownBinding=as(this._handle,"mousedown",this._handleMouseDown))},this._handleMouseOut=e=>{this._stopPropagation(e),this._isResetting||this._isDragging||(this._isDraggingEnabled=!1,this._update(),this._mouseOutBinding?.destroy(),this._mouseOutBinding=void 0,this._mouseDownBinding?.destroy(),this._mouseDownBinding=void 0)},this._handleMouseDown=e=>{if(0===e.button){if(this._stopPropagation(e),this._isDraggable=!0,this._previousCoords={x:e.x,y:e.y},this._update(),this._destroyBackdrop=this._insertBackdrop(),!this._backdrop)throw new Error("Failed to insert drag backdrop");this._mouseOutBinding?.destroy(),this._mouseOutBinding=void 0,this._mouseUpBinding=as(this._backdrop,"mouseup",this._handleMouseUp),this._mouseMoveBinding=as(this._backdrop,"mousemove",this._handleMouseMove),this._parent.ownerDocument.addEventListener("mouseleave",this._handleDocumentLeave)}},this._handleMouseUp=e=>{this._stopPropagation(e),this._isDraggable=!1,this._update(),De(this._mouseOutBinding)&&(this._mouseOutBinding=as(this._handle,"mouseout",this._handleMouseOut)),this._destroyBackdrop?.(),this._destroyBackdrop=void 0,this._mouseUpBinding?.destroy(),this._mouseUpBinding=void 0,this._mouseMoveBinding?.destroy(),this._mouseMoveBinding=void 0,this._parent.ownerDocument.removeEventListener("mouseleave",this._handleDocumentLeave)},this._handleMouseMove=e=>{this._stopPropagation(e),this._switchToFixedPositioning();const{x:t,y:s}=this._getDelta(e.x,e.y),a=this._getFencedHorizontalValue(t),n=this._getFencedVerticalValue(s);Oe(this._timeout)&&clearTimeout(this._timeout),this._isDetached=!0,this._isDragging=!0,this._isInSnapProximity=this._isPromiximityBelow({x:a,y:n},Ja.CARD_SNAP_BACK_PROXIMITY_THRESHOLD),this._timeout=self.setTimeout((()=>{this._isInSnapProximity?this._reset():(this._isDragging=!1,this._update())}),200),this._domMeasurement.setStyles(this._parent,{left:`${a}px`,bottom:`${n}px`},!0),this._update()},this._parent=e,this._handle=t,this._backdropRoot=s,this._onStateUpdate=a,this._domMeasurement=new It(e.ownerDocument),this._documentBox=this._domMeasurement.getDocumentVisibleBox()}init(){self.addEventListener("resize",this._handleScreenResize),self.addEventListener("scroll",this._updateDocumentBox),this._mouseOverBinding=as(this._handle,"mouseover",this._handleMouseOver),this._handle.setAttribute(Ja.ATTR_HANDLE,"true")}destroy(){self.removeEventListener("resize",this._handleScreenResize),self.removeEventListener("scroll",this._updateDocumentBox),this._destroyBackdrop?.(),this._parent.removeEventListener("transitionend",this._postReset),this._mouseOverBinding?.destroy(),this._mouseOutBinding?.destroy(),this._mouseDownBinding?.destroy(),this._mouseUpBinding?.destroy(),this._mouseMoveBinding?.destroy()}adjustPosition(){const{height:e}=this._domMeasurement.getContentBox(this._parent);this._domMeasurement.clearCache(),this._adjustPositionBottom(this._parent.offsetHeight,e)}destroyDomMeasurementCache(){this._domMeasurement.clearCache()}_reset(){this._parent.addEventListener("transitionend",this._postReset,{once:!0}),this._domMeasurement.removeStyle(this._parent,"transform"),this._resetPositioning(),this._isDraggingEnabled=!1,this._isDraggable=!1,this._isDragging=!1,this._isDetached=!1,this._isInSnapProximity=!1,this._isResetting=!0,this._update()}_update(){this._onStateUpdate({isDraggingEnabled:this._isDraggingEnabled,isDraggable:this._isDraggable,isDragging:this._isDragging,isDetached:this._isDetached,isInSnapProximity:this._isInSnapProximity,isResetting:this._isResetting})}_stopPropagation(e){e.stopImmediatePropagation(),e.preventDefault()}_switchToFixedPositioning(){if(this._isDetached)return;const e=this._domMeasurement.getComputedStyle(this._parent),t={},s=Me(this._parent.style.top);"fixed"!==e.position&&(t.position="fixed");const{top:a}=this._domMeasurement.getDocumentScroll(),{height:n}=this._domMeasurement.getDocumentVisibleBox();t.bottom=n-(this._parent.offsetTop-a+this._parent.offsetHeight)+"px",s&&this._domMeasurement.removeStyle(this._parent,"top"),this._domMeasurement.setStyles(this._parent,t,!0)}_resetPositioning(){if(!this._isDetached)return;const{top:e}=this._domMeasurement.getContentBox(this._parent,!0);this._domMeasurement.removeStyles(this._parent,["position","bottom"]),this._domMeasurement.setStyles(this._parent,{top:`${e}px`},!0)}_adjustPositionBottom(e,t){const s=parseInt(this._domMeasurement.getComputedStyle(this._parent).bottom,10),a=e-t;this._domMeasurement.setStyles(this._parent,{bottom:s-a+"px"},!0)}_getDelta(e,t){if(!this._previousCoords)return{x:0,y:0};const s=e-this._previousCoords.x,a=t-this._previousCoords.y;return this._previousCoords={x:e,y:t},{x:s,y:a}}_getFencedHorizontalValue(e){const t=parseInt(this._domMeasurement.getStyle(this._parent,"left"),10);return ta(1,Number.isNaN(t)?1:t+e,this._documentBox.right-this._domMeasurement.getContentBox(this._parent).width-1)}_getFencedVerticalValue(e){const t=parseInt(this._domMeasurement.getStyle(this._parent,"bottom"),10);return ta(1,Number.isNaN(t)?1:t-e,this._documentBox.height-this._domMeasurement.getContentBox(this._parent).height-1)}_isPromiximityBelow({x:e,y:t},s){return!1}_insertBackdrop(){const{ownerDocument:e}=this._parent,t=this._backdrop=Gt(e,Ja.BACKDROP_ELEMENT_NAME),s=["over","out","down"].flatMap((e=>[`mouse${e}`,`pointer${e}`])).map((e=>as(t,e,this._stopPropagation))),a=this._domMeasurement.getStyle(this._parent,"z-index");return this._domMeasurement.setStyles(t,{display:"block",position:"fixed",top:"0",right:"0",bottom:"0",left:"0","z-index":a,"user-select":"none",overflow:"hidden",cursor:"grabbing"},!0),this._domMeasurement.setStyles(this._parent,{"z-index":String(a-1)},!0),this._backdropRoot.append(t),()=>{s.forEach((({destroy:e})=>e())),this._backdrop?.remove(),this._backdrop=void 0}}}Ja.BACKDROP_ELEMENT_NAME="lt-dragging-backdrop",Ja.ATTR_HANDLE="data-lt-drag-handle",Ja.CARD_SNAP_BACK_PROXIMITY_THRESHOLD=30;const en=Ja,tn=(0,Ra.createContext)({isDetached:!1,updateCardPosition:()=>{},moveCardIntoViewport:()=>{},adjustPosition:()=>{}});tn.displayName="LTUpdateCardPositionContext";const sn=tn.Provider,an=()=>(0,Ra.useContext)(tn),nn=Ga("comp-card-base"),rn=({mode:e,onModeChange:t})=>{const{hasCustomServer:s,getSettings:a}=Za(),n=a().hasRephrasingEnabled&&!s(),[r,i]=(0,Ra.useState)(!1),{current:l}=(0,Ra.useRef)({paraphraser:o.getMessage("cardSelectorLabelParaphraser"),checker:o.getMessage("cardSelectorLabelChecker")}),c=Qa((()=>i(!r))),g=Qa((()=>{i(!1),t?.("paraphrase")})),u=Qa((()=>{i(!1),t?.("correct")})),d=Qa((()=>{i(!1)}));return(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__selector",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__selector__label",r&&"lt-comp-card-base__selector__label--active",!n&&"lt-comp-card-base__selector__label--disabled"),onClick:n?c:void 0,children:"paraphrase"===e?l.paraphraser:l.checker}),r&&(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__selector__menu",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__selector__menu-item","lt-comp-card-base__selector__menu-item--paraphrase","paraphrase"===e&&"lt-comp-card-base__selector__menu-item--current"),onClick:g,children:l.paraphraser}),(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__selector__menu-item","lt-comp-card-base__selector__menu-item--correct","correct"===e&&"lt-comp-card-base__selector__menu-item--current"),onClick:u,children:l.checker})]})]}),r&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__selector-backdrop",onClick:d})]})},on=(0,Ra.forwardRef)(((e,t)=>(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__draggable",children:(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__draggable__handle",ref:t,children:(0,Ma.jsx)("svg",{width:"20",height:"8",viewBox:"0 0 20 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"lt-comp-card-base__draggable__handle__graphic",children:(0,Ma.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.6 3.2C2.48366 3.2 3.2 2.48366 3.2 1.6C3.2 0.716344 2.48366 0 1.6 0C0.716344 0 0 0.716344 0 1.6C0 2.48366 0.716344 3.2 1.6 3.2ZM7.2 3.2C8.08366 3.2 8.8 2.48366 8.8 1.6C8.8 0.716344 8.08366 0 7.2 0C6.31634 0 5.6 0.716344 5.6 1.6C5.6 2.48366 6.31634 3.2 7.2 3.2ZM14.4 1.6C14.4 2.48366 13.6837 3.2 12.8 3.2C11.9163 3.2 11.2 2.48366 11.2 1.6C11.2 0.716344 11.9163 0 12.8 0C13.6837 0 14.4 0.716344 14.4 1.6ZM18.4 3.2C19.2837 3.2 20 2.48366 20 1.6C20 0.716344 19.2837 0 18.4 0C17.5163 0 16.8 0.716344 16.8 1.6C16.8 2.48366 17.5163 3.2 18.4 3.2ZM3.2 6.4C3.2 7.28366 2.48366 8 1.6 8C0.716344 8 0 7.28366 0 6.4C0 5.51634 0.716344 4.8 1.6 4.8C2.48366 4.8 3.2 5.51634 3.2 6.4ZM7.2 8C8.08366 8 8.8 7.28366 8.8 6.4C8.8 5.51634 8.08366 4.8 7.2 4.8C6.31634 4.8 5.6 5.51634 5.6 6.4C5.6 7.28366 6.31634 8 7.2 8ZM14.4 6.4C14.4 7.28366 13.6837 8 12.8 8C11.9163 8 11.2 7.28366 11.2 6.4C11.2 5.51634 11.9163 4.8 12.8 4.8C13.6837 4.8 14.4 5.51634 14.4 6.4ZM18.4 8C19.2837 8 20 7.28366 20 6.4C20 5.51634 19.2837 4.8 18.4 4.8C17.5163 4.8 16.8 5.51634 16.8 6.4C16.8 7.28366 17.5163 8 18.4 8Z",fill:"currentColor"})})})}))),ln=(0,Ra.forwardRef)((function({root:e,mode:t,type:s,isPremium:a,disablePremiumTeaser:n,className:r,keyboardNavigationEnabled:o,keyboardEventTarget:i,referenceArea:l,onModeChange:c,onClose:g,onPremiumClick:u,onDetachCard:d,updatePosition:m,moveIntoViewport:p,children:h},f){const _=Ka(),{current:E}=(0,Ra.useRef)({close:_("close")}),v=(0,Ra.useRef)(null),b=(0,Ra.useRef)(null),[S,y]=(0,Ra.useState)(s),T=((e,t,s)=>{const a=(0,Ra.useRef)(null),n=(0,Ra.useRef)({adjustPosition:()=>{},destroyDomMeasurementCache:()=>{}}),[r,o]=(0,Ra.useReducer)(((e,t)=>({...e,...t})),{isDraggingEnabled:!1,isDraggable:!1,isDragging:!1,isDetached:!1,isInSnapProximity:!1,isResetting:!1}),i="BODY"===s.nodeName?e?.ownerDocument.documentElement:e?.ownerDocument.body;return(0,Ra.useEffect)((()=>{if(!e||!t||!i||Boolean(a.current))return;const s=a.current=new en({onStateUpdate:o,backdropRoot:i,parent:e,handle:t});return s.init(),n.current={adjustPosition:()=>s.adjustPosition(),destroyDomMeasurementCache:()=>s.destroyDomMeasurementCache()},()=>s?.destroy()}),[e,t,i]),Object.assign(r,n.current)})(v.current,b.current,l),C=(0,Ra.useCallback)((()=>{!1===T.isDetached&&m?.(v.current)}),[m,T.isDetached]),k=(0,Ra.useCallback)((()=>{p(v.current),T.destroyDomMeasurementCache()}),[p,T]),x=!1===a&&!0!==n,L=Qa(g),w=Qa((()=>{u?.("logo")})),P=Qa((()=>{u?.("badge")})),A=Re(c)?e=>c?.(e):void 0;return(0,Ra.useImperativeHandle)(f,(()=>({updatePosition:C,updateCardType:y})),[C]),(0,Ra.useEffect)((()=>{T.isDetached&&d()}),[T.isDetached,d]),(0,Ma.jsx)(Ba,{enableKeyboard:o,keyboardEventTarget:i,root:e,onClose:g,children:(0,Ma.jsx)(sn,{value:{isDetached:T.isDetached,adjustPosition:T.adjustPosition,updateCardPosition:C,moveCardIntoViewport:k},children:(0,Ma.jsxs)(nn,{className:Jt("notranslate",r,T.isDraggable&&"lt-comp-card-base--draggable",T.isDragging&&"lt-comp-card-base--dragging",T.isDetached&&"lt-comp-card-base--detached",T.isInSnapProximity&&"lt-comp-card-base--in-snap-proximity",T.isResetting&&"lt-comp-card-base--resetting","wide"===S&&"lt-comp-card-base--wide","narrow"===S&&"lt-comp-card-base--narrow"),"data-lt-testid":"card-container",ref:v,children:[(0,Ma.jsx)(on,{ref:b}),(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__header",children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__header__left",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__logo",x&&"lt-comp-card-base__logo--clickable"),onClick:x?w:void 0}),Re(A)?(0,Ma.jsx)(rn,{mode:t,onModeChange:A}):(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__caption",children:"LanguageTool"})]}),(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__header__right",children:[x&&(0,Ma.jsx)(ja,{className:"lt-comp-card-base__badge","data-lt-testid":"badge-basic",onClick:P,children:"Basic"}),(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__close lt-icon__close_small",onClick:L,"data-lt-testid":"card-close",children:(0,Ma.jsx)(ja,{className:"lt-comp-card-base__close__label",children:E.close})})]})]}),o&&(0,Ma.jsx)(Ya,{className:"lt-comp-editor-card__keyboard-hint"}),h]})})})})),cn=Ga("comp-icon"),gn=["light","dark"],un=e=>{const t="data-lt-force-appearance",s=e.closest(`[${t}]`),a=s?.getAttribute(t);if(n=a,!gn.includes(String(n)))throw new Error(`Failed to retrieve appearance for element <${e.tagName.toLowerCase()} class="${e.className}" />`);var n;return a},dn=(e,t)=>{if(!0!==t)return e;switch(e){case"left-bottom":return"right-bottom";case"bottom-left":return"bottom-right";case"left-top":return"right-top";case"top-left":return"top-right";case"right-bottom":return"left-bottom";case"bottom-right":return"bottom-left";case"right-top":return"left-top";case"top-right":return"top-left";case"left-center":return"right-center";case"right-center":return"left-center";default:return e}},mn=({"data-lt-tabindex":e,"data-lt-testid":t,tooltipInPortal:s,...a})=>{const n=(0,Ra.useRef)(null),r=(0,Ra.useRef)(null),o=(0,Ra.useRef)(null),i=(0,Ra.useRef)(null),l=(0,Ra.useRef)(null),c=(0,Ra.useRef)(null),[g,u]=(0,Ra.useState)(!1),[d,m]=(0,Ra.useState)(!1),p=Qa((e=>a.onClick?.(e)));return(0,Ra.useEffect)((()=>{!0===g&&r.current&&n.current&&((e,t)=>{const s=t.getBoundingClientRect(),a=e.getBoundingClientRect().toJSON(),{innerWidth:n,innerHeight:r}=t.ownerDocument.defaultView;a.left<0&&($t(s,{...a,left:8,right:a.right+Math.abs(a.left)+8})?(e.style.setProperty("left",`${s.width+8}px`,"important"),e.style.setProperty("right","unset","important")):e.style.setProperty("right",a.left-8+"px","important"));a.right>n&&($t(s,{...a,left:a.left-a.right+n-8,right:n-8})?(e.style.setProperty("right",`${s.width+8}px`,"important"),e.style.setProperty("left","unset","important")):e.style.setProperty("left",n-a.right-8+"px","important"));a.top<0&&($t(s,{...a,top:8,bottom:a.bottom+Math.abs(a.top)+8})?(e.style.setProperty("top",`${s.height+a.height+8}px`,"important"),e.style.setProperty("bottom","unset","important")):e.style.setProperty("bottom",a.top-8+"px","important"));a.bottom>r&&($t(s,{...a,top:a.top-a.bottom+r-8,bottom:r-8})?(e.style.setProperty("bottom",`${s.height+a.height+8}px`,"important"),e.style.setProperty("top","unset","important")):e.style.setProperty("top",r-a.bottom-8+"px","important"))})(r.current,n.current)}),[g]),(0,Ra.useEffect)((()=>{if(!0===d&&r.current&&!i.current){const e=r.current.ownerDocument,t=un(r.current);l.current=l.current||new It(e);const{left:s,top:a}=r.current.getBoundingClientRect(),{animation:n}=l.current.getComputedStyle(r.current);o.current||(o.current=r.current.cloneNode(!0),l.current.setStyles(r.current,{visibility:"hidden"},!0)),i.current=((e,t)=>{const s=Gt(e,"lt-portal");return s.style.display="none",s.setAttribute("data-lt-adjust-appearance","true"),s.setAttribute("data-lt-force-appearance",t),s})(e,t),l.current.setStyles(i.current,{position:"fixed",left:`${s}px`,top:`${a}px`,"z-index":"2147483647"},!0),l.current.setStyles(o.current,{animation:n},!0),i.current.appendChild(o.current),document.body.appendChild(i.current)}return!1===d&&i.current&&(i.current.remove(),i.current=null),()=>{i.current?.remove()}}),[d,r,o,i,l]),(0,Ma.jsxs)(cn,{onClick:Re(a.onClick)?p:void 0,onMouseOver:e=>{a.onMouseOver?.(e),c.current=self.setTimeout((()=>{a.tooltip&&u(!0),s&&m(!0)}),200)},onMouseOut:e=>{a.onMouseOut?.(e),a.tooltip&&u(!1),s&&m(!1),c.current&&(clearTimeout(c.current),c.current=null)},ref:n,className:Jt(`lt-icon--${a.name}`,a.compact&&"lt-icon--compact",a.className,"function"==typeof a.onClick&&"lt-icon--clickable"),"data-lt-prevent-focus":a.preventFocus,"data-lt-tabindex":e,"data-lt-testid":t,children:[(0,Ma.jsx)(ja,{className:Jt("lt-icon__icon",`lt-icon__${a.name}`)}),g&&a.tooltip&&(0,Ma.jsx)(Wa,{className:Jt("lt-icon__tooltip",`lt-icon__tooltip--${dn(a.tooltip.position,a.isRTL)}`,`lt-icon__tooltip--${a.name}`),ref:r,children:a.tooltip.label}),a.label&&(0,Ma.jsx)(ja,{className:"lt-icon__label",children:a.label})]})},pn=Ga("comp-card-content"),hn=({prefix:e,children:t})=>(0,Ma.jsxs)(Wa,{className:"lt-comp-card-content__title",children:[e&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-content__title__prefix",children:e}),t]}),fn=({showAll:e,className:t,"data-lt-testid":s,onToggle:a})=>{const n=Ka(),{current:r}=(0,Ra.useRef)({cardContentShowAll:n("cardContentShowAll"),cardContentShowSubset:n("cardContentShowSubset")}),o=Qa((()=>{a()})),i=(0,Ra.useMemo)((()=>e?(0,Ma.jsx)("svg",{width:"12",height:"2",viewBox:"0 0 12 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ma.jsx)("path",{d:"M1 1L11 1",stroke:"currentColor",strokeLinecap:"round"})}):(0,Ma.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ma.jsx)("path",{d:"M6 1L6 11M1 6L11 6",stroke:"currentColor",strokeLinecap:"round"})})),[e]),l=e?r.cardContentShowSubset:r.cardContentShowAll;return(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-card-content__toggle-more",t),onClick:o,"data-lt-testid":s,"data-lt-tabindex":"0",children:[(0,Ma.jsx)(ja,{className:"lt-comp-card-content__toggle-more__label",children:l}),i]})},_n=({className:e,children:t})=>(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-content__footer",e),children:t}),En=({className:e,noPadding:t,stacked:s,title:a=null,footer:n,caption:r,controls:o=[],isLoading:i=!1,isIdle:l=!1,children:c})=>{const g=o.filter((e=>null!==e)),u=(0,Ra.useMemo)((()=>!1===De(r)||Number(g?.length)>0),[r,g]);return(0,Ma.jsxs)(pn,{className:e,children:[a,(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-card-content__wrap",!0!==t&&"lt-comp-card-content__wrap--padding",Boolean(s)&&"lt-comp-card-content__wrap--stacked",i&&"lt-comp-card-content__wrap--loading",l&&"lt-comp-card-content__wrap--idle"),children:[u&&(0,Ma.jsxs)(Wa,{className:"lt-comp-card-content__header",children:[!1===De(r)?(0,Ma.jsx)(ja,{className:"lt-comp-card-content__caption","data-lt-selectable":"true",children:r}):(0,Ma.jsx)(ja,{}),Number(g?.length)>0&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-content__controls",children:g.map((({icon:e,key:t,className:s,"data-lt-testid":a,onClick:n,tooltip:r})=>(0,Ma.jsx)(mn,{name:e,className:Jt("lt-comp-card-content__control",s),compact:!0,tooltipInPortal:!0,"data-lt-tabindex":Re(n)?"0":void 0,"data-lt-testid":a,onClick:n,tooltip:r},t)))})]}),(0,Ma.jsx)(Wa,{className:Jt(!0!==t&&"lt-comp-card-content__content--padding"),children:c}),n,l&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-content__idle","data-lt-testid":"card-idle"})]})]})},vn=Ga("comp-mascot-says"),bn=({type:e,caption:t,html:s,text:a})=>(Boolean(s)&&Boolean(a)&&console.warn("<MascotSays /> Got `html` and `text`; will display `html`"),(0,Ma.jsxs)(vn,{children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-mascot-says__image","happy"===e&&"lt-comp-mascot-says__image--happy","sad"===e&&"lt-comp-mascot-says__image--sad","error"===e&&"lt-comp-mascot-says__image--error")}),(0,Ma.jsx)(Wa,{className:"lt-comp-mascot-says__caption",children:t}),s&&(0,Ma.jsx)(Wa,{className:"lt-comp-mascot-says__text",dangerouslySetInnerHTML:{__html:s}}),!s&&a&&(0,Ma.jsx)(Wa,{className:"lt-comp-mascot-says__text",children:a})]})),Sn={"post/premium-vs-free-product-updates/":{de:"de/beitrag/produkt-premium-kostenlos/",fr:"fr/poste/premium/"}},yn=Object.prototype.hasOwnProperty;const Tn=(0,Ra.createContext)({disablePremiumTeaser:!1}),Cn=Tn.Provider,kn=/^[a-zA-Z\u{C0}-\u{FF}\u{D8}-\u{F6}\u{F8}-\u{2C6}\u{2C8}-\u{2D7}\u{2DE}-\u{2FF}\u{1E00}-\u{1EFF}]+$/u,xn=/\S/;class Ln{static isRewrite(e){const t=e.filter((({added:e})=>!0===e)).map((({value:e})=>e)).join("").length,s=Ln.toNewString(e).length;return function(e){let t=0,s=!1;for(let a=0;a<e.length;a+=1){if(s){s=!1;continue}("boolean"==typeof e[a].added&&"boolean"==typeof e[a+1]?.removed||"boolean"==typeof e[a].removed&&"boolean"==typeof e[a+1]?.added)&&(t+=1,s=!0)}return t}(e)>1&&t/s>=.7}static toNewString(e){return e.filter((({removed:e})=>!1===Boolean(e))).map((({value:e})=>e)).join("")}static ignoreCaseChangeAtBeginning(e){const[t,s,a,n]=e,r=!0===s.added&&"string"==typeof s.value&&!0===n?.removed&&n?.value?.trim().endsWith(s.value.toLocaleLowerCase());if(!0!==t.removed||!1===r||""!==a?.value?.trim?.())return e;const o=n?.value?.replace(String(s.value).toLocaleLowerCase(),"").replace(/\s+$/," ");return[{value:(t.value?`${t.value} `:"")+o,count:n?.count??0,removed:!0},{value:s.value+a?.value??"",count:0},...e.slice(4)]}static simplifyReplacements(e){const t=[],s=[],{length:a}=e;e:for(let n=0;n<a;n+=1)if(!s.includes(n)){t:for(let t=n+1;t<a;t+=1){const a=e[n],r=e[t];if(void 0===r.added&&void 0===r.removed){if(""===r.value?.trim())continue t;break t}const o=!0===a.removed&&!0===r.added,i=!0===a.added&&!0===r.removed;if(o)continue e;if(i){s.push(t);break t}}t.push(e[n])}return t.forEach((e=>{e.removed&&e.value&&(e.value=e.value.trimEnd())})),t}compute(e,t){const s=this.removeEmpty(this.tokenize(e)),a=this.removeEmpty(this.tokenize(t));let n=a.length,r=s.length,o=1,i=n+r,l=[{newPos:-1,components:[]}],c=this.extractCommon(l[0],a,s,0);if(l[0].newPos+1>=n&&c+1>=r)return[{value:this.join(a),count:a.length}];const g=()=>{for(let t=-1*o;t<=o;t+=2){let o;const i=l[t-1],c=l[t+1];let g=(c?c.newPos:0)-t;i&&(l[t-1]=void 0);const u=i&&i.newPos+1<n,d=c&&0<=g&&g<r;if(u||d){if(!u||d&&i.newPos<c.newPos?(o={newPos:(e=c).newPos,components:e.components.slice(0)},this.pushComponent(o.components,void 0,!0)):(o=i,o.newPos++,this.pushComponent(o.components,!0,void 0)),g=this.extractCommon(o,a,s,t),o.newPos+1>=n&&g+1>=r)return wn(this,o.components,a,s);l[t]=o}else l[t]=void 0}var e;o++};for(;o<=i;){let e=g();if(e)return e}}pushComponent(e,t,s){let a=e[e.length-1];a&&a.added===t&&a.removed===s?e[e.length-1]={count:a.count+1,added:t,removed:s}:e.push({count:1,added:t,removed:s})}extractCommon(e,t,s,a){let n=t.length,r=s.length,o=e.newPos,i=o-a,l=0;for(;o+1<n&&i+1<r&&this.equals(t[o+1],s[i+1]);)o++,i++,l++;return l&&e.components.push({count:l}),e.newPos=o,i}removeEmpty(e){let t=[];for(let s=0;s<e.length;s++)e[s]&&t.push(e[s]);return t}equals(e,t){return e===t||!xn.test(e)&&!xn.test(t)}tokenize(e){const t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/);for(let e=0;e<t.length-1;e++)!t[e+1]&&t[e+2]&&kn.test(t[e])&&kn.test(t[e+2])&&(t[e]+=t[e+2],t.splice(e+1,2),e--);return t}join(e){return e.join("")}}function wn(e,t,s,a){let n=0,r=t.length,o=0,i=0;for(;n<r;n++){let r=t[n];if(r.removed){if(r.value=e.join(a.slice(i,i+r.count)),i+=r.count,n&&t[n-1].added){let e=t[n-1];t[n-1]=t[n],t[n]=e}}else{if(r.added)r.value=e.join(s.slice(o,o+r.count));else{const t=s.slice(o,o+r.count).map(((e,t)=>{let s=a[i+t];return s.length>e.length?s:e}));r.value=e.join(t)}o+=r.count,r.added||(i+=r.count)}}let l=t[r-1];return r>1&&"string"==typeof l.value&&(l.added||l.removed)&&e.equals("",l.value)&&(t[r-2].value+=l.value,t.pop()),t}function Pn(e,t){return(new Ln).compute(e,t)||[]}const An=Ga("comp-diff"),In=e=>{switch(!0){case!0===e.removed:return"lt-comp-diff__item--removed";case!0===e.added:return"lt-comp-diff__item--added";default:return}},Nn=({from:e,to:t,className:s,isSentenceSplitting:a})=>{const n=(0,Ra.useMemo)((()=>Ln.simplifyReplacements(Pn(e,t))),[e,t]),r=(0,Ra.useMemo)((()=>n.findIndex((e=>"."===e.value))),[n]);return Ln.isRewrite(n)&&!a?(0,Ma.jsx)(An,{children:Ln.toNewString(n)}):(0,Ma.jsx)(An,{className:s,children:n.map(((e,t)=>e.value?(0,Ma.jsxs)(Ra.Fragment,{children:[(0,Ma.jsx)(ja,{className:Jt("lt-comp-diff__item",In(e)),children:e.value}),a&&t===r&&(0,Ma.jsx)(Wa,{className:"lt-comp-diff__item-divider"})]},((e,t)=>[e.value,!0===e.added&&"added",!0===e.removed&&"removed",!e.added&&!e.removed&&"static",t].filter(Boolean).join("-"))(e,t)):null))})},Dn=({suggestion:e,caption:t,isLoading:s,isIdle:a,error:n,showRuleId:r,children:o,onClick:i,onSuggestionMouseOver:l,onSuggestionMouseOut:c})=>{const{isInDOM:g}=qa(),{updateCardPosition:u,moveCardIntoViewport:d}=an(),m=!(s||!n&&e),p=(0,Ra.useMemo)((()=>function(){const a=Ka(),r=(0,Ra.useMemo)((()=>a("additionalErrorSuggestionApplyButtonLabel")),[]),o=!n&&!!e,g=(()=>{switch(!0){case m:return t.missing;case s:return t.loading;case o:return t.apply;default:throw new Error("Invalid state of Additional Error Suggestion")}})();return(0,Ma.jsxs)(Wa,{className:"lt-comp-additional-error-suggestion__header",children:[(0,Ma.jsx)(ja,{className:Jt("lt-comp-additional-error-suggestion__caption",s&&"lt-comp-additional-error-suggestion__caption--loading",m&&"lt-comp-additional-error-suggestion__caption--missing"),children:g}),o&&(0,Ma.jsxs)(ja,{className:"lt-comp-additional-error-suggestion__apply","data-lt-tabindex":"0",onClick:i,onMouseOver:l,onMouseOut:c,children:[r," ",(0,Ma.jsx)(mn,{name:"insert",compact:!0})]})]})}),[n,t,e,s,m,i,l,c]),h=(0,Ra.useMemo)((()=>function({children:e}){return(0,Ma.jsx)(En,{caption:(0,Ma.jsx)(p,{}),className:Jt("lt-comp-additional-error-suggestion",m&&"lt-comp-additional-error-suggestion--missing"),isLoading:s,noPadding:!0,isIdle:a,children:e})}),[p,m,s,a]);return(0,Ra.useEffect)((()=>{g&&Ne(e)&&u()}),[g,e,u]),(0,Ra.useEffect)(d,[e,d]),s||n||!e?(0,Ma.jsx)(h,{}):(0,Ma.jsx)(h,{children:(0,Ma.jsxs)(Wa,{className:"lt-comp-additional-error-suggestion__suggestion","data-lt-testid":"additional-error-suggestion",onClick:i,onMouseOver:l,onMouseOut:c,children:[r&&(0,Ma.jsx)(ja,{className:"lt-comp-additional-error-suggestion__suggestion__origin",children:e.label}),(0,Ma.jsx)(Wa,{className:"lt-comp-additional-error-suggestion__suggestion__content",children:o})]})})},Rn=({inhouseOnly:e,language:t,sentence:s,uniqueId:a,isIdle:r,user:o,showRuleId:i,onSuggestionClick:l})=>{const c=Ka(),{current:g}=(0,Ra.useRef)({apply:c("sentenceSplittingCardHeadlineApply"),loading:c("sentenceSplittingCardHeadlineLoading"),missing:c("sentenceSplittingCardHeadlineMissing")}),[u,d,m]=(({uniqueId:e,sentence:t,language:s,inhouseOnly:a,user:r})=>{const[o,i]=(0,Ra.useState)(null),[l,c]=(0,Ra.useState)(!0),[g,u]=(0,Ra.useState)(null),d=Ka(),{current:m}=(0,Ra.useRef)({phrasesCardGeneralError:d("phrasesCardGeneralError"),phrasesCardTimeoutError:d("phrasesCardTimeoutError")});return(0,Ra.useEffect)((()=>(n.loadSplitSentence(As(e),t,s,a,r).then((e=>{i(e);const t=kt.getPrimaryLanguageCode(s);e?Pt.trackEvent("Action","sentence-splitting:request_succeeded",t):Pt.trackEvent("Action","sentence-splitting:empty_result",t)})).catch((e=>{if(e?.message===ye)return;const t=e?.message===Ce?m.phrasesCardTimeoutError:m.phrasesCardGeneralError;u(new Error(t)),Pt.trackError("http","sentence-splitting:request_failed",`${kt.getPrimaryLanguageCode(s)}:${e.message}`)})).finally((()=>c(!1))),()=>{n.abortPhraseRequests("sentence-splitting")})),[e,t,s,a,r,m.phrasesCardTimeoutError,m.phrasesCardGeneralError]),[o,l,g]})({inhouseOnly:e,language:t,sentence:s,uniqueId:a,user:o}),p=Qa((e=>{u&&l(u,!e.isTrusted&&e.shiftKey)}));return(0,Ma.jsx)(Dn,{suggestion:u,caption:g,error:m,isIdle:r,isLoading:d,showRuleId:i,onClick:p,children:u?.text&&(0,Ma.jsx)(Nn,{from:s,to:u?.text,isSentenceSplitting:!0})})},Mn=()=>{const{setFocusIndex:e,setButtonGroupHash:t,getFocusIndex:s}=(0,Ra.useContext)(Oa);return{setFocusIndex:e,setButtonGroupHash:t,getFocusIndex:s}},On=({sentence:e,isIdle:t,showRuleId:s,onSuggestionClick:a,onSuggestionMouseOver:n,onSuggestionMouseOut:r})=>{const o=Ka(),{current:i}=(0,Ra.useRef)({apply:o("fixSentenceCardHeadlineApply"),loading:o("fixSentenceCardHeadlineLoading"),missing:o("fixSentenceCardHeadlineMissing")}),l=(0,Ra.useMemo)((()=>(e=>{const t=(e=>{const t=[],s=e.includedErrors.length-1;for(let a=0;a<=s;a++){const n=e.includedErrors[a],r=a<s?e.includedErrors[a+1]:void 0,o={prefix:"",suffix:""};0===a&&(o.prefix=e.content.slice(0,n.start)),o.suffix=r?e.content.slice(n.end,r.start):e.content.slice(n.end),t.push(o)}return t})(e);let s=e.includedErrors.length-1,a="";for(;s>=0;s--){const n=t[s]||{prefix:"",suffix:""},r=e.includedErrors[s].fixes[0].value;a=n.prefix+r+n.suffix+a}return a})(e)),[e]),c=Qa((t=>{l&&a(e,l,!t.isTrusted&&t.shiftKey)})),g=Qa((()=>n(e.includedErrors.map((({id:e})=>String(e)))))),u=Qa((()=>r()));return(0,Ma.jsx)(Dn,{caption:i,error:null,isIdle:t,isLoading:!1,showRuleId:s,suggestion:{text:e.content,label:"fix-sentence",uuid:"<irrelevant>",origin:"<none>",score:{a:1}},onClick:c,onSuggestionMouseOver:g,onSuggestionMouseOut:u,children:(0,Ma.jsx)(Wa,{className:"lt-comp-fix-sentence-suggestion",children:l})})},Hn=({fix:e})=>{const t=((e,t,s)=>{const a=Ka(),{current:n}=(0,Ra.useRef)({deleteWord:a("deleteWord"),removeExtraWhitespace:a("removeExtraWhitespace"),replaceWithWhitespace:a("replaceWithWhitespace")});switch(!0){case"delete"===e:return n.deleteWord;case"insert-em-dash-with-space"===e:return"Use em dash (—) with spaces";case"insert-em-dash"===e:return"Use em dash (—)";case"insert-en-dash"===e:return"Use en dash (–)";case"remove-whitespace"===e:return n.removeExtraWhitespace;case"replace-hyphen"===e:return n.replaceWithWhitespace;default:return t}})(e.type,e.text,e.html),s=Qa(e.onClick),a={className:Jt("lt-error-content__suggestion","highlight"===e.type&&"lt-error-content__suggestion--highlight","remove"===e.type&&"lt-error-content__suggestion--remove","delete"===e.type&&"lt-error-content__suggestion--delete",["replace-hyphen","insert-em-dash","insert-em-dash-with-space","insert-en-dash","remove-whitespace"].includes(e.type)&&"lt-error-content__suggestion--optional","correct-all"===e.type&&"lt-error-content__suggestion--correct-all"),title:e.title,"data-lt-tabindex":"0","data-lt-testid":"error-fix",onClick:s};return e.html?(0,Ma.jsx)(ja,{...a,dangerouslySetInnerHTML:{__html:e.html}}):(0,Ma.jsxs)(ja,{...a,children:[e.prefix&&(0,Ma.jsx)(ja,{className:"lt-error-content__suggestion-hint",children:e.prefix}),t,e.suffix&&(0,Ma.jsx)(ja,{className:"lt-error-content__suggestion-hint",children:e.suffix})]})},zn=({onIgnoreWordTemporarily:e,onIgnoreRuleTemporarily:t})=>{const s=(0,Ra.useMemo)((()=>({className:"lt-error-content__dismiss","data-lt-tabindex":"0",children:(0,Ma.jsx)(Va.Tr,{name:"dismissSuggestions"})})),[]),a=Qa((t=>e?.(t))),n=Qa((e=>t?.(e)));switch(!0){case Re(e):return(0,Ma.jsx)(ja,{...s,"data-lt-testid":"temporarily-ignore-word",onClick:a});case Re(t):return(0,Ma.jsx)(ja,{...s,"data-lt-testid":"temporarily-ignore-rule",onClick:n});default:return null}},Bn=({fixes:e,changeLanguageAction:t})=>{const s=(e=>{const t=Ka(),{current:s}=(0,Ra.useRef)({switchToCanadianEnglish:t("switchToCanadianEnglish"),switchToAustralianEnglish:t("switchToAustralianEnglish"),switchToNewZealandEnglish:t("switchToNewZealandEnglish"),switchToSouthAfricanEnglish:t("switchToSouthAfricanEnglish"),switchToBritishEnglish:t("switchToBritishEnglish"),switchToAmericanEnglish:t("switchToAmericanEnglish")});if(!e)return"";if(e?.label)return e?.label;if(!e?.labelId)throw new Error("Either `label` or `labelId` need to be passed into the ChangeLanguageAction component");return s[e.labelId]})(t),a=Qa((()=>{t?.onClick()}));return(0,Ma.jsxs)(Ma.Fragment,{children:[e.map((e=>(0,Ma.jsxs)(Ra.Fragment,{children:[(0,Ma.jsx)(Hn,{fix:e}),"correct-all"===e.type&&(0,Ma.jsx)("br",{})]},e.text+e.html))),t&&(0,Ma.jsx)(ja,{className:"lt-error-content__suggestion lt-error-content__suggestion--optional",onClick:a,"data-lt-tabindex":"0","data-lt-testid":"error-fix",children:s})]})},Un=({premiumErrors:e,disablePremiumTeaser:t,onPremiumTeaserClick:s})=>{const a=Ka(),{current:r}=(0,Ra.useRef)({errorCardAllDoneCaption:a("errorCardAllDoneCaption"),errorCardAllDoneDescription:a("errorCardAllDoneDescription"),errorCardPremiumTeaserCaptionSingular:a("errorCardPremiumTeaserCaptionSingular"),errorCardPremiumTeaserText:a("errorCardPremiumTeaserText"),errorCardPremiumTeaserReadMore:a("errorCardPremiumTeaserReadMore"),errorCardPremiumTeaserGrammarSuggestions:a("errorCardPremiumTeaserGrammarSuggestions"),errorCardPremiumTeaserStyleSuggestions:a("errorCardPremiumTeaserStyleSuggestions"),errorCardPremiumTeaserPunctuationSuggestions:a("errorCardPremiumTeaserPunctuationSuggestions"),errorCardPremiumTeaserCta:a("errorCardPremiumTeaserCta")}),o=(0,Ra.useMemo)((()=>a("errorCardPremiumTeaserCaptionPlural",[e.length])),[a,e]),{length:i}=e.filter((e=>!e.isPunctuationError&&!e.isStyleError&&!e.isSpellingError)),{length:l}=e.filter((e=>e.isStyleError)),{length:c}=e.filter((e=>e.isPunctuationError)),{length:g}=[i,l,c].filter((e=>e>0)),u=Qa((()=>{n.openWindow(function(e,t){if(!yn.call(Sn,e))throw new Error(`The blog post "${e}" does not exist.`);const s=kt.getPrimaryLanguageCode(t??n.getUILanguageCode()),a=yn.call(Sn[e],s)?Sn[e][s]:e;return new URL(`/insights/${a}`,"https://languagetool.org").toString()}("post/premium-vs-free-product-updates/"))})),d=Qa((()=>{s?.("addon2-errorcard-hidden-matches")}));return e.length&&!0!==t?(0,Ma.jsxs)(Wa,{className:"lt-error-teaser",children:[(0,Ma.jsx)(Wa,{className:"lt-error-teaser__caption",children:1===e.length?r.errorCardPremiumTeaserCaptionSingular:o}),(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__content",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__text",children:r.errorCardPremiumTeaserText}),(0,Ma.jsx)(Ma.Fragment,{children:" "}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__read-more",onClick:u,children:r.errorCardPremiumTeaserReadMore})]}),g>1&&(0,Ma.jsxs)(Wa,{children:[i>0&&(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__stats-row",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-key",dangerouslySetInnerHTML:{__html:r.errorCardPremiumTeaserGrammarSuggestions}}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-value",children:i})]}),l>0&&(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__stats-row",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-key",dangerouslySetInnerHTML:{__html:r.errorCardPremiumTeaserStyleSuggestions}}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-value",children:l})]}),c>0&&(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__stats-row",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-key",dangerouslySetInnerHTML:{__html:r.errorCardPremiumTeaserPunctuationSuggestions}}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-value",children:c})]})]}),(0,Ma.jsx)(Wa,{className:"lt-error-teaser__cta",onClick:d,children:r.errorCardPremiumTeaserCta})]}):(0,Ma.jsx)(bn,{type:"happy",caption:r.errorCardAllDoneCaption,text:r.errorCardAllDoneDescription})},$n=({isHiddenMatch:e,onPremiumTeaserClick:t,onTurnOffPickyMode:s})=>{const a=Ka(),{current:n}=(0,Ra.useRef)({errorCardHiddenMatchButton:a("errorCardTurnOffPickyModeButton"),errorCardHiddenMatchCaption:a("errorCardTurnOffPickyModeCaption"),errorCardTurnOffPickyModeButton:a("errorCardTurnOffPickyModeButton"),errorCardTurnOffPickyModeCaption:a("errorCardTurnOffPickyModeCaption")});let r,o,i,l,c;switch(!0){case e&&Re(t):r="lt-error-content__footer--premium",o="premium--small",i=n.errorCardHiddenMatchCaption,l=n.errorCardHiddenMatchButton,c=e=>{e.stopImmediatePropagation(),t?.()};break;case Re(s):r="lt-error-content__footer--picky",o="picky--blue",i=n.errorCardTurnOffPickyModeCaption,l=n.errorCardTurnOffPickyModeButton,c=e=>{e.stopImmediatePropagation(),s?.(e)};break;default:return null}return(0,Ma.jsxs)(_n,{className:Jt("lt-error-content__footer",r),children:[(0,Ma.jsxs)(Wa,{className:"lt-error-content__footer__caption",children:[(0,Ma.jsx)(mn,{name:o,compact:!0}),i]}),(0,Ma.jsx)(Wa,{className:"lt-error-content__footer__btn",onClick:c,children:l})]})},Fn=({showSentenceSplittingSuggestion:e,errorId:t,errorType:s,title:a,description:n,originalPhrase:r,fixes:o,changeLanguageAction:i,isHiddenMatch:l,premiumErrors:c,language:g,inhouseOnly:u,uniqueId:d,showRuleId:m,user:p,isIdle:h,fixSentencePayload:f,onSplitSentenceClick:_,onFixSentenceClick:E,onFixSentenceMouseOver:v,onFixSentenceMouseOut:b,onMoreDetailsClick:S,onPremiumTeaserClick:y,onAddToDictionaryClick:T,onIgnoreWordTemporarily:C,onIgnoreRule:k,onIgnoreRuleTemporarily:x,onTurnOffPickyMode:L})=>{const{isInDOM:w}=qa(),{disablePremiumTeaser:P}=(0,Ra.useContext)(Tn),A=(0,Ra.useMemo)((()=>Me(n)&&Me(r)),[n,r]),I=(0,Ra.useMemo)((()=>!1===A&&c.length>0),[A,c]),N=((e,t,s,a,n,r)=>{const o=Ka(),{current:i}=(0,Ra.useRef)({spellingError:o("spellingError"),customSuggestionError:o("customSuggestionError"),suggestionError:o("suggestionError"),punctuationError:o("punctuationError"),grammarError:o("grammarError")});return(0,Ra.useMemo)((()=>{switch(!0){case n&&!0!==r:return"Premium";case n&&r:case!s&&!a:return"";case Boolean(e)&&"spelling"!==t:return e;case"custom"===t:return i.customSuggestionError;case"spelling"===t:return i.spellingError;case"style"===t:return i.suggestionError;case"punctuation"===t:return i.punctuationError;default:return i.grammarError}}),[i,e,t,s,a,n,r])})(a,s,e,A,I,P),D=Ka(),{current:R}=(0,Ra.useRef)({turnOffRule:D("turnOffRule"),moreDetails:D("moreDetails"),turnOffPickyMode:D("turnOffPickyMode")}),M=(0,Ra.useRef)(0),{setFocusIndex:O,setButtonGroupHash:H}=Mn(),z=Me(r)&&e,B=Qa((e=>{T?.(e)})),U=Re(T)?{key:"add-to-dictionary",icon:"dictionary","data-lt-testid":"add-to-dictionary",onClick:B,tooltip:{label:D("addToDictionaryCaption",r),position:"top-right"}}:null,$=Qa((e=>{k?.(e)})),F=Re(k)?{key:"add-to-dictionary",icon:"ignore","data-lt-testid":"ignore-rule",onClick:$,tooltip:{label:R.turnOffRule,position:"top-right"}}:null,G=Qa((()=>{S?.()})),W=Re(S)?{key:"more-details",icon:"info","data-lt-testid":"more-details",onClick:G,tooltip:{label:R.moreDetails,position:"top-right"}}:null,j=(0,Ra.useMemo)((()=>(0,Ma.jsx)($n,{isHiddenMatch:l,onPremiumTeaserClick:y,onTurnOffPickyMode:L})),[l,y,L]);let V;if(A&&(V=[W,F,U]),I&&!0!==P&&(V=[{icon:"premium",key:"premium-icon",className:"lt-error-content__premium-icon"}]),M.current=V?.filter(Boolean).length??0,De(N)&&A)throw new Error("Either `caption` or `errorType` need to be passed into the ErrorContent component");return(0,Ra.useEffect)((()=>{if(!w)return;const e=o.map((e=>e.text||e.html)).concat([String(t)]).join("_");Oe(M.current)&&(O(M.current),M.current=null),H(e)}),[w,t,o,H,O]),(0,Ma.jsxs)(Wa,{children:[(0,Ma.jsxs)(En,{caption:N,controls:V,footer:j,isIdle:h,children:[(0,Ma.jsx)(Wa,{className:"lt-error-content__description","data-lt-selectable":"true",children:n}),(0,Ma.jsxs)(Wa,{className:"lt-error-content__actions-list",children:[(0,Ma.jsx)(Bn,{fixes:o,changeLanguageAction:i}),(0,Ma.jsx)(zn,{onIgnoreWordTemporarily:C,onIgnoreRuleTemporarily:x})]}),!z&&!A&&(0,Ma.jsx)(Un,{premiumErrors:c,disablePremiumTeaser:P,onPremiumTeaserClick:y})]}),Me(r)&&z&&(0,Ma.jsx)(Rn,{inhouseOnly:u,uniqueId:d,showRuleId:m,sentence:r,language:g,isIdle:h,user:p,onSuggestionClick:_}),!z&&f&&(0,Ma.jsx)(On,{sentence:f,isIdle:h,showRuleId:m,onSuggestionClick:E,onSuggestionMouseOver:v,onSuggestionMouseOut:b})]})},Gn=e=>Array.isArray(e)&&e.length<=4,Wn=Ga("comp-countdown"),jn=e=>Math.max(0,e-Date.now()),Vn=(e,t)=>{const[s,a]=(0,Ra.useState)(jn(e));return(0,Ra.useEffect)((()=>{let s=self.setInterval((()=>{const n=jn(e);a(n),0===n&&"number"==typeof s&&(self.clearInterval(s),s=null,t?.())}),1e3);return()=>{"number"==typeof s&&self.clearInterval(s)}}),[e,t]),n=s,{seconds:Math.floor(n/1e3%60),minutes:Math.floor(n/1e3/60%60),hours:Math.floor(n/1e3/60/60)};var n},qn=({expires:e,digitClass:t,dividerClass:s,onExpired:a})=>{const{seconds:n,minutes:r,hours:o}=Vn(e,a);return(0,Ma.jsxs)(Wn,{children:[(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__digit",t),children:rt(o)}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__divider",s),children:":"}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__digit",t),children:rt(r)}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__divider",s),children:":"}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__digit",t),children:rt(n)})]})},Kn=Ga("comp-rephrasing-teaser"),Zn=({language:e,onCtaClick:t})=>{const s=Ka(),{current:a}=(0,Ra.useRef)({rephrasingTeaserCountdownText:s("rephrasingTeaserCountdownText"),rephrasingTeaserCountdownSuffix:s("rephrasingTeaserCountdownSuffix",[ve]),rephrasingTeaserCaption:s("rephrasingTeaserCaption"),rephrasingTeaserDescription:s("rephrasingTeaserDescription"),rephrasingTeaserListItem1:s("rephrasingTeaserListItem1",[G.toLocaleString(e||void 0)]),rephrasingTeaserListItem2:s("rephrasingTeaserListItem2"),rephrasingTeaserListItem3:s("rephrasingTeaserListItem3"),rephrasingTeaserCta:s("rephrasingTeaserCta")}),n=(()=>{const{current:e}=(0,Ra.useRef)(new Date);return e.setHours(23),e.setMinutes(59),e.setSeconds(59),e.setMilliseconds(999),e.getTime()})(),r=[a.rephrasingTeaserListItem1,a.rephrasingTeaserListItem2,a.rephrasingTeaserListItem3],o=Qa((()=>{t()}));return(0,Ma.jsxs)(Kn,{children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-rephrasing-teaser__header",children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-rephrasing-teaser__countdown",children:[a.rephrasingTeaserCountdownText,(0,Ma.jsx)(ja,{className:"lt-comp-rephrasing-teaser__countdown__suffix",children:a.rephrasingTeaserCountdownSuffix})]}),(0,Ma.jsx)(qn,{expires:n,digitClass:"lt-comp-rephrasing-teaser__timer__digit",dividerClass:"lt-comp-rephrasing-teaser__timer__divider"})]}),(0,Ma.jsx)(Wa,{className:"lt-comp-rephrasing-teaser__caption",children:a.rephrasingTeaserCaption}),(0,Ma.jsx)(Wa,{className:"lt-comp-rephrasing-teaser__description",children:a.rephrasingTeaserDescription}),(0,Ma.jsx)(Wa,{className:"lt-comp-rephrasing-teaser__list",children:r.map((e=>(0,Ma.jsx)(ja,{className:"lt-comp-rephrasing-teaser__list-item",dangerouslySetInnerHTML:{__html:e}},e)))}),(0,Ma.jsx)(ja,{className:"lt-comp-rephrasing-teaser__cta",onClick:o,children:a.rephrasingTeaserCta})]})},Xn=(e,t,s,a)=>{const r=Za(),{confirmedGPT3:o}=r.getPrivacySettings(),[i,l]=(0,Ra.useState)(!0===o||"standalone"===n.getType()||!0===t),c=(0,Ra.useCallback)((()=>{l(!0),r.updatePrivacySettings({confirmedGPT3:!0}),Pt.trackEvent("Action",`${a}:privacy_confirmed`,s)}),[r,l,s,a]);return(0,Ra.useEffect)((()=>{e&&!i&&(r.addEventListener(xt.eventNames.privacySettingsChanged,(({confirmedGPT3:e})=>{e&&e.oldValue!==e.newValue&&e.newValue!==i&&l(e.newValue)})),Pt.trackEvent("Action",`${a}:privacy_confirmation_required`,s))}),[r,i,l,s,e,a]),[i,c]},Yn="https://languagetool.org/premium?utm_campaign=addon2-rewriting",Qn=e=>et(e?.rephrases.map((({label:e})=>e.split("-").shift())).filter((e=>tr.includes(e)))||[]),Jn=()=>{const e=(0,Ma.jsxs)(Wa,{className:"lt-comp-paraphrasing-content__loading","data-lt-testid":"loading-skeleton",children:[(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__loading__line"}),(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__loading__line"})]});return(0,Ma.jsx)(Ma.Fragment,{children:["one","two","three"].map((t=>(0,Ma.jsx)(Ra.Fragment,{children:e},t)))})},er=({sentence:e,label:t,origin:s,score:a,text:n,uuid:r,isLast:o,isFirst:i,isRuleDeveloperDebugMode:l,onPhraseClick:c,reportPhrase:g})=>{const u=Qa((()=>{c({label:t,origin:s,score:a,text:n,uuid:r}),g()}));return(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-paraphrasing-content__item",i&&"lt-comp-paraphrasing-content__item--first-element",o&&"lt-comp-paraphrasing-content__item--last-element"),onClick:u,"data-lt-testid":"rephrase-suggestion","data-lt-tabindex":"0",children:[l&&(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__item__origin",children:t}),(0,Ma.jsx)(Nn,{from:e,to:n,className:"lt-comp-paraphrasing-content__item__diff"})]})},tr=["formality","general","paraphrase","shortened","simplicity"],sr=({type:e,current:t,onChange:s,getLabel:a})=>{const n=Qa((()=>s(e)));return(0,Ma.jsx)(Wa,{className:Jt("lt-comp-paraphrasing-content__filter__list__item",e===t&&"lt-comp-paraphrasing-content__filter__list__item--current"),onClick:n,children:a(e)})},ar=({hidden:e,current:t,isIdle:s,availableFilters:a,onChange:n})=>{const{updateCardPosition:r,moveCardIntoViewport:o}=an(),i=Ka(),{current:l}=(0,Ra.useRef)({phrasesCardLabelFormality:i("phrasesCardLabelFormality"),phrasesCardLabelParaphrase:i("phrasesCardLabelParaphrase"),phrasesCardLabelShortened:i("phrasesCardLabelShortened"),phrasesCardLabelSimplicity:i("phrasesCardLabelSimplicity"),phrasesCardLabelGeneral:i("phrasesCardLabelGeneral"),phrasesCardFilterEmpty:i("phrasesCardFilterEmpty")}),{current:c}=(0,Ra.useRef)((e=>{switch(e){case"formality":return l.phrasesCardLabelFormality;case"general":return l.phrasesCardLabelGeneral;case"paraphrase":return l.phrasesCardLabelParaphrase;case"shortened":return l.phrasesCardLabelShortened;case"simplicity":return l.phrasesCardLabelSimplicity;default:return l.phrasesCardFilterEmpty}})),[g,u]=(0,Ra.useState)(!1),d=Qa((()=>u(!1))),m=null===t?2:1,p=!0===e||!a||a.length<m;return(0,Ra.useLayoutEffect)(r,[p,r]),(0,Ra.useEffect)(o,[p,o]),p?null:(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-paraphrasing-content__filter",s&&"lt-comp-paraphrasing-content__filter--idle"),children:[(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__filter__label",onClick:()=>u(!0),children:c(t)}),(0,Ma.jsx)(Wa,{className:Jt("lt-comp-paraphrasing-content__filter__list",g&&"lt-comp-paraphrasing-content__filter__list--visble"),children:[null,...a].map((e=>(0,Ma.jsx)(sr,{type:e,current:t,onChange:n,getLabel:c},String(e))))})]}),g&&(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__filter-backdrop",onClick:d})]})},nr=wt.isSafari()?"https://languagetool.org/legal/privacy/?hidePremium=true#rephrasing":"https://languagetool.org/legal/privacy/#rephrasing",rr=({language:e,onConfirmPrivacyPolicy:t})=>{const s=Ka(),{current:a}=(0,Ra.useRef)({phrasesCardConfirmationHeading:s("phrasesCardConfirmationHeading"),phrasesCardConfirmationText:s("phrasesCardConfirmationText",[nr]),phrasesCardConfirmationButton:s("phrasesCardConfirmationButton")});return(0,Ma.jsxs)(Wa,{className:"lt-comp-paraphrasing-content__confirmation",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-paraphrasing-content__confirmation__image",`lt-comp-paraphrasing-content__confirmation__image--${e}`)}),(0,Ma.jsxs)(Wa,{className:"lt-comp-paraphrasing-content__confirmation__content",children:[(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__confirmation__heading",children:a.phrasesCardConfirmationHeading}),(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__confirmation__text",dangerouslySetInnerHTML:{__html:a.phrasesCardConfirmationText}}),(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__confirmation__button",onClick:t,"data-lt-testid":"confirm-tos",children:a.phrasesCardConfirmationButton})]})]})},or=({inhouseOnly:e,isEnabled:t,language:s,sentence:a,uniqueId:r,user:o,remainingRephrasings:i,noDistanceTop:l,showRuleId:c,isIdle:g,onPhraseClick:u,reportPhrase:d,highlightSentence:m})=>{const{updateCardPosition:p,moveCardIntoViewport:h}=an(),f=Ka(),{current:_}=(0,Ra.useRef)({phrasesCardHeadline:f("phrasesCardHeadline"),phrasesCardSentencePrefix:f("phrasesCardSentencePrefix"),synonymsCardLoading:f("synonymsCardLoading"),phrasesCardNoSentence:f("phrasesCardNoSentence"),phrasesCardNoResult:f("phrasesCardNoResult"),phrasesCardNotSupportedHeading:f("phrasesCardNotSupportedHeading"),phrasesCardNotSupportedText:f("phrasesCardNotSupportedText"),phrasesCardRephrasingLimitSingular:f("phrasesCardRephrasingLimitSingular"),phrasesCardGeneralError:f("phrasesCardGeneralError")}),[E,v]=Xn(t,e,s,"rephrasesV3"),b=Qa(v),[S,y,T]=(({uniqueId:e,sentence:t,language:s,inhouseOnly:a,shouldLoadData:r,user:o})=>{const i=Ka(),{current:l}=(0,Ra.useRef)({phrasesCardGeneralError:i("phrasesCardGeneralError"),phrasesCardTimeoutError:i("phrasesCardTimeoutError")}),[c,g]=(0,Ra.useState)(),[u,d]=(0,Ra.useState)(!1),m=(0,Ra.useRef)(null);return(0,Ra.useEffect)((()=>{if(!1!==r)return d(!0),m.current=null,n.loadPhrases(As(e),t,s,a,o).then((e=>{g(e),d(!1),Pt.trackEvent("Action","rephrasesV3:request_succeeded",kt.getPrimaryLanguageCode(s))})).catch((e=>{if(e?.message===ye)return;const t=e?.message===Ce?l.phrasesCardTimeoutError:l.phrasesCardGeneralError;m.current=new Error(t),d(!1),Pt.trackError("http","rephrasesV3:request_failed",`${kt.getPrimaryLanguageCode(s)}:${e.message}`)})),()=>{n.abortPhraseRequests("rewrite")}}),[e,t,s,a,r,o,l.phrasesCardGeneralError,l.phrasesCardTimeoutError]),[c,u,m.current]})({shouldLoadData:E&&t&&(null===i||i>0),inhouseOnly:e,language:s,sentence:a,uniqueId:r,user:o}),[C,k]=(0,Ra.useState)(null),[x,L]=(0,Ra.useState)(!1),w=S?.rephrases.filter((({label:e})=>!C||e.startsWith(C))),P=Gn(w),A=!1===P&&Array.isArray(w)&&w.length>3,I=(({phrases:e,shouldShowAllResults:t,showAll:s})=>{const{setButtonGroupHash:a,setFocusIndex:n,getFocusIndex:r}=Mn(),o=(0,Ra.useRef)(!1);return(0,Ra.useEffect)((()=>{if(!e)return;if(!1===s&&o.current){const t=r(),{length:s}=e,a=Gn(e)?4:3;n(t-(s-a)),o.current=!1}const i=e.slice(0,s||t?e.length:3).map((({uuid:e})=>e)).join("-");a(i)}),[e,s,t,a,n,r]),o})({phrases:w,showAll:x,shouldShowAllResults:P}),N=(0,Ra.useMemo)((()=>(0,Ma.jsxs)(hn,{children:[(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__title",children:_.phrasesCardHeadline}),(0,Ma.jsx)(ar,{hidden:!S||0===S.rephrases.length,current:C,isIdle:g,availableFilters:Qn(S),onChange:k})]})),[S,C,g,k,_.phrasesCardHeadline]),D=(0,Ra.useMemo)((()=>function({children:e}){return(0,Ma.jsx)(En,{title:N,className:Jt("lt-comp-paraphrasing-content",l&&"lt-comp-paraphrasing-content--no-distance-top"),noPadding:!0,isIdle:g,children:e})}),[N,l,g]),R=()=>{self.open(Yn,"_blank")};return(0,Ra.useEffect)((()=>{Pt.trackEvent("Action","rephrasesV3:open",s+":"+(t?"enabled":"disabled"))}),[s,t]),(0,Ra.useEffect)((()=>{const e=C||"default";Pt.trackEvent("Action","rephrasesV3:set_filter",e)}),[C]),(0,Ra.useLayoutEffect)(m,[m]),(0,Ra.useEffect)((()=>{L(!1)}),[S]),(0,Ra.useLayoutEffect)(p,[S,x,C,E,p]),(0,Ra.useEffect)(h,[S,x,C,E,h]),(0,Ra.useEffect)((()=>k(null)),[a]),t?E?0===i?(0,Ma.jsx)(En,{className:"lt-comp-paraphrasing-content",isIdle:g,children:(0,Ma.jsx)(Zn,{language:s,onCtaClick:R})}):y?(0,Ma.jsx)(D,{children:(0,Ma.jsx)(Jn,{})}):T||!w?(0,Ma.jsx)(D,{children:(0,Ma.jsx)(bn,{type:"error",caption:T?.message||_.phrasesCardGeneralError})}):0===w.length?(0,Ma.jsx)(D,{children:(0,Ma.jsx)(bn,{caption:_.phrasesCardNoResult})}):(0,Ma.jsxs)(D,{children:[(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__items","data-lt-testid":"rephrase-list",children:w.slice(0,x?w.length:3).map(((e,t,{length:s},n=s-1)=>(0,Ra.createElement)(er,{...e,key:e.uuid,sentence:a,isLast:t===n&&!1===A,isFirst:0===t,isRuleDeveloperDebugMode:c,onPhraseClick:u,reportPhrase:()=>d(S,t)})))}),A&&(0,Ma.jsx)(fn,{className:"lt-comp-paraphrasing-content__toggle-more",onToggle:()=>{L(!x),I.current=!0},showAll:Boolean(x)})]}):(0,Ma.jsx)(D,{children:(0,Ma.jsx)(rr,{language:s,onConfirmPrivacyPolicy:b})}):(0,Ma.jsx)(D,{children:(0,Ma.jsx)(bn,{type:"sad",caption:_.phrasesCardNotSupportedHeading,html:_.phrasesCardNotSupportedText})})},ir=e=>Ne(e)&&e.synonyms.length<=4;class lr extends Error{constructor(){super("The current language is not supported."),this.name="NotSupportedError"}}const cr=()=>(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsx)(Wa,{className:"lt-comp-synonyms-content__loading__caption"}),(0,Ma.jsxs)(Wa,{className:"lt-comp-synonyms-content__loading__wrapper",children:[(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__loading__button"}),(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__loading__button"}),(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__loading__button"})]})]}),gr=({word:e,onSynonymClick:t})=>{const s=Qa((()=>{t(e)}));return(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__item__button",onClick:s,"data-lt-tabindex":"0","data-lt-testid":"synonym",children:e})},ur=({alternatives:e,synonymsSource:t,showAll:s,onSynonymClick:a})=>{const{updateCardPosition:n,moveCardIntoViewport:r}=an(),o=Qa((()=>{t&&self.open(t.url,"_blank")}));return(0,Ra.useLayoutEffect)(n,[t,s,n]),(0,Ra.useEffect)(r,[t,s,r]),(0,Ma.jsxs)(Ma.Fragment,{children:[e.slice(0,s?e.length:3).map((({word:e},t)=>(0,Ma.jsx)(gr,{word:e,onSynonymClick:a},`${e}-${t}`))),t&&(0,Ma.jsxs)(Wa,{className:"lt-comp-synonyms-content__item__source",children:["Source:"," ",(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__item__source__link",onClick:o,children:t.name})]})]})},dr=({notSupported:e,noResults:t})=>{const s=(0,Ra.useMemo)((()=>function({children:e}){return(0,Ma.jsx)(Wa,{className:"lt-comp-synonyms-content__no-result",children:e})}),[]);switch(!0){case e:return(0,Ma.jsx)(s,{children:(0,Ma.jsx)(Va.Tr,{name:"synonymsCardLanguageNotSupported"})});case t:return(0,Ma.jsx)(s,{children:(0,Ma.jsx)(Va.Tr,{name:"synonymsCardNoSynonymsAvailable"})});default:return null}},mr=({wordContext:e,language:t,motherLanguage:s,wordIsErroneous:a,isIdle:r,onSynonymClick:o})=>{const{updateCardPosition:i,moveCardIntoViewport:l}=an(),[c,g]=(0,Ra.useState)(null),u=Ka(),{current:d}=(0,Ra.useRef)({synonymsCardHeadline:u("synonymsCardHeadline")}),[m,p,h]=((e,t,s)=>{const[a,r]=(0,Ra.useState)(!1),[o,i]=(0,Ra.useState)(null),[l,c]=(0,Ra.useState)();return(0,Ra.useEffect)((()=>{if(kt.getSynonymsRequestLanguage(t))return r(!0),n.loadSynonyms(e,t,s).then((e=>{i(e)})).catch((e=>c(e))).finally((()=>r(!1))),()=>{n.abortSynonymsRequest()};c(new lr)}),[e,t,s]),[o,a,l]})(e,t,s),f=(0,Ra.useMemo)((()=>{if(Me(t)&&!t.startsWith("de")&&m)return{name:m.dataSource.sourceName,url:m.dataSource.sourceUrl}}),[t,m]),_=((e,t)=>(0,Ra.useMemo)((()=>{if(!t)return"…";const s=t.genders?.length?(e=>{const[t,...s]=e[0].display.split(/\s+/);return[e.map((({display:e})=>e.split(/\s+/).shift())).join("/"),s.join(" ")].join(" ")})(t.genders):e,[a,n]=s.trim().split(/'| /),r=n?[a,s.includes("'")?"' ":"",n].join(""):a;let o=t.genders?.map((({displayType:e})=>e)).filter(Boolean).join("/");return o=o?` (${o})`:"",r+o}),[e,t]))(e.word,m),E=(0,Ma.jsx)(hn,{prefix:d.synonymsCardHeadline,children:_}),v=!1===p&&0===m?.synonymSets.length,b="NotSupportedError"===h?.name,S=(0,Ra.useMemo)((()=>m&&m.synonymSets.length>1),[m]),y=c?"collapse-synonyms-list":"show-all-synonyms";return(({synonyms:e,showAll:t})=>{const{setButtonGroupHash:s,setFocusIndex:a}=Mn();(0,Ra.useEffect)((()=>{if(!e?.synonymSets.length)return;if(!1===t){const[t]=e.synonymSets,s=ir(t)?t.synonyms.length:3;a(s-1)}const n=e.synonymSets.slice(0,t?e.synonymSets.length:1).flatMap((({synonyms:e})=>e.map((({word:e})=>e)))).join("-");s(n)}),[e,t,s,a])})({synonyms:m,showAll:c}),(0,Ra.useLayoutEffect)(i,[m,c,p,S,i]),(0,Ra.useEffect)(l,[m,c,p,S,l]),(0,Ra.useEffect)((()=>g(null)),[e]),p&&!0!==a?(0,Ma.jsx)(En,{title:E,isIdle:r,children:(0,Ma.jsx)(cr,{})}):v&&a?null:(0,Ma.jsxs)(En,{title:E,isIdle:r,children:[(0,Ma.jsx)(dr,{noResults:v,notSupported:b}),m?.synonymSets.slice(0,c?m.synonymSets.length:1).map(((e,t,{length:s},a=s-1)=>(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-synonyms-content__item",S&&"lt-comp-synonyms-content__item--border",0===t&&"lt-comp-synonyms-content__item--first",t===a&&"lt-comp-synonyms-content__item--last"),children:[(0,Ma.jsx)(Wa,{className:"lt-comp-synonyms-content__item__title",children:e.title}),(0,Ma.jsx)(ur,{alternatives:e.synonyms,showAll:c||ir(e)||!1===S,synonymsSource:t!==a||!c&&!1!==S?void 0:f,onSynonymClick:o})]},e.title+e.synonyms.map((({word:e,hints:t})=>`${e}-${t.length}`))))),S&&(0,Ma.jsx)(fn,{className:"lt-comp-synonyms-content__toggle-more","data-lt-testid":y,onToggle:()=>g(!c),showAll:Boolean(c)})]})},pr=Ga("comp-rephrase-content"),hr=({synonymsData:e,paraphrasingsData:t})=>(0,Ma.jsxs)(pr,{children:[e&&(0,Ma.jsx)(mr,{...e}),t&&(0,Ma.jsx)(or,{noDistanceTop:void 0===e,...t})]}),fr=Ga("comp-scrollable-area"),_r=({scrollerClassName:e,children:t})=>{const s=(0,Ra.useRef)(null),[a,n]=(0,Ra.useState)(!1),[r,o]=(0,Ra.useState)(!1),[i,l]=(0,Ra.useState)(!1);return(0,Ra.useEffect)((()=>{const e=s.current,t=()=>{o(null!==e&&e.scrollTop>0),l(null!==e&&e.scrollTop+e.offsetHeight===e.scrollHeight)};return e&&e.addEventListener("scroll",t),()=>{e&&e.removeEventListener("scroll",t)}}),[s]),(0,Ra.useEffect)((()=>{const e=s.current;let t;return e&&(t=new ResizeObserver((()=>{n((e=>e.clientHeight<e.scrollHeight&&qt(e))(e))})),t.observe(e)),()=>{e&&t?.unobserve(e)}}),[s]),(0,Ma.jsxs)(fr,{className:"lt-comp-scrollable-area",children:[r&&(0,Ma.jsx)(Wa,{className:"lt-comp-scrollable-area__shadow lt-comp-scrollable-area__shadow--top"}),(0,Ma.jsx)(Wa,{className:Jt("lt-comp-scrollable-area__scroller",e),ref:s,children:t}),a&&!1===i&&(0,Ma.jsx)(Wa,{className:"lt-comp-scrollable-area__shadow lt-comp-scrollable-area__shadow--bottom"})]})},Er=({mode:e,isIdle:t,userCanNavigate:s,onNavigateError:a,onNavigateSentence:n})=>{const{isDetached:r,adjustPosition:o}=an(),i=(0,Ra.useRef)(null),l=(0,Ra.useCallback)((()=>{switch(e){case"correct":a("previous"),Pt.trackEvent("Action","editor_card:previous_error");break;case"paraphrase":n("previous"),Pt.trackEvent("Action","editor_card:previous_sentence");break;default:throw new Error(`Unknown mode "${e}"`)}}),[e,a,n]),c=(0,Ra.useCallback)((()=>{switch(e){case"correct":a("next"),Pt.trackEvent("Action","editor_card:next_error");break;case"paraphrase":n("next"),Pt.trackEvent("Action","editor_card:next_sentence");break;default:throw new Error(`Unknown mode "${e}"`)}}),[e,a,n]),g=(0,Ra.useMemo)((()=>"correct"===e?"editorCardNextIssue":"editorCardNextSentence"),[e]);return(0,Ra.useEffect)((()=>{!1===i.current&&!0===r&&o(),i.current=r}),[r,o]),r&&s?(0,Ma.jsx)(Wa,{className:"lt-comp-editor-base__footer",children:(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-editor-base__footer__btn lt-comp-editor-base__footer__btn--prev",t&&"lt-comp-editor-base__footer__btn--idle"),onClick:l,"data-lt-testid":"previous-issue",children:(0,Ma.jsx)(ja,{className:"lt-comp-editor-base__footer__icon lt-icon__arrow_left--blue"})}),(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-editor-base__footer__btn lt-comp-editor-base__footer__btn--next",t&&"lt-comp-editor-base__footer__btn--idle"),onClick:c,"data-lt-testid":"next-issue",children:[(0,Ma.jsx)(Va.Tr,{name:g}),(0,Ma.jsx)(ja,{className:"lt-comp-editor-base__footer__icon lt-icon__arrow_right--blue"})]})]})}):null},vr=(0,Ra.forwardRef)((function({initialContentProps:e,mode:t,root:s,forwardUpdateContentFn:a,...n},r){const[o,i]=(0,Ra.useState)(e),[l,c]=(0,Ra.useState)(),[g,u]=(0,Ra.useState)(t),{current:d}=(0,Ra.useRef)(((e,t,s)=>{c(e),u(t),i(s)})),m=((e,t,s)=>{const a=(0,Ra.useCallback)((()=>{if(null===s)return null;if("paraphrase"===t&&"paraphrasingsData"in s)return"correct"===e&&s.synonymsData&&(s.synonymsData.wordIsErroneous=!0),(0,Ma.jsx)(hr,{...s});if("correct"===t&&"fixes"in s)return(0,Ma.jsx)(Fn,{...s});throw new Error(`Invalid card mode "${t}" passed in`)}),[e,t,s]),[n,r]=(0,Ra.useState)(a());return(0,Ra.useEffect)((()=>{r(a())}),[a]),n})(l,g,o),p=(0,Ra.useMemo)((()=>"displayedErrors"in o?o.displayedErrors.length>1:(!("paraphrasingsData"in o)||void 0!==o.paraphrasingsData)&&("sentenceRanges"in o&&Number(o.sentenceRanges?.length)>1)),[o]),h=(0,Ra.useMemo)((()=>"isIdle"in o?!0===o.isIdle:!!o.paraphrasingsData&&o.paraphrasingsData.isIdle),[o]);return(0,Ra.useEffect)((()=>{a(d)}),[a,d]),(0,Ma.jsx)(Cn,{value:{disablePremiumTeaser:n.disablePremiumTeaser},children:(0,Ma.jsxs)(ln,{...n,mode:g,ref:r,root:s,children:[(0,Ma.jsx)(_r,{scrollerClassName:"lt-comp-editor-card__content",children:m}),(0,Ma.jsx)(Er,{mode:g,isIdle:h,userCanNavigate:p,onNavigateError:n.onNavigateError,onNavigateSentence:n.onNavigateSentence})]})})})),br=(0,Ra.forwardRef)((function(e,t){return(0,Ma.jsx)(vr,{...e,ref:t})}));br.displayName="EditorCard";const Sr=new Map([["paraphrase","wide"],["correct","narrow"]]);class yr{constructor({mode:e,storageController:t,inputArea:s,tweaks:a,targetBox:n,enableKeyboard:r,disablePremiumTeaser:o,errorCardArguments:i,rephraseCardArguments:l,user:c,language:g,inhouseOnly:u,anchorSelection:d,getText:m,getSentenceRanges:p}){this._renderOutsideIframe=!1,this._containerElement=null,this._cardRef=(0,Ra.createRef)(),this._isDetached=!1,this._currentMode=e,this._storageController=t,this._inputArea=s,this._tweaks=a,this._targetBox=n,this._enableKeyboard=r,this._disablePremiumTeaser=o,this._errorCardArguments=i,this._rephraseCardArguments=l,this._user=c,this._language=g,this._inhouseOnly=u,this._anchorSelection=d,this._getText=m,this._getSentenceRanges=p,this._referenceArea=s,this._keyboardEventTarget=this._tweaks.getKeyboardEventTarget(),this._document=this._inputArea.ownerDocument,this._sentenceSelection=this._getSentenceSelection(d);const h=Vt(self);h&&this._inputArea===this._inputArea.ownerDocument.body&&Ss(self.parent)&&(this._referenceArea=h,this._document=this._referenceArea.ownerDocument,this._renderOutsideIframe=!0,this._onUnload=this._onUnload.bind(this),self.addEventListener("pagehide",this._onUnload,!0)),this._domMeasurement=new It(this._document),this._initiateRendering(),this._fetchTargetBoxOnceIfRequired()}async updateTargetBox(e){this._targetBox=e||this._targetBox,this._initiateRendering()}updateSelection(e){Ne(e)&&(this._sentenceSelection=this._getSentenceSelection(e))}getSelection(e){if("paraphrase"===this._currentMode)switch(e){case"word":return this._wordSelection;case"sentence":return this._sentenceSelection;default:throw new Error(`Unknown rephrase type "${e}"`)}}setRephraseCardArguments(e,t){this._rephraseCardArguments=e,this._anchorSelection=t,this._sentenceSelection=this._getSentenceSelection(t)||this._sentenceSelection}setErrorCardArguments(e){if(this._errorCardArguments=e,e.error){const t=this._anchorSelection={start:e.error.start,end:e.error.end};"TOO_LONG_SENTENCE"===e.error.rule.id?this._sentenceSelection=this._getSentenceSelection(this._anchorSelection)||this._sentenceSelection:this._wordSelection=t}}changeMode(e,t){const s=this._currentMode;this._currentMode=e;const a=this._getCurrentContentProps(),n=Sr.get(e);a&&(this._targetBox=t||this._targetBox,n&&this._cardRef.current?.updateCardType(n),this._updateContent?.(s,e,a),this._dispatchHighlight(),this._cardRef.current?.updatePosition())}switchError({error:e,displayedErrors:t,canCorrectMultipleAtOnce:s},a){if("correct"===this._currentMode&&this._errorCardArguments){this._errorCardArguments={...this._errorCardArguments,canCorrectMultipleAtOnce:Boolean(s),error:e,displayedErrors:t},this._targetBox=a||this._targetBox,e&&(this._wordSelection={start:e.start,end:e.end});const n=this._getErrorContentProps();n&&(this._updateContent?.("correct","correct",n),this._dispatchHighlight())}}switchSentence(e,t){if(this._anchorSelection=e,this._rephraseCardArguments){this._rephraseCardArguments={...this._rephraseCardArguments,...t};const e=this._getRephraseContentProps();e&&(this._updateContent?.("paraphrase","paraphrase",e),this._dispatchHighlight())}}destroy(){if(this._card?.unmount(),this._container){this._container.remove(),this._container=null;const e={card:this,error:this._errorCardArguments?.error,shouldUpdateHighlight:"paraphrase"===this._currentMode};ts(document,yr.eventNames.destroyed,e)}self.removeEventListener("pagehide",this._onUnload,!0)}get underlineColor(){if("paraphrase"!==this._currentMode)return"";switch(this.currentRephraseHighlightType){case"word":return ee.SYNONYMS.UNDERLINE;case"sentence":return ee.STYLE.UNDERLINE;default:throw new Error(`Unknown RephraseCard type "${this.currentRephraseHighlightType}"`)}}get backgroundColor(){if("paraphrase"!==this._currentMode)return"";switch(this.currentRephraseHighlightType){case"word":return"";case"sentence":return ee.STYLE.BACKGROUND;default:throw new Error(`Unknown RephraseCard type "${this.currentRephraseHighlightType}"`)}}get mode(){return this._currentMode}get isDetached(){return this._isDetached}get _container(){return this._containerElement||(this._containerElement=Gt(this._document,yr.CONTAINER_ELEMENT_NAME),this._containerElement.style.display="none",this._containerElement.setAttribute("data-lt-adjust-appearance","true"),this._containerElement.classList.add("lt-card"),this._containerElement.addEventListener("click",(e=>e.stopPropagation())),Qt(this._inputArea)?this._containerElement.setAttribute("data-lt-force-appearance","dark"):this._containerElement.setAttribute("data-lt-force-appearance","light")),this._containerElement}set _container(e){this._containerElement=e}_position(e){if(Is(this._container),Is(this._targetBox),!e)return;this._domMeasurement.clearCache();const t={...this._targetBox},s=this._domMeasurement.getDocumentVisibleBox(),a=this._document.elementFromPoint(t.left-s.left+10,t.bottom-s.top+10),n=this._checkHasOverlayUnderTargetBox((()=>Boolean(a)&&!this._inputArea.contains(a)&&!function(e,t){let s=t;for(;s&&s.parentNode;){if(s===e||s.parentNode===e)return!0;s=s.parentNode instanceof DocumentFragment?s.parentNode.host:s.parentNode}return!1}(a,this._inputArea)&&!this._container?.contains(a))),r="BODY"===this._referenceArea.nodeName?this._document.documentElement:this._document.body;!1===this._card?.isInDOM()&&this._card.appendTo(r),this._domMeasurement.clearCache();const o=this._domMeasurement.getBorderBox(e);if(this._renderOutsideIframe){let e=document.createElement("lt-span");e.style.position="absolute",e.style.left=t.left+"px",e.style.top=t.top+"px",document.documentElement.appendChild(e);const s=e.getBoundingClientRect();e.remove(),e=null;const a=new It(this._document).getContentBox(this._referenceArea);t.left=a.left+s.left,t.top=a.top+s.top,t.bottom=a.top+s.top+t.height,t.right=a.left+s.left+t.width}let{left:i,top:l,baseMaxHeight:c,contentMaxHeight:g}="paraphrase"===this._currentMode||"TOO_LONG_SENTENCE"===this._errorCardArguments?.error?.rule.id?this._getParaphrasePosition(o,t,s):this._getDefaultPosition(o,t,s,n);const u=this._domMeasurement.getScaleFactor(r),d=this._domMeasurement.getZoom(r);i/=u.x*d,l/=u.y*d,e.style.left=Math.round(i)+"px",e.style.top=Math.round(l)+"px",e.style.setProperty("--lt-comp-card-base-max-height",Math.round(c)+"px"),e.style.setProperty("--lt-comp-card-content-max-height",Math.round(g)+"px")}_getParaphrasePosition(e,t,s){const a=t.top-s.top,n=s.height+s.top-t.bottom,r=a>n&&a>=200;let o=Math.round(n-5),i=t.bottom+5,l=Math.min(t.left,s.width-e.width);r&&(o=a-5,i=Math.max(s.top,t.top-e.height-5)),o=Math.max(o,200);let c=o-36;return this._enableKeyboard&&(c-=60),this.isDetached&&(c-=36),{contentMaxHeight:c,baseMaxHeight:o,top:i,left:l}}_getDefaultPosition(e,t,s,a){let n=Math.min(t.left,s.width-e.width),r=t.bottom+5;const o=e.height<t.top;return(r+e.height>s.bottom||a&&o)&&(r=Math.max(s.top,t.top-e.height-5)),{baseMaxHeight:600,contentMaxHeight:600,top:r,left:n}}_moveIntoViewport(e){if(!e||!this._isDetached)return;this._domMeasurement.clearCache();const t="BODY"===this._referenceArea.nodeName?this._document.documentElement:this._document.body,s=this._domMeasurement.getScaleFactor(t),a=this._domMeasurement.getZoom(t),n=s.x*a,r=s.y*a,{height:o,width:i}=this._domMeasurement.getDocumentVisibleBox(),{top:l,left:c}=this._domMeasurement.getDocumentScroll(),{left:g,top:u,height:d,width:m}=this._domMeasurement.getBorderBox(e);let p={},h=!1;if(i-c-(g+m)<0){const e=Math.round((i-m-1)/n);p.left=`${e}px`,h=!0}if(u-l<0){const e=Math.round((o-d-1)/r);p.bottom=`${e}px`,h=!0}h&&this._domMeasurement.setStyles(e,p,!0)}_fetchTargetBoxOnceIfRequired(){De(this._targetBox)&&"paraphrase"===this._currentMode&&Promise.resolve().then((()=>this._dispatchHighlight("sentence"))),this._fetchTargetBoxOnceIfRequired=()=>{}}_initiateRendering(){const e=this._renderPromise||Promise.resolve();this._renderPromise=e.then((()=>{if(!Ne(this._card))return this._render();this._renderPromise=void 0}))}async _render(){if(Is(this._container),!this._targetBox)return;const e=this._getCurrentContentProps();e&&(this._card=await async function(e,t,s=(0,Ra.createRef)()){return await Va.createView(e,br,Object.assign(t,{ref:s,root:e}))}(this._container,{mode:this._currentMode,type:"paraphrase"===this._currentMode?"wide":"narrow",keyboardNavigationEnabled:!0===this._enableKeyboard,disablePremiumTeaser:this._disablePremiumTeaser,keyboardEventTarget:this._keyboardEventTarget,root:this._container,isPremium:this._user?.isPremium||!1,referenceArea:this._referenceArea,onClose:this._onCloseClicked.bind(this),onPremiumClick:this._onPremiumClick.bind(this),onDetachCard:this._onDetachCard.bind(this),onNavigateError:this._onNavigateError.bind(this),onNavigateSentence:this._onNavigateSentence.bind(this),updatePosition:this._position.bind(this),moveIntoViewport:this._moveIntoViewport.bind(this),forwardUpdateContentFn:this._setUpdateContentFn.bind(this),onModeChange:this._onToggleCardMode.bind(this),initialContentProps:e},this._cardRef),this._cardRef.current?.updatePosition())}_getErrorContentProps(e=!1){if(!this._errorCardArguments)return;const{error:t,disableAddingWord:s,disableIgnoringRule:a,displayedErrors:r,premiumErrors:o}=this._errorCardArguments,i=kt.getPrimaryLanguageCode(this._language),l=oe.some((e=>i.toLowerCase().startsWith(e.toLowerCase()))),{showRuleId:c}=this._storageController.getUIState(),g=this._storageController.getUniqueId(),u=this._storageController.hasCustomServer(),d="HIDDEN_RULE"===t?.rule.id,m=l&&!u&&"TOO_LONG_SENTENCE"===t?.rule.id&&t.end-t.start<=v,p=this._getFixSentencePayloadByError(t,r),h={onPremiumTeaserClick:this._onPremiumTeaserClick.bind(this),onSplitSentenceClick:this._onSplitSentenceClick.bind(this),onFixSentenceClick:this._onFixSentenceClick.bind(this),onFixSentenceMouseOver:this._onFixSentenceMouseOver.bind(this),onFixSentenceMouseOut:this._onFixSentenceMouseOut.bind(this),changeLanguageAction:this._getChangeLanguageAction(t),errorType:this._getErrorType(t),fixes:this._getFixes(t),inhouseOnly:this._inhouseOnly,user:this._user,errorId:t?.rule.id,title:t?.shortDescription,description:t?.description,originalPhrase:t?.originalPhrase,isIdle:e,language:i,uniqueId:g,showRuleId:c,isHiddenMatch:d,displayedErrors:r,premiumErrors:o,showSentenceSplittingSuggestion:m};return t&&(this._wordSelection={start:t.start,end:t.end}),p&&(h.fixSentencePayload=p),t?.isSpellingError?(s||Ge(t.originalPhrase)||(h.onAddToDictionaryClick=e=>this._onAddToDictionaryClick(t,!e.isTrusted&&e.shiftKey)),h.onIgnoreWordTemporarily=e=>this._onTemporarilyIgnoreWordClick(t,!e.isTrusted&&e.shiftKey)):t&&(a||d||t.isCustomError||(h.onIgnoreRule=e=>this._onIgnoreRuleClick(t,!e.isTrusted&&e.shiftKey)),h.onIgnoreRuleTemporarily=e=>this._onTemporarilyIgnoreRuleClick(t,!e.isTrusted&&e.shiftKey)),t?.isPicky&&"extension"===n.getType()&&!d&&(h.onTurnOffPickyMode=this._onTurnOffPickyMode.bind(this)),t?.rule.urls?.[0].value&&(h.onMoreDetailsClick=()=>this._onMoreDetailsClick(t)),h}_getRephraseContentProps(e=!1){if(!this._rephraseCardArguments)return;const{editorText:t,remainingRephrasings:s,highlightType:a}=this._rephraseCardArguments;if(this.currentRephraseHighlightType=a,this._sentenceSelection=this._getSentenceSelection(this._anchorSelection),!this._sentenceSelection)return;this._originalSentence=t.slice(this._sentenceSelection.start,this._sentenceSelection.end);const n=this._getWordContext(this._anchorSelection);this._word=n?.word,this._wordSelection=n?{start:n.position.start,end:n.position.end}:void 0;const{showRuleId:r}=this._storageController.getUIState(),{motherTongue:o,hasRephrasingEnabled:i}=this._storageController.getSettings(),l=re.some((e=>kt.getPrimaryLanguageCode(e)===kt.getPrimaryLanguageCode(this._language))),c=this._storageController.getUniqueId(),g=n?{onSynonymClick:this._onSynonymClick.bind(this),language:this._language,isIdle:e,wordContext:n,motherLanguage:o}:void 0,u=i?{highlightSentence:this._dispatchHighlight.bind(this),onPhraseClick:this._onPhraseClick.bind(this),reportPhrase:this._reportPhrase.bind(this),sentence:this._originalSentence,inhouseOnly:this._inhouseOnly,user:this._user,language:this._language,isIdle:e,showRuleId:r,isEnabled:l,remainingRephrasings:s,uniqueId:c}:void 0;return{sentenceRanges:this._getSentenceRanges(),synonymsData:g,paraphrasingsData:u}}_getCurrentContentProps(e=!1){return"correct"===this._currentMode?this._getErrorContentProps(e):this._getRephraseContentProps(e)}_setCardIsIdle(){if(!this._isDetached)return;const e=this._getCurrentContentProps(!0);e&&this._updateContent?.(this._currentMode,this._currentMode,e)}_getChangeLanguageAction(e){if(1===e?.fixes.length&&(e.description.match(/i[ns]\s+(chiefly\s)?((North\s)?American|British)\s+English/i)||"EN_GB_SIMPLE_REPLACE"===e.rule.id)){const{geoIpCountry:t}=this._storageController.getSettings();let s=null,a=null;if(e.description.match(/is\s+(chiefly\s)?British English/)||e?.description.startsWith("In American English")?"CA"===t?(a="en-ca",s="switchToSouthAfricanEnglish"):"AU"===t?(a="en-au",s="switchToAustralianEnglish"):"NZ"===t?(a="en-nz",s="switchToNewZealandEnglish"):"ZA"===t?(a="en-za",s="switchToSouthAfricanEnglish"):(a="en-gb",s="switchToBritishEnglish"):(e.description.match(/is\s+(chiefly\s)?(North\s)?American English/)||e.description.includes("is a common American expression")||e.description.startsWith("In British English"))&&(a="en-us",s="switchToAmericanEnglish"),s&&a)return{onClick:this._onLanguageChange.bind(this,a,e),labelId:s}}}_onFixClick(e,t,s){const a={card:this,selectNextError:s||this.isDetached,error:t,fixIndex:e};this._setCardIsIdle(),ts(document,yr.eventNames.fixSelected,a)}_onCorrectAll(e,t){const s={card:this,selectedError:t,selectNextError:this.isDetached,config:e};this._setCardIsIdle(),ts(document,yr.eventNames.correctAll,s)}_onLanguageChange(e,t){const s={card:this,language:e,error:t};this._setCardIsIdle(),ts(document,yr.eventNames.languageChanged,s)}_onMoreDetailsClick(e){let t;if(t=e.rule.urls?.[0].value){const e={card:this,url:t};ts(document,yr.eventNames.moreDetailsClicked,e)}}_onPremiumClick(e){const t={card:this,isCardDetached:this.isDetached,subject:e};ts(document,yr.eventNames.premiumClick,t)}_onDetachCard(){this._isDetached=!0,Pt.trackEvent("Action","editor_card:detach")}_onNavigateError(e){if(!this._errorCardArguments?.error)return;const{start:t,end:s}=this._errorCardArguments.error,a={card:this,selection:{start:t,end:s},direction:e};this._setCardIsIdle(),ts(document,yr.eventNames.navigateError,a)}_onNavigateSentence(e){if(!this._sentenceSelection)return;const t={card:this,selection:this._sentenceSelection,direction:e};this._setCardIsIdle(),this.currentRephraseHighlightType="sentence",ts(document,yr.eventNames.navigateSentence,t)}_onPremiumTeaserClick(e){const t={card:this,campaign:e??"addon2-errorcard-match"};ts(document,yr.eventNames.premiumTeaserClicked,t)}_onAddToDictionaryClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.addToDictionaryClicked,s)}_onTemporarilyIgnoreWordClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.temporarilyIgnoreWordClicked,s)}_onIgnoreRuleClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.ignoreRuleClicked,s)}_onTemporarilyIgnoreRuleClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.temporarilyIgnoreRuleClicked,s)}_onTurnOffPickyMode(){if(!this._wordSelection)return;const e={card:this,selection:this._wordSelection};this._setCardIsIdle(),ts(document,yr.eventNames.turnOffPickyModeClicked,e)}_onPhraseClick(e){Is(this._sentenceSelection);const t={card:this,phrase:e.text,reverted:!1,selection:this._sentenceSelection,language:this._language,label:e.label};this.isDetached&&(t.selectSentenceAfter=!0),this._setCardIsIdle(),ts(document,yr.eventNames.phraseSelected,t),this._sentenceSelection={start:this._sentenceSelection.start,end:this._sentenceSelection.start+e.text.length}}_onSynonymClick(e){Is(this._word),Is(this._wordSelection);const t={card:this,word:this._word,selection:this._wordSelection,synonym:e};this.isDetached&&(t.selectSynonymReplacement=!0),this._setCardIsIdle(),ts(document,yr.eventNames.synonymSelected,t)}_onSplitSentenceClick(e,t){Is(this._errorCardArguments?.error);const s={...this._errorCardArguments.error,fixes:[{value:e.text}]},a={card:this,sentence:e.text,reverted:!1,label:e.label,language:this._language,selectNextError:t||this.isDetached,error:s};this._setCardIsIdle(),ts(document,yr.eventNames.splitSentenceSelected,a)}_onFixSentenceClick({start:e,end:t,includedErrors:s,selectedErrorId:a},n,r){Is(this._errorCardArguments?.error);const o={card:this,language:this._language,selectNextError:r,includedErrors:s,selectedErrorId:a,sentence:n,start:e,end:t};this._setCardIsIdle(),ts(document,yr.eventNames.fixSentenceSelected,o)}_onFixSentenceMouseOver(e){const t={card:this,includedErrorIds:e};ts(document,yr.eventNames.fixSentenceShowHightlight,t)}_onFixSentenceMouseOut(){const e={card:this};ts(document,yr.eventNames.fixSentenceRemoveHightlight,e)}_onToggleCardMode(e){Is(this._wordSelection||this._sentenceSelection,"Either a word or a sentence selection must be defined for switching to a different card mode");const t={card:this,selection:this._wordSelection||{start:this._sentenceSelection.start},mode:e};this._setCardIsIdle(),ts(document,yr.eventNames.toggleMode,t)}_onCloseClicked(){this.destroy()}_onUnload(){this.destroy()}async _reportPhrase(e,t){if(Is(this._rephraseCardArguments),Is(this._originalSentence),!e[t])return;const{geoIpCountry:s,motherTongue:a,preferredLanguages:n}=this._storageController.getSettings(),r={rephrases:e.slice(0,5).map((({label:e,origin:t,text:s})=>({label:e,origin:t,text:s}))),country:s,hostname:location.hostname,userAgent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,preferredLanguages:n,userLanguage:a,textLanguage:this._language,hasSubscription:this._user?.isPremium||!1,hasGrammarMistakes:this._rephraseCardArguments.hasGrammarMistakes,hasSpellingMistakes:this._rephraseCardArguments.hasSpellingMistakes,originalSentence:this._originalSentence,chosenSentence:e[t].text};ts(document,yr.eventNames.reportPhrase,r)}_dispatchHighlight(e){Me(e)&&(this.currentRephraseHighlightType=e),ts(document,yr.eventNames.highlight,{card:this})}_setUpdateContentFn(e){this._updateContent=e}_getErrorType(e){if(!De(e))return _t(e)}_getFixes(e){return De(e)?[]:e.fixes.slice(0,se).flatMap(((t,s)=>{Is(this._errorCardArguments);const a={text:"",title:t.shortDescription,prefix:t.prefix,suffix:t.suffix,onClick:t=>this._onFixClick(s,e,!t.isTrusted&&t.shiftKey)};if(t.value.match(be)&&!t.value.match(/^\s*[\-–—:;]\s*$/))a.text=t.value.replace(be,"·");else{const s=t.value.replace(Se," ");e.fixes.length>3&&e.isSpellingError?a.text=s:(a.type="highlight",a.html=Zs(ea(e.originalPhrase,s)))}""===t.value&&e.originalPhrase.match(/[a-z0-9]{2,}/)?(a.type="remove",a.text=e.originalPhrase,a.html=void 0):""===t.value?(a.type="delete",a.text="",a.html=void 0):e.language.code.startsWith("en")&&"–"===t.value&&"-"===e.originalPhrase.trim()?(a.type="insert-en-dash",a.text="",a.html=void 0):e.language.code.startsWith("en")&&" — "===t.value&&"-"===e.originalPhrase.trim()?(a.type="insert-em-dash-with-space",a.text="",a.html=void 0):e.language.code.startsWith("en")&&"—"===t.value&&"-"===e.originalPhrase.trim()?(a.type="insert-em-dash",a.text="",a.html=void 0):" "===t.value&&/^\s\s+$/.test(e.originalPhrase)?(a.type="remove-whitespace",a.text="",a.html=void 0):" "===t.value&&/^[-]+$/.test(e.originalPhrase)&&(a.type="replace-hyphen",a.text="",a.html=void 0);const n=js(e,t.value);if(this._errorCardArguments.canCorrectMultipleAtOnce&&n){return[a,{text:"",html:n.suggestion.message,type:"correct-all",onClick:()=>this._onCorrectAll(n,e)}]}return a}))}_getFixSentencePayloadByError(e,t){if(Date.now()>0)return null;if(!e)return null;const s=kt.getPrimaryLanguageCode(this._language),a=!1===ie.includes(s),n=this._storageController.hasCustomServer();if(a||n)return null;const r=this._getSentenceRanges()?.find((({start:t,end:s})=>e.start>=t&&e.end<=s));if(!r)return null;const o=t.filter((e=>{const t=["grammar","punctuation","spelling"].includes(_t(e));return 1===e.fixes.length&&e.start>=r.start&&e.end<=r.end&&t})).sort((({start:e},{start:t})=>e>t?1:-1));return o.length<le||!Me(e.id)?null:{start:r.start,end:r.end,content:this._getText().slice(r.start,r.end),includedErrors:o,selectedErrorId:e.id}}_getWordContext(e){const t=this._getSentenceRanges();return e&&t?(Is(this._rephraseCardArguments),qe(this._rephraseCardArguments.editorText,e.start,e.end,t)):null}_getSentenceSelection(e){if(!e)return;const t=this._getText(),s=this._getSentenceRanges(),a=gs(t,s,e);if(!cs(t,s,a))return;const n=s?.find((({start:e,end:t})=>e<=a.start&&t>=a.end));if("number"==typeof n?.start&&"number"==typeof n?.end){const{start:e,end:t}=n;return{start:e,end:t}}}_checkHasOverlayUnderTargetBox(e){"number"==typeof this._overlayUnderTargetBoxTimeoutId&&(clearTimeout(this._overlayUnderTargetBoxTimeoutId),this._overlayUnderTargetBoxTimeoutId=void 0);const t=!0===this._hasOverlayUnderTargetBox||e();return this._hasOverlayUnderTargetBox=t,self.setTimeout((()=>{this._hasOverlayUnderTargetBox=void 0}),200),t}}yr.CONTAINER_ELEMENT_NAME="lt-card",yr.BLOCK_ID="editor-card",yr.eventNames={addToDictionaryClicked:"lt-card.addToDictionaryClicked",ignoreRuleClicked:"lt-card.ignoreRuleClicked",temporarilyIgnoreWordClicked:"lt-card.temporarilyIgnoreWordClicked",temporarilyIgnoreRuleClicked:"lt-card.temporarilyIgnoreRuleClicked",turnOffPickyModeClicked:"lt-card.turnOffPickyModeClicked",moreDetailsClicked:"lt-card.moreDetailsClicked",fixSelected:"lt-card.fixSelected",languageChanged:"lt-card.languageSwitched",premiumClick:"lt-card.premiumClick",premiumTeaserClicked:"lt-card.premiumTeaserClicked",navigateError:"lt-card.navigateError",navigateSentence:"lt-card.navigateSentence",destroyed:"lt-card.destroyed",correctAll:"lt-card.correctAll",synonymSelected:"lt-card.synonymSelected",phraseSelected:"lt-card.phraseSelected",splitSentenceSelected:"lt-card.splitSentenceSelected",fixSentenceSelected:"lt-card.fixSentenceSelected",fixSentenceShowHightlight:"lt-card.fixSentenceShowHightlight",fixSentenceRemoveHightlight:"lt-card.fixSentenceRemoveHightlight",reportPhrase:"lt-card.reportPhrase",toggleMode:"lt-card.toggleMode",highlight:"lt-card.highlight"};const Tr=yr;
90
90
  /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */