@instructure/canvas-rce 5.6.2 → 5.6.3

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 (3415) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/coverage/canvas-rce-jest.xml +2087 -2139
  3. package/coverage/canvas-rce-junit.xml +398 -394
  4. package/es/common/fileUrl.js +4 -3
  5. package/es/enhance-user-content/doc_previews.js +1 -1
  6. package/es/enhance-user-content/enhance_user_content.js +19 -7
  7. package/es/enhance-user-content/instructure_helper.js +2 -1
  8. package/es/rce/RCEWrapper.js +4 -7
  9. package/es/rce/contentRendering.js +2 -2
  10. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  11. package/es/rce/plugins/shared/CanvasContentTray.js +22 -23
  12. package/es/rce/plugins/shared/RceFileBrowser.js +13 -5
  13. package/es/rce/tinyRCE.js +0 -1
  14. package/es/rcs/api.js +3 -2
  15. package/es/sidebar/store/initialState.js +4 -2
  16. package/es/translations/locales/ar.js +36 -0
  17. package/es/translations/locales/ca.js +36 -0
  18. package/es/translations/locales/cy.js +36 -0
  19. package/es/translations/locales/da-x-k12.js +36 -0
  20. package/es/translations/locales/da.js +36 -0
  21. package/es/translations/locales/de.js +36 -0
  22. package/es/translations/locales/en-AU-x-unimelb.js +36 -0
  23. package/es/translations/locales/en-GB-x-ukhe.js +36 -0
  24. package/es/translations/locales/en_AU.js +36 -0
  25. package/es/translations/locales/en_CA.js +36 -0
  26. package/es/translations/locales/en_CY.js +36 -0
  27. package/es/translations/locales/en_GB.js +36 -0
  28. package/es/translations/locales/es.js +36 -0
  29. package/es/translations/locales/es_ES.js +36 -0
  30. package/es/translations/locales/fi.js +36 -0
  31. package/es/translations/locales/fr.js +36 -0
  32. package/es/translations/locales/fr_CA.js +36 -0
  33. package/es/translations/locales/ht.js +36 -0
  34. package/es/translations/locales/is.js +36 -0
  35. package/es/translations/locales/it.js +36 -0
  36. package/es/translations/locales/ja.js +36 -0
  37. package/es/translations/locales/mi.js +36 -0
  38. package/es/translations/locales/nb-x-k12.js +36 -0
  39. package/es/translations/locales/nb.js +36 -0
  40. package/es/translations/locales/nl.js +36 -0
  41. package/es/translations/locales/pl.js +36 -0
  42. package/es/translations/locales/pt.js +36 -0
  43. package/es/translations/locales/pt_BR.js +36 -0
  44. package/es/translations/locales/sl.js +36 -0
  45. package/es/translations/locales/sv-x-k12.js +36 -0
  46. package/es/translations/locales/zh-Hans.js +36 -0
  47. package/es/translations/locales/zh-Hant.js +36 -0
  48. package/es/translations/locales/zh.js +36 -0
  49. package/es/translations/locales/zh_HK.js +36 -0
  50. package/lib/common/fileUrl.js +4 -3
  51. package/lib/enhance-user-content/doc_previews.js +1 -1
  52. package/lib/enhance-user-content/enhance_user_content.js +19 -7
  53. package/lib/enhance-user-content/instructure_helper.js +2 -1
  54. package/lib/rce/RCEWrapper.js +4 -7
  55. package/lib/rce/contentRendering.js +2 -2
  56. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  57. package/lib/rce/plugins/shared/CanvasContentTray.js +22 -23
  58. package/lib/rce/plugins/shared/RceFileBrowser.js +13 -5
  59. package/lib/rce/tinyRCE.js +0 -1
  60. package/lib/rcs/api.js +3 -2
  61. package/lib/sidebar/store/initialState.js +4 -2
  62. package/lib/translated/ar/modules/common/fileUrl.js +4 -3
  63. package/lib/translated/ar/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  64. package/lib/translated/ar/modules/enhance-user-content/doc_previews.js +3 -3
  65. package/lib/translated/ar/modules/enhance-user-content/enhance_user_content.js +23 -11
  66. package/lib/translated/ar/modules/enhance-user-content/instructure_helper.js +4 -3
  67. package/lib/translated/ar/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  68. package/lib/translated/ar/modules/rce/RCEWrapper.js +4 -7
  69. package/lib/translated/ar/modules/rce/StatusBar.js +1 -1
  70. package/lib/translated/ar/modules/rce/__tests__/contentInsertion.test.js +1 -1
  71. package/lib/translated/ar/modules/rce/__tests__/contentRendering.test.js +10 -0
  72. package/lib/translated/ar/modules/rce/contentRendering.js +2 -2
  73. package/lib/translated/ar/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  74. package/lib/translated/ar/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  75. package/lib/translated/ar/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  76. package/lib/translated/ar/modules/rce/tinyRCE.js +0 -1
  77. package/lib/translated/ar/modules/rcs/api.js +3 -2
  78. package/lib/translated/ar/modules/sidebar/store/initialState.js +4 -2
  79. package/lib/translated/ar/modules/translations/locales/ar.js +36 -0
  80. package/lib/translated/ar/modules/translations/locales/ca.js +36 -0
  81. package/lib/translated/ar/modules/translations/locales/cy.js +36 -0
  82. package/lib/translated/ar/modules/translations/locales/da-x-k12.js +36 -0
  83. package/lib/translated/ar/modules/translations/locales/da.js +36 -0
  84. package/lib/translated/ar/modules/translations/locales/de.js +36 -0
  85. package/lib/translated/ar/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  86. package/lib/translated/ar/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  87. package/lib/translated/ar/modules/translations/locales/en_AU.js +36 -0
  88. package/lib/translated/ar/modules/translations/locales/en_CA.js +36 -0
  89. package/lib/translated/ar/modules/translations/locales/en_CY.js +36 -0
  90. package/lib/translated/ar/modules/translations/locales/en_GB.js +36 -0
  91. package/lib/translated/ar/modules/translations/locales/es.js +36 -0
  92. package/lib/translated/ar/modules/translations/locales/es_ES.js +36 -0
  93. package/lib/translated/ar/modules/translations/locales/fi.js +36 -0
  94. package/lib/translated/ar/modules/translations/locales/fr.js +36 -0
  95. package/lib/translated/ar/modules/translations/locales/fr_CA.js +36 -0
  96. package/lib/translated/ar/modules/translations/locales/ht.js +36 -0
  97. package/lib/translated/ar/modules/translations/locales/is.js +36 -0
  98. package/lib/translated/ar/modules/translations/locales/it.js +36 -0
  99. package/lib/translated/ar/modules/translations/locales/ja.js +36 -0
  100. package/lib/translated/ar/modules/translations/locales/mi.js +36 -0
  101. package/lib/translated/ar/modules/translations/locales/nb-x-k12.js +36 -0
  102. package/lib/translated/ar/modules/translations/locales/nb.js +36 -0
  103. package/lib/translated/ar/modules/translations/locales/nl.js +36 -0
  104. package/lib/translated/ar/modules/translations/locales/pl.js +36 -0
  105. package/lib/translated/ar/modules/translations/locales/pt.js +36 -0
  106. package/lib/translated/ar/modules/translations/locales/pt_BR.js +36 -0
  107. package/lib/translated/ar/modules/translations/locales/sl.js +36 -0
  108. package/lib/translated/ar/modules/translations/locales/sv-x-k12.js +36 -0
  109. package/lib/translated/ar/modules/translations/locales/zh-Hans.js +36 -0
  110. package/lib/translated/ar/modules/translations/locales/zh-Hant.js +36 -0
  111. package/lib/translated/ar/modules/translations/locales/zh.js +36 -0
  112. package/lib/translated/ar/modules/translations/locales/zh_HK.js +36 -0
  113. package/lib/translated/ca/modules/common/fileUrl.js +4 -3
  114. package/lib/translated/ca/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  115. package/lib/translated/ca/modules/enhance-user-content/doc_previews.js +3 -3
  116. package/lib/translated/ca/modules/enhance-user-content/enhance_user_content.js +23 -11
  117. package/lib/translated/ca/modules/enhance-user-content/instructure_helper.js +4 -3
  118. package/lib/translated/ca/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  119. package/lib/translated/ca/modules/rce/RCEWrapper.js +4 -7
  120. package/lib/translated/ca/modules/rce/StatusBar.js +1 -1
  121. package/lib/translated/ca/modules/rce/__tests__/contentInsertion.test.js +1 -1
  122. package/lib/translated/ca/modules/rce/__tests__/contentRendering.test.js +10 -0
  123. package/lib/translated/ca/modules/rce/contentRendering.js +2 -2
  124. package/lib/translated/ca/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  125. package/lib/translated/ca/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  126. package/lib/translated/ca/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  127. package/lib/translated/ca/modules/rce/tinyRCE.js +0 -1
  128. package/lib/translated/ca/modules/rcs/api.js +3 -2
  129. package/lib/translated/ca/modules/sidebar/store/initialState.js +4 -2
  130. package/lib/translated/ca/modules/translations/locales/ar.js +36 -0
  131. package/lib/translated/ca/modules/translations/locales/ca.js +36 -0
  132. package/lib/translated/ca/modules/translations/locales/cy.js +36 -0
  133. package/lib/translated/ca/modules/translations/locales/da-x-k12.js +36 -0
  134. package/lib/translated/ca/modules/translations/locales/da.js +36 -0
  135. package/lib/translated/ca/modules/translations/locales/de.js +36 -0
  136. package/lib/translated/ca/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  137. package/lib/translated/ca/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  138. package/lib/translated/ca/modules/translations/locales/en_AU.js +36 -0
  139. package/lib/translated/ca/modules/translations/locales/en_CA.js +36 -0
  140. package/lib/translated/ca/modules/translations/locales/en_CY.js +36 -0
  141. package/lib/translated/ca/modules/translations/locales/en_GB.js +36 -0
  142. package/lib/translated/ca/modules/translations/locales/es.js +36 -0
  143. package/lib/translated/ca/modules/translations/locales/es_ES.js +36 -0
  144. package/lib/translated/ca/modules/translations/locales/fi.js +36 -0
  145. package/lib/translated/ca/modules/translations/locales/fr.js +36 -0
  146. package/lib/translated/ca/modules/translations/locales/fr_CA.js +36 -0
  147. package/lib/translated/ca/modules/translations/locales/ht.js +36 -0
  148. package/lib/translated/ca/modules/translations/locales/is.js +36 -0
  149. package/lib/translated/ca/modules/translations/locales/it.js +36 -0
  150. package/lib/translated/ca/modules/translations/locales/ja.js +36 -0
  151. package/lib/translated/ca/modules/translations/locales/mi.js +36 -0
  152. package/lib/translated/ca/modules/translations/locales/nb-x-k12.js +36 -0
  153. package/lib/translated/ca/modules/translations/locales/nb.js +36 -0
  154. package/lib/translated/ca/modules/translations/locales/nl.js +36 -0
  155. package/lib/translated/ca/modules/translations/locales/pl.js +36 -0
  156. package/lib/translated/ca/modules/translations/locales/pt.js +36 -0
  157. package/lib/translated/ca/modules/translations/locales/pt_BR.js +36 -0
  158. package/lib/translated/ca/modules/translations/locales/sl.js +36 -0
  159. package/lib/translated/ca/modules/translations/locales/sv-x-k12.js +36 -0
  160. package/lib/translated/ca/modules/translations/locales/zh-Hans.js +36 -0
  161. package/lib/translated/ca/modules/translations/locales/zh-Hant.js +36 -0
  162. package/lib/translated/ca/modules/translations/locales/zh.js +36 -0
  163. package/lib/translated/ca/modules/translations/locales/zh_HK.js +36 -0
  164. package/lib/translated/cy/modules/common/fileUrl.js +4 -3
  165. package/lib/translated/cy/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  166. package/lib/translated/cy/modules/enhance-user-content/doc_previews.js +3 -3
  167. package/lib/translated/cy/modules/enhance-user-content/enhance_user_content.js +23 -11
  168. package/lib/translated/cy/modules/enhance-user-content/instructure_helper.js +4 -3
  169. package/lib/translated/cy/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  170. package/lib/translated/cy/modules/rce/RCEWrapper.js +4 -7
  171. package/lib/translated/cy/modules/rce/StatusBar.js +1 -1
  172. package/lib/translated/cy/modules/rce/__tests__/contentInsertion.test.js +1 -1
  173. package/lib/translated/cy/modules/rce/__tests__/contentRendering.test.js +10 -0
  174. package/lib/translated/cy/modules/rce/contentRendering.js +2 -2
  175. package/lib/translated/cy/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  176. package/lib/translated/cy/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  177. package/lib/translated/cy/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  178. package/lib/translated/cy/modules/rce/tinyRCE.js +0 -1
  179. package/lib/translated/cy/modules/rcs/api.js +3 -2
  180. package/lib/translated/cy/modules/sidebar/store/initialState.js +4 -2
  181. package/lib/translated/cy/modules/translations/locales/ar.js +36 -0
  182. package/lib/translated/cy/modules/translations/locales/ca.js +36 -0
  183. package/lib/translated/cy/modules/translations/locales/cy.js +36 -0
  184. package/lib/translated/cy/modules/translations/locales/da-x-k12.js +36 -0
  185. package/lib/translated/cy/modules/translations/locales/da.js +36 -0
  186. package/lib/translated/cy/modules/translations/locales/de.js +36 -0
  187. package/lib/translated/cy/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  188. package/lib/translated/cy/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  189. package/lib/translated/cy/modules/translations/locales/en_AU.js +36 -0
  190. package/lib/translated/cy/modules/translations/locales/en_CA.js +36 -0
  191. package/lib/translated/cy/modules/translations/locales/en_CY.js +36 -0
  192. package/lib/translated/cy/modules/translations/locales/en_GB.js +36 -0
  193. package/lib/translated/cy/modules/translations/locales/es.js +36 -0
  194. package/lib/translated/cy/modules/translations/locales/es_ES.js +36 -0
  195. package/lib/translated/cy/modules/translations/locales/fi.js +36 -0
  196. package/lib/translated/cy/modules/translations/locales/fr.js +36 -0
  197. package/lib/translated/cy/modules/translations/locales/fr_CA.js +36 -0
  198. package/lib/translated/cy/modules/translations/locales/ht.js +36 -0
  199. package/lib/translated/cy/modules/translations/locales/is.js +36 -0
  200. package/lib/translated/cy/modules/translations/locales/it.js +36 -0
  201. package/lib/translated/cy/modules/translations/locales/ja.js +36 -0
  202. package/lib/translated/cy/modules/translations/locales/mi.js +36 -0
  203. package/lib/translated/cy/modules/translations/locales/nb-x-k12.js +36 -0
  204. package/lib/translated/cy/modules/translations/locales/nb.js +36 -0
  205. package/lib/translated/cy/modules/translations/locales/nl.js +36 -0
  206. package/lib/translated/cy/modules/translations/locales/pl.js +36 -0
  207. package/lib/translated/cy/modules/translations/locales/pt.js +36 -0
  208. package/lib/translated/cy/modules/translations/locales/pt_BR.js +36 -0
  209. package/lib/translated/cy/modules/translations/locales/sl.js +36 -0
  210. package/lib/translated/cy/modules/translations/locales/sv-x-k12.js +36 -0
  211. package/lib/translated/cy/modules/translations/locales/zh-Hans.js +36 -0
  212. package/lib/translated/cy/modules/translations/locales/zh-Hant.js +36 -0
  213. package/lib/translated/cy/modules/translations/locales/zh.js +36 -0
  214. package/lib/translated/cy/modules/translations/locales/zh_HK.js +36 -0
  215. package/lib/translated/da/modules/common/fileUrl.js +4 -3
  216. package/lib/translated/da/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  217. package/lib/translated/da/modules/enhance-user-content/doc_previews.js +3 -3
  218. package/lib/translated/da/modules/enhance-user-content/enhance_user_content.js +22 -10
  219. package/lib/translated/da/modules/enhance-user-content/instructure_helper.js +4 -3
  220. package/lib/translated/da/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  221. package/lib/translated/da/modules/rce/RCEWrapper.js +4 -7
  222. package/lib/translated/da/modules/rce/StatusBar.js +1 -1
  223. package/lib/translated/da/modules/rce/__tests__/contentInsertion.test.js +1 -1
  224. package/lib/translated/da/modules/rce/__tests__/contentRendering.test.js +10 -0
  225. package/lib/translated/da/modules/rce/contentRendering.js +2 -2
  226. package/lib/translated/da/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  227. package/lib/translated/da/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  228. package/lib/translated/da/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  229. package/lib/translated/da/modules/rce/tinyRCE.js +0 -1
  230. package/lib/translated/da/modules/rcs/api.js +3 -2
  231. package/lib/translated/da/modules/sidebar/store/initialState.js +4 -2
  232. package/lib/translated/da/modules/translations/locales/ar.js +36 -0
  233. package/lib/translated/da/modules/translations/locales/ca.js +36 -0
  234. package/lib/translated/da/modules/translations/locales/cy.js +36 -0
  235. package/lib/translated/da/modules/translations/locales/da-x-k12.js +36 -0
  236. package/lib/translated/da/modules/translations/locales/da.js +36 -0
  237. package/lib/translated/da/modules/translations/locales/de.js +36 -0
  238. package/lib/translated/da/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  239. package/lib/translated/da/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  240. package/lib/translated/da/modules/translations/locales/en_AU.js +36 -0
  241. package/lib/translated/da/modules/translations/locales/en_CA.js +36 -0
  242. package/lib/translated/da/modules/translations/locales/en_CY.js +36 -0
  243. package/lib/translated/da/modules/translations/locales/en_GB.js +36 -0
  244. package/lib/translated/da/modules/translations/locales/es.js +36 -0
  245. package/lib/translated/da/modules/translations/locales/es_ES.js +36 -0
  246. package/lib/translated/da/modules/translations/locales/fi.js +36 -0
  247. package/lib/translated/da/modules/translations/locales/fr.js +36 -0
  248. package/lib/translated/da/modules/translations/locales/fr_CA.js +36 -0
  249. package/lib/translated/da/modules/translations/locales/ht.js +36 -0
  250. package/lib/translated/da/modules/translations/locales/is.js +36 -0
  251. package/lib/translated/da/modules/translations/locales/it.js +36 -0
  252. package/lib/translated/da/modules/translations/locales/ja.js +36 -0
  253. package/lib/translated/da/modules/translations/locales/mi.js +36 -0
  254. package/lib/translated/da/modules/translations/locales/nb-x-k12.js +36 -0
  255. package/lib/translated/da/modules/translations/locales/nb.js +36 -0
  256. package/lib/translated/da/modules/translations/locales/nl.js +36 -0
  257. package/lib/translated/da/modules/translations/locales/pl.js +36 -0
  258. package/lib/translated/da/modules/translations/locales/pt.js +36 -0
  259. package/lib/translated/da/modules/translations/locales/pt_BR.js +36 -0
  260. package/lib/translated/da/modules/translations/locales/sl.js +36 -0
  261. package/lib/translated/da/modules/translations/locales/sv-x-k12.js +36 -0
  262. package/lib/translated/da/modules/translations/locales/zh-Hans.js +36 -0
  263. package/lib/translated/da/modules/translations/locales/zh-Hant.js +36 -0
  264. package/lib/translated/da/modules/translations/locales/zh.js +36 -0
  265. package/lib/translated/da/modules/translations/locales/zh_HK.js +36 -0
  266. package/lib/translated/da-x-k12/modules/common/fileUrl.js +4 -3
  267. package/lib/translated/da-x-k12/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  268. package/lib/translated/da-x-k12/modules/enhance-user-content/doc_previews.js +3 -3
  269. package/lib/translated/da-x-k12/modules/enhance-user-content/enhance_user_content.js +22 -10
  270. package/lib/translated/da-x-k12/modules/enhance-user-content/instructure_helper.js +4 -3
  271. package/lib/translated/da-x-k12/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  272. package/lib/translated/da-x-k12/modules/rce/RCEWrapper.js +4 -7
  273. package/lib/translated/da-x-k12/modules/rce/StatusBar.js +1 -1
  274. package/lib/translated/da-x-k12/modules/rce/__tests__/contentInsertion.test.js +1 -1
  275. package/lib/translated/da-x-k12/modules/rce/__tests__/contentRendering.test.js +10 -0
  276. package/lib/translated/da-x-k12/modules/rce/contentRendering.js +2 -2
  277. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  278. package/lib/translated/da-x-k12/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  279. package/lib/translated/da-x-k12/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  280. package/lib/translated/da-x-k12/modules/rce/tinyRCE.js +0 -1
  281. package/lib/translated/da-x-k12/modules/rcs/api.js +3 -2
  282. package/lib/translated/da-x-k12/modules/sidebar/store/initialState.js +4 -2
  283. package/lib/translated/da-x-k12/modules/translations/locales/ar.js +36 -0
  284. package/lib/translated/da-x-k12/modules/translations/locales/ca.js +36 -0
  285. package/lib/translated/da-x-k12/modules/translations/locales/cy.js +36 -0
  286. package/lib/translated/da-x-k12/modules/translations/locales/da-x-k12.js +36 -0
  287. package/lib/translated/da-x-k12/modules/translations/locales/da.js +36 -0
  288. package/lib/translated/da-x-k12/modules/translations/locales/de.js +36 -0
  289. package/lib/translated/da-x-k12/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  290. package/lib/translated/da-x-k12/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  291. package/lib/translated/da-x-k12/modules/translations/locales/en_AU.js +36 -0
  292. package/lib/translated/da-x-k12/modules/translations/locales/en_CA.js +36 -0
  293. package/lib/translated/da-x-k12/modules/translations/locales/en_CY.js +36 -0
  294. package/lib/translated/da-x-k12/modules/translations/locales/en_GB.js +36 -0
  295. package/lib/translated/da-x-k12/modules/translations/locales/es.js +36 -0
  296. package/lib/translated/da-x-k12/modules/translations/locales/es_ES.js +36 -0
  297. package/lib/translated/da-x-k12/modules/translations/locales/fi.js +36 -0
  298. package/lib/translated/da-x-k12/modules/translations/locales/fr.js +36 -0
  299. package/lib/translated/da-x-k12/modules/translations/locales/fr_CA.js +36 -0
  300. package/lib/translated/da-x-k12/modules/translations/locales/ht.js +36 -0
  301. package/lib/translated/da-x-k12/modules/translations/locales/is.js +36 -0
  302. package/lib/translated/da-x-k12/modules/translations/locales/it.js +36 -0
  303. package/lib/translated/da-x-k12/modules/translations/locales/ja.js +36 -0
  304. package/lib/translated/da-x-k12/modules/translations/locales/mi.js +36 -0
  305. package/lib/translated/da-x-k12/modules/translations/locales/nb-x-k12.js +36 -0
  306. package/lib/translated/da-x-k12/modules/translations/locales/nb.js +36 -0
  307. package/lib/translated/da-x-k12/modules/translations/locales/nl.js +36 -0
  308. package/lib/translated/da-x-k12/modules/translations/locales/pl.js +36 -0
  309. package/lib/translated/da-x-k12/modules/translations/locales/pt.js +36 -0
  310. package/lib/translated/da-x-k12/modules/translations/locales/pt_BR.js +36 -0
  311. package/lib/translated/da-x-k12/modules/translations/locales/sl.js +36 -0
  312. package/lib/translated/da-x-k12/modules/translations/locales/sv-x-k12.js +36 -0
  313. package/lib/translated/da-x-k12/modules/translations/locales/zh-Hans.js +36 -0
  314. package/lib/translated/da-x-k12/modules/translations/locales/zh-Hant.js +36 -0
  315. package/lib/translated/da-x-k12/modules/translations/locales/zh.js +36 -0
  316. package/lib/translated/da-x-k12/modules/translations/locales/zh_HK.js +36 -0
  317. package/lib/translated/de/modules/common/fileUrl.js +4 -3
  318. package/lib/translated/de/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  319. package/lib/translated/de/modules/enhance-user-content/doc_previews.js +3 -3
  320. package/lib/translated/de/modules/enhance-user-content/enhance_user_content.js +23 -11
  321. package/lib/translated/de/modules/enhance-user-content/instructure_helper.js +4 -3
  322. package/lib/translated/de/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  323. package/lib/translated/de/modules/rce/RCEWrapper.js +4 -7
  324. package/lib/translated/de/modules/rce/StatusBar.js +1 -1
  325. package/lib/translated/de/modules/rce/__tests__/contentInsertion.test.js +1 -1
  326. package/lib/translated/de/modules/rce/__tests__/contentRendering.test.js +10 -0
  327. package/lib/translated/de/modules/rce/contentRendering.js +2 -2
  328. package/lib/translated/de/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  329. package/lib/translated/de/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  330. package/lib/translated/de/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  331. package/lib/translated/de/modules/rce/tinyRCE.js +0 -1
  332. package/lib/translated/de/modules/rcs/api.js +3 -2
  333. package/lib/translated/de/modules/sidebar/store/initialState.js +4 -2
  334. package/lib/translated/de/modules/translations/locales/ar.js +36 -0
  335. package/lib/translated/de/modules/translations/locales/ca.js +36 -0
  336. package/lib/translated/de/modules/translations/locales/cy.js +36 -0
  337. package/lib/translated/de/modules/translations/locales/da-x-k12.js +36 -0
  338. package/lib/translated/de/modules/translations/locales/da.js +36 -0
  339. package/lib/translated/de/modules/translations/locales/de.js +36 -0
  340. package/lib/translated/de/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  341. package/lib/translated/de/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  342. package/lib/translated/de/modules/translations/locales/en_AU.js +36 -0
  343. package/lib/translated/de/modules/translations/locales/en_CA.js +36 -0
  344. package/lib/translated/de/modules/translations/locales/en_CY.js +36 -0
  345. package/lib/translated/de/modules/translations/locales/en_GB.js +36 -0
  346. package/lib/translated/de/modules/translations/locales/es.js +36 -0
  347. package/lib/translated/de/modules/translations/locales/es_ES.js +36 -0
  348. package/lib/translated/de/modules/translations/locales/fi.js +36 -0
  349. package/lib/translated/de/modules/translations/locales/fr.js +36 -0
  350. package/lib/translated/de/modules/translations/locales/fr_CA.js +36 -0
  351. package/lib/translated/de/modules/translations/locales/ht.js +36 -0
  352. package/lib/translated/de/modules/translations/locales/is.js +36 -0
  353. package/lib/translated/de/modules/translations/locales/it.js +36 -0
  354. package/lib/translated/de/modules/translations/locales/ja.js +36 -0
  355. package/lib/translated/de/modules/translations/locales/mi.js +36 -0
  356. package/lib/translated/de/modules/translations/locales/nb-x-k12.js +36 -0
  357. package/lib/translated/de/modules/translations/locales/nb.js +36 -0
  358. package/lib/translated/de/modules/translations/locales/nl.js +36 -0
  359. package/lib/translated/de/modules/translations/locales/pl.js +36 -0
  360. package/lib/translated/de/modules/translations/locales/pt.js +36 -0
  361. package/lib/translated/de/modules/translations/locales/pt_BR.js +36 -0
  362. package/lib/translated/de/modules/translations/locales/sl.js +36 -0
  363. package/lib/translated/de/modules/translations/locales/sv-x-k12.js +36 -0
  364. package/lib/translated/de/modules/translations/locales/zh-Hans.js +36 -0
  365. package/lib/translated/de/modules/translations/locales/zh-Hant.js +36 -0
  366. package/lib/translated/de/modules/translations/locales/zh.js +36 -0
  367. package/lib/translated/de/modules/translations/locales/zh_HK.js +36 -0
  368. package/lib/translated/el/modules/common/fileUrl.js +4 -3
  369. package/lib/translated/el/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  370. package/lib/translated/el/modules/enhance-user-content/doc_previews.js +1 -1
  371. package/lib/translated/el/modules/enhance-user-content/enhance_user_content.js +19 -7
  372. package/lib/translated/el/modules/enhance-user-content/instructure_helper.js +2 -1
  373. package/lib/translated/el/modules/rce/RCEWrapper.js +4 -7
  374. package/lib/translated/el/modules/rce/__tests__/contentInsertion.test.js +1 -1
  375. package/lib/translated/el/modules/rce/__tests__/contentRendering.test.js +10 -0
  376. package/lib/translated/el/modules/rce/contentRendering.js +2 -2
  377. package/lib/translated/el/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  378. package/lib/translated/el/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  379. package/lib/translated/el/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  380. package/lib/translated/el/modules/rce/tinyRCE.js +0 -1
  381. package/lib/translated/el/modules/rcs/api.js +3 -2
  382. package/lib/translated/el/modules/sidebar/store/initialState.js +4 -2
  383. package/lib/translated/el/modules/translations/locales/ar.js +36 -0
  384. package/lib/translated/el/modules/translations/locales/ca.js +36 -0
  385. package/lib/translated/el/modules/translations/locales/cy.js +36 -0
  386. package/lib/translated/el/modules/translations/locales/da-x-k12.js +36 -0
  387. package/lib/translated/el/modules/translations/locales/da.js +36 -0
  388. package/lib/translated/el/modules/translations/locales/de.js +36 -0
  389. package/lib/translated/el/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  390. package/lib/translated/el/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  391. package/lib/translated/el/modules/translations/locales/en_AU.js +36 -0
  392. package/lib/translated/el/modules/translations/locales/en_CA.js +36 -0
  393. package/lib/translated/el/modules/translations/locales/en_CY.js +36 -0
  394. package/lib/translated/el/modules/translations/locales/en_GB.js +36 -0
  395. package/lib/translated/el/modules/translations/locales/es.js +36 -0
  396. package/lib/translated/el/modules/translations/locales/es_ES.js +36 -0
  397. package/lib/translated/el/modules/translations/locales/fi.js +36 -0
  398. package/lib/translated/el/modules/translations/locales/fr.js +36 -0
  399. package/lib/translated/el/modules/translations/locales/fr_CA.js +36 -0
  400. package/lib/translated/el/modules/translations/locales/ht.js +36 -0
  401. package/lib/translated/el/modules/translations/locales/is.js +36 -0
  402. package/lib/translated/el/modules/translations/locales/it.js +36 -0
  403. package/lib/translated/el/modules/translations/locales/ja.js +36 -0
  404. package/lib/translated/el/modules/translations/locales/mi.js +36 -0
  405. package/lib/translated/el/modules/translations/locales/nb-x-k12.js +36 -0
  406. package/lib/translated/el/modules/translations/locales/nb.js +36 -0
  407. package/lib/translated/el/modules/translations/locales/nl.js +36 -0
  408. package/lib/translated/el/modules/translations/locales/pl.js +36 -0
  409. package/lib/translated/el/modules/translations/locales/pt.js +36 -0
  410. package/lib/translated/el/modules/translations/locales/pt_BR.js +36 -0
  411. package/lib/translated/el/modules/translations/locales/sl.js +36 -0
  412. package/lib/translated/el/modules/translations/locales/sv-x-k12.js +36 -0
  413. package/lib/translated/el/modules/translations/locales/zh-Hans.js +36 -0
  414. package/lib/translated/el/modules/translations/locales/zh-Hant.js +36 -0
  415. package/lib/translated/el/modules/translations/locales/zh.js +36 -0
  416. package/lib/translated/el/modules/translations/locales/zh_HK.js +36 -0
  417. package/lib/translated/en/modules/common/fileUrl.js +4 -3
  418. package/lib/translated/en/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  419. package/lib/translated/en/modules/enhance-user-content/doc_previews.js +1 -1
  420. package/lib/translated/en/modules/enhance-user-content/enhance_user_content.js +19 -7
  421. package/lib/translated/en/modules/enhance-user-content/instructure_helper.js +2 -1
  422. package/lib/translated/en/modules/rce/RCEWrapper.js +4 -7
  423. package/lib/translated/en/modules/rce/__tests__/contentInsertion.test.js +1 -1
  424. package/lib/translated/en/modules/rce/__tests__/contentRendering.test.js +10 -0
  425. package/lib/translated/en/modules/rce/contentRendering.js +2 -2
  426. package/lib/translated/en/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  427. package/lib/translated/en/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  428. package/lib/translated/en/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  429. package/lib/translated/en/modules/rce/tinyRCE.js +0 -1
  430. package/lib/translated/en/modules/rcs/api.js +3 -2
  431. package/lib/translated/en/modules/sidebar/store/initialState.js +4 -2
  432. package/lib/translated/en/modules/translations/locales/ar.js +36 -0
  433. package/lib/translated/en/modules/translations/locales/ca.js +36 -0
  434. package/lib/translated/en/modules/translations/locales/cy.js +36 -0
  435. package/lib/translated/en/modules/translations/locales/da-x-k12.js +36 -0
  436. package/lib/translated/en/modules/translations/locales/da.js +36 -0
  437. package/lib/translated/en/modules/translations/locales/de.js +36 -0
  438. package/lib/translated/en/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  439. package/lib/translated/en/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  440. package/lib/translated/en/modules/translations/locales/en_AU.js +36 -0
  441. package/lib/translated/en/modules/translations/locales/en_CA.js +36 -0
  442. package/lib/translated/en/modules/translations/locales/en_CY.js +36 -0
  443. package/lib/translated/en/modules/translations/locales/en_GB.js +36 -0
  444. package/lib/translated/en/modules/translations/locales/es.js +36 -0
  445. package/lib/translated/en/modules/translations/locales/es_ES.js +36 -0
  446. package/lib/translated/en/modules/translations/locales/fi.js +36 -0
  447. package/lib/translated/en/modules/translations/locales/fr.js +36 -0
  448. package/lib/translated/en/modules/translations/locales/fr_CA.js +36 -0
  449. package/lib/translated/en/modules/translations/locales/ht.js +36 -0
  450. package/lib/translated/en/modules/translations/locales/is.js +36 -0
  451. package/lib/translated/en/modules/translations/locales/it.js +36 -0
  452. package/lib/translated/en/modules/translations/locales/ja.js +36 -0
  453. package/lib/translated/en/modules/translations/locales/mi.js +36 -0
  454. package/lib/translated/en/modules/translations/locales/nb-x-k12.js +36 -0
  455. package/lib/translated/en/modules/translations/locales/nb.js +36 -0
  456. package/lib/translated/en/modules/translations/locales/nl.js +36 -0
  457. package/lib/translated/en/modules/translations/locales/pl.js +36 -0
  458. package/lib/translated/en/modules/translations/locales/pt.js +36 -0
  459. package/lib/translated/en/modules/translations/locales/pt_BR.js +36 -0
  460. package/lib/translated/en/modules/translations/locales/sl.js +36 -0
  461. package/lib/translated/en/modules/translations/locales/sv-x-k12.js +36 -0
  462. package/lib/translated/en/modules/translations/locales/zh-Hans.js +36 -0
  463. package/lib/translated/en/modules/translations/locales/zh-Hant.js +36 -0
  464. package/lib/translated/en/modules/translations/locales/zh.js +36 -0
  465. package/lib/translated/en/modules/translations/locales/zh_HK.js +36 -0
  466. package/lib/translated/en-AU-x-unimelb/modules/common/fileUrl.js +4 -3
  467. package/lib/translated/en-AU-x-unimelb/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  468. package/lib/translated/en-AU-x-unimelb/modules/enhance-user-content/doc_previews.js +1 -1
  469. package/lib/translated/en-AU-x-unimelb/modules/enhance-user-content/enhance_user_content.js +20 -8
  470. package/lib/translated/en-AU-x-unimelb/modules/enhance-user-content/instructure_helper.js +3 -2
  471. package/lib/translated/en-AU-x-unimelb/modules/rce/RCEWrapper.js +4 -7
  472. package/lib/translated/en-AU-x-unimelb/modules/rce/__tests__/contentInsertion.test.js +1 -1
  473. package/lib/translated/en-AU-x-unimelb/modules/rce/__tests__/contentRendering.test.js +10 -0
  474. package/lib/translated/en-AU-x-unimelb/modules/rce/contentRendering.js +2 -2
  475. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  476. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  477. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  478. package/lib/translated/en-AU-x-unimelb/modules/rce/tinyRCE.js +0 -1
  479. package/lib/translated/en-AU-x-unimelb/modules/rcs/api.js +3 -2
  480. package/lib/translated/en-AU-x-unimelb/modules/sidebar/store/initialState.js +4 -2
  481. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/ar.js +36 -0
  482. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/ca.js +36 -0
  483. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/cy.js +36 -0
  484. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/da-x-k12.js +36 -0
  485. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/da.js +36 -0
  486. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/de.js +36 -0
  487. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  488. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  489. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/en_AU.js +36 -0
  490. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/en_CA.js +36 -0
  491. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/en_CY.js +36 -0
  492. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/en_GB.js +36 -0
  493. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/es.js +36 -0
  494. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/es_ES.js +36 -0
  495. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/fi.js +36 -0
  496. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/fr.js +36 -0
  497. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/fr_CA.js +36 -0
  498. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/ht.js +36 -0
  499. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/is.js +36 -0
  500. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/it.js +36 -0
  501. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/ja.js +36 -0
  502. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/mi.js +36 -0
  503. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/nb-x-k12.js +36 -0
  504. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/nb.js +36 -0
  505. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/nl.js +36 -0
  506. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/pl.js +36 -0
  507. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/pt.js +36 -0
  508. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/pt_BR.js +36 -0
  509. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/sl.js +36 -0
  510. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/sv-x-k12.js +36 -0
  511. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/zh-Hans.js +36 -0
  512. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/zh-Hant.js +36 -0
  513. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/zh.js +36 -0
  514. package/lib/translated/en-AU-x-unimelb/modules/translations/locales/zh_HK.js +36 -0
  515. package/lib/translated/en-GB-x-ukhe/modules/common/fileUrl.js +4 -3
  516. package/lib/translated/en-GB-x-ukhe/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  517. package/lib/translated/en-GB-x-ukhe/modules/enhance-user-content/doc_previews.js +1 -1
  518. package/lib/translated/en-GB-x-ukhe/modules/enhance-user-content/enhance_user_content.js +20 -8
  519. package/lib/translated/en-GB-x-ukhe/modules/enhance-user-content/instructure_helper.js +3 -2
  520. package/lib/translated/en-GB-x-ukhe/modules/rce/RCEWrapper.js +4 -7
  521. package/lib/translated/en-GB-x-ukhe/modules/rce/__tests__/contentInsertion.test.js +1 -1
  522. package/lib/translated/en-GB-x-ukhe/modules/rce/__tests__/contentRendering.test.js +10 -0
  523. package/lib/translated/en-GB-x-ukhe/modules/rce/contentRendering.js +2 -2
  524. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  525. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  526. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  527. package/lib/translated/en-GB-x-ukhe/modules/rce/tinyRCE.js +0 -1
  528. package/lib/translated/en-GB-x-ukhe/modules/rcs/api.js +3 -2
  529. package/lib/translated/en-GB-x-ukhe/modules/sidebar/store/initialState.js +4 -2
  530. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/ar.js +36 -0
  531. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/ca.js +36 -0
  532. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/cy.js +36 -0
  533. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/da-x-k12.js +36 -0
  534. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/da.js +36 -0
  535. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/de.js +36 -0
  536. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  537. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  538. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/en_AU.js +36 -0
  539. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/en_CA.js +36 -0
  540. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/en_CY.js +36 -0
  541. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/en_GB.js +36 -0
  542. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/es.js +36 -0
  543. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/es_ES.js +36 -0
  544. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/fi.js +36 -0
  545. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/fr.js +36 -0
  546. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/fr_CA.js +36 -0
  547. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/ht.js +36 -0
  548. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/is.js +36 -0
  549. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/it.js +36 -0
  550. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/ja.js +36 -0
  551. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/mi.js +36 -0
  552. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/nb-x-k12.js +36 -0
  553. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/nb.js +36 -0
  554. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/nl.js +36 -0
  555. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/pl.js +36 -0
  556. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/pt.js +36 -0
  557. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/pt_BR.js +36 -0
  558. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/sl.js +36 -0
  559. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/sv-x-k12.js +36 -0
  560. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/zh-Hans.js +36 -0
  561. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/zh-Hant.js +36 -0
  562. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/zh.js +36 -0
  563. package/lib/translated/en-GB-x-ukhe/modules/translations/locales/zh_HK.js +36 -0
  564. package/lib/translated/en_AU/modules/common/fileUrl.js +4 -3
  565. package/lib/translated/en_AU/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  566. package/lib/translated/en_AU/modules/enhance-user-content/doc_previews.js +1 -1
  567. package/lib/translated/en_AU/modules/enhance-user-content/enhance_user_content.js +20 -8
  568. package/lib/translated/en_AU/modules/enhance-user-content/instructure_helper.js +3 -2
  569. package/lib/translated/en_AU/modules/rce/RCEWrapper.js +4 -7
  570. package/lib/translated/en_AU/modules/rce/__tests__/contentInsertion.test.js +1 -1
  571. package/lib/translated/en_AU/modules/rce/__tests__/contentRendering.test.js +10 -0
  572. package/lib/translated/en_AU/modules/rce/contentRendering.js +2 -2
  573. package/lib/translated/en_AU/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  574. package/lib/translated/en_AU/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  575. package/lib/translated/en_AU/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  576. package/lib/translated/en_AU/modules/rce/tinyRCE.js +0 -1
  577. package/lib/translated/en_AU/modules/rcs/api.js +3 -2
  578. package/lib/translated/en_AU/modules/sidebar/store/initialState.js +4 -2
  579. package/lib/translated/en_AU/modules/translations/locales/ar.js +36 -0
  580. package/lib/translated/en_AU/modules/translations/locales/ca.js +36 -0
  581. package/lib/translated/en_AU/modules/translations/locales/cy.js +36 -0
  582. package/lib/translated/en_AU/modules/translations/locales/da-x-k12.js +36 -0
  583. package/lib/translated/en_AU/modules/translations/locales/da.js +36 -0
  584. package/lib/translated/en_AU/modules/translations/locales/de.js +36 -0
  585. package/lib/translated/en_AU/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  586. package/lib/translated/en_AU/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  587. package/lib/translated/en_AU/modules/translations/locales/en_AU.js +36 -0
  588. package/lib/translated/en_AU/modules/translations/locales/en_CA.js +36 -0
  589. package/lib/translated/en_AU/modules/translations/locales/en_CY.js +36 -0
  590. package/lib/translated/en_AU/modules/translations/locales/en_GB.js +36 -0
  591. package/lib/translated/en_AU/modules/translations/locales/es.js +36 -0
  592. package/lib/translated/en_AU/modules/translations/locales/es_ES.js +36 -0
  593. package/lib/translated/en_AU/modules/translations/locales/fi.js +36 -0
  594. package/lib/translated/en_AU/modules/translations/locales/fr.js +36 -0
  595. package/lib/translated/en_AU/modules/translations/locales/fr_CA.js +36 -0
  596. package/lib/translated/en_AU/modules/translations/locales/ht.js +36 -0
  597. package/lib/translated/en_AU/modules/translations/locales/is.js +36 -0
  598. package/lib/translated/en_AU/modules/translations/locales/it.js +36 -0
  599. package/lib/translated/en_AU/modules/translations/locales/ja.js +36 -0
  600. package/lib/translated/en_AU/modules/translations/locales/mi.js +36 -0
  601. package/lib/translated/en_AU/modules/translations/locales/nb-x-k12.js +36 -0
  602. package/lib/translated/en_AU/modules/translations/locales/nb.js +36 -0
  603. package/lib/translated/en_AU/modules/translations/locales/nl.js +36 -0
  604. package/lib/translated/en_AU/modules/translations/locales/pl.js +36 -0
  605. package/lib/translated/en_AU/modules/translations/locales/pt.js +36 -0
  606. package/lib/translated/en_AU/modules/translations/locales/pt_BR.js +36 -0
  607. package/lib/translated/en_AU/modules/translations/locales/sl.js +36 -0
  608. package/lib/translated/en_AU/modules/translations/locales/sv-x-k12.js +36 -0
  609. package/lib/translated/en_AU/modules/translations/locales/zh-Hans.js +36 -0
  610. package/lib/translated/en_AU/modules/translations/locales/zh-Hant.js +36 -0
  611. package/lib/translated/en_AU/modules/translations/locales/zh.js +36 -0
  612. package/lib/translated/en_AU/modules/translations/locales/zh_HK.js +36 -0
  613. package/lib/translated/en_CA/modules/common/fileUrl.js +4 -3
  614. package/lib/translated/en_CA/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  615. package/lib/translated/en_CA/modules/enhance-user-content/doc_previews.js +1 -1
  616. package/lib/translated/en_CA/modules/enhance-user-content/enhance_user_content.js +19 -7
  617. package/lib/translated/en_CA/modules/enhance-user-content/instructure_helper.js +2 -1
  618. package/lib/translated/en_CA/modules/rce/RCEWrapper.js +4 -7
  619. package/lib/translated/en_CA/modules/rce/__tests__/contentInsertion.test.js +1 -1
  620. package/lib/translated/en_CA/modules/rce/__tests__/contentRendering.test.js +10 -0
  621. package/lib/translated/en_CA/modules/rce/contentRendering.js +2 -2
  622. package/lib/translated/en_CA/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  623. package/lib/translated/en_CA/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  624. package/lib/translated/en_CA/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  625. package/lib/translated/en_CA/modules/rce/tinyRCE.js +0 -1
  626. package/lib/translated/en_CA/modules/rcs/api.js +3 -2
  627. package/lib/translated/en_CA/modules/sidebar/store/initialState.js +4 -2
  628. package/lib/translated/en_CA/modules/translations/locales/ar.js +36 -0
  629. package/lib/translated/en_CA/modules/translations/locales/ca.js +36 -0
  630. package/lib/translated/en_CA/modules/translations/locales/cy.js +36 -0
  631. package/lib/translated/en_CA/modules/translations/locales/da-x-k12.js +36 -0
  632. package/lib/translated/en_CA/modules/translations/locales/da.js +36 -0
  633. package/lib/translated/en_CA/modules/translations/locales/de.js +36 -0
  634. package/lib/translated/en_CA/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  635. package/lib/translated/en_CA/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  636. package/lib/translated/en_CA/modules/translations/locales/en_AU.js +36 -0
  637. package/lib/translated/en_CA/modules/translations/locales/en_CA.js +36 -0
  638. package/lib/translated/en_CA/modules/translations/locales/en_CY.js +36 -0
  639. package/lib/translated/en_CA/modules/translations/locales/en_GB.js +36 -0
  640. package/lib/translated/en_CA/modules/translations/locales/es.js +36 -0
  641. package/lib/translated/en_CA/modules/translations/locales/es_ES.js +36 -0
  642. package/lib/translated/en_CA/modules/translations/locales/fi.js +36 -0
  643. package/lib/translated/en_CA/modules/translations/locales/fr.js +36 -0
  644. package/lib/translated/en_CA/modules/translations/locales/fr_CA.js +36 -0
  645. package/lib/translated/en_CA/modules/translations/locales/ht.js +36 -0
  646. package/lib/translated/en_CA/modules/translations/locales/is.js +36 -0
  647. package/lib/translated/en_CA/modules/translations/locales/it.js +36 -0
  648. package/lib/translated/en_CA/modules/translations/locales/ja.js +36 -0
  649. package/lib/translated/en_CA/modules/translations/locales/mi.js +36 -0
  650. package/lib/translated/en_CA/modules/translations/locales/nb-x-k12.js +36 -0
  651. package/lib/translated/en_CA/modules/translations/locales/nb.js +36 -0
  652. package/lib/translated/en_CA/modules/translations/locales/nl.js +36 -0
  653. package/lib/translated/en_CA/modules/translations/locales/pl.js +36 -0
  654. package/lib/translated/en_CA/modules/translations/locales/pt.js +36 -0
  655. package/lib/translated/en_CA/modules/translations/locales/pt_BR.js +36 -0
  656. package/lib/translated/en_CA/modules/translations/locales/sl.js +36 -0
  657. package/lib/translated/en_CA/modules/translations/locales/sv-x-k12.js +36 -0
  658. package/lib/translated/en_CA/modules/translations/locales/zh-Hans.js +36 -0
  659. package/lib/translated/en_CA/modules/translations/locales/zh-Hant.js +36 -0
  660. package/lib/translated/en_CA/modules/translations/locales/zh.js +36 -0
  661. package/lib/translated/en_CA/modules/translations/locales/zh_HK.js +36 -0
  662. package/lib/translated/en_CY/modules/common/fileUrl.js +4 -3
  663. package/lib/translated/en_CY/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  664. package/lib/translated/en_CY/modules/enhance-user-content/doc_previews.js +1 -1
  665. package/lib/translated/en_CY/modules/enhance-user-content/enhance_user_content.js +20 -8
  666. package/lib/translated/en_CY/modules/enhance-user-content/instructure_helper.js +3 -2
  667. package/lib/translated/en_CY/modules/rce/RCEWrapper.js +4 -7
  668. package/lib/translated/en_CY/modules/rce/__tests__/contentInsertion.test.js +1 -1
  669. package/lib/translated/en_CY/modules/rce/__tests__/contentRendering.test.js +10 -0
  670. package/lib/translated/en_CY/modules/rce/contentRendering.js +2 -2
  671. package/lib/translated/en_CY/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  672. package/lib/translated/en_CY/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  673. package/lib/translated/en_CY/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  674. package/lib/translated/en_CY/modules/rce/tinyRCE.js +0 -1
  675. package/lib/translated/en_CY/modules/rcs/api.js +3 -2
  676. package/lib/translated/en_CY/modules/sidebar/store/initialState.js +4 -2
  677. package/lib/translated/en_CY/modules/translations/locales/ar.js +36 -0
  678. package/lib/translated/en_CY/modules/translations/locales/ca.js +36 -0
  679. package/lib/translated/en_CY/modules/translations/locales/cy.js +36 -0
  680. package/lib/translated/en_CY/modules/translations/locales/da-x-k12.js +36 -0
  681. package/lib/translated/en_CY/modules/translations/locales/da.js +36 -0
  682. package/lib/translated/en_CY/modules/translations/locales/de.js +36 -0
  683. package/lib/translated/en_CY/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  684. package/lib/translated/en_CY/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  685. package/lib/translated/en_CY/modules/translations/locales/en_AU.js +36 -0
  686. package/lib/translated/en_CY/modules/translations/locales/en_CA.js +36 -0
  687. package/lib/translated/en_CY/modules/translations/locales/en_CY.js +36 -0
  688. package/lib/translated/en_CY/modules/translations/locales/en_GB.js +36 -0
  689. package/lib/translated/en_CY/modules/translations/locales/es.js +36 -0
  690. package/lib/translated/en_CY/modules/translations/locales/es_ES.js +36 -0
  691. package/lib/translated/en_CY/modules/translations/locales/fi.js +36 -0
  692. package/lib/translated/en_CY/modules/translations/locales/fr.js +36 -0
  693. package/lib/translated/en_CY/modules/translations/locales/fr_CA.js +36 -0
  694. package/lib/translated/en_CY/modules/translations/locales/ht.js +36 -0
  695. package/lib/translated/en_CY/modules/translations/locales/is.js +36 -0
  696. package/lib/translated/en_CY/modules/translations/locales/it.js +36 -0
  697. package/lib/translated/en_CY/modules/translations/locales/ja.js +36 -0
  698. package/lib/translated/en_CY/modules/translations/locales/mi.js +36 -0
  699. package/lib/translated/en_CY/modules/translations/locales/nb-x-k12.js +36 -0
  700. package/lib/translated/en_CY/modules/translations/locales/nb.js +36 -0
  701. package/lib/translated/en_CY/modules/translations/locales/nl.js +36 -0
  702. package/lib/translated/en_CY/modules/translations/locales/pl.js +36 -0
  703. package/lib/translated/en_CY/modules/translations/locales/pt.js +36 -0
  704. package/lib/translated/en_CY/modules/translations/locales/pt_BR.js +36 -0
  705. package/lib/translated/en_CY/modules/translations/locales/sl.js +36 -0
  706. package/lib/translated/en_CY/modules/translations/locales/sv-x-k12.js +36 -0
  707. package/lib/translated/en_CY/modules/translations/locales/zh-Hans.js +36 -0
  708. package/lib/translated/en_CY/modules/translations/locales/zh-Hant.js +36 -0
  709. package/lib/translated/en_CY/modules/translations/locales/zh.js +36 -0
  710. package/lib/translated/en_CY/modules/translations/locales/zh_HK.js +36 -0
  711. package/lib/translated/en_GB/modules/common/fileUrl.js +4 -3
  712. package/lib/translated/en_GB/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  713. package/lib/translated/en_GB/modules/enhance-user-content/doc_previews.js +1 -1
  714. package/lib/translated/en_GB/modules/enhance-user-content/enhance_user_content.js +20 -8
  715. package/lib/translated/en_GB/modules/enhance-user-content/instructure_helper.js +3 -2
  716. package/lib/translated/en_GB/modules/rce/RCEWrapper.js +4 -7
  717. package/lib/translated/en_GB/modules/rce/__tests__/contentInsertion.test.js +1 -1
  718. package/lib/translated/en_GB/modules/rce/__tests__/contentRendering.test.js +10 -0
  719. package/lib/translated/en_GB/modules/rce/contentRendering.js +2 -2
  720. package/lib/translated/en_GB/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  721. package/lib/translated/en_GB/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  722. package/lib/translated/en_GB/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  723. package/lib/translated/en_GB/modules/rce/tinyRCE.js +0 -1
  724. package/lib/translated/en_GB/modules/rcs/api.js +3 -2
  725. package/lib/translated/en_GB/modules/sidebar/store/initialState.js +4 -2
  726. package/lib/translated/en_GB/modules/translations/locales/ar.js +36 -0
  727. package/lib/translated/en_GB/modules/translations/locales/ca.js +36 -0
  728. package/lib/translated/en_GB/modules/translations/locales/cy.js +36 -0
  729. package/lib/translated/en_GB/modules/translations/locales/da-x-k12.js +36 -0
  730. package/lib/translated/en_GB/modules/translations/locales/da.js +36 -0
  731. package/lib/translated/en_GB/modules/translations/locales/de.js +36 -0
  732. package/lib/translated/en_GB/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  733. package/lib/translated/en_GB/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  734. package/lib/translated/en_GB/modules/translations/locales/en_AU.js +36 -0
  735. package/lib/translated/en_GB/modules/translations/locales/en_CA.js +36 -0
  736. package/lib/translated/en_GB/modules/translations/locales/en_CY.js +36 -0
  737. package/lib/translated/en_GB/modules/translations/locales/en_GB.js +36 -0
  738. package/lib/translated/en_GB/modules/translations/locales/es.js +36 -0
  739. package/lib/translated/en_GB/modules/translations/locales/es_ES.js +36 -0
  740. package/lib/translated/en_GB/modules/translations/locales/fi.js +36 -0
  741. package/lib/translated/en_GB/modules/translations/locales/fr.js +36 -0
  742. package/lib/translated/en_GB/modules/translations/locales/fr_CA.js +36 -0
  743. package/lib/translated/en_GB/modules/translations/locales/ht.js +36 -0
  744. package/lib/translated/en_GB/modules/translations/locales/is.js +36 -0
  745. package/lib/translated/en_GB/modules/translations/locales/it.js +36 -0
  746. package/lib/translated/en_GB/modules/translations/locales/ja.js +36 -0
  747. package/lib/translated/en_GB/modules/translations/locales/mi.js +36 -0
  748. package/lib/translated/en_GB/modules/translations/locales/nb-x-k12.js +36 -0
  749. package/lib/translated/en_GB/modules/translations/locales/nb.js +36 -0
  750. package/lib/translated/en_GB/modules/translations/locales/nl.js +36 -0
  751. package/lib/translated/en_GB/modules/translations/locales/pl.js +36 -0
  752. package/lib/translated/en_GB/modules/translations/locales/pt.js +36 -0
  753. package/lib/translated/en_GB/modules/translations/locales/pt_BR.js +36 -0
  754. package/lib/translated/en_GB/modules/translations/locales/sl.js +36 -0
  755. package/lib/translated/en_GB/modules/translations/locales/sv-x-k12.js +36 -0
  756. package/lib/translated/en_GB/modules/translations/locales/zh-Hans.js +36 -0
  757. package/lib/translated/en_GB/modules/translations/locales/zh-Hant.js +36 -0
  758. package/lib/translated/en_GB/modules/translations/locales/zh.js +36 -0
  759. package/lib/translated/en_GB/modules/translations/locales/zh_HK.js +36 -0
  760. package/lib/translated/es/modules/common/fileUrl.js +4 -3
  761. package/lib/translated/es/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  762. package/lib/translated/es/modules/enhance-user-content/doc_previews.js +3 -3
  763. package/lib/translated/es/modules/enhance-user-content/enhance_user_content.js +23 -11
  764. package/lib/translated/es/modules/enhance-user-content/instructure_helper.js +4 -3
  765. package/lib/translated/es/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  766. package/lib/translated/es/modules/rce/RCEWrapper.js +4 -7
  767. package/lib/translated/es/modules/rce/StatusBar.js +1 -1
  768. package/lib/translated/es/modules/rce/__tests__/contentInsertion.test.js +1 -1
  769. package/lib/translated/es/modules/rce/__tests__/contentRendering.test.js +10 -0
  770. package/lib/translated/es/modules/rce/contentRendering.js +2 -2
  771. package/lib/translated/es/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  772. package/lib/translated/es/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  773. package/lib/translated/es/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  774. package/lib/translated/es/modules/rce/tinyRCE.js +0 -1
  775. package/lib/translated/es/modules/rcs/api.js +3 -2
  776. package/lib/translated/es/modules/sidebar/store/initialState.js +4 -2
  777. package/lib/translated/es/modules/translations/locales/ar.js +36 -0
  778. package/lib/translated/es/modules/translations/locales/ca.js +36 -0
  779. package/lib/translated/es/modules/translations/locales/cy.js +36 -0
  780. package/lib/translated/es/modules/translations/locales/da-x-k12.js +36 -0
  781. package/lib/translated/es/modules/translations/locales/da.js +36 -0
  782. package/lib/translated/es/modules/translations/locales/de.js +36 -0
  783. package/lib/translated/es/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  784. package/lib/translated/es/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  785. package/lib/translated/es/modules/translations/locales/en_AU.js +36 -0
  786. package/lib/translated/es/modules/translations/locales/en_CA.js +36 -0
  787. package/lib/translated/es/modules/translations/locales/en_CY.js +36 -0
  788. package/lib/translated/es/modules/translations/locales/en_GB.js +36 -0
  789. package/lib/translated/es/modules/translations/locales/es.js +36 -0
  790. package/lib/translated/es/modules/translations/locales/es_ES.js +36 -0
  791. package/lib/translated/es/modules/translations/locales/fi.js +36 -0
  792. package/lib/translated/es/modules/translations/locales/fr.js +36 -0
  793. package/lib/translated/es/modules/translations/locales/fr_CA.js +36 -0
  794. package/lib/translated/es/modules/translations/locales/ht.js +36 -0
  795. package/lib/translated/es/modules/translations/locales/is.js +36 -0
  796. package/lib/translated/es/modules/translations/locales/it.js +36 -0
  797. package/lib/translated/es/modules/translations/locales/ja.js +36 -0
  798. package/lib/translated/es/modules/translations/locales/mi.js +36 -0
  799. package/lib/translated/es/modules/translations/locales/nb-x-k12.js +36 -0
  800. package/lib/translated/es/modules/translations/locales/nb.js +36 -0
  801. package/lib/translated/es/modules/translations/locales/nl.js +36 -0
  802. package/lib/translated/es/modules/translations/locales/pl.js +36 -0
  803. package/lib/translated/es/modules/translations/locales/pt.js +36 -0
  804. package/lib/translated/es/modules/translations/locales/pt_BR.js +36 -0
  805. package/lib/translated/es/modules/translations/locales/sl.js +36 -0
  806. package/lib/translated/es/modules/translations/locales/sv-x-k12.js +36 -0
  807. package/lib/translated/es/modules/translations/locales/zh-Hans.js +36 -0
  808. package/lib/translated/es/modules/translations/locales/zh-Hant.js +36 -0
  809. package/lib/translated/es/modules/translations/locales/zh.js +36 -0
  810. package/lib/translated/es/modules/translations/locales/zh_HK.js +36 -0
  811. package/lib/translated/es_ES/modules/common/fileUrl.js +4 -3
  812. package/lib/translated/es_ES/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  813. package/lib/translated/es_ES/modules/enhance-user-content/doc_previews.js +3 -3
  814. package/lib/translated/es_ES/modules/enhance-user-content/enhance_user_content.js +23 -11
  815. package/lib/translated/es_ES/modules/enhance-user-content/instructure_helper.js +4 -3
  816. package/lib/translated/es_ES/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  817. package/lib/translated/es_ES/modules/rce/RCEWrapper.js +4 -7
  818. package/lib/translated/es_ES/modules/rce/StatusBar.js +1 -1
  819. package/lib/translated/es_ES/modules/rce/__tests__/contentInsertion.test.js +1 -1
  820. package/lib/translated/es_ES/modules/rce/__tests__/contentRendering.test.js +10 -0
  821. package/lib/translated/es_ES/modules/rce/contentRendering.js +2 -2
  822. package/lib/translated/es_ES/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  823. package/lib/translated/es_ES/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  824. package/lib/translated/es_ES/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  825. package/lib/translated/es_ES/modules/rce/tinyRCE.js +0 -1
  826. package/lib/translated/es_ES/modules/rcs/api.js +3 -2
  827. package/lib/translated/es_ES/modules/sidebar/store/initialState.js +4 -2
  828. package/lib/translated/es_ES/modules/translations/locales/ar.js +36 -0
  829. package/lib/translated/es_ES/modules/translations/locales/ca.js +36 -0
  830. package/lib/translated/es_ES/modules/translations/locales/cy.js +36 -0
  831. package/lib/translated/es_ES/modules/translations/locales/da-x-k12.js +36 -0
  832. package/lib/translated/es_ES/modules/translations/locales/da.js +36 -0
  833. package/lib/translated/es_ES/modules/translations/locales/de.js +36 -0
  834. package/lib/translated/es_ES/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  835. package/lib/translated/es_ES/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  836. package/lib/translated/es_ES/modules/translations/locales/en_AU.js +36 -0
  837. package/lib/translated/es_ES/modules/translations/locales/en_CA.js +36 -0
  838. package/lib/translated/es_ES/modules/translations/locales/en_CY.js +36 -0
  839. package/lib/translated/es_ES/modules/translations/locales/en_GB.js +36 -0
  840. package/lib/translated/es_ES/modules/translations/locales/es.js +36 -0
  841. package/lib/translated/es_ES/modules/translations/locales/es_ES.js +36 -0
  842. package/lib/translated/es_ES/modules/translations/locales/fi.js +36 -0
  843. package/lib/translated/es_ES/modules/translations/locales/fr.js +36 -0
  844. package/lib/translated/es_ES/modules/translations/locales/fr_CA.js +36 -0
  845. package/lib/translated/es_ES/modules/translations/locales/ht.js +36 -0
  846. package/lib/translated/es_ES/modules/translations/locales/is.js +36 -0
  847. package/lib/translated/es_ES/modules/translations/locales/it.js +36 -0
  848. package/lib/translated/es_ES/modules/translations/locales/ja.js +36 -0
  849. package/lib/translated/es_ES/modules/translations/locales/mi.js +36 -0
  850. package/lib/translated/es_ES/modules/translations/locales/nb-x-k12.js +36 -0
  851. package/lib/translated/es_ES/modules/translations/locales/nb.js +36 -0
  852. package/lib/translated/es_ES/modules/translations/locales/nl.js +36 -0
  853. package/lib/translated/es_ES/modules/translations/locales/pl.js +36 -0
  854. package/lib/translated/es_ES/modules/translations/locales/pt.js +36 -0
  855. package/lib/translated/es_ES/modules/translations/locales/pt_BR.js +36 -0
  856. package/lib/translated/es_ES/modules/translations/locales/sl.js +36 -0
  857. package/lib/translated/es_ES/modules/translations/locales/sv-x-k12.js +36 -0
  858. package/lib/translated/es_ES/modules/translations/locales/zh-Hans.js +36 -0
  859. package/lib/translated/es_ES/modules/translations/locales/zh-Hant.js +36 -0
  860. package/lib/translated/es_ES/modules/translations/locales/zh.js +36 -0
  861. package/lib/translated/es_ES/modules/translations/locales/zh_HK.js +36 -0
  862. package/lib/translated/es_GT/modules/common/fileUrl.js +4 -3
  863. package/lib/translated/es_GT/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  864. package/lib/translated/es_GT/modules/enhance-user-content/doc_previews.js +1 -1
  865. package/lib/translated/es_GT/modules/enhance-user-content/enhance_user_content.js +19 -7
  866. package/lib/translated/es_GT/modules/enhance-user-content/instructure_helper.js +2 -1
  867. package/lib/translated/es_GT/modules/rce/RCEWrapper.js +4 -7
  868. package/lib/translated/es_GT/modules/rce/__tests__/contentInsertion.test.js +1 -1
  869. package/lib/translated/es_GT/modules/rce/__tests__/contentRendering.test.js +10 -0
  870. package/lib/translated/es_GT/modules/rce/contentRendering.js +2 -2
  871. package/lib/translated/es_GT/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  872. package/lib/translated/es_GT/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  873. package/lib/translated/es_GT/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  874. package/lib/translated/es_GT/modules/rce/tinyRCE.js +0 -1
  875. package/lib/translated/es_GT/modules/rcs/api.js +3 -2
  876. package/lib/translated/es_GT/modules/sidebar/store/initialState.js +4 -2
  877. package/lib/translated/es_GT/modules/translations/locales/ar.js +36 -0
  878. package/lib/translated/es_GT/modules/translations/locales/ca.js +36 -0
  879. package/lib/translated/es_GT/modules/translations/locales/cy.js +36 -0
  880. package/lib/translated/es_GT/modules/translations/locales/da-x-k12.js +36 -0
  881. package/lib/translated/es_GT/modules/translations/locales/da.js +36 -0
  882. package/lib/translated/es_GT/modules/translations/locales/de.js +36 -0
  883. package/lib/translated/es_GT/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  884. package/lib/translated/es_GT/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  885. package/lib/translated/es_GT/modules/translations/locales/en_AU.js +36 -0
  886. package/lib/translated/es_GT/modules/translations/locales/en_CA.js +36 -0
  887. package/lib/translated/es_GT/modules/translations/locales/en_CY.js +36 -0
  888. package/lib/translated/es_GT/modules/translations/locales/en_GB.js +36 -0
  889. package/lib/translated/es_GT/modules/translations/locales/es.js +36 -0
  890. package/lib/translated/es_GT/modules/translations/locales/es_ES.js +36 -0
  891. package/lib/translated/es_GT/modules/translations/locales/fi.js +36 -0
  892. package/lib/translated/es_GT/modules/translations/locales/fr.js +36 -0
  893. package/lib/translated/es_GT/modules/translations/locales/fr_CA.js +36 -0
  894. package/lib/translated/es_GT/modules/translations/locales/ht.js +36 -0
  895. package/lib/translated/es_GT/modules/translations/locales/is.js +36 -0
  896. package/lib/translated/es_GT/modules/translations/locales/it.js +36 -0
  897. package/lib/translated/es_GT/modules/translations/locales/ja.js +36 -0
  898. package/lib/translated/es_GT/modules/translations/locales/mi.js +36 -0
  899. package/lib/translated/es_GT/modules/translations/locales/nb-x-k12.js +36 -0
  900. package/lib/translated/es_GT/modules/translations/locales/nb.js +36 -0
  901. package/lib/translated/es_GT/modules/translations/locales/nl.js +36 -0
  902. package/lib/translated/es_GT/modules/translations/locales/pl.js +36 -0
  903. package/lib/translated/es_GT/modules/translations/locales/pt.js +36 -0
  904. package/lib/translated/es_GT/modules/translations/locales/pt_BR.js +36 -0
  905. package/lib/translated/es_GT/modules/translations/locales/sl.js +36 -0
  906. package/lib/translated/es_GT/modules/translations/locales/sv-x-k12.js +36 -0
  907. package/lib/translated/es_GT/modules/translations/locales/zh-Hans.js +36 -0
  908. package/lib/translated/es_GT/modules/translations/locales/zh-Hant.js +36 -0
  909. package/lib/translated/es_GT/modules/translations/locales/zh.js +36 -0
  910. package/lib/translated/es_GT/modules/translations/locales/zh_HK.js +36 -0
  911. package/lib/translated/fa_IR/modules/common/fileUrl.js +4 -3
  912. package/lib/translated/fa_IR/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  913. package/lib/translated/fa_IR/modules/enhance-user-content/doc_previews.js +1 -1
  914. package/lib/translated/fa_IR/modules/enhance-user-content/enhance_user_content.js +19 -7
  915. package/lib/translated/fa_IR/modules/enhance-user-content/instructure_helper.js +2 -1
  916. package/lib/translated/fa_IR/modules/rce/RCEWrapper.js +4 -7
  917. package/lib/translated/fa_IR/modules/rce/__tests__/contentInsertion.test.js +1 -1
  918. package/lib/translated/fa_IR/modules/rce/__tests__/contentRendering.test.js +10 -0
  919. package/lib/translated/fa_IR/modules/rce/contentRendering.js +2 -2
  920. package/lib/translated/fa_IR/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  921. package/lib/translated/fa_IR/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  922. package/lib/translated/fa_IR/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  923. package/lib/translated/fa_IR/modules/rce/tinyRCE.js +0 -1
  924. package/lib/translated/fa_IR/modules/rcs/api.js +3 -2
  925. package/lib/translated/fa_IR/modules/sidebar/store/initialState.js +4 -2
  926. package/lib/translated/fa_IR/modules/translations/locales/ar.js +36 -0
  927. package/lib/translated/fa_IR/modules/translations/locales/ca.js +36 -0
  928. package/lib/translated/fa_IR/modules/translations/locales/cy.js +36 -0
  929. package/lib/translated/fa_IR/modules/translations/locales/da-x-k12.js +36 -0
  930. package/lib/translated/fa_IR/modules/translations/locales/da.js +36 -0
  931. package/lib/translated/fa_IR/modules/translations/locales/de.js +36 -0
  932. package/lib/translated/fa_IR/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  933. package/lib/translated/fa_IR/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  934. package/lib/translated/fa_IR/modules/translations/locales/en_AU.js +36 -0
  935. package/lib/translated/fa_IR/modules/translations/locales/en_CA.js +36 -0
  936. package/lib/translated/fa_IR/modules/translations/locales/en_CY.js +36 -0
  937. package/lib/translated/fa_IR/modules/translations/locales/en_GB.js +36 -0
  938. package/lib/translated/fa_IR/modules/translations/locales/es.js +36 -0
  939. package/lib/translated/fa_IR/modules/translations/locales/es_ES.js +36 -0
  940. package/lib/translated/fa_IR/modules/translations/locales/fi.js +36 -0
  941. package/lib/translated/fa_IR/modules/translations/locales/fr.js +36 -0
  942. package/lib/translated/fa_IR/modules/translations/locales/fr_CA.js +36 -0
  943. package/lib/translated/fa_IR/modules/translations/locales/ht.js +36 -0
  944. package/lib/translated/fa_IR/modules/translations/locales/is.js +36 -0
  945. package/lib/translated/fa_IR/modules/translations/locales/it.js +36 -0
  946. package/lib/translated/fa_IR/modules/translations/locales/ja.js +36 -0
  947. package/lib/translated/fa_IR/modules/translations/locales/mi.js +36 -0
  948. package/lib/translated/fa_IR/modules/translations/locales/nb-x-k12.js +36 -0
  949. package/lib/translated/fa_IR/modules/translations/locales/nb.js +36 -0
  950. package/lib/translated/fa_IR/modules/translations/locales/nl.js +36 -0
  951. package/lib/translated/fa_IR/modules/translations/locales/pl.js +36 -0
  952. package/lib/translated/fa_IR/modules/translations/locales/pt.js +36 -0
  953. package/lib/translated/fa_IR/modules/translations/locales/pt_BR.js +36 -0
  954. package/lib/translated/fa_IR/modules/translations/locales/sl.js +36 -0
  955. package/lib/translated/fa_IR/modules/translations/locales/sv-x-k12.js +36 -0
  956. package/lib/translated/fa_IR/modules/translations/locales/zh-Hans.js +36 -0
  957. package/lib/translated/fa_IR/modules/translations/locales/zh-Hant.js +36 -0
  958. package/lib/translated/fa_IR/modules/translations/locales/zh.js +36 -0
  959. package/lib/translated/fa_IR/modules/translations/locales/zh_HK.js +36 -0
  960. package/lib/translated/fi/modules/common/fileUrl.js +4 -3
  961. package/lib/translated/fi/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  962. package/lib/translated/fi/modules/enhance-user-content/doc_previews.js +3 -3
  963. package/lib/translated/fi/modules/enhance-user-content/enhance_user_content.js +23 -11
  964. package/lib/translated/fi/modules/enhance-user-content/instructure_helper.js +4 -3
  965. package/lib/translated/fi/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  966. package/lib/translated/fi/modules/rce/RCEWrapper.js +4 -7
  967. package/lib/translated/fi/modules/rce/StatusBar.js +1 -1
  968. package/lib/translated/fi/modules/rce/__tests__/contentInsertion.test.js +1 -1
  969. package/lib/translated/fi/modules/rce/__tests__/contentRendering.test.js +10 -0
  970. package/lib/translated/fi/modules/rce/contentRendering.js +2 -2
  971. package/lib/translated/fi/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  972. package/lib/translated/fi/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  973. package/lib/translated/fi/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  974. package/lib/translated/fi/modules/rce/tinyRCE.js +0 -1
  975. package/lib/translated/fi/modules/rcs/api.js +3 -2
  976. package/lib/translated/fi/modules/sidebar/store/initialState.js +4 -2
  977. package/lib/translated/fi/modules/translations/locales/ar.js +36 -0
  978. package/lib/translated/fi/modules/translations/locales/ca.js +36 -0
  979. package/lib/translated/fi/modules/translations/locales/cy.js +36 -0
  980. package/lib/translated/fi/modules/translations/locales/da-x-k12.js +36 -0
  981. package/lib/translated/fi/modules/translations/locales/da.js +36 -0
  982. package/lib/translated/fi/modules/translations/locales/de.js +36 -0
  983. package/lib/translated/fi/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  984. package/lib/translated/fi/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  985. package/lib/translated/fi/modules/translations/locales/en_AU.js +36 -0
  986. package/lib/translated/fi/modules/translations/locales/en_CA.js +36 -0
  987. package/lib/translated/fi/modules/translations/locales/en_CY.js +36 -0
  988. package/lib/translated/fi/modules/translations/locales/en_GB.js +36 -0
  989. package/lib/translated/fi/modules/translations/locales/es.js +36 -0
  990. package/lib/translated/fi/modules/translations/locales/es_ES.js +36 -0
  991. package/lib/translated/fi/modules/translations/locales/fi.js +36 -0
  992. package/lib/translated/fi/modules/translations/locales/fr.js +36 -0
  993. package/lib/translated/fi/modules/translations/locales/fr_CA.js +36 -0
  994. package/lib/translated/fi/modules/translations/locales/ht.js +36 -0
  995. package/lib/translated/fi/modules/translations/locales/is.js +36 -0
  996. package/lib/translated/fi/modules/translations/locales/it.js +36 -0
  997. package/lib/translated/fi/modules/translations/locales/ja.js +36 -0
  998. package/lib/translated/fi/modules/translations/locales/mi.js +36 -0
  999. package/lib/translated/fi/modules/translations/locales/nb-x-k12.js +36 -0
  1000. package/lib/translated/fi/modules/translations/locales/nb.js +36 -0
  1001. package/lib/translated/fi/modules/translations/locales/nl.js +36 -0
  1002. package/lib/translated/fi/modules/translations/locales/pl.js +36 -0
  1003. package/lib/translated/fi/modules/translations/locales/pt.js +36 -0
  1004. package/lib/translated/fi/modules/translations/locales/pt_BR.js +36 -0
  1005. package/lib/translated/fi/modules/translations/locales/sl.js +36 -0
  1006. package/lib/translated/fi/modules/translations/locales/sv-x-k12.js +36 -0
  1007. package/lib/translated/fi/modules/translations/locales/zh-Hans.js +36 -0
  1008. package/lib/translated/fi/modules/translations/locales/zh-Hant.js +36 -0
  1009. package/lib/translated/fi/modules/translations/locales/zh.js +36 -0
  1010. package/lib/translated/fi/modules/translations/locales/zh_HK.js +36 -0
  1011. package/lib/translated/fr/modules/common/fileUrl.js +4 -3
  1012. package/lib/translated/fr/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1013. package/lib/translated/fr/modules/enhance-user-content/doc_previews.js +3 -3
  1014. package/lib/translated/fr/modules/enhance-user-content/enhance_user_content.js +23 -11
  1015. package/lib/translated/fr/modules/enhance-user-content/instructure_helper.js +4 -3
  1016. package/lib/translated/fr/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1017. package/lib/translated/fr/modules/rce/RCEWrapper.js +4 -7
  1018. package/lib/translated/fr/modules/rce/StatusBar.js +1 -1
  1019. package/lib/translated/fr/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1020. package/lib/translated/fr/modules/rce/__tests__/contentRendering.test.js +10 -0
  1021. package/lib/translated/fr/modules/rce/contentRendering.js +2 -2
  1022. package/lib/translated/fr/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1023. package/lib/translated/fr/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1024. package/lib/translated/fr/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1025. package/lib/translated/fr/modules/rce/tinyRCE.js +0 -1
  1026. package/lib/translated/fr/modules/rcs/api.js +3 -2
  1027. package/lib/translated/fr/modules/sidebar/store/initialState.js +4 -2
  1028. package/lib/translated/fr/modules/translations/locales/ar.js +36 -0
  1029. package/lib/translated/fr/modules/translations/locales/ca.js +36 -0
  1030. package/lib/translated/fr/modules/translations/locales/cy.js +36 -0
  1031. package/lib/translated/fr/modules/translations/locales/da-x-k12.js +36 -0
  1032. package/lib/translated/fr/modules/translations/locales/da.js +36 -0
  1033. package/lib/translated/fr/modules/translations/locales/de.js +36 -0
  1034. package/lib/translated/fr/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1035. package/lib/translated/fr/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1036. package/lib/translated/fr/modules/translations/locales/en_AU.js +36 -0
  1037. package/lib/translated/fr/modules/translations/locales/en_CA.js +36 -0
  1038. package/lib/translated/fr/modules/translations/locales/en_CY.js +36 -0
  1039. package/lib/translated/fr/modules/translations/locales/en_GB.js +36 -0
  1040. package/lib/translated/fr/modules/translations/locales/es.js +36 -0
  1041. package/lib/translated/fr/modules/translations/locales/es_ES.js +36 -0
  1042. package/lib/translated/fr/modules/translations/locales/fi.js +36 -0
  1043. package/lib/translated/fr/modules/translations/locales/fr.js +36 -0
  1044. package/lib/translated/fr/modules/translations/locales/fr_CA.js +36 -0
  1045. package/lib/translated/fr/modules/translations/locales/ht.js +36 -0
  1046. package/lib/translated/fr/modules/translations/locales/is.js +36 -0
  1047. package/lib/translated/fr/modules/translations/locales/it.js +36 -0
  1048. package/lib/translated/fr/modules/translations/locales/ja.js +36 -0
  1049. package/lib/translated/fr/modules/translations/locales/mi.js +36 -0
  1050. package/lib/translated/fr/modules/translations/locales/nb-x-k12.js +36 -0
  1051. package/lib/translated/fr/modules/translations/locales/nb.js +36 -0
  1052. package/lib/translated/fr/modules/translations/locales/nl.js +36 -0
  1053. package/lib/translated/fr/modules/translations/locales/pl.js +36 -0
  1054. package/lib/translated/fr/modules/translations/locales/pt.js +36 -0
  1055. package/lib/translated/fr/modules/translations/locales/pt_BR.js +36 -0
  1056. package/lib/translated/fr/modules/translations/locales/sl.js +36 -0
  1057. package/lib/translated/fr/modules/translations/locales/sv-x-k12.js +36 -0
  1058. package/lib/translated/fr/modules/translations/locales/zh-Hans.js +36 -0
  1059. package/lib/translated/fr/modules/translations/locales/zh-Hant.js +36 -0
  1060. package/lib/translated/fr/modules/translations/locales/zh.js +36 -0
  1061. package/lib/translated/fr/modules/translations/locales/zh_HK.js +36 -0
  1062. package/lib/translated/fr_CA/modules/common/fileUrl.js +4 -3
  1063. package/lib/translated/fr_CA/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1064. package/lib/translated/fr_CA/modules/enhance-user-content/doc_previews.js +3 -3
  1065. package/lib/translated/fr_CA/modules/enhance-user-content/enhance_user_content.js +23 -11
  1066. package/lib/translated/fr_CA/modules/enhance-user-content/instructure_helper.js +4 -3
  1067. package/lib/translated/fr_CA/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1068. package/lib/translated/fr_CA/modules/rce/RCEWrapper.js +4 -7
  1069. package/lib/translated/fr_CA/modules/rce/StatusBar.js +1 -1
  1070. package/lib/translated/fr_CA/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1071. package/lib/translated/fr_CA/modules/rce/__tests__/contentRendering.test.js +10 -0
  1072. package/lib/translated/fr_CA/modules/rce/contentRendering.js +2 -2
  1073. package/lib/translated/fr_CA/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1074. package/lib/translated/fr_CA/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1075. package/lib/translated/fr_CA/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1076. package/lib/translated/fr_CA/modules/rce/tinyRCE.js +0 -1
  1077. package/lib/translated/fr_CA/modules/rcs/api.js +3 -2
  1078. package/lib/translated/fr_CA/modules/sidebar/store/initialState.js +4 -2
  1079. package/lib/translated/fr_CA/modules/translations/locales/ar.js +36 -0
  1080. package/lib/translated/fr_CA/modules/translations/locales/ca.js +36 -0
  1081. package/lib/translated/fr_CA/modules/translations/locales/cy.js +36 -0
  1082. package/lib/translated/fr_CA/modules/translations/locales/da-x-k12.js +36 -0
  1083. package/lib/translated/fr_CA/modules/translations/locales/da.js +36 -0
  1084. package/lib/translated/fr_CA/modules/translations/locales/de.js +36 -0
  1085. package/lib/translated/fr_CA/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1086. package/lib/translated/fr_CA/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1087. package/lib/translated/fr_CA/modules/translations/locales/en_AU.js +36 -0
  1088. package/lib/translated/fr_CA/modules/translations/locales/en_CA.js +36 -0
  1089. package/lib/translated/fr_CA/modules/translations/locales/en_CY.js +36 -0
  1090. package/lib/translated/fr_CA/modules/translations/locales/en_GB.js +36 -0
  1091. package/lib/translated/fr_CA/modules/translations/locales/es.js +36 -0
  1092. package/lib/translated/fr_CA/modules/translations/locales/es_ES.js +36 -0
  1093. package/lib/translated/fr_CA/modules/translations/locales/fi.js +36 -0
  1094. package/lib/translated/fr_CA/modules/translations/locales/fr.js +36 -0
  1095. package/lib/translated/fr_CA/modules/translations/locales/fr_CA.js +36 -0
  1096. package/lib/translated/fr_CA/modules/translations/locales/ht.js +36 -0
  1097. package/lib/translated/fr_CA/modules/translations/locales/is.js +36 -0
  1098. package/lib/translated/fr_CA/modules/translations/locales/it.js +36 -0
  1099. package/lib/translated/fr_CA/modules/translations/locales/ja.js +36 -0
  1100. package/lib/translated/fr_CA/modules/translations/locales/mi.js +36 -0
  1101. package/lib/translated/fr_CA/modules/translations/locales/nb-x-k12.js +36 -0
  1102. package/lib/translated/fr_CA/modules/translations/locales/nb.js +36 -0
  1103. package/lib/translated/fr_CA/modules/translations/locales/nl.js +36 -0
  1104. package/lib/translated/fr_CA/modules/translations/locales/pl.js +36 -0
  1105. package/lib/translated/fr_CA/modules/translations/locales/pt.js +36 -0
  1106. package/lib/translated/fr_CA/modules/translations/locales/pt_BR.js +36 -0
  1107. package/lib/translated/fr_CA/modules/translations/locales/sl.js +36 -0
  1108. package/lib/translated/fr_CA/modules/translations/locales/sv-x-k12.js +36 -0
  1109. package/lib/translated/fr_CA/modules/translations/locales/zh-Hans.js +36 -0
  1110. package/lib/translated/fr_CA/modules/translations/locales/zh-Hant.js +36 -0
  1111. package/lib/translated/fr_CA/modules/translations/locales/zh.js +36 -0
  1112. package/lib/translated/fr_CA/modules/translations/locales/zh_HK.js +36 -0
  1113. package/lib/translated/he/modules/common/fileUrl.js +4 -3
  1114. package/lib/translated/he/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1115. package/lib/translated/he/modules/enhance-user-content/doc_previews.js +1 -1
  1116. package/lib/translated/he/modules/enhance-user-content/enhance_user_content.js +19 -7
  1117. package/lib/translated/he/modules/enhance-user-content/instructure_helper.js +2 -1
  1118. package/lib/translated/he/modules/rce/RCEWrapper.js +4 -7
  1119. package/lib/translated/he/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1120. package/lib/translated/he/modules/rce/__tests__/contentRendering.test.js +10 -0
  1121. package/lib/translated/he/modules/rce/contentRendering.js +2 -2
  1122. package/lib/translated/he/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1123. package/lib/translated/he/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1124. package/lib/translated/he/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1125. package/lib/translated/he/modules/rce/tinyRCE.js +0 -1
  1126. package/lib/translated/he/modules/rcs/api.js +3 -2
  1127. package/lib/translated/he/modules/sidebar/store/initialState.js +4 -2
  1128. package/lib/translated/he/modules/translations/locales/ar.js +36 -0
  1129. package/lib/translated/he/modules/translations/locales/ca.js +36 -0
  1130. package/lib/translated/he/modules/translations/locales/cy.js +36 -0
  1131. package/lib/translated/he/modules/translations/locales/da-x-k12.js +36 -0
  1132. package/lib/translated/he/modules/translations/locales/da.js +36 -0
  1133. package/lib/translated/he/modules/translations/locales/de.js +36 -0
  1134. package/lib/translated/he/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1135. package/lib/translated/he/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1136. package/lib/translated/he/modules/translations/locales/en_AU.js +36 -0
  1137. package/lib/translated/he/modules/translations/locales/en_CA.js +36 -0
  1138. package/lib/translated/he/modules/translations/locales/en_CY.js +36 -0
  1139. package/lib/translated/he/modules/translations/locales/en_GB.js +36 -0
  1140. package/lib/translated/he/modules/translations/locales/es.js +36 -0
  1141. package/lib/translated/he/modules/translations/locales/es_ES.js +36 -0
  1142. package/lib/translated/he/modules/translations/locales/fi.js +36 -0
  1143. package/lib/translated/he/modules/translations/locales/fr.js +36 -0
  1144. package/lib/translated/he/modules/translations/locales/fr_CA.js +36 -0
  1145. package/lib/translated/he/modules/translations/locales/ht.js +36 -0
  1146. package/lib/translated/he/modules/translations/locales/is.js +36 -0
  1147. package/lib/translated/he/modules/translations/locales/it.js +36 -0
  1148. package/lib/translated/he/modules/translations/locales/ja.js +36 -0
  1149. package/lib/translated/he/modules/translations/locales/mi.js +36 -0
  1150. package/lib/translated/he/modules/translations/locales/nb-x-k12.js +36 -0
  1151. package/lib/translated/he/modules/translations/locales/nb.js +36 -0
  1152. package/lib/translated/he/modules/translations/locales/nl.js +36 -0
  1153. package/lib/translated/he/modules/translations/locales/pl.js +36 -0
  1154. package/lib/translated/he/modules/translations/locales/pt.js +36 -0
  1155. package/lib/translated/he/modules/translations/locales/pt_BR.js +36 -0
  1156. package/lib/translated/he/modules/translations/locales/sl.js +36 -0
  1157. package/lib/translated/he/modules/translations/locales/sv-x-k12.js +36 -0
  1158. package/lib/translated/he/modules/translations/locales/zh-Hans.js +36 -0
  1159. package/lib/translated/he/modules/translations/locales/zh-Hant.js +36 -0
  1160. package/lib/translated/he/modules/translations/locales/zh.js +36 -0
  1161. package/lib/translated/he/modules/translations/locales/zh_HK.js +36 -0
  1162. package/lib/translated/ht/modules/common/fileUrl.js +4 -3
  1163. package/lib/translated/ht/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1164. package/lib/translated/ht/modules/enhance-user-content/doc_previews.js +3 -3
  1165. package/lib/translated/ht/modules/enhance-user-content/enhance_user_content.js +23 -11
  1166. package/lib/translated/ht/modules/enhance-user-content/instructure_helper.js +4 -3
  1167. package/lib/translated/ht/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1168. package/lib/translated/ht/modules/rce/RCEWrapper.js +4 -7
  1169. package/lib/translated/ht/modules/rce/StatusBar.js +1 -1
  1170. package/lib/translated/ht/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1171. package/lib/translated/ht/modules/rce/__tests__/contentRendering.test.js +10 -0
  1172. package/lib/translated/ht/modules/rce/contentRendering.js +2 -2
  1173. package/lib/translated/ht/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1174. package/lib/translated/ht/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1175. package/lib/translated/ht/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1176. package/lib/translated/ht/modules/rce/tinyRCE.js +0 -1
  1177. package/lib/translated/ht/modules/rcs/api.js +3 -2
  1178. package/lib/translated/ht/modules/sidebar/store/initialState.js +4 -2
  1179. package/lib/translated/ht/modules/translations/locales/ar.js +36 -0
  1180. package/lib/translated/ht/modules/translations/locales/ca.js +36 -0
  1181. package/lib/translated/ht/modules/translations/locales/cy.js +36 -0
  1182. package/lib/translated/ht/modules/translations/locales/da-x-k12.js +36 -0
  1183. package/lib/translated/ht/modules/translations/locales/da.js +36 -0
  1184. package/lib/translated/ht/modules/translations/locales/de.js +36 -0
  1185. package/lib/translated/ht/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1186. package/lib/translated/ht/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1187. package/lib/translated/ht/modules/translations/locales/en_AU.js +36 -0
  1188. package/lib/translated/ht/modules/translations/locales/en_CA.js +36 -0
  1189. package/lib/translated/ht/modules/translations/locales/en_CY.js +36 -0
  1190. package/lib/translated/ht/modules/translations/locales/en_GB.js +36 -0
  1191. package/lib/translated/ht/modules/translations/locales/es.js +36 -0
  1192. package/lib/translated/ht/modules/translations/locales/es_ES.js +36 -0
  1193. package/lib/translated/ht/modules/translations/locales/fi.js +36 -0
  1194. package/lib/translated/ht/modules/translations/locales/fr.js +36 -0
  1195. package/lib/translated/ht/modules/translations/locales/fr_CA.js +36 -0
  1196. package/lib/translated/ht/modules/translations/locales/ht.js +36 -0
  1197. package/lib/translated/ht/modules/translations/locales/is.js +36 -0
  1198. package/lib/translated/ht/modules/translations/locales/it.js +36 -0
  1199. package/lib/translated/ht/modules/translations/locales/ja.js +36 -0
  1200. package/lib/translated/ht/modules/translations/locales/mi.js +36 -0
  1201. package/lib/translated/ht/modules/translations/locales/nb-x-k12.js +36 -0
  1202. package/lib/translated/ht/modules/translations/locales/nb.js +36 -0
  1203. package/lib/translated/ht/modules/translations/locales/nl.js +36 -0
  1204. package/lib/translated/ht/modules/translations/locales/pl.js +36 -0
  1205. package/lib/translated/ht/modules/translations/locales/pt.js +36 -0
  1206. package/lib/translated/ht/modules/translations/locales/pt_BR.js +36 -0
  1207. package/lib/translated/ht/modules/translations/locales/sl.js +36 -0
  1208. package/lib/translated/ht/modules/translations/locales/sv-x-k12.js +36 -0
  1209. package/lib/translated/ht/modules/translations/locales/zh-Hans.js +36 -0
  1210. package/lib/translated/ht/modules/translations/locales/zh-Hant.js +36 -0
  1211. package/lib/translated/ht/modules/translations/locales/zh.js +36 -0
  1212. package/lib/translated/ht/modules/translations/locales/zh_HK.js +36 -0
  1213. package/lib/translated/hu/modules/common/fileUrl.js +4 -3
  1214. package/lib/translated/hu/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1215. package/lib/translated/hu/modules/enhance-user-content/doc_previews.js +1 -1
  1216. package/lib/translated/hu/modules/enhance-user-content/enhance_user_content.js +19 -7
  1217. package/lib/translated/hu/modules/enhance-user-content/instructure_helper.js +2 -1
  1218. package/lib/translated/hu/modules/rce/RCEWrapper.js +4 -7
  1219. package/lib/translated/hu/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1220. package/lib/translated/hu/modules/rce/__tests__/contentRendering.test.js +10 -0
  1221. package/lib/translated/hu/modules/rce/contentRendering.js +2 -2
  1222. package/lib/translated/hu/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1223. package/lib/translated/hu/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1224. package/lib/translated/hu/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1225. package/lib/translated/hu/modules/rce/tinyRCE.js +0 -1
  1226. package/lib/translated/hu/modules/rcs/api.js +3 -2
  1227. package/lib/translated/hu/modules/sidebar/store/initialState.js +4 -2
  1228. package/lib/translated/hu/modules/translations/locales/ar.js +36 -0
  1229. package/lib/translated/hu/modules/translations/locales/ca.js +36 -0
  1230. package/lib/translated/hu/modules/translations/locales/cy.js +36 -0
  1231. package/lib/translated/hu/modules/translations/locales/da-x-k12.js +36 -0
  1232. package/lib/translated/hu/modules/translations/locales/da.js +36 -0
  1233. package/lib/translated/hu/modules/translations/locales/de.js +36 -0
  1234. package/lib/translated/hu/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1235. package/lib/translated/hu/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1236. package/lib/translated/hu/modules/translations/locales/en_AU.js +36 -0
  1237. package/lib/translated/hu/modules/translations/locales/en_CA.js +36 -0
  1238. package/lib/translated/hu/modules/translations/locales/en_CY.js +36 -0
  1239. package/lib/translated/hu/modules/translations/locales/en_GB.js +36 -0
  1240. package/lib/translated/hu/modules/translations/locales/es.js +36 -0
  1241. package/lib/translated/hu/modules/translations/locales/es_ES.js +36 -0
  1242. package/lib/translated/hu/modules/translations/locales/fi.js +36 -0
  1243. package/lib/translated/hu/modules/translations/locales/fr.js +36 -0
  1244. package/lib/translated/hu/modules/translations/locales/fr_CA.js +36 -0
  1245. package/lib/translated/hu/modules/translations/locales/ht.js +36 -0
  1246. package/lib/translated/hu/modules/translations/locales/is.js +36 -0
  1247. package/lib/translated/hu/modules/translations/locales/it.js +36 -0
  1248. package/lib/translated/hu/modules/translations/locales/ja.js +36 -0
  1249. package/lib/translated/hu/modules/translations/locales/mi.js +36 -0
  1250. package/lib/translated/hu/modules/translations/locales/nb-x-k12.js +36 -0
  1251. package/lib/translated/hu/modules/translations/locales/nb.js +36 -0
  1252. package/lib/translated/hu/modules/translations/locales/nl.js +36 -0
  1253. package/lib/translated/hu/modules/translations/locales/pl.js +36 -0
  1254. package/lib/translated/hu/modules/translations/locales/pt.js +36 -0
  1255. package/lib/translated/hu/modules/translations/locales/pt_BR.js +36 -0
  1256. package/lib/translated/hu/modules/translations/locales/sl.js +36 -0
  1257. package/lib/translated/hu/modules/translations/locales/sv-x-k12.js +36 -0
  1258. package/lib/translated/hu/modules/translations/locales/zh-Hans.js +36 -0
  1259. package/lib/translated/hu/modules/translations/locales/zh-Hant.js +36 -0
  1260. package/lib/translated/hu/modules/translations/locales/zh.js +36 -0
  1261. package/lib/translated/hu/modules/translations/locales/zh_HK.js +36 -0
  1262. package/lib/translated/hy/modules/common/fileUrl.js +4 -3
  1263. package/lib/translated/hy/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1264. package/lib/translated/hy/modules/enhance-user-content/doc_previews.js +1 -1
  1265. package/lib/translated/hy/modules/enhance-user-content/enhance_user_content.js +19 -7
  1266. package/lib/translated/hy/modules/enhance-user-content/instructure_helper.js +2 -1
  1267. package/lib/translated/hy/modules/rce/RCEWrapper.js +4 -7
  1268. package/lib/translated/hy/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1269. package/lib/translated/hy/modules/rce/__tests__/contentRendering.test.js +10 -0
  1270. package/lib/translated/hy/modules/rce/contentRendering.js +2 -2
  1271. package/lib/translated/hy/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1272. package/lib/translated/hy/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1273. package/lib/translated/hy/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1274. package/lib/translated/hy/modules/rce/tinyRCE.js +0 -1
  1275. package/lib/translated/hy/modules/rcs/api.js +3 -2
  1276. package/lib/translated/hy/modules/sidebar/store/initialState.js +4 -2
  1277. package/lib/translated/hy/modules/translations/locales/ar.js +36 -0
  1278. package/lib/translated/hy/modules/translations/locales/ca.js +36 -0
  1279. package/lib/translated/hy/modules/translations/locales/cy.js +36 -0
  1280. package/lib/translated/hy/modules/translations/locales/da-x-k12.js +36 -0
  1281. package/lib/translated/hy/modules/translations/locales/da.js +36 -0
  1282. package/lib/translated/hy/modules/translations/locales/de.js +36 -0
  1283. package/lib/translated/hy/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1284. package/lib/translated/hy/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1285. package/lib/translated/hy/modules/translations/locales/en_AU.js +36 -0
  1286. package/lib/translated/hy/modules/translations/locales/en_CA.js +36 -0
  1287. package/lib/translated/hy/modules/translations/locales/en_CY.js +36 -0
  1288. package/lib/translated/hy/modules/translations/locales/en_GB.js +36 -0
  1289. package/lib/translated/hy/modules/translations/locales/es.js +36 -0
  1290. package/lib/translated/hy/modules/translations/locales/es_ES.js +36 -0
  1291. package/lib/translated/hy/modules/translations/locales/fi.js +36 -0
  1292. package/lib/translated/hy/modules/translations/locales/fr.js +36 -0
  1293. package/lib/translated/hy/modules/translations/locales/fr_CA.js +36 -0
  1294. package/lib/translated/hy/modules/translations/locales/ht.js +36 -0
  1295. package/lib/translated/hy/modules/translations/locales/is.js +36 -0
  1296. package/lib/translated/hy/modules/translations/locales/it.js +36 -0
  1297. package/lib/translated/hy/modules/translations/locales/ja.js +36 -0
  1298. package/lib/translated/hy/modules/translations/locales/mi.js +36 -0
  1299. package/lib/translated/hy/modules/translations/locales/nb-x-k12.js +36 -0
  1300. package/lib/translated/hy/modules/translations/locales/nb.js +36 -0
  1301. package/lib/translated/hy/modules/translations/locales/nl.js +36 -0
  1302. package/lib/translated/hy/modules/translations/locales/pl.js +36 -0
  1303. package/lib/translated/hy/modules/translations/locales/pt.js +36 -0
  1304. package/lib/translated/hy/modules/translations/locales/pt_BR.js +36 -0
  1305. package/lib/translated/hy/modules/translations/locales/sl.js +36 -0
  1306. package/lib/translated/hy/modules/translations/locales/sv-x-k12.js +36 -0
  1307. package/lib/translated/hy/modules/translations/locales/zh-Hans.js +36 -0
  1308. package/lib/translated/hy/modules/translations/locales/zh-Hant.js +36 -0
  1309. package/lib/translated/hy/modules/translations/locales/zh.js +36 -0
  1310. package/lib/translated/hy/modules/translations/locales/zh_HK.js +36 -0
  1311. package/lib/translated/is/modules/common/fileUrl.js +4 -3
  1312. package/lib/translated/is/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1313. package/lib/translated/is/modules/enhance-user-content/doc_previews.js +3 -3
  1314. package/lib/translated/is/modules/enhance-user-content/enhance_user_content.js +23 -11
  1315. package/lib/translated/is/modules/enhance-user-content/instructure_helper.js +4 -3
  1316. package/lib/translated/is/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1317. package/lib/translated/is/modules/rce/RCEWrapper.js +4 -7
  1318. package/lib/translated/is/modules/rce/StatusBar.js +1 -1
  1319. package/lib/translated/is/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1320. package/lib/translated/is/modules/rce/__tests__/contentRendering.test.js +10 -0
  1321. package/lib/translated/is/modules/rce/contentRendering.js +2 -2
  1322. package/lib/translated/is/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1323. package/lib/translated/is/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1324. package/lib/translated/is/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1325. package/lib/translated/is/modules/rce/tinyRCE.js +0 -1
  1326. package/lib/translated/is/modules/rcs/api.js +3 -2
  1327. package/lib/translated/is/modules/sidebar/store/initialState.js +4 -2
  1328. package/lib/translated/is/modules/translations/locales/ar.js +36 -0
  1329. package/lib/translated/is/modules/translations/locales/ca.js +36 -0
  1330. package/lib/translated/is/modules/translations/locales/cy.js +36 -0
  1331. package/lib/translated/is/modules/translations/locales/da-x-k12.js +36 -0
  1332. package/lib/translated/is/modules/translations/locales/da.js +36 -0
  1333. package/lib/translated/is/modules/translations/locales/de.js +36 -0
  1334. package/lib/translated/is/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1335. package/lib/translated/is/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1336. package/lib/translated/is/modules/translations/locales/en_AU.js +36 -0
  1337. package/lib/translated/is/modules/translations/locales/en_CA.js +36 -0
  1338. package/lib/translated/is/modules/translations/locales/en_CY.js +36 -0
  1339. package/lib/translated/is/modules/translations/locales/en_GB.js +36 -0
  1340. package/lib/translated/is/modules/translations/locales/es.js +36 -0
  1341. package/lib/translated/is/modules/translations/locales/es_ES.js +36 -0
  1342. package/lib/translated/is/modules/translations/locales/fi.js +36 -0
  1343. package/lib/translated/is/modules/translations/locales/fr.js +36 -0
  1344. package/lib/translated/is/modules/translations/locales/fr_CA.js +36 -0
  1345. package/lib/translated/is/modules/translations/locales/ht.js +36 -0
  1346. package/lib/translated/is/modules/translations/locales/is.js +36 -0
  1347. package/lib/translated/is/modules/translations/locales/it.js +36 -0
  1348. package/lib/translated/is/modules/translations/locales/ja.js +36 -0
  1349. package/lib/translated/is/modules/translations/locales/mi.js +36 -0
  1350. package/lib/translated/is/modules/translations/locales/nb-x-k12.js +36 -0
  1351. package/lib/translated/is/modules/translations/locales/nb.js +36 -0
  1352. package/lib/translated/is/modules/translations/locales/nl.js +36 -0
  1353. package/lib/translated/is/modules/translations/locales/pl.js +36 -0
  1354. package/lib/translated/is/modules/translations/locales/pt.js +36 -0
  1355. package/lib/translated/is/modules/translations/locales/pt_BR.js +36 -0
  1356. package/lib/translated/is/modules/translations/locales/sl.js +36 -0
  1357. package/lib/translated/is/modules/translations/locales/sv-x-k12.js +36 -0
  1358. package/lib/translated/is/modules/translations/locales/zh-Hans.js +36 -0
  1359. package/lib/translated/is/modules/translations/locales/zh-Hant.js +36 -0
  1360. package/lib/translated/is/modules/translations/locales/zh.js +36 -0
  1361. package/lib/translated/is/modules/translations/locales/zh_HK.js +36 -0
  1362. package/lib/translated/it/modules/common/fileUrl.js +4 -3
  1363. package/lib/translated/it/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1364. package/lib/translated/it/modules/enhance-user-content/doc_previews.js +3 -3
  1365. package/lib/translated/it/modules/enhance-user-content/enhance_user_content.js +23 -11
  1366. package/lib/translated/it/modules/enhance-user-content/instructure_helper.js +4 -3
  1367. package/lib/translated/it/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1368. package/lib/translated/it/modules/rce/RCEWrapper.js +4 -7
  1369. package/lib/translated/it/modules/rce/StatusBar.js +1 -1
  1370. package/lib/translated/it/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1371. package/lib/translated/it/modules/rce/__tests__/contentRendering.test.js +10 -0
  1372. package/lib/translated/it/modules/rce/contentRendering.js +2 -2
  1373. package/lib/translated/it/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1374. package/lib/translated/it/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1375. package/lib/translated/it/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1376. package/lib/translated/it/modules/rce/tinyRCE.js +0 -1
  1377. package/lib/translated/it/modules/rcs/api.js +3 -2
  1378. package/lib/translated/it/modules/sidebar/store/initialState.js +4 -2
  1379. package/lib/translated/it/modules/translations/locales/ar.js +36 -0
  1380. package/lib/translated/it/modules/translations/locales/ca.js +36 -0
  1381. package/lib/translated/it/modules/translations/locales/cy.js +36 -0
  1382. package/lib/translated/it/modules/translations/locales/da-x-k12.js +36 -0
  1383. package/lib/translated/it/modules/translations/locales/da.js +36 -0
  1384. package/lib/translated/it/modules/translations/locales/de.js +36 -0
  1385. package/lib/translated/it/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1386. package/lib/translated/it/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1387. package/lib/translated/it/modules/translations/locales/en_AU.js +36 -0
  1388. package/lib/translated/it/modules/translations/locales/en_CA.js +36 -0
  1389. package/lib/translated/it/modules/translations/locales/en_CY.js +36 -0
  1390. package/lib/translated/it/modules/translations/locales/en_GB.js +36 -0
  1391. package/lib/translated/it/modules/translations/locales/es.js +36 -0
  1392. package/lib/translated/it/modules/translations/locales/es_ES.js +36 -0
  1393. package/lib/translated/it/modules/translations/locales/fi.js +36 -0
  1394. package/lib/translated/it/modules/translations/locales/fr.js +36 -0
  1395. package/lib/translated/it/modules/translations/locales/fr_CA.js +36 -0
  1396. package/lib/translated/it/modules/translations/locales/ht.js +36 -0
  1397. package/lib/translated/it/modules/translations/locales/is.js +36 -0
  1398. package/lib/translated/it/modules/translations/locales/it.js +36 -0
  1399. package/lib/translated/it/modules/translations/locales/ja.js +36 -0
  1400. package/lib/translated/it/modules/translations/locales/mi.js +36 -0
  1401. package/lib/translated/it/modules/translations/locales/nb-x-k12.js +36 -0
  1402. package/lib/translated/it/modules/translations/locales/nb.js +36 -0
  1403. package/lib/translated/it/modules/translations/locales/nl.js +36 -0
  1404. package/lib/translated/it/modules/translations/locales/pl.js +36 -0
  1405. package/lib/translated/it/modules/translations/locales/pt.js +36 -0
  1406. package/lib/translated/it/modules/translations/locales/pt_BR.js +36 -0
  1407. package/lib/translated/it/modules/translations/locales/sl.js +36 -0
  1408. package/lib/translated/it/modules/translations/locales/sv-x-k12.js +36 -0
  1409. package/lib/translated/it/modules/translations/locales/zh-Hans.js +36 -0
  1410. package/lib/translated/it/modules/translations/locales/zh-Hant.js +36 -0
  1411. package/lib/translated/it/modules/translations/locales/zh.js +36 -0
  1412. package/lib/translated/it/modules/translations/locales/zh_HK.js +36 -0
  1413. package/lib/translated/ja/modules/common/fileUrl.js +4 -3
  1414. package/lib/translated/ja/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1415. package/lib/translated/ja/modules/enhance-user-content/doc_previews.js +3 -3
  1416. package/lib/translated/ja/modules/enhance-user-content/enhance_user_content.js +23 -11
  1417. package/lib/translated/ja/modules/enhance-user-content/instructure_helper.js +4 -3
  1418. package/lib/translated/ja/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1419. package/lib/translated/ja/modules/rce/RCEWrapper.js +4 -7
  1420. package/lib/translated/ja/modules/rce/StatusBar.js +1 -1
  1421. package/lib/translated/ja/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1422. package/lib/translated/ja/modules/rce/__tests__/contentRendering.test.js +10 -0
  1423. package/lib/translated/ja/modules/rce/contentRendering.js +2 -2
  1424. package/lib/translated/ja/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1425. package/lib/translated/ja/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1426. package/lib/translated/ja/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1427. package/lib/translated/ja/modules/rce/tinyRCE.js +0 -1
  1428. package/lib/translated/ja/modules/rcs/api.js +3 -2
  1429. package/lib/translated/ja/modules/sidebar/store/initialState.js +4 -2
  1430. package/lib/translated/ja/modules/translations/locales/ar.js +36 -0
  1431. package/lib/translated/ja/modules/translations/locales/ca.js +36 -0
  1432. package/lib/translated/ja/modules/translations/locales/cy.js +36 -0
  1433. package/lib/translated/ja/modules/translations/locales/da-x-k12.js +36 -0
  1434. package/lib/translated/ja/modules/translations/locales/da.js +36 -0
  1435. package/lib/translated/ja/modules/translations/locales/de.js +36 -0
  1436. package/lib/translated/ja/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1437. package/lib/translated/ja/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1438. package/lib/translated/ja/modules/translations/locales/en_AU.js +36 -0
  1439. package/lib/translated/ja/modules/translations/locales/en_CA.js +36 -0
  1440. package/lib/translated/ja/modules/translations/locales/en_CY.js +36 -0
  1441. package/lib/translated/ja/modules/translations/locales/en_GB.js +36 -0
  1442. package/lib/translated/ja/modules/translations/locales/es.js +36 -0
  1443. package/lib/translated/ja/modules/translations/locales/es_ES.js +36 -0
  1444. package/lib/translated/ja/modules/translations/locales/fi.js +36 -0
  1445. package/lib/translated/ja/modules/translations/locales/fr.js +36 -0
  1446. package/lib/translated/ja/modules/translations/locales/fr_CA.js +36 -0
  1447. package/lib/translated/ja/modules/translations/locales/ht.js +36 -0
  1448. package/lib/translated/ja/modules/translations/locales/is.js +36 -0
  1449. package/lib/translated/ja/modules/translations/locales/it.js +36 -0
  1450. package/lib/translated/ja/modules/translations/locales/ja.js +36 -0
  1451. package/lib/translated/ja/modules/translations/locales/mi.js +36 -0
  1452. package/lib/translated/ja/modules/translations/locales/nb-x-k12.js +36 -0
  1453. package/lib/translated/ja/modules/translations/locales/nb.js +36 -0
  1454. package/lib/translated/ja/modules/translations/locales/nl.js +36 -0
  1455. package/lib/translated/ja/modules/translations/locales/pl.js +36 -0
  1456. package/lib/translated/ja/modules/translations/locales/pt.js +36 -0
  1457. package/lib/translated/ja/modules/translations/locales/pt_BR.js +36 -0
  1458. package/lib/translated/ja/modules/translations/locales/sl.js +36 -0
  1459. package/lib/translated/ja/modules/translations/locales/sv-x-k12.js +36 -0
  1460. package/lib/translated/ja/modules/translations/locales/zh-Hans.js +36 -0
  1461. package/lib/translated/ja/modules/translations/locales/zh-Hant.js +36 -0
  1462. package/lib/translated/ja/modules/translations/locales/zh.js +36 -0
  1463. package/lib/translated/ja/modules/translations/locales/zh_HK.js +36 -0
  1464. package/lib/translated/ko/modules/common/fileUrl.js +4 -3
  1465. package/lib/translated/ko/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1466. package/lib/translated/ko/modules/enhance-user-content/doc_previews.js +1 -1
  1467. package/lib/translated/ko/modules/enhance-user-content/enhance_user_content.js +19 -7
  1468. package/lib/translated/ko/modules/enhance-user-content/instructure_helper.js +2 -1
  1469. package/lib/translated/ko/modules/rce/RCEWrapper.js +4 -7
  1470. package/lib/translated/ko/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1471. package/lib/translated/ko/modules/rce/__tests__/contentRendering.test.js +10 -0
  1472. package/lib/translated/ko/modules/rce/contentRendering.js +2 -2
  1473. package/lib/translated/ko/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1474. package/lib/translated/ko/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1475. package/lib/translated/ko/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1476. package/lib/translated/ko/modules/rce/tinyRCE.js +0 -1
  1477. package/lib/translated/ko/modules/rcs/api.js +3 -2
  1478. package/lib/translated/ko/modules/sidebar/store/initialState.js +4 -2
  1479. package/lib/translated/ko/modules/translations/locales/ar.js +36 -0
  1480. package/lib/translated/ko/modules/translations/locales/ca.js +36 -0
  1481. package/lib/translated/ko/modules/translations/locales/cy.js +36 -0
  1482. package/lib/translated/ko/modules/translations/locales/da-x-k12.js +36 -0
  1483. package/lib/translated/ko/modules/translations/locales/da.js +36 -0
  1484. package/lib/translated/ko/modules/translations/locales/de.js +36 -0
  1485. package/lib/translated/ko/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1486. package/lib/translated/ko/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1487. package/lib/translated/ko/modules/translations/locales/en_AU.js +36 -0
  1488. package/lib/translated/ko/modules/translations/locales/en_CA.js +36 -0
  1489. package/lib/translated/ko/modules/translations/locales/en_CY.js +36 -0
  1490. package/lib/translated/ko/modules/translations/locales/en_GB.js +36 -0
  1491. package/lib/translated/ko/modules/translations/locales/es.js +36 -0
  1492. package/lib/translated/ko/modules/translations/locales/es_ES.js +36 -0
  1493. package/lib/translated/ko/modules/translations/locales/fi.js +36 -0
  1494. package/lib/translated/ko/modules/translations/locales/fr.js +36 -0
  1495. package/lib/translated/ko/modules/translations/locales/fr_CA.js +36 -0
  1496. package/lib/translated/ko/modules/translations/locales/ht.js +36 -0
  1497. package/lib/translated/ko/modules/translations/locales/is.js +36 -0
  1498. package/lib/translated/ko/modules/translations/locales/it.js +36 -0
  1499. package/lib/translated/ko/modules/translations/locales/ja.js +36 -0
  1500. package/lib/translated/ko/modules/translations/locales/mi.js +36 -0
  1501. package/lib/translated/ko/modules/translations/locales/nb-x-k12.js +36 -0
  1502. package/lib/translated/ko/modules/translations/locales/nb.js +36 -0
  1503. package/lib/translated/ko/modules/translations/locales/nl.js +36 -0
  1504. package/lib/translated/ko/modules/translations/locales/pl.js +36 -0
  1505. package/lib/translated/ko/modules/translations/locales/pt.js +36 -0
  1506. package/lib/translated/ko/modules/translations/locales/pt_BR.js +36 -0
  1507. package/lib/translated/ko/modules/translations/locales/sl.js +36 -0
  1508. package/lib/translated/ko/modules/translations/locales/sv-x-k12.js +36 -0
  1509. package/lib/translated/ko/modules/translations/locales/zh-Hans.js +36 -0
  1510. package/lib/translated/ko/modules/translations/locales/zh-Hant.js +36 -0
  1511. package/lib/translated/ko/modules/translations/locales/zh.js +36 -0
  1512. package/lib/translated/ko/modules/translations/locales/zh_HK.js +36 -0
  1513. package/lib/translated/mi/modules/common/fileUrl.js +4 -3
  1514. package/lib/translated/mi/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1515. package/lib/translated/mi/modules/enhance-user-content/doc_previews.js +3 -3
  1516. package/lib/translated/mi/modules/enhance-user-content/enhance_user_content.js +23 -11
  1517. package/lib/translated/mi/modules/enhance-user-content/instructure_helper.js +4 -3
  1518. package/lib/translated/mi/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1519. package/lib/translated/mi/modules/rce/RCEWrapper.js +4 -7
  1520. package/lib/translated/mi/modules/rce/StatusBar.js +1 -1
  1521. package/lib/translated/mi/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1522. package/lib/translated/mi/modules/rce/__tests__/contentRendering.test.js +10 -0
  1523. package/lib/translated/mi/modules/rce/contentRendering.js +2 -2
  1524. package/lib/translated/mi/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1525. package/lib/translated/mi/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1526. package/lib/translated/mi/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1527. package/lib/translated/mi/modules/rce/tinyRCE.js +0 -1
  1528. package/lib/translated/mi/modules/rcs/api.js +3 -2
  1529. package/lib/translated/mi/modules/sidebar/store/initialState.js +4 -2
  1530. package/lib/translated/mi/modules/translations/locales/ar.js +36 -0
  1531. package/lib/translated/mi/modules/translations/locales/ca.js +36 -0
  1532. package/lib/translated/mi/modules/translations/locales/cy.js +36 -0
  1533. package/lib/translated/mi/modules/translations/locales/da-x-k12.js +36 -0
  1534. package/lib/translated/mi/modules/translations/locales/da.js +36 -0
  1535. package/lib/translated/mi/modules/translations/locales/de.js +36 -0
  1536. package/lib/translated/mi/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1537. package/lib/translated/mi/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1538. package/lib/translated/mi/modules/translations/locales/en_AU.js +36 -0
  1539. package/lib/translated/mi/modules/translations/locales/en_CA.js +36 -0
  1540. package/lib/translated/mi/modules/translations/locales/en_CY.js +36 -0
  1541. package/lib/translated/mi/modules/translations/locales/en_GB.js +36 -0
  1542. package/lib/translated/mi/modules/translations/locales/es.js +36 -0
  1543. package/lib/translated/mi/modules/translations/locales/es_ES.js +36 -0
  1544. package/lib/translated/mi/modules/translations/locales/fi.js +36 -0
  1545. package/lib/translated/mi/modules/translations/locales/fr.js +36 -0
  1546. package/lib/translated/mi/modules/translations/locales/fr_CA.js +36 -0
  1547. package/lib/translated/mi/modules/translations/locales/ht.js +36 -0
  1548. package/lib/translated/mi/modules/translations/locales/is.js +36 -0
  1549. package/lib/translated/mi/modules/translations/locales/it.js +36 -0
  1550. package/lib/translated/mi/modules/translations/locales/ja.js +36 -0
  1551. package/lib/translated/mi/modules/translations/locales/mi.js +36 -0
  1552. package/lib/translated/mi/modules/translations/locales/nb-x-k12.js +36 -0
  1553. package/lib/translated/mi/modules/translations/locales/nb.js +36 -0
  1554. package/lib/translated/mi/modules/translations/locales/nl.js +36 -0
  1555. package/lib/translated/mi/modules/translations/locales/pl.js +36 -0
  1556. package/lib/translated/mi/modules/translations/locales/pt.js +36 -0
  1557. package/lib/translated/mi/modules/translations/locales/pt_BR.js +36 -0
  1558. package/lib/translated/mi/modules/translations/locales/sl.js +36 -0
  1559. package/lib/translated/mi/modules/translations/locales/sv-x-k12.js +36 -0
  1560. package/lib/translated/mi/modules/translations/locales/zh-Hans.js +36 -0
  1561. package/lib/translated/mi/modules/translations/locales/zh-Hant.js +36 -0
  1562. package/lib/translated/mi/modules/translations/locales/zh.js +36 -0
  1563. package/lib/translated/mi/modules/translations/locales/zh_HK.js +36 -0
  1564. package/lib/translated/nb/modules/common/fileUrl.js +4 -3
  1565. package/lib/translated/nb/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1566. package/lib/translated/nb/modules/enhance-user-content/doc_previews.js +3 -3
  1567. package/lib/translated/nb/modules/enhance-user-content/enhance_user_content.js +23 -11
  1568. package/lib/translated/nb/modules/enhance-user-content/instructure_helper.js +4 -3
  1569. package/lib/translated/nb/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1570. package/lib/translated/nb/modules/rce/RCEWrapper.js +4 -7
  1571. package/lib/translated/nb/modules/rce/StatusBar.js +1 -1
  1572. package/lib/translated/nb/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1573. package/lib/translated/nb/modules/rce/__tests__/contentRendering.test.js +10 -0
  1574. package/lib/translated/nb/modules/rce/contentRendering.js +2 -2
  1575. package/lib/translated/nb/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1576. package/lib/translated/nb/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1577. package/lib/translated/nb/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1578. package/lib/translated/nb/modules/rce/tinyRCE.js +0 -1
  1579. package/lib/translated/nb/modules/rcs/api.js +3 -2
  1580. package/lib/translated/nb/modules/sidebar/store/initialState.js +4 -2
  1581. package/lib/translated/nb/modules/translations/locales/ar.js +36 -0
  1582. package/lib/translated/nb/modules/translations/locales/ca.js +36 -0
  1583. package/lib/translated/nb/modules/translations/locales/cy.js +36 -0
  1584. package/lib/translated/nb/modules/translations/locales/da-x-k12.js +36 -0
  1585. package/lib/translated/nb/modules/translations/locales/da.js +36 -0
  1586. package/lib/translated/nb/modules/translations/locales/de.js +36 -0
  1587. package/lib/translated/nb/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1588. package/lib/translated/nb/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1589. package/lib/translated/nb/modules/translations/locales/en_AU.js +36 -0
  1590. package/lib/translated/nb/modules/translations/locales/en_CA.js +36 -0
  1591. package/lib/translated/nb/modules/translations/locales/en_CY.js +36 -0
  1592. package/lib/translated/nb/modules/translations/locales/en_GB.js +36 -0
  1593. package/lib/translated/nb/modules/translations/locales/es.js +36 -0
  1594. package/lib/translated/nb/modules/translations/locales/es_ES.js +36 -0
  1595. package/lib/translated/nb/modules/translations/locales/fi.js +36 -0
  1596. package/lib/translated/nb/modules/translations/locales/fr.js +36 -0
  1597. package/lib/translated/nb/modules/translations/locales/fr_CA.js +36 -0
  1598. package/lib/translated/nb/modules/translations/locales/ht.js +36 -0
  1599. package/lib/translated/nb/modules/translations/locales/is.js +36 -0
  1600. package/lib/translated/nb/modules/translations/locales/it.js +36 -0
  1601. package/lib/translated/nb/modules/translations/locales/ja.js +36 -0
  1602. package/lib/translated/nb/modules/translations/locales/mi.js +36 -0
  1603. package/lib/translated/nb/modules/translations/locales/nb-x-k12.js +36 -0
  1604. package/lib/translated/nb/modules/translations/locales/nb.js +36 -0
  1605. package/lib/translated/nb/modules/translations/locales/nl.js +36 -0
  1606. package/lib/translated/nb/modules/translations/locales/pl.js +36 -0
  1607. package/lib/translated/nb/modules/translations/locales/pt.js +36 -0
  1608. package/lib/translated/nb/modules/translations/locales/pt_BR.js +36 -0
  1609. package/lib/translated/nb/modules/translations/locales/sl.js +36 -0
  1610. package/lib/translated/nb/modules/translations/locales/sv-x-k12.js +36 -0
  1611. package/lib/translated/nb/modules/translations/locales/zh-Hans.js +36 -0
  1612. package/lib/translated/nb/modules/translations/locales/zh-Hant.js +36 -0
  1613. package/lib/translated/nb/modules/translations/locales/zh.js +36 -0
  1614. package/lib/translated/nb/modules/translations/locales/zh_HK.js +36 -0
  1615. package/lib/translated/nb-x-k12/modules/common/fileUrl.js +4 -3
  1616. package/lib/translated/nb-x-k12/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1617. package/lib/translated/nb-x-k12/modules/enhance-user-content/doc_previews.js +3 -3
  1618. package/lib/translated/nb-x-k12/modules/enhance-user-content/enhance_user_content.js +23 -11
  1619. package/lib/translated/nb-x-k12/modules/enhance-user-content/instructure_helper.js +4 -3
  1620. package/lib/translated/nb-x-k12/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1621. package/lib/translated/nb-x-k12/modules/rce/RCEWrapper.js +4 -7
  1622. package/lib/translated/nb-x-k12/modules/rce/StatusBar.js +1 -1
  1623. package/lib/translated/nb-x-k12/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1624. package/lib/translated/nb-x-k12/modules/rce/__tests__/contentRendering.test.js +10 -0
  1625. package/lib/translated/nb-x-k12/modules/rce/contentRendering.js +2 -2
  1626. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1627. package/lib/translated/nb-x-k12/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1628. package/lib/translated/nb-x-k12/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1629. package/lib/translated/nb-x-k12/modules/rce/tinyRCE.js +0 -1
  1630. package/lib/translated/nb-x-k12/modules/rcs/api.js +3 -2
  1631. package/lib/translated/nb-x-k12/modules/sidebar/store/initialState.js +4 -2
  1632. package/lib/translated/nb-x-k12/modules/translations/locales/ar.js +36 -0
  1633. package/lib/translated/nb-x-k12/modules/translations/locales/ca.js +36 -0
  1634. package/lib/translated/nb-x-k12/modules/translations/locales/cy.js +36 -0
  1635. package/lib/translated/nb-x-k12/modules/translations/locales/da-x-k12.js +36 -0
  1636. package/lib/translated/nb-x-k12/modules/translations/locales/da.js +36 -0
  1637. package/lib/translated/nb-x-k12/modules/translations/locales/de.js +36 -0
  1638. package/lib/translated/nb-x-k12/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1639. package/lib/translated/nb-x-k12/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1640. package/lib/translated/nb-x-k12/modules/translations/locales/en_AU.js +36 -0
  1641. package/lib/translated/nb-x-k12/modules/translations/locales/en_CA.js +36 -0
  1642. package/lib/translated/nb-x-k12/modules/translations/locales/en_CY.js +36 -0
  1643. package/lib/translated/nb-x-k12/modules/translations/locales/en_GB.js +36 -0
  1644. package/lib/translated/nb-x-k12/modules/translations/locales/es.js +36 -0
  1645. package/lib/translated/nb-x-k12/modules/translations/locales/es_ES.js +36 -0
  1646. package/lib/translated/nb-x-k12/modules/translations/locales/fi.js +36 -0
  1647. package/lib/translated/nb-x-k12/modules/translations/locales/fr.js +36 -0
  1648. package/lib/translated/nb-x-k12/modules/translations/locales/fr_CA.js +36 -0
  1649. package/lib/translated/nb-x-k12/modules/translations/locales/ht.js +36 -0
  1650. package/lib/translated/nb-x-k12/modules/translations/locales/is.js +36 -0
  1651. package/lib/translated/nb-x-k12/modules/translations/locales/it.js +36 -0
  1652. package/lib/translated/nb-x-k12/modules/translations/locales/ja.js +36 -0
  1653. package/lib/translated/nb-x-k12/modules/translations/locales/mi.js +36 -0
  1654. package/lib/translated/nb-x-k12/modules/translations/locales/nb-x-k12.js +36 -0
  1655. package/lib/translated/nb-x-k12/modules/translations/locales/nb.js +36 -0
  1656. package/lib/translated/nb-x-k12/modules/translations/locales/nl.js +36 -0
  1657. package/lib/translated/nb-x-k12/modules/translations/locales/pl.js +36 -0
  1658. package/lib/translated/nb-x-k12/modules/translations/locales/pt.js +36 -0
  1659. package/lib/translated/nb-x-k12/modules/translations/locales/pt_BR.js +36 -0
  1660. package/lib/translated/nb-x-k12/modules/translations/locales/sl.js +36 -0
  1661. package/lib/translated/nb-x-k12/modules/translations/locales/sv-x-k12.js +36 -0
  1662. package/lib/translated/nb-x-k12/modules/translations/locales/zh-Hans.js +36 -0
  1663. package/lib/translated/nb-x-k12/modules/translations/locales/zh-Hant.js +36 -0
  1664. package/lib/translated/nb-x-k12/modules/translations/locales/zh.js +36 -0
  1665. package/lib/translated/nb-x-k12/modules/translations/locales/zh_HK.js +36 -0
  1666. package/lib/translated/nl/modules/common/fileUrl.js +4 -3
  1667. package/lib/translated/nl/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1668. package/lib/translated/nl/modules/enhance-user-content/doc_previews.js +3 -3
  1669. package/lib/translated/nl/modules/enhance-user-content/enhance_user_content.js +23 -11
  1670. package/lib/translated/nl/modules/enhance-user-content/instructure_helper.js +4 -3
  1671. package/lib/translated/nl/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1672. package/lib/translated/nl/modules/rce/RCEWrapper.js +4 -7
  1673. package/lib/translated/nl/modules/rce/StatusBar.js +1 -1
  1674. package/lib/translated/nl/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1675. package/lib/translated/nl/modules/rce/__tests__/contentRendering.test.js +10 -0
  1676. package/lib/translated/nl/modules/rce/contentRendering.js +2 -2
  1677. package/lib/translated/nl/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1678. package/lib/translated/nl/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1679. package/lib/translated/nl/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1680. package/lib/translated/nl/modules/rce/tinyRCE.js +0 -1
  1681. package/lib/translated/nl/modules/rcs/api.js +3 -2
  1682. package/lib/translated/nl/modules/sidebar/store/initialState.js +4 -2
  1683. package/lib/translated/nl/modules/translations/locales/ar.js +36 -0
  1684. package/lib/translated/nl/modules/translations/locales/ca.js +36 -0
  1685. package/lib/translated/nl/modules/translations/locales/cy.js +36 -0
  1686. package/lib/translated/nl/modules/translations/locales/da-x-k12.js +36 -0
  1687. package/lib/translated/nl/modules/translations/locales/da.js +36 -0
  1688. package/lib/translated/nl/modules/translations/locales/de.js +36 -0
  1689. package/lib/translated/nl/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1690. package/lib/translated/nl/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1691. package/lib/translated/nl/modules/translations/locales/en_AU.js +36 -0
  1692. package/lib/translated/nl/modules/translations/locales/en_CA.js +36 -0
  1693. package/lib/translated/nl/modules/translations/locales/en_CY.js +36 -0
  1694. package/lib/translated/nl/modules/translations/locales/en_GB.js +36 -0
  1695. package/lib/translated/nl/modules/translations/locales/es.js +36 -0
  1696. package/lib/translated/nl/modules/translations/locales/es_ES.js +36 -0
  1697. package/lib/translated/nl/modules/translations/locales/fi.js +36 -0
  1698. package/lib/translated/nl/modules/translations/locales/fr.js +36 -0
  1699. package/lib/translated/nl/modules/translations/locales/fr_CA.js +36 -0
  1700. package/lib/translated/nl/modules/translations/locales/ht.js +36 -0
  1701. package/lib/translated/nl/modules/translations/locales/is.js +36 -0
  1702. package/lib/translated/nl/modules/translations/locales/it.js +36 -0
  1703. package/lib/translated/nl/modules/translations/locales/ja.js +36 -0
  1704. package/lib/translated/nl/modules/translations/locales/mi.js +36 -0
  1705. package/lib/translated/nl/modules/translations/locales/nb-x-k12.js +36 -0
  1706. package/lib/translated/nl/modules/translations/locales/nb.js +36 -0
  1707. package/lib/translated/nl/modules/translations/locales/nl.js +36 -0
  1708. package/lib/translated/nl/modules/translations/locales/pl.js +36 -0
  1709. package/lib/translated/nl/modules/translations/locales/pt.js +36 -0
  1710. package/lib/translated/nl/modules/translations/locales/pt_BR.js +36 -0
  1711. package/lib/translated/nl/modules/translations/locales/sl.js +36 -0
  1712. package/lib/translated/nl/modules/translations/locales/sv-x-k12.js +36 -0
  1713. package/lib/translated/nl/modules/translations/locales/zh-Hans.js +36 -0
  1714. package/lib/translated/nl/modules/translations/locales/zh-Hant.js +36 -0
  1715. package/lib/translated/nl/modules/translations/locales/zh.js +36 -0
  1716. package/lib/translated/nl/modules/translations/locales/zh_HK.js +36 -0
  1717. package/lib/translated/nn/modules/common/fileUrl.js +4 -3
  1718. package/lib/translated/nn/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1719. package/lib/translated/nn/modules/enhance-user-content/doc_previews.js +1 -1
  1720. package/lib/translated/nn/modules/enhance-user-content/enhance_user_content.js +19 -7
  1721. package/lib/translated/nn/modules/enhance-user-content/instructure_helper.js +2 -1
  1722. package/lib/translated/nn/modules/rce/RCEWrapper.js +4 -7
  1723. package/lib/translated/nn/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1724. package/lib/translated/nn/modules/rce/__tests__/contentRendering.test.js +10 -0
  1725. package/lib/translated/nn/modules/rce/contentRendering.js +2 -2
  1726. package/lib/translated/nn/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1727. package/lib/translated/nn/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1728. package/lib/translated/nn/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1729. package/lib/translated/nn/modules/rce/tinyRCE.js +0 -1
  1730. package/lib/translated/nn/modules/rcs/api.js +3 -2
  1731. package/lib/translated/nn/modules/sidebar/store/initialState.js +4 -2
  1732. package/lib/translated/nn/modules/translations/locales/ar.js +36 -0
  1733. package/lib/translated/nn/modules/translations/locales/ca.js +36 -0
  1734. package/lib/translated/nn/modules/translations/locales/cy.js +36 -0
  1735. package/lib/translated/nn/modules/translations/locales/da-x-k12.js +36 -0
  1736. package/lib/translated/nn/modules/translations/locales/da.js +36 -0
  1737. package/lib/translated/nn/modules/translations/locales/de.js +36 -0
  1738. package/lib/translated/nn/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1739. package/lib/translated/nn/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1740. package/lib/translated/nn/modules/translations/locales/en_AU.js +36 -0
  1741. package/lib/translated/nn/modules/translations/locales/en_CA.js +36 -0
  1742. package/lib/translated/nn/modules/translations/locales/en_CY.js +36 -0
  1743. package/lib/translated/nn/modules/translations/locales/en_GB.js +36 -0
  1744. package/lib/translated/nn/modules/translations/locales/es.js +36 -0
  1745. package/lib/translated/nn/modules/translations/locales/es_ES.js +36 -0
  1746. package/lib/translated/nn/modules/translations/locales/fi.js +36 -0
  1747. package/lib/translated/nn/modules/translations/locales/fr.js +36 -0
  1748. package/lib/translated/nn/modules/translations/locales/fr_CA.js +36 -0
  1749. package/lib/translated/nn/modules/translations/locales/ht.js +36 -0
  1750. package/lib/translated/nn/modules/translations/locales/is.js +36 -0
  1751. package/lib/translated/nn/modules/translations/locales/it.js +36 -0
  1752. package/lib/translated/nn/modules/translations/locales/ja.js +36 -0
  1753. package/lib/translated/nn/modules/translations/locales/mi.js +36 -0
  1754. package/lib/translated/nn/modules/translations/locales/nb-x-k12.js +36 -0
  1755. package/lib/translated/nn/modules/translations/locales/nb.js +36 -0
  1756. package/lib/translated/nn/modules/translations/locales/nl.js +36 -0
  1757. package/lib/translated/nn/modules/translations/locales/pl.js +36 -0
  1758. package/lib/translated/nn/modules/translations/locales/pt.js +36 -0
  1759. package/lib/translated/nn/modules/translations/locales/pt_BR.js +36 -0
  1760. package/lib/translated/nn/modules/translations/locales/sl.js +36 -0
  1761. package/lib/translated/nn/modules/translations/locales/sv-x-k12.js +36 -0
  1762. package/lib/translated/nn/modules/translations/locales/zh-Hans.js +36 -0
  1763. package/lib/translated/nn/modules/translations/locales/zh-Hant.js +36 -0
  1764. package/lib/translated/nn/modules/translations/locales/zh.js +36 -0
  1765. package/lib/translated/nn/modules/translations/locales/zh_HK.js +36 -0
  1766. package/lib/translated/pl/modules/common/fileUrl.js +4 -3
  1767. package/lib/translated/pl/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1768. package/lib/translated/pl/modules/enhance-user-content/doc_previews.js +3 -3
  1769. package/lib/translated/pl/modules/enhance-user-content/enhance_user_content.js +23 -11
  1770. package/lib/translated/pl/modules/enhance-user-content/instructure_helper.js +4 -3
  1771. package/lib/translated/pl/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1772. package/lib/translated/pl/modules/rce/RCEWrapper.js +4 -7
  1773. package/lib/translated/pl/modules/rce/StatusBar.js +1 -1
  1774. package/lib/translated/pl/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1775. package/lib/translated/pl/modules/rce/__tests__/contentRendering.test.js +10 -0
  1776. package/lib/translated/pl/modules/rce/contentRendering.js +2 -2
  1777. package/lib/translated/pl/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1778. package/lib/translated/pl/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1779. package/lib/translated/pl/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1780. package/lib/translated/pl/modules/rce/tinyRCE.js +0 -1
  1781. package/lib/translated/pl/modules/rcs/api.js +3 -2
  1782. package/lib/translated/pl/modules/sidebar/store/initialState.js +4 -2
  1783. package/lib/translated/pl/modules/translations/locales/ar.js +36 -0
  1784. package/lib/translated/pl/modules/translations/locales/ca.js +36 -0
  1785. package/lib/translated/pl/modules/translations/locales/cy.js +36 -0
  1786. package/lib/translated/pl/modules/translations/locales/da-x-k12.js +36 -0
  1787. package/lib/translated/pl/modules/translations/locales/da.js +36 -0
  1788. package/lib/translated/pl/modules/translations/locales/de.js +36 -0
  1789. package/lib/translated/pl/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1790. package/lib/translated/pl/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1791. package/lib/translated/pl/modules/translations/locales/en_AU.js +36 -0
  1792. package/lib/translated/pl/modules/translations/locales/en_CA.js +36 -0
  1793. package/lib/translated/pl/modules/translations/locales/en_CY.js +36 -0
  1794. package/lib/translated/pl/modules/translations/locales/en_GB.js +36 -0
  1795. package/lib/translated/pl/modules/translations/locales/es.js +36 -0
  1796. package/lib/translated/pl/modules/translations/locales/es_ES.js +36 -0
  1797. package/lib/translated/pl/modules/translations/locales/fi.js +36 -0
  1798. package/lib/translated/pl/modules/translations/locales/fr.js +36 -0
  1799. package/lib/translated/pl/modules/translations/locales/fr_CA.js +36 -0
  1800. package/lib/translated/pl/modules/translations/locales/ht.js +36 -0
  1801. package/lib/translated/pl/modules/translations/locales/is.js +36 -0
  1802. package/lib/translated/pl/modules/translations/locales/it.js +36 -0
  1803. package/lib/translated/pl/modules/translations/locales/ja.js +36 -0
  1804. package/lib/translated/pl/modules/translations/locales/mi.js +36 -0
  1805. package/lib/translated/pl/modules/translations/locales/nb-x-k12.js +36 -0
  1806. package/lib/translated/pl/modules/translations/locales/nb.js +36 -0
  1807. package/lib/translated/pl/modules/translations/locales/nl.js +36 -0
  1808. package/lib/translated/pl/modules/translations/locales/pl.js +36 -0
  1809. package/lib/translated/pl/modules/translations/locales/pt.js +36 -0
  1810. package/lib/translated/pl/modules/translations/locales/pt_BR.js +36 -0
  1811. package/lib/translated/pl/modules/translations/locales/sl.js +36 -0
  1812. package/lib/translated/pl/modules/translations/locales/sv-x-k12.js +36 -0
  1813. package/lib/translated/pl/modules/translations/locales/zh-Hans.js +36 -0
  1814. package/lib/translated/pl/modules/translations/locales/zh-Hant.js +36 -0
  1815. package/lib/translated/pl/modules/translations/locales/zh.js +36 -0
  1816. package/lib/translated/pl/modules/translations/locales/zh_HK.js +36 -0
  1817. package/lib/translated/pt/modules/common/fileUrl.js +4 -3
  1818. package/lib/translated/pt/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1819. package/lib/translated/pt/modules/enhance-user-content/doc_previews.js +3 -3
  1820. package/lib/translated/pt/modules/enhance-user-content/enhance_user_content.js +23 -11
  1821. package/lib/translated/pt/modules/enhance-user-content/instructure_helper.js +4 -3
  1822. package/lib/translated/pt/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1823. package/lib/translated/pt/modules/rce/RCEWrapper.js +4 -7
  1824. package/lib/translated/pt/modules/rce/StatusBar.js +1 -1
  1825. package/lib/translated/pt/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1826. package/lib/translated/pt/modules/rce/__tests__/contentRendering.test.js +10 -0
  1827. package/lib/translated/pt/modules/rce/contentRendering.js +2 -2
  1828. package/lib/translated/pt/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1829. package/lib/translated/pt/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1830. package/lib/translated/pt/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1831. package/lib/translated/pt/modules/rce/tinyRCE.js +0 -1
  1832. package/lib/translated/pt/modules/rcs/api.js +3 -2
  1833. package/lib/translated/pt/modules/sidebar/store/initialState.js +4 -2
  1834. package/lib/translated/pt/modules/translations/locales/ar.js +36 -0
  1835. package/lib/translated/pt/modules/translations/locales/ca.js +36 -0
  1836. package/lib/translated/pt/modules/translations/locales/cy.js +36 -0
  1837. package/lib/translated/pt/modules/translations/locales/da-x-k12.js +36 -0
  1838. package/lib/translated/pt/modules/translations/locales/da.js +36 -0
  1839. package/lib/translated/pt/modules/translations/locales/de.js +36 -0
  1840. package/lib/translated/pt/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1841. package/lib/translated/pt/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1842. package/lib/translated/pt/modules/translations/locales/en_AU.js +36 -0
  1843. package/lib/translated/pt/modules/translations/locales/en_CA.js +36 -0
  1844. package/lib/translated/pt/modules/translations/locales/en_CY.js +36 -0
  1845. package/lib/translated/pt/modules/translations/locales/en_GB.js +36 -0
  1846. package/lib/translated/pt/modules/translations/locales/es.js +36 -0
  1847. package/lib/translated/pt/modules/translations/locales/es_ES.js +36 -0
  1848. package/lib/translated/pt/modules/translations/locales/fi.js +36 -0
  1849. package/lib/translated/pt/modules/translations/locales/fr.js +36 -0
  1850. package/lib/translated/pt/modules/translations/locales/fr_CA.js +36 -0
  1851. package/lib/translated/pt/modules/translations/locales/ht.js +36 -0
  1852. package/lib/translated/pt/modules/translations/locales/is.js +36 -0
  1853. package/lib/translated/pt/modules/translations/locales/it.js +36 -0
  1854. package/lib/translated/pt/modules/translations/locales/ja.js +36 -0
  1855. package/lib/translated/pt/modules/translations/locales/mi.js +36 -0
  1856. package/lib/translated/pt/modules/translations/locales/nb-x-k12.js +36 -0
  1857. package/lib/translated/pt/modules/translations/locales/nb.js +36 -0
  1858. package/lib/translated/pt/modules/translations/locales/nl.js +36 -0
  1859. package/lib/translated/pt/modules/translations/locales/pl.js +36 -0
  1860. package/lib/translated/pt/modules/translations/locales/pt.js +36 -0
  1861. package/lib/translated/pt/modules/translations/locales/pt_BR.js +36 -0
  1862. package/lib/translated/pt/modules/translations/locales/sl.js +36 -0
  1863. package/lib/translated/pt/modules/translations/locales/sv-x-k12.js +36 -0
  1864. package/lib/translated/pt/modules/translations/locales/zh-Hans.js +36 -0
  1865. package/lib/translated/pt/modules/translations/locales/zh-Hant.js +36 -0
  1866. package/lib/translated/pt/modules/translations/locales/zh.js +36 -0
  1867. package/lib/translated/pt/modules/translations/locales/zh_HK.js +36 -0
  1868. package/lib/translated/pt_BR/modules/common/fileUrl.js +4 -3
  1869. package/lib/translated/pt_BR/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1870. package/lib/translated/pt_BR/modules/enhance-user-content/doc_previews.js +3 -3
  1871. package/lib/translated/pt_BR/modules/enhance-user-content/enhance_user_content.js +23 -11
  1872. package/lib/translated/pt_BR/modules/enhance-user-content/instructure_helper.js +4 -3
  1873. package/lib/translated/pt_BR/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  1874. package/lib/translated/pt_BR/modules/rce/RCEWrapper.js +4 -7
  1875. package/lib/translated/pt_BR/modules/rce/StatusBar.js +1 -1
  1876. package/lib/translated/pt_BR/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1877. package/lib/translated/pt_BR/modules/rce/__tests__/contentRendering.test.js +10 -0
  1878. package/lib/translated/pt_BR/modules/rce/contentRendering.js +2 -2
  1879. package/lib/translated/pt_BR/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1880. package/lib/translated/pt_BR/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1881. package/lib/translated/pt_BR/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1882. package/lib/translated/pt_BR/modules/rce/tinyRCE.js +0 -1
  1883. package/lib/translated/pt_BR/modules/rcs/api.js +3 -2
  1884. package/lib/translated/pt_BR/modules/sidebar/store/initialState.js +4 -2
  1885. package/lib/translated/pt_BR/modules/translations/locales/ar.js +36 -0
  1886. package/lib/translated/pt_BR/modules/translations/locales/ca.js +36 -0
  1887. package/lib/translated/pt_BR/modules/translations/locales/cy.js +36 -0
  1888. package/lib/translated/pt_BR/modules/translations/locales/da-x-k12.js +36 -0
  1889. package/lib/translated/pt_BR/modules/translations/locales/da.js +36 -0
  1890. package/lib/translated/pt_BR/modules/translations/locales/de.js +36 -0
  1891. package/lib/translated/pt_BR/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1892. package/lib/translated/pt_BR/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1893. package/lib/translated/pt_BR/modules/translations/locales/en_AU.js +36 -0
  1894. package/lib/translated/pt_BR/modules/translations/locales/en_CA.js +36 -0
  1895. package/lib/translated/pt_BR/modules/translations/locales/en_CY.js +36 -0
  1896. package/lib/translated/pt_BR/modules/translations/locales/en_GB.js +36 -0
  1897. package/lib/translated/pt_BR/modules/translations/locales/es.js +36 -0
  1898. package/lib/translated/pt_BR/modules/translations/locales/es_ES.js +36 -0
  1899. package/lib/translated/pt_BR/modules/translations/locales/fi.js +36 -0
  1900. package/lib/translated/pt_BR/modules/translations/locales/fr.js +36 -0
  1901. package/lib/translated/pt_BR/modules/translations/locales/fr_CA.js +36 -0
  1902. package/lib/translated/pt_BR/modules/translations/locales/ht.js +36 -0
  1903. package/lib/translated/pt_BR/modules/translations/locales/is.js +36 -0
  1904. package/lib/translated/pt_BR/modules/translations/locales/it.js +36 -0
  1905. package/lib/translated/pt_BR/modules/translations/locales/ja.js +36 -0
  1906. package/lib/translated/pt_BR/modules/translations/locales/mi.js +36 -0
  1907. package/lib/translated/pt_BR/modules/translations/locales/nb-x-k12.js +36 -0
  1908. package/lib/translated/pt_BR/modules/translations/locales/nb.js +36 -0
  1909. package/lib/translated/pt_BR/modules/translations/locales/nl.js +36 -0
  1910. package/lib/translated/pt_BR/modules/translations/locales/pl.js +36 -0
  1911. package/lib/translated/pt_BR/modules/translations/locales/pt.js +36 -0
  1912. package/lib/translated/pt_BR/modules/translations/locales/pt_BR.js +36 -0
  1913. package/lib/translated/pt_BR/modules/translations/locales/sl.js +36 -0
  1914. package/lib/translated/pt_BR/modules/translations/locales/sv-x-k12.js +36 -0
  1915. package/lib/translated/pt_BR/modules/translations/locales/zh-Hans.js +36 -0
  1916. package/lib/translated/pt_BR/modules/translations/locales/zh-Hant.js +36 -0
  1917. package/lib/translated/pt_BR/modules/translations/locales/zh.js +36 -0
  1918. package/lib/translated/pt_BR/modules/translations/locales/zh_HK.js +36 -0
  1919. package/lib/translated/ru/modules/common/fileUrl.js +4 -3
  1920. package/lib/translated/ru/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1921. package/lib/translated/ru/modules/enhance-user-content/doc_previews.js +1 -1
  1922. package/lib/translated/ru/modules/enhance-user-content/enhance_user_content.js +19 -7
  1923. package/lib/translated/ru/modules/enhance-user-content/instructure_helper.js +2 -1
  1924. package/lib/translated/ru/modules/rce/RCEWrapper.js +4 -7
  1925. package/lib/translated/ru/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1926. package/lib/translated/ru/modules/rce/__tests__/contentRendering.test.js +10 -0
  1927. package/lib/translated/ru/modules/rce/contentRendering.js +2 -2
  1928. package/lib/translated/ru/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1929. package/lib/translated/ru/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1930. package/lib/translated/ru/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1931. package/lib/translated/ru/modules/rce/tinyRCE.js +0 -1
  1932. package/lib/translated/ru/modules/rcs/api.js +3 -2
  1933. package/lib/translated/ru/modules/sidebar/store/initialState.js +4 -2
  1934. package/lib/translated/ru/modules/translations/locales/ar.js +36 -0
  1935. package/lib/translated/ru/modules/translations/locales/ca.js +36 -0
  1936. package/lib/translated/ru/modules/translations/locales/cy.js +36 -0
  1937. package/lib/translated/ru/modules/translations/locales/da-x-k12.js +36 -0
  1938. package/lib/translated/ru/modules/translations/locales/da.js +36 -0
  1939. package/lib/translated/ru/modules/translations/locales/de.js +36 -0
  1940. package/lib/translated/ru/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1941. package/lib/translated/ru/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1942. package/lib/translated/ru/modules/translations/locales/en_AU.js +36 -0
  1943. package/lib/translated/ru/modules/translations/locales/en_CA.js +36 -0
  1944. package/lib/translated/ru/modules/translations/locales/en_CY.js +36 -0
  1945. package/lib/translated/ru/modules/translations/locales/en_GB.js +36 -0
  1946. package/lib/translated/ru/modules/translations/locales/es.js +36 -0
  1947. package/lib/translated/ru/modules/translations/locales/es_ES.js +36 -0
  1948. package/lib/translated/ru/modules/translations/locales/fi.js +36 -0
  1949. package/lib/translated/ru/modules/translations/locales/fr.js +36 -0
  1950. package/lib/translated/ru/modules/translations/locales/fr_CA.js +36 -0
  1951. package/lib/translated/ru/modules/translations/locales/ht.js +36 -0
  1952. package/lib/translated/ru/modules/translations/locales/is.js +36 -0
  1953. package/lib/translated/ru/modules/translations/locales/it.js +36 -0
  1954. package/lib/translated/ru/modules/translations/locales/ja.js +36 -0
  1955. package/lib/translated/ru/modules/translations/locales/mi.js +36 -0
  1956. package/lib/translated/ru/modules/translations/locales/nb-x-k12.js +36 -0
  1957. package/lib/translated/ru/modules/translations/locales/nb.js +36 -0
  1958. package/lib/translated/ru/modules/translations/locales/nl.js +36 -0
  1959. package/lib/translated/ru/modules/translations/locales/pl.js +36 -0
  1960. package/lib/translated/ru/modules/translations/locales/pt.js +36 -0
  1961. package/lib/translated/ru/modules/translations/locales/pt_BR.js +36 -0
  1962. package/lib/translated/ru/modules/translations/locales/sl.js +36 -0
  1963. package/lib/translated/ru/modules/translations/locales/sv-x-k12.js +36 -0
  1964. package/lib/translated/ru/modules/translations/locales/zh-Hans.js +36 -0
  1965. package/lib/translated/ru/modules/translations/locales/zh-Hant.js +36 -0
  1966. package/lib/translated/ru/modules/translations/locales/zh.js +36 -0
  1967. package/lib/translated/ru/modules/translations/locales/zh_HK.js +36 -0
  1968. package/lib/translated/se/modules/common/fileUrl.js +4 -3
  1969. package/lib/translated/se/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  1970. package/lib/translated/se/modules/enhance-user-content/doc_previews.js +1 -1
  1971. package/lib/translated/se/modules/enhance-user-content/enhance_user_content.js +19 -7
  1972. package/lib/translated/se/modules/enhance-user-content/instructure_helper.js +2 -1
  1973. package/lib/translated/se/modules/rce/RCEWrapper.js +4 -7
  1974. package/lib/translated/se/modules/rce/__tests__/contentInsertion.test.js +1 -1
  1975. package/lib/translated/se/modules/rce/__tests__/contentRendering.test.js +10 -0
  1976. package/lib/translated/se/modules/rce/contentRendering.js +2 -2
  1977. package/lib/translated/se/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  1978. package/lib/translated/se/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  1979. package/lib/translated/se/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  1980. package/lib/translated/se/modules/rce/tinyRCE.js +0 -1
  1981. package/lib/translated/se/modules/rcs/api.js +3 -2
  1982. package/lib/translated/se/modules/sidebar/store/initialState.js +4 -2
  1983. package/lib/translated/se/modules/translations/locales/ar.js +36 -0
  1984. package/lib/translated/se/modules/translations/locales/ca.js +36 -0
  1985. package/lib/translated/se/modules/translations/locales/cy.js +36 -0
  1986. package/lib/translated/se/modules/translations/locales/da-x-k12.js +36 -0
  1987. package/lib/translated/se/modules/translations/locales/da.js +36 -0
  1988. package/lib/translated/se/modules/translations/locales/de.js +36 -0
  1989. package/lib/translated/se/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  1990. package/lib/translated/se/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  1991. package/lib/translated/se/modules/translations/locales/en_AU.js +36 -0
  1992. package/lib/translated/se/modules/translations/locales/en_CA.js +36 -0
  1993. package/lib/translated/se/modules/translations/locales/en_CY.js +36 -0
  1994. package/lib/translated/se/modules/translations/locales/en_GB.js +36 -0
  1995. package/lib/translated/se/modules/translations/locales/es.js +36 -0
  1996. package/lib/translated/se/modules/translations/locales/es_ES.js +36 -0
  1997. package/lib/translated/se/modules/translations/locales/fi.js +36 -0
  1998. package/lib/translated/se/modules/translations/locales/fr.js +36 -0
  1999. package/lib/translated/se/modules/translations/locales/fr_CA.js +36 -0
  2000. package/lib/translated/se/modules/translations/locales/ht.js +36 -0
  2001. package/lib/translated/se/modules/translations/locales/is.js +36 -0
  2002. package/lib/translated/se/modules/translations/locales/it.js +36 -0
  2003. package/lib/translated/se/modules/translations/locales/ja.js +36 -0
  2004. package/lib/translated/se/modules/translations/locales/mi.js +36 -0
  2005. package/lib/translated/se/modules/translations/locales/nb-x-k12.js +36 -0
  2006. package/lib/translated/se/modules/translations/locales/nb.js +36 -0
  2007. package/lib/translated/se/modules/translations/locales/nl.js +36 -0
  2008. package/lib/translated/se/modules/translations/locales/pl.js +36 -0
  2009. package/lib/translated/se/modules/translations/locales/pt.js +36 -0
  2010. package/lib/translated/se/modules/translations/locales/pt_BR.js +36 -0
  2011. package/lib/translated/se/modules/translations/locales/sl.js +36 -0
  2012. package/lib/translated/se/modules/translations/locales/sv-x-k12.js +36 -0
  2013. package/lib/translated/se/modules/translations/locales/zh-Hans.js +36 -0
  2014. package/lib/translated/se/modules/translations/locales/zh-Hant.js +36 -0
  2015. package/lib/translated/se/modules/translations/locales/zh.js +36 -0
  2016. package/lib/translated/se/modules/translations/locales/zh_HK.js +36 -0
  2017. package/lib/translated/sl/modules/common/fileUrl.js +4 -3
  2018. package/lib/translated/sl/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2019. package/lib/translated/sl/modules/enhance-user-content/doc_previews.js +3 -3
  2020. package/lib/translated/sl/modules/enhance-user-content/enhance_user_content.js +23 -11
  2021. package/lib/translated/sl/modules/enhance-user-content/instructure_helper.js +4 -3
  2022. package/lib/translated/sl/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  2023. package/lib/translated/sl/modules/rce/RCEWrapper.js +4 -7
  2024. package/lib/translated/sl/modules/rce/StatusBar.js +1 -1
  2025. package/lib/translated/sl/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2026. package/lib/translated/sl/modules/rce/__tests__/contentRendering.test.js +10 -0
  2027. package/lib/translated/sl/modules/rce/contentRendering.js +2 -2
  2028. package/lib/translated/sl/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2029. package/lib/translated/sl/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2030. package/lib/translated/sl/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2031. package/lib/translated/sl/modules/rce/tinyRCE.js +0 -1
  2032. package/lib/translated/sl/modules/rcs/api.js +3 -2
  2033. package/lib/translated/sl/modules/sidebar/store/initialState.js +4 -2
  2034. package/lib/translated/sl/modules/translations/locales/ar.js +36 -0
  2035. package/lib/translated/sl/modules/translations/locales/ca.js +36 -0
  2036. package/lib/translated/sl/modules/translations/locales/cy.js +36 -0
  2037. package/lib/translated/sl/modules/translations/locales/da-x-k12.js +36 -0
  2038. package/lib/translated/sl/modules/translations/locales/da.js +36 -0
  2039. package/lib/translated/sl/modules/translations/locales/de.js +36 -0
  2040. package/lib/translated/sl/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2041. package/lib/translated/sl/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2042. package/lib/translated/sl/modules/translations/locales/en_AU.js +36 -0
  2043. package/lib/translated/sl/modules/translations/locales/en_CA.js +36 -0
  2044. package/lib/translated/sl/modules/translations/locales/en_CY.js +36 -0
  2045. package/lib/translated/sl/modules/translations/locales/en_GB.js +36 -0
  2046. package/lib/translated/sl/modules/translations/locales/es.js +36 -0
  2047. package/lib/translated/sl/modules/translations/locales/es_ES.js +36 -0
  2048. package/lib/translated/sl/modules/translations/locales/fi.js +36 -0
  2049. package/lib/translated/sl/modules/translations/locales/fr.js +36 -0
  2050. package/lib/translated/sl/modules/translations/locales/fr_CA.js +36 -0
  2051. package/lib/translated/sl/modules/translations/locales/ht.js +36 -0
  2052. package/lib/translated/sl/modules/translations/locales/is.js +36 -0
  2053. package/lib/translated/sl/modules/translations/locales/it.js +36 -0
  2054. package/lib/translated/sl/modules/translations/locales/ja.js +36 -0
  2055. package/lib/translated/sl/modules/translations/locales/mi.js +36 -0
  2056. package/lib/translated/sl/modules/translations/locales/nb-x-k12.js +36 -0
  2057. package/lib/translated/sl/modules/translations/locales/nb.js +36 -0
  2058. package/lib/translated/sl/modules/translations/locales/nl.js +36 -0
  2059. package/lib/translated/sl/modules/translations/locales/pl.js +36 -0
  2060. package/lib/translated/sl/modules/translations/locales/pt.js +36 -0
  2061. package/lib/translated/sl/modules/translations/locales/pt_BR.js +36 -0
  2062. package/lib/translated/sl/modules/translations/locales/sl.js +36 -0
  2063. package/lib/translated/sl/modules/translations/locales/sv-x-k12.js +36 -0
  2064. package/lib/translated/sl/modules/translations/locales/zh-Hans.js +36 -0
  2065. package/lib/translated/sl/modules/translations/locales/zh-Hant.js +36 -0
  2066. package/lib/translated/sl/modules/translations/locales/zh.js +36 -0
  2067. package/lib/translated/sl/modules/translations/locales/zh_HK.js +36 -0
  2068. package/lib/translated/sv/modules/common/fileUrl.js +4 -3
  2069. package/lib/translated/sv/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2070. package/lib/translated/sv/modules/enhance-user-content/doc_previews.js +1 -1
  2071. package/lib/translated/sv/modules/enhance-user-content/enhance_user_content.js +19 -7
  2072. package/lib/translated/sv/modules/enhance-user-content/instructure_helper.js +2 -1
  2073. package/lib/translated/sv/modules/rce/RCEWrapper.js +4 -7
  2074. package/lib/translated/sv/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2075. package/lib/translated/sv/modules/rce/__tests__/contentRendering.test.js +10 -0
  2076. package/lib/translated/sv/modules/rce/contentRendering.js +2 -2
  2077. package/lib/translated/sv/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2078. package/lib/translated/sv/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2079. package/lib/translated/sv/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2080. package/lib/translated/sv/modules/rce/tinyRCE.js +0 -1
  2081. package/lib/translated/sv/modules/rcs/api.js +3 -2
  2082. package/lib/translated/sv/modules/sidebar/store/initialState.js +4 -2
  2083. package/lib/translated/sv/modules/translations/locales/ar.js +36 -0
  2084. package/lib/translated/sv/modules/translations/locales/ca.js +36 -0
  2085. package/lib/translated/sv/modules/translations/locales/cy.js +36 -0
  2086. package/lib/translated/sv/modules/translations/locales/da-x-k12.js +36 -0
  2087. package/lib/translated/sv/modules/translations/locales/da.js +36 -0
  2088. package/lib/translated/sv/modules/translations/locales/de.js +36 -0
  2089. package/lib/translated/sv/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2090. package/lib/translated/sv/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2091. package/lib/translated/sv/modules/translations/locales/en_AU.js +36 -0
  2092. package/lib/translated/sv/modules/translations/locales/en_CA.js +36 -0
  2093. package/lib/translated/sv/modules/translations/locales/en_CY.js +36 -0
  2094. package/lib/translated/sv/modules/translations/locales/en_GB.js +36 -0
  2095. package/lib/translated/sv/modules/translations/locales/es.js +36 -0
  2096. package/lib/translated/sv/modules/translations/locales/es_ES.js +36 -0
  2097. package/lib/translated/sv/modules/translations/locales/fi.js +36 -0
  2098. package/lib/translated/sv/modules/translations/locales/fr.js +36 -0
  2099. package/lib/translated/sv/modules/translations/locales/fr_CA.js +36 -0
  2100. package/lib/translated/sv/modules/translations/locales/ht.js +36 -0
  2101. package/lib/translated/sv/modules/translations/locales/is.js +36 -0
  2102. package/lib/translated/sv/modules/translations/locales/it.js +36 -0
  2103. package/lib/translated/sv/modules/translations/locales/ja.js +36 -0
  2104. package/lib/translated/sv/modules/translations/locales/mi.js +36 -0
  2105. package/lib/translated/sv/modules/translations/locales/nb-x-k12.js +36 -0
  2106. package/lib/translated/sv/modules/translations/locales/nb.js +36 -0
  2107. package/lib/translated/sv/modules/translations/locales/nl.js +36 -0
  2108. package/lib/translated/sv/modules/translations/locales/pl.js +36 -0
  2109. package/lib/translated/sv/modules/translations/locales/pt.js +36 -0
  2110. package/lib/translated/sv/modules/translations/locales/pt_BR.js +36 -0
  2111. package/lib/translated/sv/modules/translations/locales/sl.js +36 -0
  2112. package/lib/translated/sv/modules/translations/locales/sv-x-k12.js +36 -0
  2113. package/lib/translated/sv/modules/translations/locales/zh-Hans.js +36 -0
  2114. package/lib/translated/sv/modules/translations/locales/zh-Hant.js +36 -0
  2115. package/lib/translated/sv/modules/translations/locales/zh.js +36 -0
  2116. package/lib/translated/sv/modules/translations/locales/zh_HK.js +36 -0
  2117. package/lib/translated/sv-x-k12/modules/common/fileUrl.js +4 -3
  2118. package/lib/translated/sv-x-k12/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2119. package/lib/translated/sv-x-k12/modules/enhance-user-content/doc_previews.js +3 -3
  2120. package/lib/translated/sv-x-k12/modules/enhance-user-content/enhance_user_content.js +23 -11
  2121. package/lib/translated/sv-x-k12/modules/enhance-user-content/instructure_helper.js +4 -3
  2122. package/lib/translated/sv-x-k12/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  2123. package/lib/translated/sv-x-k12/modules/rce/RCEWrapper.js +4 -7
  2124. package/lib/translated/sv-x-k12/modules/rce/StatusBar.js +1 -1
  2125. package/lib/translated/sv-x-k12/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2126. package/lib/translated/sv-x-k12/modules/rce/__tests__/contentRendering.test.js +10 -0
  2127. package/lib/translated/sv-x-k12/modules/rce/contentRendering.js +2 -2
  2128. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2129. package/lib/translated/sv-x-k12/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2130. package/lib/translated/sv-x-k12/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2131. package/lib/translated/sv-x-k12/modules/rce/tinyRCE.js +0 -1
  2132. package/lib/translated/sv-x-k12/modules/rcs/api.js +3 -2
  2133. package/lib/translated/sv-x-k12/modules/sidebar/store/initialState.js +4 -2
  2134. package/lib/translated/sv-x-k12/modules/translations/locales/ar.js +36 -0
  2135. package/lib/translated/sv-x-k12/modules/translations/locales/ca.js +36 -0
  2136. package/lib/translated/sv-x-k12/modules/translations/locales/cy.js +36 -0
  2137. package/lib/translated/sv-x-k12/modules/translations/locales/da-x-k12.js +36 -0
  2138. package/lib/translated/sv-x-k12/modules/translations/locales/da.js +36 -0
  2139. package/lib/translated/sv-x-k12/modules/translations/locales/de.js +36 -0
  2140. package/lib/translated/sv-x-k12/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2141. package/lib/translated/sv-x-k12/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2142. package/lib/translated/sv-x-k12/modules/translations/locales/en_AU.js +36 -0
  2143. package/lib/translated/sv-x-k12/modules/translations/locales/en_CA.js +36 -0
  2144. package/lib/translated/sv-x-k12/modules/translations/locales/en_CY.js +36 -0
  2145. package/lib/translated/sv-x-k12/modules/translations/locales/en_GB.js +36 -0
  2146. package/lib/translated/sv-x-k12/modules/translations/locales/es.js +36 -0
  2147. package/lib/translated/sv-x-k12/modules/translations/locales/es_ES.js +36 -0
  2148. package/lib/translated/sv-x-k12/modules/translations/locales/fi.js +36 -0
  2149. package/lib/translated/sv-x-k12/modules/translations/locales/fr.js +36 -0
  2150. package/lib/translated/sv-x-k12/modules/translations/locales/fr_CA.js +36 -0
  2151. package/lib/translated/sv-x-k12/modules/translations/locales/ht.js +36 -0
  2152. package/lib/translated/sv-x-k12/modules/translations/locales/is.js +36 -0
  2153. package/lib/translated/sv-x-k12/modules/translations/locales/it.js +36 -0
  2154. package/lib/translated/sv-x-k12/modules/translations/locales/ja.js +36 -0
  2155. package/lib/translated/sv-x-k12/modules/translations/locales/mi.js +36 -0
  2156. package/lib/translated/sv-x-k12/modules/translations/locales/nb-x-k12.js +36 -0
  2157. package/lib/translated/sv-x-k12/modules/translations/locales/nb.js +36 -0
  2158. package/lib/translated/sv-x-k12/modules/translations/locales/nl.js +36 -0
  2159. package/lib/translated/sv-x-k12/modules/translations/locales/pl.js +36 -0
  2160. package/lib/translated/sv-x-k12/modules/translations/locales/pt.js +36 -0
  2161. package/lib/translated/sv-x-k12/modules/translations/locales/pt_BR.js +36 -0
  2162. package/lib/translated/sv-x-k12/modules/translations/locales/sl.js +36 -0
  2163. package/lib/translated/sv-x-k12/modules/translations/locales/sv-x-k12.js +36 -0
  2164. package/lib/translated/sv-x-k12/modules/translations/locales/zh-Hans.js +36 -0
  2165. package/lib/translated/sv-x-k12/modules/translations/locales/zh-Hant.js +36 -0
  2166. package/lib/translated/sv-x-k12/modules/translations/locales/zh.js +36 -0
  2167. package/lib/translated/sv-x-k12/modules/translations/locales/zh_HK.js +36 -0
  2168. package/lib/translated/sv_SE/modules/common/fileUrl.js +4 -3
  2169. package/lib/translated/sv_SE/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2170. package/lib/translated/sv_SE/modules/enhance-user-content/doc_previews.js +1 -1
  2171. package/lib/translated/sv_SE/modules/enhance-user-content/enhance_user_content.js +19 -7
  2172. package/lib/translated/sv_SE/modules/enhance-user-content/instructure_helper.js +2 -1
  2173. package/lib/translated/sv_SE/modules/rce/RCEWrapper.js +4 -7
  2174. package/lib/translated/sv_SE/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2175. package/lib/translated/sv_SE/modules/rce/__tests__/contentRendering.test.js +10 -0
  2176. package/lib/translated/sv_SE/modules/rce/contentRendering.js +2 -2
  2177. package/lib/translated/sv_SE/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2178. package/lib/translated/sv_SE/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2179. package/lib/translated/sv_SE/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2180. package/lib/translated/sv_SE/modules/rce/tinyRCE.js +0 -1
  2181. package/lib/translated/sv_SE/modules/rcs/api.js +3 -2
  2182. package/lib/translated/sv_SE/modules/sidebar/store/initialState.js +4 -2
  2183. package/lib/translated/sv_SE/modules/translations/locales/ar.js +36 -0
  2184. package/lib/translated/sv_SE/modules/translations/locales/ca.js +36 -0
  2185. package/lib/translated/sv_SE/modules/translations/locales/cy.js +36 -0
  2186. package/lib/translated/sv_SE/modules/translations/locales/da-x-k12.js +36 -0
  2187. package/lib/translated/sv_SE/modules/translations/locales/da.js +36 -0
  2188. package/lib/translated/sv_SE/modules/translations/locales/de.js +36 -0
  2189. package/lib/translated/sv_SE/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2190. package/lib/translated/sv_SE/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2191. package/lib/translated/sv_SE/modules/translations/locales/en_AU.js +36 -0
  2192. package/lib/translated/sv_SE/modules/translations/locales/en_CA.js +36 -0
  2193. package/lib/translated/sv_SE/modules/translations/locales/en_CY.js +36 -0
  2194. package/lib/translated/sv_SE/modules/translations/locales/en_GB.js +36 -0
  2195. package/lib/translated/sv_SE/modules/translations/locales/es.js +36 -0
  2196. package/lib/translated/sv_SE/modules/translations/locales/es_ES.js +36 -0
  2197. package/lib/translated/sv_SE/modules/translations/locales/fi.js +36 -0
  2198. package/lib/translated/sv_SE/modules/translations/locales/fr.js +36 -0
  2199. package/lib/translated/sv_SE/modules/translations/locales/fr_CA.js +36 -0
  2200. package/lib/translated/sv_SE/modules/translations/locales/ht.js +36 -0
  2201. package/lib/translated/sv_SE/modules/translations/locales/is.js +36 -0
  2202. package/lib/translated/sv_SE/modules/translations/locales/it.js +36 -0
  2203. package/lib/translated/sv_SE/modules/translations/locales/ja.js +36 -0
  2204. package/lib/translated/sv_SE/modules/translations/locales/mi.js +36 -0
  2205. package/lib/translated/sv_SE/modules/translations/locales/nb-x-k12.js +36 -0
  2206. package/lib/translated/sv_SE/modules/translations/locales/nb.js +36 -0
  2207. package/lib/translated/sv_SE/modules/translations/locales/nl.js +36 -0
  2208. package/lib/translated/sv_SE/modules/translations/locales/pl.js +36 -0
  2209. package/lib/translated/sv_SE/modules/translations/locales/pt.js +36 -0
  2210. package/lib/translated/sv_SE/modules/translations/locales/pt_BR.js +36 -0
  2211. package/lib/translated/sv_SE/modules/translations/locales/sl.js +36 -0
  2212. package/lib/translated/sv_SE/modules/translations/locales/sv-x-k12.js +36 -0
  2213. package/lib/translated/sv_SE/modules/translations/locales/zh-Hans.js +36 -0
  2214. package/lib/translated/sv_SE/modules/translations/locales/zh-Hant.js +36 -0
  2215. package/lib/translated/sv_SE/modules/translations/locales/zh.js +36 -0
  2216. package/lib/translated/sv_SE/modules/translations/locales/zh_HK.js +36 -0
  2217. package/lib/translated/tg/modules/common/fileUrl.js +4 -3
  2218. package/lib/translated/tg/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2219. package/lib/translated/tg/modules/enhance-user-content/doc_previews.js +1 -1
  2220. package/lib/translated/tg/modules/enhance-user-content/enhance_user_content.js +19 -7
  2221. package/lib/translated/tg/modules/enhance-user-content/instructure_helper.js +2 -1
  2222. package/lib/translated/tg/modules/rce/RCEWrapper.js +4 -7
  2223. package/lib/translated/tg/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2224. package/lib/translated/tg/modules/rce/__tests__/contentRendering.test.js +10 -0
  2225. package/lib/translated/tg/modules/rce/contentRendering.js +2 -2
  2226. package/lib/translated/tg/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2227. package/lib/translated/tg/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2228. package/lib/translated/tg/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2229. package/lib/translated/tg/modules/rce/tinyRCE.js +0 -1
  2230. package/lib/translated/tg/modules/rcs/api.js +3 -2
  2231. package/lib/translated/tg/modules/sidebar/store/initialState.js +4 -2
  2232. package/lib/translated/tg/modules/translations/locales/ar.js +36 -0
  2233. package/lib/translated/tg/modules/translations/locales/ca.js +36 -0
  2234. package/lib/translated/tg/modules/translations/locales/cy.js +36 -0
  2235. package/lib/translated/tg/modules/translations/locales/da-x-k12.js +36 -0
  2236. package/lib/translated/tg/modules/translations/locales/da.js +36 -0
  2237. package/lib/translated/tg/modules/translations/locales/de.js +36 -0
  2238. package/lib/translated/tg/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2239. package/lib/translated/tg/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2240. package/lib/translated/tg/modules/translations/locales/en_AU.js +36 -0
  2241. package/lib/translated/tg/modules/translations/locales/en_CA.js +36 -0
  2242. package/lib/translated/tg/modules/translations/locales/en_CY.js +36 -0
  2243. package/lib/translated/tg/modules/translations/locales/en_GB.js +36 -0
  2244. package/lib/translated/tg/modules/translations/locales/es.js +36 -0
  2245. package/lib/translated/tg/modules/translations/locales/es_ES.js +36 -0
  2246. package/lib/translated/tg/modules/translations/locales/fi.js +36 -0
  2247. package/lib/translated/tg/modules/translations/locales/fr.js +36 -0
  2248. package/lib/translated/tg/modules/translations/locales/fr_CA.js +36 -0
  2249. package/lib/translated/tg/modules/translations/locales/ht.js +36 -0
  2250. package/lib/translated/tg/modules/translations/locales/is.js +36 -0
  2251. package/lib/translated/tg/modules/translations/locales/it.js +36 -0
  2252. package/lib/translated/tg/modules/translations/locales/ja.js +36 -0
  2253. package/lib/translated/tg/modules/translations/locales/mi.js +36 -0
  2254. package/lib/translated/tg/modules/translations/locales/nb-x-k12.js +36 -0
  2255. package/lib/translated/tg/modules/translations/locales/nb.js +36 -0
  2256. package/lib/translated/tg/modules/translations/locales/nl.js +36 -0
  2257. package/lib/translated/tg/modules/translations/locales/pl.js +36 -0
  2258. package/lib/translated/tg/modules/translations/locales/pt.js +36 -0
  2259. package/lib/translated/tg/modules/translations/locales/pt_BR.js +36 -0
  2260. package/lib/translated/tg/modules/translations/locales/sl.js +36 -0
  2261. package/lib/translated/tg/modules/translations/locales/sv-x-k12.js +36 -0
  2262. package/lib/translated/tg/modules/translations/locales/zh-Hans.js +36 -0
  2263. package/lib/translated/tg/modules/translations/locales/zh-Hant.js +36 -0
  2264. package/lib/translated/tg/modules/translations/locales/zh.js +36 -0
  2265. package/lib/translated/tg/modules/translations/locales/zh_HK.js +36 -0
  2266. package/lib/translated/th/modules/common/fileUrl.js +4 -3
  2267. package/lib/translated/th/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2268. package/lib/translated/th/modules/enhance-user-content/doc_previews.js +1 -1
  2269. package/lib/translated/th/modules/enhance-user-content/enhance_user_content.js +19 -7
  2270. package/lib/translated/th/modules/enhance-user-content/instructure_helper.js +2 -1
  2271. package/lib/translated/th/modules/rce/RCEWrapper.js +4 -7
  2272. package/lib/translated/th/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2273. package/lib/translated/th/modules/rce/__tests__/contentRendering.test.js +10 -0
  2274. package/lib/translated/th/modules/rce/contentRendering.js +2 -2
  2275. package/lib/translated/th/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2276. package/lib/translated/th/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2277. package/lib/translated/th/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2278. package/lib/translated/th/modules/rce/tinyRCE.js +0 -1
  2279. package/lib/translated/th/modules/rcs/api.js +3 -2
  2280. package/lib/translated/th/modules/sidebar/store/initialState.js +4 -2
  2281. package/lib/translated/th/modules/translations/locales/ar.js +36 -0
  2282. package/lib/translated/th/modules/translations/locales/ca.js +36 -0
  2283. package/lib/translated/th/modules/translations/locales/cy.js +36 -0
  2284. package/lib/translated/th/modules/translations/locales/da-x-k12.js +36 -0
  2285. package/lib/translated/th/modules/translations/locales/da.js +36 -0
  2286. package/lib/translated/th/modules/translations/locales/de.js +36 -0
  2287. package/lib/translated/th/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2288. package/lib/translated/th/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2289. package/lib/translated/th/modules/translations/locales/en_AU.js +36 -0
  2290. package/lib/translated/th/modules/translations/locales/en_CA.js +36 -0
  2291. package/lib/translated/th/modules/translations/locales/en_CY.js +36 -0
  2292. package/lib/translated/th/modules/translations/locales/en_GB.js +36 -0
  2293. package/lib/translated/th/modules/translations/locales/es.js +36 -0
  2294. package/lib/translated/th/modules/translations/locales/es_ES.js +36 -0
  2295. package/lib/translated/th/modules/translations/locales/fi.js +36 -0
  2296. package/lib/translated/th/modules/translations/locales/fr.js +36 -0
  2297. package/lib/translated/th/modules/translations/locales/fr_CA.js +36 -0
  2298. package/lib/translated/th/modules/translations/locales/ht.js +36 -0
  2299. package/lib/translated/th/modules/translations/locales/is.js +36 -0
  2300. package/lib/translated/th/modules/translations/locales/it.js +36 -0
  2301. package/lib/translated/th/modules/translations/locales/ja.js +36 -0
  2302. package/lib/translated/th/modules/translations/locales/mi.js +36 -0
  2303. package/lib/translated/th/modules/translations/locales/nb-x-k12.js +36 -0
  2304. package/lib/translated/th/modules/translations/locales/nb.js +36 -0
  2305. package/lib/translated/th/modules/translations/locales/nl.js +36 -0
  2306. package/lib/translated/th/modules/translations/locales/pl.js +36 -0
  2307. package/lib/translated/th/modules/translations/locales/pt.js +36 -0
  2308. package/lib/translated/th/modules/translations/locales/pt_BR.js +36 -0
  2309. package/lib/translated/th/modules/translations/locales/sl.js +36 -0
  2310. package/lib/translated/th/modules/translations/locales/sv-x-k12.js +36 -0
  2311. package/lib/translated/th/modules/translations/locales/zh-Hans.js +36 -0
  2312. package/lib/translated/th/modules/translations/locales/zh-Hant.js +36 -0
  2313. package/lib/translated/th/modules/translations/locales/zh.js +36 -0
  2314. package/lib/translated/th/modules/translations/locales/zh_HK.js +36 -0
  2315. package/lib/translated/th_TH/modules/common/fileUrl.js +4 -3
  2316. package/lib/translated/th_TH/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2317. package/lib/translated/th_TH/modules/enhance-user-content/doc_previews.js +1 -1
  2318. package/lib/translated/th_TH/modules/enhance-user-content/enhance_user_content.js +19 -7
  2319. package/lib/translated/th_TH/modules/enhance-user-content/instructure_helper.js +2 -1
  2320. package/lib/translated/th_TH/modules/rce/RCEWrapper.js +4 -7
  2321. package/lib/translated/th_TH/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2322. package/lib/translated/th_TH/modules/rce/__tests__/contentRendering.test.js +10 -0
  2323. package/lib/translated/th_TH/modules/rce/contentRendering.js +2 -2
  2324. package/lib/translated/th_TH/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2325. package/lib/translated/th_TH/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2326. package/lib/translated/th_TH/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2327. package/lib/translated/th_TH/modules/rce/tinyRCE.js +0 -1
  2328. package/lib/translated/th_TH/modules/rcs/api.js +3 -2
  2329. package/lib/translated/th_TH/modules/sidebar/store/initialState.js +4 -2
  2330. package/lib/translated/th_TH/modules/translations/locales/ar.js +36 -0
  2331. package/lib/translated/th_TH/modules/translations/locales/ca.js +36 -0
  2332. package/lib/translated/th_TH/modules/translations/locales/cy.js +36 -0
  2333. package/lib/translated/th_TH/modules/translations/locales/da-x-k12.js +36 -0
  2334. package/lib/translated/th_TH/modules/translations/locales/da.js +36 -0
  2335. package/lib/translated/th_TH/modules/translations/locales/de.js +36 -0
  2336. package/lib/translated/th_TH/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2337. package/lib/translated/th_TH/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2338. package/lib/translated/th_TH/modules/translations/locales/en_AU.js +36 -0
  2339. package/lib/translated/th_TH/modules/translations/locales/en_CA.js +36 -0
  2340. package/lib/translated/th_TH/modules/translations/locales/en_CY.js +36 -0
  2341. package/lib/translated/th_TH/modules/translations/locales/en_GB.js +36 -0
  2342. package/lib/translated/th_TH/modules/translations/locales/es.js +36 -0
  2343. package/lib/translated/th_TH/modules/translations/locales/es_ES.js +36 -0
  2344. package/lib/translated/th_TH/modules/translations/locales/fi.js +36 -0
  2345. package/lib/translated/th_TH/modules/translations/locales/fr.js +36 -0
  2346. package/lib/translated/th_TH/modules/translations/locales/fr_CA.js +36 -0
  2347. package/lib/translated/th_TH/modules/translations/locales/ht.js +36 -0
  2348. package/lib/translated/th_TH/modules/translations/locales/is.js +36 -0
  2349. package/lib/translated/th_TH/modules/translations/locales/it.js +36 -0
  2350. package/lib/translated/th_TH/modules/translations/locales/ja.js +36 -0
  2351. package/lib/translated/th_TH/modules/translations/locales/mi.js +36 -0
  2352. package/lib/translated/th_TH/modules/translations/locales/nb-x-k12.js +36 -0
  2353. package/lib/translated/th_TH/modules/translations/locales/nb.js +36 -0
  2354. package/lib/translated/th_TH/modules/translations/locales/nl.js +36 -0
  2355. package/lib/translated/th_TH/modules/translations/locales/pl.js +36 -0
  2356. package/lib/translated/th_TH/modules/translations/locales/pt.js +36 -0
  2357. package/lib/translated/th_TH/modules/translations/locales/pt_BR.js +36 -0
  2358. package/lib/translated/th_TH/modules/translations/locales/sl.js +36 -0
  2359. package/lib/translated/th_TH/modules/translations/locales/sv-x-k12.js +36 -0
  2360. package/lib/translated/th_TH/modules/translations/locales/zh-Hans.js +36 -0
  2361. package/lib/translated/th_TH/modules/translations/locales/zh-Hant.js +36 -0
  2362. package/lib/translated/th_TH/modules/translations/locales/zh.js +36 -0
  2363. package/lib/translated/th_TH/modules/translations/locales/zh_HK.js +36 -0
  2364. package/lib/translated/tr/modules/common/fileUrl.js +4 -3
  2365. package/lib/translated/tr/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2366. package/lib/translated/tr/modules/enhance-user-content/doc_previews.js +1 -1
  2367. package/lib/translated/tr/modules/enhance-user-content/enhance_user_content.js +19 -7
  2368. package/lib/translated/tr/modules/enhance-user-content/instructure_helper.js +2 -1
  2369. package/lib/translated/tr/modules/rce/RCEWrapper.js +4 -7
  2370. package/lib/translated/tr/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2371. package/lib/translated/tr/modules/rce/__tests__/contentRendering.test.js +10 -0
  2372. package/lib/translated/tr/modules/rce/contentRendering.js +2 -2
  2373. package/lib/translated/tr/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2374. package/lib/translated/tr/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2375. package/lib/translated/tr/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2376. package/lib/translated/tr/modules/rce/tinyRCE.js +0 -1
  2377. package/lib/translated/tr/modules/rcs/api.js +3 -2
  2378. package/lib/translated/tr/modules/sidebar/store/initialState.js +4 -2
  2379. package/lib/translated/tr/modules/translations/locales/ar.js +36 -0
  2380. package/lib/translated/tr/modules/translations/locales/ca.js +36 -0
  2381. package/lib/translated/tr/modules/translations/locales/cy.js +36 -0
  2382. package/lib/translated/tr/modules/translations/locales/da-x-k12.js +36 -0
  2383. package/lib/translated/tr/modules/translations/locales/da.js +36 -0
  2384. package/lib/translated/tr/modules/translations/locales/de.js +36 -0
  2385. package/lib/translated/tr/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2386. package/lib/translated/tr/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2387. package/lib/translated/tr/modules/translations/locales/en_AU.js +36 -0
  2388. package/lib/translated/tr/modules/translations/locales/en_CA.js +36 -0
  2389. package/lib/translated/tr/modules/translations/locales/en_CY.js +36 -0
  2390. package/lib/translated/tr/modules/translations/locales/en_GB.js +36 -0
  2391. package/lib/translated/tr/modules/translations/locales/es.js +36 -0
  2392. package/lib/translated/tr/modules/translations/locales/es_ES.js +36 -0
  2393. package/lib/translated/tr/modules/translations/locales/fi.js +36 -0
  2394. package/lib/translated/tr/modules/translations/locales/fr.js +36 -0
  2395. package/lib/translated/tr/modules/translations/locales/fr_CA.js +36 -0
  2396. package/lib/translated/tr/modules/translations/locales/ht.js +36 -0
  2397. package/lib/translated/tr/modules/translations/locales/is.js +36 -0
  2398. package/lib/translated/tr/modules/translations/locales/it.js +36 -0
  2399. package/lib/translated/tr/modules/translations/locales/ja.js +36 -0
  2400. package/lib/translated/tr/modules/translations/locales/mi.js +36 -0
  2401. package/lib/translated/tr/modules/translations/locales/nb-x-k12.js +36 -0
  2402. package/lib/translated/tr/modules/translations/locales/nb.js +36 -0
  2403. package/lib/translated/tr/modules/translations/locales/nl.js +36 -0
  2404. package/lib/translated/tr/modules/translations/locales/pl.js +36 -0
  2405. package/lib/translated/tr/modules/translations/locales/pt.js +36 -0
  2406. package/lib/translated/tr/modules/translations/locales/pt_BR.js +36 -0
  2407. package/lib/translated/tr/modules/translations/locales/sl.js +36 -0
  2408. package/lib/translated/tr/modules/translations/locales/sv-x-k12.js +36 -0
  2409. package/lib/translated/tr/modules/translations/locales/zh-Hans.js +36 -0
  2410. package/lib/translated/tr/modules/translations/locales/zh-Hant.js +36 -0
  2411. package/lib/translated/tr/modules/translations/locales/zh.js +36 -0
  2412. package/lib/translated/tr/modules/translations/locales/zh_HK.js +36 -0
  2413. package/lib/translated/uk_UA/modules/common/fileUrl.js +4 -3
  2414. package/lib/translated/uk_UA/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2415. package/lib/translated/uk_UA/modules/enhance-user-content/doc_previews.js +1 -1
  2416. package/lib/translated/uk_UA/modules/enhance-user-content/enhance_user_content.js +19 -7
  2417. package/lib/translated/uk_UA/modules/enhance-user-content/instructure_helper.js +2 -1
  2418. package/lib/translated/uk_UA/modules/rce/RCEWrapper.js +4 -7
  2419. package/lib/translated/uk_UA/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2420. package/lib/translated/uk_UA/modules/rce/__tests__/contentRendering.test.js +10 -0
  2421. package/lib/translated/uk_UA/modules/rce/contentRendering.js +2 -2
  2422. package/lib/translated/uk_UA/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2423. package/lib/translated/uk_UA/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2424. package/lib/translated/uk_UA/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2425. package/lib/translated/uk_UA/modules/rce/tinyRCE.js +0 -1
  2426. package/lib/translated/uk_UA/modules/rcs/api.js +3 -2
  2427. package/lib/translated/uk_UA/modules/sidebar/store/initialState.js +4 -2
  2428. package/lib/translated/uk_UA/modules/translations/locales/ar.js +36 -0
  2429. package/lib/translated/uk_UA/modules/translations/locales/ca.js +36 -0
  2430. package/lib/translated/uk_UA/modules/translations/locales/cy.js +36 -0
  2431. package/lib/translated/uk_UA/modules/translations/locales/da-x-k12.js +36 -0
  2432. package/lib/translated/uk_UA/modules/translations/locales/da.js +36 -0
  2433. package/lib/translated/uk_UA/modules/translations/locales/de.js +36 -0
  2434. package/lib/translated/uk_UA/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2435. package/lib/translated/uk_UA/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2436. package/lib/translated/uk_UA/modules/translations/locales/en_AU.js +36 -0
  2437. package/lib/translated/uk_UA/modules/translations/locales/en_CA.js +36 -0
  2438. package/lib/translated/uk_UA/modules/translations/locales/en_CY.js +36 -0
  2439. package/lib/translated/uk_UA/modules/translations/locales/en_GB.js +36 -0
  2440. package/lib/translated/uk_UA/modules/translations/locales/es.js +36 -0
  2441. package/lib/translated/uk_UA/modules/translations/locales/es_ES.js +36 -0
  2442. package/lib/translated/uk_UA/modules/translations/locales/fi.js +36 -0
  2443. package/lib/translated/uk_UA/modules/translations/locales/fr.js +36 -0
  2444. package/lib/translated/uk_UA/modules/translations/locales/fr_CA.js +36 -0
  2445. package/lib/translated/uk_UA/modules/translations/locales/ht.js +36 -0
  2446. package/lib/translated/uk_UA/modules/translations/locales/is.js +36 -0
  2447. package/lib/translated/uk_UA/modules/translations/locales/it.js +36 -0
  2448. package/lib/translated/uk_UA/modules/translations/locales/ja.js +36 -0
  2449. package/lib/translated/uk_UA/modules/translations/locales/mi.js +36 -0
  2450. package/lib/translated/uk_UA/modules/translations/locales/nb-x-k12.js +36 -0
  2451. package/lib/translated/uk_UA/modules/translations/locales/nb.js +36 -0
  2452. package/lib/translated/uk_UA/modules/translations/locales/nl.js +36 -0
  2453. package/lib/translated/uk_UA/modules/translations/locales/pl.js +36 -0
  2454. package/lib/translated/uk_UA/modules/translations/locales/pt.js +36 -0
  2455. package/lib/translated/uk_UA/modules/translations/locales/pt_BR.js +36 -0
  2456. package/lib/translated/uk_UA/modules/translations/locales/sl.js +36 -0
  2457. package/lib/translated/uk_UA/modules/translations/locales/sv-x-k12.js +36 -0
  2458. package/lib/translated/uk_UA/modules/translations/locales/zh-Hans.js +36 -0
  2459. package/lib/translated/uk_UA/modules/translations/locales/zh-Hant.js +36 -0
  2460. package/lib/translated/uk_UA/modules/translations/locales/zh.js +36 -0
  2461. package/lib/translated/uk_UA/modules/translations/locales/zh_HK.js +36 -0
  2462. package/lib/translated/vi/modules/common/fileUrl.js +4 -3
  2463. package/lib/translated/vi/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2464. package/lib/translated/vi/modules/enhance-user-content/doc_previews.js +1 -1
  2465. package/lib/translated/vi/modules/enhance-user-content/enhance_user_content.js +19 -7
  2466. package/lib/translated/vi/modules/enhance-user-content/instructure_helper.js +2 -1
  2467. package/lib/translated/vi/modules/rce/RCEWrapper.js +4 -7
  2468. package/lib/translated/vi/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2469. package/lib/translated/vi/modules/rce/__tests__/contentRendering.test.js +10 -0
  2470. package/lib/translated/vi/modules/rce/contentRendering.js +2 -2
  2471. package/lib/translated/vi/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2472. package/lib/translated/vi/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2473. package/lib/translated/vi/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2474. package/lib/translated/vi/modules/rce/tinyRCE.js +0 -1
  2475. package/lib/translated/vi/modules/rcs/api.js +3 -2
  2476. package/lib/translated/vi/modules/sidebar/store/initialState.js +4 -2
  2477. package/lib/translated/vi/modules/translations/locales/ar.js +36 -0
  2478. package/lib/translated/vi/modules/translations/locales/ca.js +36 -0
  2479. package/lib/translated/vi/modules/translations/locales/cy.js +36 -0
  2480. package/lib/translated/vi/modules/translations/locales/da-x-k12.js +36 -0
  2481. package/lib/translated/vi/modules/translations/locales/da.js +36 -0
  2482. package/lib/translated/vi/modules/translations/locales/de.js +36 -0
  2483. package/lib/translated/vi/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2484. package/lib/translated/vi/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2485. package/lib/translated/vi/modules/translations/locales/en_AU.js +36 -0
  2486. package/lib/translated/vi/modules/translations/locales/en_CA.js +36 -0
  2487. package/lib/translated/vi/modules/translations/locales/en_CY.js +36 -0
  2488. package/lib/translated/vi/modules/translations/locales/en_GB.js +36 -0
  2489. package/lib/translated/vi/modules/translations/locales/es.js +36 -0
  2490. package/lib/translated/vi/modules/translations/locales/es_ES.js +36 -0
  2491. package/lib/translated/vi/modules/translations/locales/fi.js +36 -0
  2492. package/lib/translated/vi/modules/translations/locales/fr.js +36 -0
  2493. package/lib/translated/vi/modules/translations/locales/fr_CA.js +36 -0
  2494. package/lib/translated/vi/modules/translations/locales/ht.js +36 -0
  2495. package/lib/translated/vi/modules/translations/locales/is.js +36 -0
  2496. package/lib/translated/vi/modules/translations/locales/it.js +36 -0
  2497. package/lib/translated/vi/modules/translations/locales/ja.js +36 -0
  2498. package/lib/translated/vi/modules/translations/locales/mi.js +36 -0
  2499. package/lib/translated/vi/modules/translations/locales/nb-x-k12.js +36 -0
  2500. package/lib/translated/vi/modules/translations/locales/nb.js +36 -0
  2501. package/lib/translated/vi/modules/translations/locales/nl.js +36 -0
  2502. package/lib/translated/vi/modules/translations/locales/pl.js +36 -0
  2503. package/lib/translated/vi/modules/translations/locales/pt.js +36 -0
  2504. package/lib/translated/vi/modules/translations/locales/pt_BR.js +36 -0
  2505. package/lib/translated/vi/modules/translations/locales/sl.js +36 -0
  2506. package/lib/translated/vi/modules/translations/locales/sv-x-k12.js +36 -0
  2507. package/lib/translated/vi/modules/translations/locales/zh-Hans.js +36 -0
  2508. package/lib/translated/vi/modules/translations/locales/zh-Hant.js +36 -0
  2509. package/lib/translated/vi/modules/translations/locales/zh.js +36 -0
  2510. package/lib/translated/vi/modules/translations/locales/zh_HK.js +36 -0
  2511. package/lib/translated/vi_VN/modules/common/fileUrl.js +4 -3
  2512. package/lib/translated/vi_VN/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2513. package/lib/translated/vi_VN/modules/enhance-user-content/doc_previews.js +1 -1
  2514. package/lib/translated/vi_VN/modules/enhance-user-content/enhance_user_content.js +19 -7
  2515. package/lib/translated/vi_VN/modules/enhance-user-content/instructure_helper.js +2 -1
  2516. package/lib/translated/vi_VN/modules/rce/RCEWrapper.js +4 -7
  2517. package/lib/translated/vi_VN/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2518. package/lib/translated/vi_VN/modules/rce/__tests__/contentRendering.test.js +10 -0
  2519. package/lib/translated/vi_VN/modules/rce/contentRendering.js +2 -2
  2520. package/lib/translated/vi_VN/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2521. package/lib/translated/vi_VN/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2522. package/lib/translated/vi_VN/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2523. package/lib/translated/vi_VN/modules/rce/tinyRCE.js +0 -1
  2524. package/lib/translated/vi_VN/modules/rcs/api.js +3 -2
  2525. package/lib/translated/vi_VN/modules/sidebar/store/initialState.js +4 -2
  2526. package/lib/translated/vi_VN/modules/translations/locales/ar.js +36 -0
  2527. package/lib/translated/vi_VN/modules/translations/locales/ca.js +36 -0
  2528. package/lib/translated/vi_VN/modules/translations/locales/cy.js +36 -0
  2529. package/lib/translated/vi_VN/modules/translations/locales/da-x-k12.js +36 -0
  2530. package/lib/translated/vi_VN/modules/translations/locales/da.js +36 -0
  2531. package/lib/translated/vi_VN/modules/translations/locales/de.js +36 -0
  2532. package/lib/translated/vi_VN/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2533. package/lib/translated/vi_VN/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2534. package/lib/translated/vi_VN/modules/translations/locales/en_AU.js +36 -0
  2535. package/lib/translated/vi_VN/modules/translations/locales/en_CA.js +36 -0
  2536. package/lib/translated/vi_VN/modules/translations/locales/en_CY.js +36 -0
  2537. package/lib/translated/vi_VN/modules/translations/locales/en_GB.js +36 -0
  2538. package/lib/translated/vi_VN/modules/translations/locales/es.js +36 -0
  2539. package/lib/translated/vi_VN/modules/translations/locales/es_ES.js +36 -0
  2540. package/lib/translated/vi_VN/modules/translations/locales/fi.js +36 -0
  2541. package/lib/translated/vi_VN/modules/translations/locales/fr.js +36 -0
  2542. package/lib/translated/vi_VN/modules/translations/locales/fr_CA.js +36 -0
  2543. package/lib/translated/vi_VN/modules/translations/locales/ht.js +36 -0
  2544. package/lib/translated/vi_VN/modules/translations/locales/is.js +36 -0
  2545. package/lib/translated/vi_VN/modules/translations/locales/it.js +36 -0
  2546. package/lib/translated/vi_VN/modules/translations/locales/ja.js +36 -0
  2547. package/lib/translated/vi_VN/modules/translations/locales/mi.js +36 -0
  2548. package/lib/translated/vi_VN/modules/translations/locales/nb-x-k12.js +36 -0
  2549. package/lib/translated/vi_VN/modules/translations/locales/nb.js +36 -0
  2550. package/lib/translated/vi_VN/modules/translations/locales/nl.js +36 -0
  2551. package/lib/translated/vi_VN/modules/translations/locales/pl.js +36 -0
  2552. package/lib/translated/vi_VN/modules/translations/locales/pt.js +36 -0
  2553. package/lib/translated/vi_VN/modules/translations/locales/pt_BR.js +36 -0
  2554. package/lib/translated/vi_VN/modules/translations/locales/sl.js +36 -0
  2555. package/lib/translated/vi_VN/modules/translations/locales/sv-x-k12.js +36 -0
  2556. package/lib/translated/vi_VN/modules/translations/locales/zh-Hans.js +36 -0
  2557. package/lib/translated/vi_VN/modules/translations/locales/zh-Hant.js +36 -0
  2558. package/lib/translated/vi_VN/modules/translations/locales/zh.js +36 -0
  2559. package/lib/translated/vi_VN/modules/translations/locales/zh_HK.js +36 -0
  2560. package/lib/translated/zh/modules/common/fileUrl.js +4 -3
  2561. package/lib/translated/zh/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2562. package/lib/translated/zh/modules/enhance-user-content/doc_previews.js +3 -3
  2563. package/lib/translated/zh/modules/enhance-user-content/enhance_user_content.js +23 -11
  2564. package/lib/translated/zh/modules/enhance-user-content/instructure_helper.js +4 -3
  2565. package/lib/translated/zh/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  2566. package/lib/translated/zh/modules/rce/RCEWrapper.js +4 -7
  2567. package/lib/translated/zh/modules/rce/StatusBar.js +1 -1
  2568. package/lib/translated/zh/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2569. package/lib/translated/zh/modules/rce/__tests__/contentRendering.test.js +10 -0
  2570. package/lib/translated/zh/modules/rce/contentRendering.js +2 -2
  2571. package/lib/translated/zh/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2572. package/lib/translated/zh/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2573. package/lib/translated/zh/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2574. package/lib/translated/zh/modules/rce/tinyRCE.js +0 -1
  2575. package/lib/translated/zh/modules/rcs/api.js +3 -2
  2576. package/lib/translated/zh/modules/sidebar/store/initialState.js +4 -2
  2577. package/lib/translated/zh/modules/translations/locales/ar.js +36 -0
  2578. package/lib/translated/zh/modules/translations/locales/ca.js +36 -0
  2579. package/lib/translated/zh/modules/translations/locales/cy.js +36 -0
  2580. package/lib/translated/zh/modules/translations/locales/da-x-k12.js +36 -0
  2581. package/lib/translated/zh/modules/translations/locales/da.js +36 -0
  2582. package/lib/translated/zh/modules/translations/locales/de.js +36 -0
  2583. package/lib/translated/zh/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2584. package/lib/translated/zh/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2585. package/lib/translated/zh/modules/translations/locales/en_AU.js +36 -0
  2586. package/lib/translated/zh/modules/translations/locales/en_CA.js +36 -0
  2587. package/lib/translated/zh/modules/translations/locales/en_CY.js +36 -0
  2588. package/lib/translated/zh/modules/translations/locales/en_GB.js +36 -0
  2589. package/lib/translated/zh/modules/translations/locales/es.js +36 -0
  2590. package/lib/translated/zh/modules/translations/locales/es_ES.js +36 -0
  2591. package/lib/translated/zh/modules/translations/locales/fi.js +36 -0
  2592. package/lib/translated/zh/modules/translations/locales/fr.js +36 -0
  2593. package/lib/translated/zh/modules/translations/locales/fr_CA.js +36 -0
  2594. package/lib/translated/zh/modules/translations/locales/ht.js +36 -0
  2595. package/lib/translated/zh/modules/translations/locales/is.js +36 -0
  2596. package/lib/translated/zh/modules/translations/locales/it.js +36 -0
  2597. package/lib/translated/zh/modules/translations/locales/ja.js +36 -0
  2598. package/lib/translated/zh/modules/translations/locales/mi.js +36 -0
  2599. package/lib/translated/zh/modules/translations/locales/nb-x-k12.js +36 -0
  2600. package/lib/translated/zh/modules/translations/locales/nb.js +36 -0
  2601. package/lib/translated/zh/modules/translations/locales/nl.js +36 -0
  2602. package/lib/translated/zh/modules/translations/locales/pl.js +36 -0
  2603. package/lib/translated/zh/modules/translations/locales/pt.js +36 -0
  2604. package/lib/translated/zh/modules/translations/locales/pt_BR.js +36 -0
  2605. package/lib/translated/zh/modules/translations/locales/sl.js +36 -0
  2606. package/lib/translated/zh/modules/translations/locales/sv-x-k12.js +36 -0
  2607. package/lib/translated/zh/modules/translations/locales/zh-Hans.js +36 -0
  2608. package/lib/translated/zh/modules/translations/locales/zh-Hant.js +36 -0
  2609. package/lib/translated/zh/modules/translations/locales/zh.js +36 -0
  2610. package/lib/translated/zh/modules/translations/locales/zh_HK.js +36 -0
  2611. package/lib/translated/zh-Hans/modules/common/fileUrl.js +4 -3
  2612. package/lib/translated/zh-Hans/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2613. package/lib/translated/zh-Hans/modules/enhance-user-content/doc_previews.js +3 -3
  2614. package/lib/translated/zh-Hans/modules/enhance-user-content/enhance_user_content.js +23 -11
  2615. package/lib/translated/zh-Hans/modules/enhance-user-content/instructure_helper.js +4 -3
  2616. package/lib/translated/zh-Hans/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  2617. package/lib/translated/zh-Hans/modules/rce/RCEWrapper.js +4 -7
  2618. package/lib/translated/zh-Hans/modules/rce/StatusBar.js +1 -1
  2619. package/lib/translated/zh-Hans/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2620. package/lib/translated/zh-Hans/modules/rce/__tests__/contentRendering.test.js +10 -0
  2621. package/lib/translated/zh-Hans/modules/rce/contentRendering.js +2 -2
  2622. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2623. package/lib/translated/zh-Hans/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2624. package/lib/translated/zh-Hans/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2625. package/lib/translated/zh-Hans/modules/rce/tinyRCE.js +0 -1
  2626. package/lib/translated/zh-Hans/modules/rcs/api.js +3 -2
  2627. package/lib/translated/zh-Hans/modules/sidebar/store/initialState.js +4 -2
  2628. package/lib/translated/zh-Hans/modules/translations/locales/ar.js +36 -0
  2629. package/lib/translated/zh-Hans/modules/translations/locales/ca.js +36 -0
  2630. package/lib/translated/zh-Hans/modules/translations/locales/cy.js +36 -0
  2631. package/lib/translated/zh-Hans/modules/translations/locales/da-x-k12.js +36 -0
  2632. package/lib/translated/zh-Hans/modules/translations/locales/da.js +36 -0
  2633. package/lib/translated/zh-Hans/modules/translations/locales/de.js +36 -0
  2634. package/lib/translated/zh-Hans/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2635. package/lib/translated/zh-Hans/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2636. package/lib/translated/zh-Hans/modules/translations/locales/en_AU.js +36 -0
  2637. package/lib/translated/zh-Hans/modules/translations/locales/en_CA.js +36 -0
  2638. package/lib/translated/zh-Hans/modules/translations/locales/en_CY.js +36 -0
  2639. package/lib/translated/zh-Hans/modules/translations/locales/en_GB.js +36 -0
  2640. package/lib/translated/zh-Hans/modules/translations/locales/es.js +36 -0
  2641. package/lib/translated/zh-Hans/modules/translations/locales/es_ES.js +36 -0
  2642. package/lib/translated/zh-Hans/modules/translations/locales/fi.js +36 -0
  2643. package/lib/translated/zh-Hans/modules/translations/locales/fr.js +36 -0
  2644. package/lib/translated/zh-Hans/modules/translations/locales/fr_CA.js +36 -0
  2645. package/lib/translated/zh-Hans/modules/translations/locales/ht.js +36 -0
  2646. package/lib/translated/zh-Hans/modules/translations/locales/is.js +36 -0
  2647. package/lib/translated/zh-Hans/modules/translations/locales/it.js +36 -0
  2648. package/lib/translated/zh-Hans/modules/translations/locales/ja.js +36 -0
  2649. package/lib/translated/zh-Hans/modules/translations/locales/mi.js +36 -0
  2650. package/lib/translated/zh-Hans/modules/translations/locales/nb-x-k12.js +36 -0
  2651. package/lib/translated/zh-Hans/modules/translations/locales/nb.js +36 -0
  2652. package/lib/translated/zh-Hans/modules/translations/locales/nl.js +36 -0
  2653. package/lib/translated/zh-Hans/modules/translations/locales/pl.js +36 -0
  2654. package/lib/translated/zh-Hans/modules/translations/locales/pt.js +36 -0
  2655. package/lib/translated/zh-Hans/modules/translations/locales/pt_BR.js +36 -0
  2656. package/lib/translated/zh-Hans/modules/translations/locales/sl.js +36 -0
  2657. package/lib/translated/zh-Hans/modules/translations/locales/sv-x-k12.js +36 -0
  2658. package/lib/translated/zh-Hans/modules/translations/locales/zh-Hans.js +36 -0
  2659. package/lib/translated/zh-Hans/modules/translations/locales/zh-Hant.js +36 -0
  2660. package/lib/translated/zh-Hans/modules/translations/locales/zh.js +36 -0
  2661. package/lib/translated/zh-Hans/modules/translations/locales/zh_HK.js +36 -0
  2662. package/lib/translated/zh-Hant/modules/common/fileUrl.js +4 -3
  2663. package/lib/translated/zh-Hant/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2664. package/lib/translated/zh-Hant/modules/enhance-user-content/doc_previews.js +3 -3
  2665. package/lib/translated/zh-Hant/modules/enhance-user-content/enhance_user_content.js +23 -11
  2666. package/lib/translated/zh-Hant/modules/enhance-user-content/instructure_helper.js +4 -3
  2667. package/lib/translated/zh-Hant/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  2668. package/lib/translated/zh-Hant/modules/rce/RCEWrapper.js +4 -7
  2669. package/lib/translated/zh-Hant/modules/rce/StatusBar.js +1 -1
  2670. package/lib/translated/zh-Hant/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2671. package/lib/translated/zh-Hant/modules/rce/__tests__/contentRendering.test.js +10 -0
  2672. package/lib/translated/zh-Hant/modules/rce/contentRendering.js +2 -2
  2673. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2674. package/lib/translated/zh-Hant/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2675. package/lib/translated/zh-Hant/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2676. package/lib/translated/zh-Hant/modules/rce/tinyRCE.js +0 -1
  2677. package/lib/translated/zh-Hant/modules/rcs/api.js +3 -2
  2678. package/lib/translated/zh-Hant/modules/sidebar/store/initialState.js +4 -2
  2679. package/lib/translated/zh-Hant/modules/translations/locales/ar.js +36 -0
  2680. package/lib/translated/zh-Hant/modules/translations/locales/ca.js +36 -0
  2681. package/lib/translated/zh-Hant/modules/translations/locales/cy.js +36 -0
  2682. package/lib/translated/zh-Hant/modules/translations/locales/da-x-k12.js +36 -0
  2683. package/lib/translated/zh-Hant/modules/translations/locales/da.js +36 -0
  2684. package/lib/translated/zh-Hant/modules/translations/locales/de.js +36 -0
  2685. package/lib/translated/zh-Hant/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2686. package/lib/translated/zh-Hant/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2687. package/lib/translated/zh-Hant/modules/translations/locales/en_AU.js +36 -0
  2688. package/lib/translated/zh-Hant/modules/translations/locales/en_CA.js +36 -0
  2689. package/lib/translated/zh-Hant/modules/translations/locales/en_CY.js +36 -0
  2690. package/lib/translated/zh-Hant/modules/translations/locales/en_GB.js +36 -0
  2691. package/lib/translated/zh-Hant/modules/translations/locales/es.js +36 -0
  2692. package/lib/translated/zh-Hant/modules/translations/locales/es_ES.js +36 -0
  2693. package/lib/translated/zh-Hant/modules/translations/locales/fi.js +36 -0
  2694. package/lib/translated/zh-Hant/modules/translations/locales/fr.js +36 -0
  2695. package/lib/translated/zh-Hant/modules/translations/locales/fr_CA.js +36 -0
  2696. package/lib/translated/zh-Hant/modules/translations/locales/ht.js +36 -0
  2697. package/lib/translated/zh-Hant/modules/translations/locales/is.js +36 -0
  2698. package/lib/translated/zh-Hant/modules/translations/locales/it.js +36 -0
  2699. package/lib/translated/zh-Hant/modules/translations/locales/ja.js +36 -0
  2700. package/lib/translated/zh-Hant/modules/translations/locales/mi.js +36 -0
  2701. package/lib/translated/zh-Hant/modules/translations/locales/nb-x-k12.js +36 -0
  2702. package/lib/translated/zh-Hant/modules/translations/locales/nb.js +36 -0
  2703. package/lib/translated/zh-Hant/modules/translations/locales/nl.js +36 -0
  2704. package/lib/translated/zh-Hant/modules/translations/locales/pl.js +36 -0
  2705. package/lib/translated/zh-Hant/modules/translations/locales/pt.js +36 -0
  2706. package/lib/translated/zh-Hant/modules/translations/locales/pt_BR.js +36 -0
  2707. package/lib/translated/zh-Hant/modules/translations/locales/sl.js +36 -0
  2708. package/lib/translated/zh-Hant/modules/translations/locales/sv-x-k12.js +36 -0
  2709. package/lib/translated/zh-Hant/modules/translations/locales/zh-Hans.js +36 -0
  2710. package/lib/translated/zh-Hant/modules/translations/locales/zh-Hant.js +36 -0
  2711. package/lib/translated/zh-Hant/modules/translations/locales/zh.js +36 -0
  2712. package/lib/translated/zh-Hant/modules/translations/locales/zh_HK.js +36 -0
  2713. package/lib/translated/zh_HK/modules/common/fileUrl.js +4 -3
  2714. package/lib/translated/zh_HK/modules/enhance-user-content/__tests__/enhance_user_content.test.js +39 -0
  2715. package/lib/translated/zh_HK/modules/enhance-user-content/doc_previews.js +3 -3
  2716. package/lib/translated/zh_HK/modules/enhance-user-content/enhance_user_content.js +23 -11
  2717. package/lib/translated/zh_HK/modules/enhance-user-content/instructure_helper.js +4 -3
  2718. package/lib/translated/zh_HK/modules/enhance-user-content/media_comment_thumbnail.js +2 -2
  2719. package/lib/translated/zh_HK/modules/rce/RCEWrapper.js +4 -7
  2720. package/lib/translated/zh_HK/modules/rce/StatusBar.js +1 -1
  2721. package/lib/translated/zh_HK/modules/rce/__tests__/contentInsertion.test.js +1 -1
  2722. package/lib/translated/zh_HK/modules/rce/__tests__/contentRendering.test.js +10 -0
  2723. package/lib/translated/zh_HK/modules/rce/contentRendering.js +2 -2
  2724. package/lib/translated/zh_HK/modules/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -0
  2725. package/lib/translated/zh_HK/modules/rce/plugins/shared/CanvasContentTray.js +22 -23
  2726. package/lib/translated/zh_HK/modules/rce/plugins/shared/RceFileBrowser.js +13 -5
  2727. package/lib/translated/zh_HK/modules/rce/tinyRCE.js +0 -1
  2728. package/lib/translated/zh_HK/modules/rcs/api.js +3 -2
  2729. package/lib/translated/zh_HK/modules/sidebar/store/initialState.js +4 -2
  2730. package/lib/translated/zh_HK/modules/translations/locales/ar.js +36 -0
  2731. package/lib/translated/zh_HK/modules/translations/locales/ca.js +36 -0
  2732. package/lib/translated/zh_HK/modules/translations/locales/cy.js +36 -0
  2733. package/lib/translated/zh_HK/modules/translations/locales/da-x-k12.js +36 -0
  2734. package/lib/translated/zh_HK/modules/translations/locales/da.js +36 -0
  2735. package/lib/translated/zh_HK/modules/translations/locales/de.js +36 -0
  2736. package/lib/translated/zh_HK/modules/translations/locales/en-AU-x-unimelb.js +36 -0
  2737. package/lib/translated/zh_HK/modules/translations/locales/en-GB-x-ukhe.js +36 -0
  2738. package/lib/translated/zh_HK/modules/translations/locales/en_AU.js +36 -0
  2739. package/lib/translated/zh_HK/modules/translations/locales/en_CA.js +36 -0
  2740. package/lib/translated/zh_HK/modules/translations/locales/en_CY.js +36 -0
  2741. package/lib/translated/zh_HK/modules/translations/locales/en_GB.js +36 -0
  2742. package/lib/translated/zh_HK/modules/translations/locales/es.js +36 -0
  2743. package/lib/translated/zh_HK/modules/translations/locales/es_ES.js +36 -0
  2744. package/lib/translated/zh_HK/modules/translations/locales/fi.js +36 -0
  2745. package/lib/translated/zh_HK/modules/translations/locales/fr.js +36 -0
  2746. package/lib/translated/zh_HK/modules/translations/locales/fr_CA.js +36 -0
  2747. package/lib/translated/zh_HK/modules/translations/locales/ht.js +36 -0
  2748. package/lib/translated/zh_HK/modules/translations/locales/is.js +36 -0
  2749. package/lib/translated/zh_HK/modules/translations/locales/it.js +36 -0
  2750. package/lib/translated/zh_HK/modules/translations/locales/ja.js +36 -0
  2751. package/lib/translated/zh_HK/modules/translations/locales/mi.js +36 -0
  2752. package/lib/translated/zh_HK/modules/translations/locales/nb-x-k12.js +36 -0
  2753. package/lib/translated/zh_HK/modules/translations/locales/nb.js +36 -0
  2754. package/lib/translated/zh_HK/modules/translations/locales/nl.js +36 -0
  2755. package/lib/translated/zh_HK/modules/translations/locales/pl.js +36 -0
  2756. package/lib/translated/zh_HK/modules/translations/locales/pt.js +36 -0
  2757. package/lib/translated/zh_HK/modules/translations/locales/pt_BR.js +36 -0
  2758. package/lib/translated/zh_HK/modules/translations/locales/sl.js +36 -0
  2759. package/lib/translated/zh_HK/modules/translations/locales/sv-x-k12.js +36 -0
  2760. package/lib/translated/zh_HK/modules/translations/locales/zh-Hans.js +36 -0
  2761. package/lib/translated/zh_HK/modules/translations/locales/zh-Hant.js +36 -0
  2762. package/lib/translated/zh_HK/modules/translations/locales/zh.js +36 -0
  2763. package/lib/translated/zh_HK/modules/translations/locales/zh_HK.js +36 -0
  2764. package/lib/translations/locales/ar.js +36 -0
  2765. package/lib/translations/locales/ca.js +36 -0
  2766. package/lib/translations/locales/cy.js +36 -0
  2767. package/lib/translations/locales/da-x-k12.js +36 -0
  2768. package/lib/translations/locales/da.js +36 -0
  2769. package/lib/translations/locales/de.js +36 -0
  2770. package/lib/translations/locales/en-AU-x-unimelb.js +36 -0
  2771. package/lib/translations/locales/en-GB-x-ukhe.js +36 -0
  2772. package/lib/translations/locales/en_AU.js +36 -0
  2773. package/lib/translations/locales/en_CA.js +36 -0
  2774. package/lib/translations/locales/en_CY.js +36 -0
  2775. package/lib/translations/locales/en_GB.js +36 -0
  2776. package/lib/translations/locales/es.js +36 -0
  2777. package/lib/translations/locales/es_ES.js +36 -0
  2778. package/lib/translations/locales/fi.js +36 -0
  2779. package/lib/translations/locales/fr.js +36 -0
  2780. package/lib/translations/locales/fr_CA.js +36 -0
  2781. package/lib/translations/locales/ht.js +36 -0
  2782. package/lib/translations/locales/is.js +36 -0
  2783. package/lib/translations/locales/it.js +36 -0
  2784. package/lib/translations/locales/ja.js +36 -0
  2785. package/lib/translations/locales/mi.js +36 -0
  2786. package/lib/translations/locales/nb-x-k12.js +36 -0
  2787. package/lib/translations/locales/nb.js +36 -0
  2788. package/lib/translations/locales/nl.js +36 -0
  2789. package/lib/translations/locales/pl.js +36 -0
  2790. package/lib/translations/locales/pt.js +36 -0
  2791. package/lib/translations/locales/pt_BR.js +36 -0
  2792. package/lib/translations/locales/sl.js +36 -0
  2793. package/lib/translations/locales/sv-x-k12.js +36 -0
  2794. package/lib/translations/locales/zh-Hans.js +36 -0
  2795. package/lib/translations/locales/zh-Hant.js +36 -0
  2796. package/lib/translations/locales/zh.js +36 -0
  2797. package/lib/translations/locales/zh_HK.js +36 -0
  2798. package/package.json +1 -2
  2799. package/testcafe/build/100.js +5 -5
  2800. package/testcafe/build/101.js +5 -5
  2801. package/testcafe/build/22.js +2 -2
  2802. package/testcafe/build/23.js +3 -39
  2803. package/testcafe/build/27.js +84 -84
  2804. package/testcafe/build/28.js +83 -99
  2805. package/testcafe/build/29.js +51 -107
  2806. package/testcafe/build/30.js +47 -59
  2807. package/testcafe/build/31.js +28 -64
  2808. package/testcafe/build/32.js +16 -28
  2809. package/testcafe/build/33.js +10 -10
  2810. package/testcafe/build/34.js +16 -16
  2811. package/testcafe/build/35.js +15 -27
  2812. package/testcafe/build/36.js +18 -19
  2813. package/testcafe/build/37.js +11 -22
  2814. package/testcafe/build/38.js +13 -14
  2815. package/testcafe/build/39.js +8 -8
  2816. package/testcafe/build/40.js +6 -6
  2817. package/testcafe/build/41.js +6 -6
  2818. package/testcafe/build/42.js +6 -6
  2819. package/testcafe/build/43.js +10 -10
  2820. package/testcafe/build/44.js +5 -5
  2821. package/testcafe/build/45.js +5 -5
  2822. package/testcafe/build/46.js +3 -3
  2823. package/testcafe/build/47.js +6 -6
  2824. package/testcafe/build/48.js +10 -10
  2825. package/testcafe/build/49.js +8 -8
  2826. package/testcafe/build/5.js +1 -1
  2827. package/testcafe/build/50.js +6 -6
  2828. package/testcafe/build/51.js +8 -8
  2829. package/testcafe/build/52.js +6 -6
  2830. package/testcafe/build/53.js +6 -6
  2831. package/testcafe/build/54.js +8 -8
  2832. package/testcafe/build/55.js +8 -8
  2833. package/testcafe/build/56.js +6 -6
  2834. package/testcafe/build/57.js +8 -8
  2835. package/testcafe/build/58.js +8 -8
  2836. package/testcafe/build/59.js +10 -10
  2837. package/testcafe/build/60.js +6 -6
  2838. package/testcafe/build/61.js +6 -6
  2839. package/testcafe/build/62.js +8 -8
  2840. package/testcafe/build/63.js +8 -8
  2841. package/testcafe/build/64.js +8 -8
  2842. package/testcafe/build/65.js +6 -17
  2843. package/testcafe/build/66.js +3 -3
  2844. package/testcafe/build/67.js +5 -5
  2845. package/testcafe/build/68.js +5 -5
  2846. package/testcafe/build/69.js +5 -5
  2847. package/testcafe/build/70.js +5 -5
  2848. package/testcafe/build/71.js +6 -6
  2849. package/testcafe/build/72.js +6 -6
  2850. package/testcafe/build/73.js +6 -6
  2851. package/testcafe/build/74.js +6 -6
  2852. package/testcafe/build/75.js +6 -6
  2853. package/testcafe/build/76.js +6 -6
  2854. package/testcafe/build/77.js +5 -5
  2855. package/testcafe/build/78.js +5 -5
  2856. package/testcafe/build/79.js +5 -5
  2857. package/testcafe/build/80.js +5 -5
  2858. package/testcafe/build/81.js +3 -3
  2859. package/testcafe/build/82.js +5 -5
  2860. package/testcafe/build/83.js +5 -5
  2861. package/testcafe/build/84.js +3 -3
  2862. package/testcafe/build/85.js +3 -3
  2863. package/testcafe/build/86.js +5 -5
  2864. package/testcafe/build/87.js +3 -3
  2865. package/testcafe/build/88.js +5 -5
  2866. package/testcafe/build/89.js +3 -3
  2867. package/testcafe/build/90.js +5 -5
  2868. package/testcafe/build/91.js +3 -3
  2869. package/testcafe/build/92.js +5 -5
  2870. package/testcafe/build/93.js +3 -3
  2871. package/testcafe/build/94.js +5 -5
  2872. package/testcafe/build/95.js +3 -3
  2873. package/testcafe/build/96.js +3 -3
  2874. package/testcafe/build/97.js +5 -5
  2875. package/testcafe/build/98.js +5 -5
  2876. package/testcafe/build/99.js +5 -5
  2877. package/testcafe/build/testcafe.js +11 -23
  2878. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/ImageOptions.test.js +0 -282
  2879. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/ImageSection.test.js +0 -590
  2880. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/ModeSelect.test.js +0 -98
  2881. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/SVGIcon.test.js +0 -53
  2882. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/SVGList.test.js +0 -72
  2883. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/Upload.test.js +0 -186
  2884. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/compressionUtils.test.js +0 -114
  2885. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/__tests__/utils.test.js +0 -75
  2886. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/__tests__/ColorSection.test.js +0 -87
  2887. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/__tests__/Footer.test.js +0 -127
  2888. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/__tests__/Header.test.js +0 -108
  2889. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/__tests__/PreviewSection.test.js +0 -101
  2890. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/__tests__/ShapeSection.test.js +0 -103
  2891. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/__tests__/TextSection.test.js +0 -150
  2892. package/es/rce/plugins/instructure_icon_maker/components/__tests__/IconMakerTray.test.js +0 -630
  2893. package/es/rce/plugins/instructure_icon_maker/components/__tests__/SavedIconMakerList.test.js +0 -190
  2894. package/es/rce/plugins/instructure_icon_maker/reducers/__tests__/ImageSection.test.js +0 -92
  2895. package/es/rce/plugins/instructure_icon_maker/reducers/__tests__/imageCropper.test.js +0 -63
  2896. package/es/rce/plugins/instructure_icon_maker/reducers/__tests__/svgSettings.test.js +0 -108
  2897. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/image.test.js +0 -584
  2898. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/index.test.js +0 -407
  2899. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/metadata.test.js +0 -48
  2900. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/settings.test.js +0 -619
  2901. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/shape.test.js +0 -406
  2902. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/text.test.js +0 -560
  2903. package/es/rce/plugins/instructure_icon_maker/svg/__tests__/utils.test.js +0 -101
  2904. package/es/rce/plugins/instructure_icon_maker/utils/__tests__/IconMakerFormHasChanges.test.js +0 -328
  2905. package/es/rce/plugins/instructure_icon_maker/utils/__tests__/addIconMakerAttributes.test.js +0 -38
  2906. package/es/rce/plugins/instructure_icon_maker/utils/__tests__/iconValidation.test.js +0 -86
  2907. package/es/rce/plugins/instructure_icon_maker/utils/__tests__/round.test.js +0 -31
  2908. package/es/rce/plugins/instructure_icon_maker/utils/__tests__/useDebouncedValue.test.js +0 -95
  2909. package/es/rce/plugins/instructure_icon_maker/utils/__tests__/useMockedDebouncedValue.js +0 -35
  2910. package/es/rce/plugins/instructure_image/ImageList/__tests__/Image.test.js +0 -144
  2911. package/es/rce/plugins/instructure_image/ImageList/__tests__/ImageList.test.js +0 -74
  2912. package/es/rce/plugins/instructure_image/ImageOptionsTray/__tests__/ImageOptionsTray.test.js +0 -325
  2913. package/es/rce/plugins/instructure_image/ImageOptionsTray/__tests__/ImageOptionsTrayDriver.js +0 -158
  2914. package/es/rce/plugins/instructure_image/ImageOptionsTray/__tests__/TrayController.IconOptions.test.js +0 -161
  2915. package/es/rce/plugins/instructure_image/ImageOptionsTray/__tests__/TrayController.test.js +0 -205
  2916. package/es/rce/plugins/instructure_image/Images/__tests__/Images.test.js +0 -215
  2917. package/es/rce/plugins/instructure_image/__tests__/ImageEmbedOptions.test.js +0 -540
  2918. package/es/rce/plugins/instructure_image/__tests__/clickCallback.test.js +0 -83
  2919. package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/__tests__/LinkOptionsDialog.test.js +0 -144
  2920. package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/__tests__/LinkOptionsDialogController.test.js +0 -97
  2921. package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/__tests__/LinkOptionsDialogDriver.js +0 -87
  2922. package/es/rce/plugins/instructure_links/components/LinkOptionsTray/__tests__/LinkOptionsTray.test.js +0 -249
  2923. package/es/rce/plugins/instructure_links/components/LinkOptionsTray/__tests__/LinkOptionsTrayController.test.js +0 -88
  2924. package/es/rce/plugins/instructure_links/components/LinkOptionsTray/__tests__/LinkOptionsTrayDriver.js +0 -132
  2925. package/es/rce/plugins/instructure_links/components/__tests__/AccordionSection.test.js +0 -62
  2926. package/es/rce/plugins/instructure_links/components/__tests__/CollectionPanel.test.js +0 -77
  2927. package/es/rce/plugins/instructure_links/components/__tests__/Link.test.js +0 -468
  2928. package/es/rce/plugins/instructure_links/components/__tests__/LinkSet.test.js +0 -183
  2929. package/es/rce/plugins/instructure_links/components/__tests__/LinksPanel.test.js +0 -113
  2930. package/es/rce/plugins/instructure_links/components/__tests__/NavigationPanel.test.js +0 -63
  2931. package/es/rce/plugins/instructure_media_embed/__tests__/clickCallback.test.js +0 -49
  2932. package/es/rce/plugins/instructure_media_embed/components/__tests__/Embed.test.js +0 -84
  2933. package/es/rce/plugins/instructure_record/AudioOptionsTray/__tests__/AudioOptionsTray.test.js +0 -64
  2934. package/es/rce/plugins/instructure_record/AudioOptionsTray/__tests__/AudioOptionsTrayDriver.js +0 -50
  2935. package/es/rce/plugins/instructure_record/AudioOptionsTray/__tests__/TrayController.test.js +0 -124
  2936. package/es/rce/plugins/instructure_record/MediaPanel/__tests__/MediaPanel.test.js +0 -181
  2937. package/es/rce/plugins/instructure_record/VideoOptionsTray/__tests__/TrayController.test.js +0 -231
  2938. package/es/rce/plugins/instructure_record/VideoOptionsTray/__tests__/VideoOptionsTray.test.js +0 -214
  2939. package/es/rce/plugins/instructure_record/VideoOptionsTray/__tests__/VideoOptionsTrayDriver.js +0 -116
  2940. package/es/rce/plugins/instructure_record/__tests__/clickCallback.test.js +0 -90
  2941. package/es/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  2942. package/es/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  2943. package/es/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  2944. package/es/rce/plugins/instructure_wordcount/plugin.js +0 -32
  2945. package/es/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  2946. package/es/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  2947. package/es/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  2948. package/es/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  2949. package/es/rce/plugins/shared/DimensionsInput/__tests__/DimensionsInput.test.js +0 -1152
  2950. package/es/rce/plugins/shared/DimensionsInput/__tests__/DimensionsInputDriver.js +0 -76
  2951. package/es/rce/plugins/shared/DimensionsInput/__tests__/NumberInputDriver.js +0 -77
  2952. package/es/rce/plugins/shared/Upload/__tests__/CategoryProcessor.test.js +0 -65
  2953. package/es/rce/plugins/shared/Upload/__tests__/ComputerPanel.test.js +0 -283
  2954. package/es/rce/plugins/shared/Upload/__tests__/SvgCategoryProcessor.test.js +0 -71
  2955. package/es/rce/plugins/shared/Upload/__tests__/UnsplashPanel.test.js +0 -357
  2956. package/es/rce/plugins/shared/Upload/__tests__/UploadFile.test.js +0 -468
  2957. package/es/rce/plugins/shared/Upload/__tests__/UploadFileModal.test.js +0 -129
  2958. package/es/rce/plugins/shared/Upload/__tests__/UrlPanel.test.js +0 -37
  2959. package/es/rce/plugins/shared/__tests__/CanvasContentTray.test.js +0 -247
  2960. package/es/rce/plugins/shared/__tests__/CheckerboardStyling.test.js +0 -28
  2961. package/es/rce/plugins/shared/__tests__/ColorInput.test.js +0 -94
  2962. package/es/rce/plugins/shared/__tests__/ConditionalTooltip.test.js +0 -79
  2963. package/es/rce/plugins/shared/__tests__/ContentSelection.test.js +0 -322
  2964. package/es/rce/plugins/shared/__tests__/DimensionUtils.test.js +0 -342
  2965. package/es/rce/plugins/shared/__tests__/FakeEditor.js +0 -179
  2966. package/es/rce/plugins/shared/__tests__/Filter.test.js +0 -428
  2967. package/es/rce/plugins/shared/__tests__/FixedContentTray.test.js +0 -70
  2968. package/es/rce/plugins/shared/__tests__/LinkDisplay.test.js +0 -119
  2969. package/es/rce/plugins/shared/__tests__/PreviewIcon.test.js +0 -131
  2970. package/es/rce/plugins/shared/__tests__/RceFileBrowser.test.js +0 -113
  2971. package/es/rce/plugins/shared/__tests__/buildDownloadUrl.test.js +0 -52
  2972. package/es/rce/plugins/shared/__tests__/dateUtils.test.js +0 -122
  2973. package/es/rce/plugins/shared/__tests__/fileTypeUtils.test.js +0 -96
  2974. package/es/rce/plugins/shared/__tests__/linkUtils.test.js +0 -61
  2975. package/es/rce/plugins/shared/__tests__/trayUtils.test.js +0 -53
  2976. package/es/rce/plugins/shared/__tests__/useDataUrl.test.js +0 -110
  2977. package/es/rcs/__tests__/api.test.js +0 -164
  2978. package/es/rcs/__tests__/buildError.test.js +0 -77
  2979. package/lib/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  2980. package/lib/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  2981. package/lib/rce/plugins/instructure_wordcount/plugin.js +0 -32
  2982. package/lib/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  2983. package/lib/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  2984. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  2985. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  2986. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  2987. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  2988. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  2989. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  2990. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  2991. package/lib/translated/ar/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  2992. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  2993. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  2994. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  2995. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  2996. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  2997. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  2998. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  2999. package/lib/translated/ca/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3000. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3001. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3002. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3003. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3004. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3005. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3006. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3007. package/lib/translated/cy/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3008. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3009. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3010. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3011. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3012. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3013. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3014. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3015. package/lib/translated/da/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3016. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3017. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3018. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3019. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3020. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3021. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3022. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3023. package/lib/translated/da-x-k12/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3024. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3025. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3026. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3027. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3028. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3029. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3030. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3031. package/lib/translated/de/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3032. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3033. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3034. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3035. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3036. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3037. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3038. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3039. package/lib/translated/el/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3040. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3041. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3042. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3043. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3044. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3045. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3046. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3047. package/lib/translated/en/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3048. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3049. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3050. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3051. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3052. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3053. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3054. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3055. package/lib/translated/en-AU-x-unimelb/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3056. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3057. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3058. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3059. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3060. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3061. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3062. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3063. package/lib/translated/en-GB-x-ukhe/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3064. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3065. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3066. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3067. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3068. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3069. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3070. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3071. package/lib/translated/en_AU/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3072. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3073. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3074. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3075. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3076. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3077. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3078. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3079. package/lib/translated/en_CA/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3080. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3081. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3082. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3083. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3084. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3085. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3086. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3087. package/lib/translated/en_CY/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3088. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3089. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3090. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3091. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3092. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3093. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3094. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3095. package/lib/translated/en_GB/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3096. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3097. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3098. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3099. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3100. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3101. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3102. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3103. package/lib/translated/es/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3104. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3105. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3106. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3107. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3108. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3109. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3110. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3111. package/lib/translated/es_ES/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3112. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3113. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3114. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3115. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3116. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3117. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3118. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3119. package/lib/translated/es_GT/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3120. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3121. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3122. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3123. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3124. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3125. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3126. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3127. package/lib/translated/fa_IR/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3128. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3129. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3130. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3131. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3132. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3133. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3134. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3135. package/lib/translated/fi/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3136. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3137. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3138. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3139. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3140. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3141. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3142. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3143. package/lib/translated/fr/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3144. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3145. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3146. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3147. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3148. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3149. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3150. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3151. package/lib/translated/fr_CA/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3152. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3153. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3154. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3155. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3156. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3157. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3158. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3159. package/lib/translated/he/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3160. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3161. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3162. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3163. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3164. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3165. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3166. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3167. package/lib/translated/ht/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3168. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3169. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3170. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3171. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3172. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3173. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3174. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3175. package/lib/translated/hu/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3176. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3177. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3178. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3179. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3180. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3181. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3182. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3183. package/lib/translated/hy/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3184. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3185. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3186. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3187. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3188. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3189. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3190. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3191. package/lib/translated/is/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3192. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3193. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3194. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3195. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3196. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3197. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3198. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3199. package/lib/translated/it/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3200. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3201. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3202. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3203. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3204. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3205. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3206. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3207. package/lib/translated/ja/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3208. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3209. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3210. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3211. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3212. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3213. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3214. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3215. package/lib/translated/ko/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3216. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3217. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3218. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3219. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3220. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3221. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3222. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3223. package/lib/translated/mi/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3224. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3225. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3226. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3227. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3228. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3229. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3230. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3231. package/lib/translated/nb/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3232. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3233. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3234. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3235. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3236. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3237. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3238. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3239. package/lib/translated/nb-x-k12/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3240. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3241. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3242. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3243. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3244. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3245. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3246. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3247. package/lib/translated/nl/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3248. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3249. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3250. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3251. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3252. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3253. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3254. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3255. package/lib/translated/nn/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3256. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3257. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3258. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3259. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3260. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3261. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3262. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3263. package/lib/translated/pl/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3264. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3265. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3266. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3267. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3268. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3269. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3270. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3271. package/lib/translated/pt/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3272. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3273. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3274. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3275. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3276. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3277. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3278. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3279. package/lib/translated/pt_BR/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3280. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3281. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3282. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3283. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3284. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3285. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3286. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3287. package/lib/translated/ru/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3288. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3289. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3290. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3291. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3292. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3293. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3294. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3295. package/lib/translated/se/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3296. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3297. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3298. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3299. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3300. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3301. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3302. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3303. package/lib/translated/sl/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3304. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3305. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3306. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3307. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3308. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3309. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3310. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3311. package/lib/translated/sv/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3312. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3313. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3314. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3315. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3316. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3317. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3318. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3319. package/lib/translated/sv-x-k12/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3320. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3321. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3322. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3323. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3324. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3325. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3326. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3327. package/lib/translated/sv_SE/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3328. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3329. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3330. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3331. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3332. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3333. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3334. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3335. package/lib/translated/tg/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3336. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3337. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3338. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3339. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3340. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3341. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3342. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3343. package/lib/translated/th/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3344. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3345. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3346. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3347. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3348. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3349. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3350. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3351. package/lib/translated/th_TH/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3352. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3353. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3354. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3355. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3356. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3357. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3358. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3359. package/lib/translated/tr/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3360. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3361. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3362. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3363. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3364. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3365. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3366. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3367. package/lib/translated/uk_UA/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3368. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3369. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3370. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3371. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3372. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3373. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3374. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3375. package/lib/translated/vi/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3376. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3377. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3378. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3379. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3380. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3381. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3382. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3383. package/lib/translated/vi_VN/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3384. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3385. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3386. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3387. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3388. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3389. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3390. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3391. package/lib/translated/zh/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3392. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3393. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3394. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3395. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3396. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3397. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3398. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3399. package/lib/translated/zh-Hans/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3400. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3401. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3402. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3403. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3404. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3405. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3406. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3407. package/lib/translated/zh-Hant/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  3408. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/clickCallback.js +0 -46
  3409. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -91
  3410. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/components/__tests__/WordCountModal.test.js +0 -91
  3411. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/plugin.js +0 -32
  3412. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/utils/__tests__/countContent.test.js +0 -164
  3413. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/utils/__tests__/tableContent.test.js +0 -41
  3414. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  3415. package/lib/translated/zh_HK/modules/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
@@ -16912,7 +16912,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
16912
16912
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16913
16913
 
16914
16914
  "use strict";
16915
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PANELS\", function() { return PANELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UploadMedia; });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"../../node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"../../node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"../../node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @instructure/ui-buttons */ \"../../node_modules/@instructure/ui-buttons/es/index.js\");\n/* harmony import */ var _instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @instructure/ui-heading */ \"../../node_modules/@instructure/ui-heading/es/index.js\");\n/* harmony import */ var _instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @instructure/ui-modal */ \"../../node_modules/@instructure/ui-modal/es/index.js\");\n/* harmony import */ var _instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @instructure/ui-tabs */ \"../../node_modules/@instructure/ui-tabs/es/index.js\");\n/* harmony import */ var _instructure_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @instructure/ui-utils */ \"../../node_modules/@instructure/ui-utils/es/index.js\");\n/* harmony import */ var _instructure_ui_progress__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @instructure/ui-progress */ \"../../node_modules/@instructure/ui-progress/es/index.js\");\n/* harmony import */ var _instructure_ui_text__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @instructure/ui-text */ \"../../node_modules/@instructure/ui-text/es/index.js\");\n/* harmony import */ var _acceptedMediaFileTypes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./acceptedMediaFileTypes */ \"../canvas-media/es/acceptedMediaFileTypes.js\");\n/* harmony import */ var _shared_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./shared/LoadingIndicator */ \"../canvas-media/es/shared/LoadingIndicator.js\");\n/* harmony import */ var _saveMediaRecording__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./saveMediaRecording */ \"../canvas-media/es/saveMediaRecording.js\");\n/* harmony import */ var _translationShape__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./translationShape */ \"../canvas-media/es/translationShape.js\");\n/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./shared/constants */ \"../canvas-media/es/shared/constants.js\");\n/*\n * Copyright (C) 2019 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst ComputerPanel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(4), __webpack_require__.e(9), __webpack_require__.e(19), __webpack_require__.e(66)]).then(__webpack_require__.bind(null, /*! ./ComputerPanel */ \"../canvas-media/es/ComputerPanel.js\")));\nconst MediaRecorder = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(21), __webpack_require__.e(67)]).then(__webpack_require__.bind(null, /*! ./MediaRecorder */ \"../canvas-media/es/MediaRecorder.js\")));\nconst PANELS = {\n COMPUTER: 0,\n RECORD: 1\n};\nclass UploadMedia extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor(props) {\n super(props);\n\n this.inferSelectedPanel = tabs => {\n let selectedPanel = -1;\n\n if (tabs.upload) {\n selectedPanel = 0;\n } else if (tabs.record) {\n selectedPanel = 1;\n }\n\n return selectedPanel;\n };\n\n this.isReady = () => {\n if (this.props.disableSubmitWhileUploading && this.state.uploading) {\n return false;\n }\n\n switch (this.state.selectedPanel) {\n case PANELS.COMPUTER:\n return !!this.state.computerFile;\n\n case PANELS.RECORD:\n return !!this.state.recordedFile;\n\n default:\n return false;\n }\n };\n\n this.handleSubmit = () => {\n switch (this.state.selectedPanel) {\n case PANELS.COMPUTER:\n this.uploadFile(this.state.computerFile);\n break;\n\n case PANELS.RECORD:\n this.uploadFile(this.state.recordedFile);\n break;\n\n default:\n throw new Error('Selected Panel is invalid');\n // Should never get here\n }\n };\n\n this.submitEnabled = () => {\n var _this$state$computerF;\n\n switch (this.state.selectedPanel) {\n case PANELS.COMPUTER:\n return this.isReady() && !!((_this$state$computerF = this.state.computerFile) !== null && _this$state$computerF !== void 0 && _this$state$computerF.title);\n\n default:\n return this.isReady();\n }\n };\n\n this.onSaveMediaProgress = progress => {\n this.setState({\n progress\n });\n };\n\n this.saveMediaCallback = async (err, data) => {\n if (err) {\n this.props.onUploadComplete && this.props.onUploadComplete(err, data);\n } else {\n try {\n var _captions;\n\n let captions;\n\n if (this.state.selectedPanel === PANELS.COMPUTER && this.state.subtitles.length > 0) {\n captions = await Object(_saveMediaRecording__WEBPACK_IMPORTED_MODULE_13__[\"saveClosedCaptions\"])(data.mediaObject.media_object.media_id, this.state.subtitles, this.props.rcsConfig, _shared_constants__WEBPACK_IMPORTED_MODULE_15__[\"CC_FILE_MAX_BYTES\"]);\n }\n\n this.props.onUploadComplete && this.props.onUploadComplete(null, data, (_captions = captions) === null || _captions === void 0 ? void 0 : _captions.data);\n } catch (ex) {\n this.props.onUploadComplete && this.props.onUploadComplete(ex, null);\n }\n }\n\n this.props.onDismiss && this.props.onDismiss();\n };\n\n this.renderModalBody = () => {\n const {\n COMPUTER_PANEL_TITLE,\n DRAG_FILE_TEXT,\n LOADING_MEDIA,\n RECORD_PANEL_TITLE,\n MEDIA_RECORD_NOT_AVAILABLE\n } = this.props.uploadMediaTranslations.UploadMediaStrings;\n\n if (!this.props.open) {\n return null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__[\"Tabs\"], {\n maxWidth: \"large\",\n onRequestTabChange: (_, _ref) => {\n let {\n index\n } = _ref;\n const {\n tabs\n } = this.props; // You can only change tabs if more than one tab is available\n\n if (tabs.upload && tabs.record) {\n this.setState({\n selectedPanel: index\n });\n }\n }\n }, this.props.tabs.upload && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__[\"Tabs\"].Panel, {\n key: \"computer\",\n isSelected: this.state.selectedPanel === PANELS.COMPUTER,\n renderTitle: () => COMPUTER_PANEL_TITLE\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n fallback: Object(_shared_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(LOADING_MEDIA)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ComputerPanel, {\n theFile: this.state.computerFile,\n setFile: file => this.setState({\n computerFile: file\n }),\n hasUploadedFile: this.state.hasUploadedFile,\n setHasUploadedFile: uploadFileState => this.setState({\n hasUploadedFile: uploadFileState\n }),\n label: DRAG_FILE_TEXT,\n uploadMediaTranslations: this.props.uploadMediaTranslations,\n accept: _acceptedMediaFileTypes__WEBPACK_IMPORTED_MODULE_11__[\"ACCEPTED_FILE_TYPES\"],\n userLocale: this.props.userLocale,\n liveRegion: this.props.liveRegion,\n updateSubtitles: subtitles => {\n this.setState({\n subtitles\n });\n },\n bounds: this.state.modalBodySize\n }))), this.props.tabs.record && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__[\"Tabs\"].Panel, {\n key: \"record\",\n isSelected: this.state.selectedPanel === PANELS.RECORD,\n renderTitle: () => RECORD_PANEL_TITLE\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n fallback: Object(_shared_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(LOADING_MEDIA)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(MediaRecorder, {\n MediaCaptureStrings: this.props.uploadMediaTranslations.MediaCaptureStrings,\n errorMessage: MEDIA_RECORD_NOT_AVAILABLE,\n onSave: file => this.setState({\n recordedFile: file\n }, this.handleSubmit)\n }))));\n };\n\n this.onModalClose = () => {\n this.setState({\n hasUploadedFile: false,\n selectedPanel: this.inferSelectedPanel(this.props.tabs),\n computerFile: null\n });\n this.props.onDismiss();\n };\n\n this.renderModalFooter = () => {\n if (this.state.selectedPanel === PANELS.RECORD) {\n return null;\n }\n\n const {\n CLOSE_TEXT,\n SUBMIT_TEXT,\n PROGRESS_LABEL\n } = this.props.uploadMediaTranslations.UploadMediaStrings;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"].Footer, null, this.state.uploading && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_progress__WEBPACK_IMPORTED_MODULE_9__[\"ProgressBar\"], {\n screenReaderLabel: PROGRESS_LABEL,\n valueNow: this.state.progress,\n valueMax: 100,\n renderValue: _ref2 => {\n let {\n valueNow\n } = _ref2;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_text__WEBPACK_IMPORTED_MODULE_10__[\"Text\"], null, valueNow, \"%\");\n }\n }), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n onClick: this.onModalClose\n }, \" \", CLOSE_TEXT, \" \"), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n onClick: e => {\n e.preventDefault();\n this.handleSubmit();\n },\n color: \"primary\",\n type: \"submit\",\n interaction: this.submitEnabled() ? 'enabled' : 'disabled'\n }, SUBMIT_TEXT));\n };\n\n const defaultSelectedPanel = this.inferSelectedPanel(props.tabs);\n\n if (props.computerFile) {\n props.computerFile.title = props.computerFile.name;\n }\n\n this.state = {\n hasUploadedFile: !!props.computerFile,\n uploading: false,\n progress: 0,\n selectedPanel: defaultSelectedPanel,\n computerFile: props.computerFile || null,\n subtitles: [],\n recordedFile: null,\n modalBodySize: {\n width: NaN,\n height: NaN\n }\n };\n this.modalBodyRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createRef();\n }\n\n uploadFile(file) {\n this.setState({\n uploading: true\n }, () => {\n this.props.onStartUpload && this.props.onStartUpload(file);\n file.userEnteredTitle = file.title;\n Object(_saveMediaRecording__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(file, this.props.rcsConfig, this.saveMediaCallback, this.onSaveMediaProgress);\n });\n }\n\n componentDidMount() {\n this.setBodySize(this.state);\n }\n\n componentDidUpdate(prevProps, prevState) {\n this.setBodySize(prevState);\n\n const invalidPanelSelected = () => this.state.selectedPanel === PANELS.COMPUTER && !this.props.tabs.upload || this.state.selectedPanel === PANELS.RECORD && !this.props.tabs.record; // If the specified tabs have not changed and the selected panel is valid,\n // don't attempt to set the selected panel state (this would trigger an\n // endless loop).\n\n\n if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"isEqual\"])(prevProps.tabs, this.props.tabs) && !invalidPanelSelected()) return;\n\n if (prevState.selectedPanel === -1 || invalidPanelSelected()) {\n // The tabs prop has changed and the selectedPanel was\n // never set in the constructor, or the selectedPanel is invalid\n // given the available tabs. Attempt to infer the selected panel\n // based on the new tabs list\n // ** This is an eslint error which I don't have the context\n // ** to address working my current ticket. Ignore for now\n // ** since it's been working for a while now.\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n selectedPanel: this.inferSelectedPanel(this.props.tabs)\n });\n }\n }\n\n setBodySize(state) {\n if (this.modalBodyRef.current) {\n // eslint-disable-next-line react/no-find-dom-node\n const thebody = react_dom__WEBPACK_IMPORTED_MODULE_2___default.a.findDOMNode(this.modalBodyRef.current);\n const modalBodySize = thebody.getBoundingClientRect();\n modalBodySize.height -= Object(_instructure_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"px\"])('3rem'); // leave room for the tabs\n\n if (modalBodySize.width !== state.modalBodySize.width || modalBodySize.height !== state.modalBodySize.height) {\n if (modalBodySize.width > 0 && modalBodySize.height > 0) {\n this.setState({\n modalBodySize\n });\n }\n }\n }\n }\n\n render() {\n const {\n CLOSE_TEXT,\n UPLOAD_MEDIA_LABEL\n } = this.props.uploadMediaTranslations.UploadMediaStrings;\n const dataProps = Object.keys(this.props).filter(p => /^data-/.test(p)).reduce((obj, key) => {\n obj[key] = this.props[key];\n return obj;\n }, {});\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"], Object.assign({\n label: UPLOAD_MEDIA_LABEL,\n size: \"large\",\n onDismiss: this.onModalClose,\n open: this.props.open,\n shouldCloseOnDocumentClick: false,\n liveRegion: this.props.liveRegion\n }, dataProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"].Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"CloseButton\"], {\n onClick: this.onModalClose,\n offset: \"medium\",\n placement: \"end\",\n screenReaderLabel: CLOSE_TEXT\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__[\"Heading\"], null, UPLOAD_MEDIA_LABEL)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"].Body, {\n ref: this.modalBodyRef\n }, this.renderModalBody()), this.renderModalFooter());\n }\n\n}\nUploadMedia.propTypes = {\n disableSubmitWhileUploading: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"],\n liveRegion: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n rcsConfig: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"shape\"])({\n contextId: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"],\n contextType: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"],\n origin: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"],\n headers: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"shape\"])({\n Authorization: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"]\n })\n }),\n onStartUpload: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n onUploadComplete: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n onDismiss: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n open: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"],\n tabs: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"shape\"])({\n record: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"],\n upload: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"]\n }),\n uploadMediaTranslations: _translationShape__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n // for testing\n computerFile: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"instanceOf\"])(File),\n userLocale: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"]\n};\nUploadMedia.defaultProps = {\n disableSubmitWhileUploading: false,\n userLocale: 'en'\n};\n\n//# sourceURL=webpack:///../canvas-media/es/UploadMedia.js?");
16915
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PANELS\", function() { return PANELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UploadMedia; });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"../../node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"../../node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"../../node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @instructure/ui-buttons */ \"../../node_modules/@instructure/ui-buttons/es/index.js\");\n/* harmony import */ var _instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @instructure/ui-heading */ \"../../node_modules/@instructure/ui-heading/es/index.js\");\n/* harmony import */ var _instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @instructure/ui-modal */ \"../../node_modules/@instructure/ui-modal/es/index.js\");\n/* harmony import */ var _instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @instructure/ui-tabs */ \"../../node_modules/@instructure/ui-tabs/es/index.js\");\n/* harmony import */ var _instructure_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @instructure/ui-utils */ \"../../node_modules/@instructure/ui-utils/es/index.js\");\n/* harmony import */ var _instructure_ui_progress__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @instructure/ui-progress */ \"../../node_modules/@instructure/ui-progress/es/index.js\");\n/* harmony import */ var _instructure_ui_text__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @instructure/ui-text */ \"../../node_modules/@instructure/ui-text/es/index.js\");\n/* harmony import */ var _acceptedMediaFileTypes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./acceptedMediaFileTypes */ \"../canvas-media/es/acceptedMediaFileTypes.js\");\n/* harmony import */ var _shared_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./shared/LoadingIndicator */ \"../canvas-media/es/shared/LoadingIndicator.js\");\n/* harmony import */ var _saveMediaRecording__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./saveMediaRecording */ \"../canvas-media/es/saveMediaRecording.js\");\n/* harmony import */ var _translationShape__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./translationShape */ \"../canvas-media/es/translationShape.js\");\n/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./shared/constants */ \"../canvas-media/es/shared/constants.js\");\n/*\n * Copyright (C) 2019 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst ComputerPanel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(4), __webpack_require__.e(9), __webpack_require__.e(19), __webpack_require__.e(65)]).then(__webpack_require__.bind(null, /*! ./ComputerPanel */ \"../canvas-media/es/ComputerPanel.js\")));\nconst MediaRecorder = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(21), __webpack_require__.e(66)]).then(__webpack_require__.bind(null, /*! ./MediaRecorder */ \"../canvas-media/es/MediaRecorder.js\")));\nconst PANELS = {\n COMPUTER: 0,\n RECORD: 1\n};\nclass UploadMedia extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor(props) {\n super(props);\n\n this.inferSelectedPanel = tabs => {\n let selectedPanel = -1;\n\n if (tabs.upload) {\n selectedPanel = 0;\n } else if (tabs.record) {\n selectedPanel = 1;\n }\n\n return selectedPanel;\n };\n\n this.isReady = () => {\n if (this.props.disableSubmitWhileUploading && this.state.uploading) {\n return false;\n }\n\n switch (this.state.selectedPanel) {\n case PANELS.COMPUTER:\n return !!this.state.computerFile;\n\n case PANELS.RECORD:\n return !!this.state.recordedFile;\n\n default:\n return false;\n }\n };\n\n this.handleSubmit = () => {\n switch (this.state.selectedPanel) {\n case PANELS.COMPUTER:\n this.uploadFile(this.state.computerFile);\n break;\n\n case PANELS.RECORD:\n this.uploadFile(this.state.recordedFile);\n break;\n\n default:\n throw new Error('Selected Panel is invalid');\n // Should never get here\n }\n };\n\n this.submitEnabled = () => {\n var _this$state$computerF;\n\n switch (this.state.selectedPanel) {\n case PANELS.COMPUTER:\n return this.isReady() && !!((_this$state$computerF = this.state.computerFile) !== null && _this$state$computerF !== void 0 && _this$state$computerF.title);\n\n default:\n return this.isReady();\n }\n };\n\n this.onSaveMediaProgress = progress => {\n this.setState({\n progress\n });\n };\n\n this.saveMediaCallback = async (err, data) => {\n if (err) {\n this.props.onUploadComplete && this.props.onUploadComplete(err, data);\n } else {\n try {\n var _captions;\n\n let captions;\n\n if (this.state.selectedPanel === PANELS.COMPUTER && this.state.subtitles.length > 0) {\n captions = await Object(_saveMediaRecording__WEBPACK_IMPORTED_MODULE_13__[\"saveClosedCaptions\"])(data.mediaObject.media_object.media_id, this.state.subtitles, this.props.rcsConfig, _shared_constants__WEBPACK_IMPORTED_MODULE_15__[\"CC_FILE_MAX_BYTES\"]);\n }\n\n this.props.onUploadComplete && this.props.onUploadComplete(null, data, (_captions = captions) === null || _captions === void 0 ? void 0 : _captions.data);\n } catch (ex) {\n this.props.onUploadComplete && this.props.onUploadComplete(ex, null);\n }\n }\n\n this.props.onDismiss && this.props.onDismiss();\n };\n\n this.renderModalBody = () => {\n const {\n COMPUTER_PANEL_TITLE,\n DRAG_FILE_TEXT,\n LOADING_MEDIA,\n RECORD_PANEL_TITLE,\n MEDIA_RECORD_NOT_AVAILABLE\n } = this.props.uploadMediaTranslations.UploadMediaStrings;\n\n if (!this.props.open) {\n return null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__[\"Tabs\"], {\n maxWidth: \"large\",\n onRequestTabChange: (_, _ref) => {\n let {\n index\n } = _ref;\n const {\n tabs\n } = this.props; // You can only change tabs if more than one tab is available\n\n if (tabs.upload && tabs.record) {\n this.setState({\n selectedPanel: index\n });\n }\n }\n }, this.props.tabs.upload && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__[\"Tabs\"].Panel, {\n key: \"computer\",\n isSelected: this.state.selectedPanel === PANELS.COMPUTER,\n renderTitle: () => COMPUTER_PANEL_TITLE\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n fallback: Object(_shared_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(LOADING_MEDIA)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ComputerPanel, {\n theFile: this.state.computerFile,\n setFile: file => this.setState({\n computerFile: file\n }),\n hasUploadedFile: this.state.hasUploadedFile,\n setHasUploadedFile: uploadFileState => this.setState({\n hasUploadedFile: uploadFileState\n }),\n label: DRAG_FILE_TEXT,\n uploadMediaTranslations: this.props.uploadMediaTranslations,\n accept: _acceptedMediaFileTypes__WEBPACK_IMPORTED_MODULE_11__[\"ACCEPTED_FILE_TYPES\"],\n userLocale: this.props.userLocale,\n liveRegion: this.props.liveRegion,\n updateSubtitles: subtitles => {\n this.setState({\n subtitles\n });\n },\n bounds: this.state.modalBodySize\n }))), this.props.tabs.record && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tabs__WEBPACK_IMPORTED_MODULE_7__[\"Tabs\"].Panel, {\n key: \"record\",\n isSelected: this.state.selectedPanel === PANELS.RECORD,\n renderTitle: () => RECORD_PANEL_TITLE\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n fallback: Object(_shared_LoadingIndicator__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(LOADING_MEDIA)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(MediaRecorder, {\n MediaCaptureStrings: this.props.uploadMediaTranslations.MediaCaptureStrings,\n errorMessage: MEDIA_RECORD_NOT_AVAILABLE,\n onSave: file => this.setState({\n recordedFile: file\n }, this.handleSubmit)\n }))));\n };\n\n this.onModalClose = () => {\n this.setState({\n hasUploadedFile: false,\n selectedPanel: this.inferSelectedPanel(this.props.tabs),\n computerFile: null\n });\n this.props.onDismiss();\n };\n\n this.renderModalFooter = () => {\n if (this.state.selectedPanel === PANELS.RECORD) {\n return null;\n }\n\n const {\n CLOSE_TEXT,\n SUBMIT_TEXT,\n PROGRESS_LABEL\n } = this.props.uploadMediaTranslations.UploadMediaStrings;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"].Footer, null, this.state.uploading && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_progress__WEBPACK_IMPORTED_MODULE_9__[\"ProgressBar\"], {\n screenReaderLabel: PROGRESS_LABEL,\n valueNow: this.state.progress,\n valueMax: 100,\n renderValue: _ref2 => {\n let {\n valueNow\n } = _ref2;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_text__WEBPACK_IMPORTED_MODULE_10__[\"Text\"], null, valueNow, \"%\");\n }\n }), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n onClick: this.onModalClose\n }, \" \", CLOSE_TEXT, \" \"), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n onClick: e => {\n e.preventDefault();\n this.handleSubmit();\n },\n color: \"primary\",\n type: \"submit\",\n interaction: this.submitEnabled() ? 'enabled' : 'disabled'\n }, SUBMIT_TEXT));\n };\n\n const defaultSelectedPanel = this.inferSelectedPanel(props.tabs);\n\n if (props.computerFile) {\n props.computerFile.title = props.computerFile.name;\n }\n\n this.state = {\n hasUploadedFile: !!props.computerFile,\n uploading: false,\n progress: 0,\n selectedPanel: defaultSelectedPanel,\n computerFile: props.computerFile || null,\n subtitles: [],\n recordedFile: null,\n modalBodySize: {\n width: NaN,\n height: NaN\n }\n };\n this.modalBodyRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createRef();\n }\n\n uploadFile(file) {\n this.setState({\n uploading: true\n }, () => {\n this.props.onStartUpload && this.props.onStartUpload(file);\n file.userEnteredTitle = file.title;\n Object(_saveMediaRecording__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(file, this.props.rcsConfig, this.saveMediaCallback, this.onSaveMediaProgress);\n });\n }\n\n componentDidMount() {\n this.setBodySize(this.state);\n }\n\n componentDidUpdate(prevProps, prevState) {\n this.setBodySize(prevState);\n\n const invalidPanelSelected = () => this.state.selectedPanel === PANELS.COMPUTER && !this.props.tabs.upload || this.state.selectedPanel === PANELS.RECORD && !this.props.tabs.record; // If the specified tabs have not changed and the selected panel is valid,\n // don't attempt to set the selected panel state (this would trigger an\n // endless loop).\n\n\n if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"isEqual\"])(prevProps.tabs, this.props.tabs) && !invalidPanelSelected()) return;\n\n if (prevState.selectedPanel === -1 || invalidPanelSelected()) {\n // The tabs prop has changed and the selectedPanel was\n // never set in the constructor, or the selectedPanel is invalid\n // given the available tabs. Attempt to infer the selected panel\n // based on the new tabs list\n // ** This is an eslint error which I don't have the context\n // ** to address working my current ticket. Ignore for now\n // ** since it's been working for a while now.\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n selectedPanel: this.inferSelectedPanel(this.props.tabs)\n });\n }\n }\n\n setBodySize(state) {\n if (this.modalBodyRef.current) {\n // eslint-disable-next-line react/no-find-dom-node\n const thebody = react_dom__WEBPACK_IMPORTED_MODULE_2___default.a.findDOMNode(this.modalBodyRef.current);\n const modalBodySize = thebody.getBoundingClientRect();\n modalBodySize.height -= Object(_instructure_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"px\"])('3rem'); // leave room for the tabs\n\n if (modalBodySize.width !== state.modalBodySize.width || modalBodySize.height !== state.modalBodySize.height) {\n if (modalBodySize.width > 0 && modalBodySize.height > 0) {\n this.setState({\n modalBodySize\n });\n }\n }\n }\n }\n\n render() {\n const {\n CLOSE_TEXT,\n UPLOAD_MEDIA_LABEL\n } = this.props.uploadMediaTranslations.UploadMediaStrings;\n const dataProps = Object.keys(this.props).filter(p => /^data-/.test(p)).reduce((obj, key) => {\n obj[key] = this.props[key];\n return obj;\n }, {});\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"], Object.assign({\n label: UPLOAD_MEDIA_LABEL,\n size: \"large\",\n onDismiss: this.onModalClose,\n open: this.props.open,\n shouldCloseOnDocumentClick: false,\n liveRegion: this.props.liveRegion\n }, dataProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"].Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"CloseButton\"], {\n onClick: this.onModalClose,\n offset: \"medium\",\n placement: \"end\",\n screenReaderLabel: CLOSE_TEXT\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__[\"Heading\"], null, UPLOAD_MEDIA_LABEL)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_modal__WEBPACK_IMPORTED_MODULE_6__[\"Modal\"].Body, {\n ref: this.modalBodyRef\n }, this.renderModalBody()), this.renderModalFooter());\n }\n\n}\nUploadMedia.propTypes = {\n disableSubmitWhileUploading: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"],\n liveRegion: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n rcsConfig: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"shape\"])({\n contextId: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"],\n contextType: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"],\n origin: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"],\n headers: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"shape\"])({\n Authorization: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"]\n })\n }),\n onStartUpload: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n onUploadComplete: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n onDismiss: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"func\"],\n open: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"],\n tabs: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"shape\"])({\n record: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"],\n upload: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"bool\"]\n }),\n uploadMediaTranslations: _translationShape__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n // for testing\n computerFile: Object(prop_types__WEBPACK_IMPORTED_MODULE_0__[\"instanceOf\"])(File),\n userLocale: prop_types__WEBPACK_IMPORTED_MODULE_0__[\"string\"]\n};\nUploadMedia.defaultProps = {\n disableSubmitWhileUploading: false,\n userLocale: 'en'\n};\n\n//# sourceURL=webpack:///../canvas-media/es/UploadMedia.js?");
16916
16916
 
16917
16917
  /***/ }),
16918
16918
 
@@ -17387,7 +17387,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
17387
17387
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17388
17388
 
17389
17389
  "use strict";
17390
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"absoluteToRelativeUrl\", function() { return absoluteToRelativeUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"downloadToWrap\", function() { return downloadToWrap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fixupFileUrl\", function() { return fixupFileUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepEmbedSrc\", function() { return prepEmbedSrc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepLinkedSrc\", function() { return prepLinkedSrc; });\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! url */ \"../../node_modules/url/url.js\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n// I really want to use the native URL api, but it's requirement of an absolute URL\n// or a base URL makes testing difficult, esp since window.location is \"about:blank\"\n// in mocha tests.\n\n\nfunction parseCanvasUrl(url) {\n let canvasOrigin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;\n\n if (!url) {\n return null;\n }\n\n const parsed = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(url, true);\n const canvasHost = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(canvasOrigin, true).host;\n\n if (parsed.host && canvasHost !== parsed.host) {\n return null;\n }\n\n return parsed;\n}\n\nfunction absoluteToRelativeUrl(url, canvasOrigin) {\n const parsed = parseCanvasUrl(url, canvasOrigin);\n\n if (!parsed) {\n return url;\n }\n\n parsed.host = '';\n parsed.hostname = '';\n parsed.slashes = false;\n parsed.protocol = '';\n const newUrl = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n return newUrl;\n}\n\nfunction changeDownloadToWrapParams(parsedUrl) {\n delete parsedUrl.search;\n delete parsedUrl.query.download_frd;\n parsedUrl.query.wrap = '1';\n parsedUrl.pathname = parsedUrl.pathname.replace(/\\/(?:download|preview)\\/?$/, '');\n return parsedUrl;\n}\n\nfunction addContext(parsedUrl, contextType, contextId) {\n // if this is a http://canvas/files... url. change it to be contextual\n if (/^\\/files/.test(parsedUrl.pathname)) {\n const context = contextType.replace(/([^s])$/, '$1s'); // canvas contexts are plural\n\n parsedUrl.pathname = `/${context}/${contextId}${parsedUrl.pathname}`;\n }\n\n return parsedUrl;\n} // simply replaces the download_frd url param with wrap\n// wrap=1 will (often) cause the resource to be loaded\n// in an iframe on canvas' files page\n\n\nfunction downloadToWrap(url) {\n const parsed = parseCanvasUrl(url);\n\n if (!parsed) {\n return url;\n }\n\n return Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(changeDownloadToWrapParams(parsed));\n} // take a url to a file (e.g. /files/17), and convert it to\n// it's in-context url (e.g. /courses/2/files/17).\n// Add wrap=1 to the url so it previews, not downloads\n// If it is a user file, add the verifier\n// NOTE: this can be removed once canvas-rce-api is updated\n// to normalize the file URLs it returns.\n\nfunction fixupFileUrl(contextType, contextId, fileInfo) {\n // it's annoying, but depending on how we got here\n // the file may have an href or a url\n const key = fileInfo.href ? 'href' : 'url';\n\n if (fileInfo[key]) {\n let parsed = parseCanvasUrl(fileInfo[key]);\n\n if (!parsed) {\n return fileInfo;\n }\n\n parsed = changeDownloadToWrapParams(parsed);\n parsed = addContext(parsed, contextType, contextId); // if this is a user file, add the verifier\n\n if (fileInfo.uuid && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(contextType).call(contextType, 'user')) {\n delete parsed.search;\n parsed.query.verifier = fileInfo.uuid;\n }\n\n fileInfo[key] = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n }\n\n return fileInfo;\n} // embedded resources, like an <img src=url> with /preview\n// in the url will not be logged as a view in canvas.\n// This is appropriate for images in some rce content.\n// Remove wrap=1 to indicate we want the file downloaded\n// (which is necessary to show in an <img> tag), not viewed\n\nfunction prepEmbedSrc(url) {\n const parsed = parseCanvasUrl(url);\n\n if (!parsed) {\n return url;\n }\n\n if (!/\\/preview(?:\\?|$)/.test(parsed.pathname)) {\n parsed.pathname = parsed.pathname.replace(/(?:\\/download)?\\/?(\\?|$)/, '/preview$1');\n }\n\n delete parsed.search;\n delete parsed.query.wrap;\n return Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n} // when the user opens a link to a resource, we want its view\n// logged, so remove /preview\n// Add wrap=1 to indicate clicking on the link should open a preview\n// and not download the file (this doesn't work if the original link is a download link)\n\nfunction prepLinkedSrc(url) {\n const parsed = parseCanvasUrl(url);\n\n if (!parsed) {\n return url;\n }\n\n delete parsed.search;\n parsed.pathname = parsed.pathname.replace(/\\/preview(\\?|$)/, '$1');\n parsed.query.wrap = '1';\n return Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n}\n\n//# sourceURL=webpack:///./src/common/fileUrl.js?");
17390
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"absoluteToRelativeUrl\", function() { return absoluteToRelativeUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"downloadToWrap\", function() { return downloadToWrap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fixupFileUrl\", function() { return fixupFileUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepEmbedSrc\", function() { return prepEmbedSrc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepLinkedSrc\", function() { return prepLinkedSrc; });\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! url */ \"../../node_modules/url/url.js\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n// I really want to use the native URL api, but it's requirement of an absolute URL\n// or a base URL makes testing difficult, esp since window.location is \"about:blank\"\n// in mocha tests.\n\n\nfunction parseCanvasUrl(url) {\n let canvasOrigin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;\n\n if (!url) {\n return null;\n }\n\n const parsed = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(url, true);\n const canvasHost = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(canvasOrigin, true).host;\n\n if (parsed.host && canvasHost !== parsed.host) {\n return null;\n }\n\n return parsed;\n}\n\nfunction absoluteToRelativeUrl(url, canvasOrigin) {\n const parsed = parseCanvasUrl(url, canvasOrigin);\n\n if (!parsed) {\n return url;\n }\n\n parsed.host = '';\n parsed.hostname = '';\n parsed.slashes = false;\n parsed.protocol = '';\n const newUrl = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n return newUrl;\n}\n\nfunction changeDownloadToWrapParams(parsedUrl) {\n delete parsedUrl.search;\n delete parsedUrl.query.download_frd;\n parsedUrl.query.wrap = '1';\n parsedUrl.pathname = parsedUrl.pathname.replace(/\\/(?:download|preview)\\/?$/, '');\n return parsedUrl;\n}\n\nfunction addContext(parsedUrl, contextType, contextId) {\n // if this is a http://canvas/files... url. change it to be contextual\n if (/^\\/files/.test(parsedUrl.pathname)) {\n const context = contextType.replace(/([^s])$/, '$1s'); // canvas contexts are plural\n\n parsedUrl.pathname = `/${context}/${contextId}${parsedUrl.pathname}`;\n }\n\n return parsedUrl;\n} // simply replaces the download_frd url param with wrap\n// wrap=1 will (often) cause the resource to be loaded\n// in an iframe on canvas' files page\n\n\nfunction downloadToWrap(url) {\n const parsed = parseCanvasUrl(url);\n\n if (!parsed) {\n return url;\n }\n\n return Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(changeDownloadToWrapParams(parsed));\n} // take a url to a file (e.g. /files/17), and convert it to\n// it's in-context url (e.g. /courses/2/files/17).\n// Add wrap=1 to the url so it previews, not downloads\n// If it is a user file, add the verifier\n// NOTE: this can be removed once canvas-rce-api is updated\n// to normalize the file URLs it returns.\n\nfunction fixupFileUrl(contextType, contextId, fileInfo, canvasOrigin) {\n // it's annoying, but depending on how we got here\n // the file may have an href or a url\n const key = fileInfo.href ? 'href' : 'url';\n\n if (fileInfo[key]) {\n let parsed = parseCanvasUrl(fileInfo[key], canvasOrigin);\n\n if (!parsed) {\n return fileInfo;\n }\n\n parsed = changeDownloadToWrapParams(parsed);\n parsed = addContext(parsed, contextType, contextId); // if this is a user file, add the verifier\n\n if (fileInfo.uuid && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(contextType).call(contextType, 'user')) {\n delete parsed.search;\n parsed.query.verifier = fileInfo.uuid;\n }\n\n fileInfo[key] = Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n }\n\n return fileInfo;\n} // embedded resources, like an <img src=url> with /preview\n// in the url will not be logged as a view in canvas.\n// This is appropriate for images in some rce content.\n// Remove wrap=1 to indicate we want the file downloaded\n// (which is necessary to show in an <img> tag), not viewed\n\nfunction prepEmbedSrc(url) {\n let canvasOrigin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;\n const parsed = parseCanvasUrl(url, canvasOrigin);\n\n if (!parsed) {\n return url;\n }\n\n if (!/\\/preview(?:\\?|$)/.test(parsed.pathname)) {\n parsed.pathname = parsed.pathname.replace(/(?:\\/download)?\\/?(\\?|$)/, '/preview$1');\n }\n\n delete parsed.search;\n delete parsed.query.wrap;\n return Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n} // when the user opens a link to a resource, we want its view\n// logged, so remove /preview\n// Add wrap=1 to indicate clicking on the link should open a preview\n// and not download the file (this doesn't work if the original link is a download link)\n\nfunction prepLinkedSrc(url) {\n const parsed = parseCanvasUrl(url);\n\n if (!parsed) {\n return url;\n }\n\n delete parsed.search;\n parsed.pathname = parsed.pathname.replace(/\\/preview(\\?|$)/, '$1');\n parsed.query.wrap = '1';\n return Object(url__WEBPACK_IMPORTED_MODULE_1__[\"format\"])(parsed);\n}\n\n//# sourceURL=webpack:///./src/common/fileUrl.js?");
17391
17391
 
17392
17392
  /***/ }),
17393
17393
 
@@ -17471,7 +17471,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/*\n * Copyright (C) 2021 - p
17471
17471
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17472
17472
 
17473
17473
  "use strict";
17474
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"previewableMimeTypes\", function() { return previewableMimeTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPreviewable\", function() { return isPreviewable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showLoadingImage\", function() { return showLoadingImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeLoadingImage\", function() { return removeLoadingImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadDocPreview\", function() { return loadDocPreview; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sanitizeUrl\", function() { return sanitizeUrl; });\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"../../node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @instructure/ui-spinner */ \"../../node_modules/@instructure/ui-spinner/es/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! escape-html */ \"../../node_modules/escape-html/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jqueryish_funcs */ \"./src/enhance-user-content/jqueryish_funcs.js\");\n\n\n/*\n * Copyright (C) 2022 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\nconst previewableMimeTypes = ['application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.sun.xml.writer', 'application/excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/rtf', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'application/vnd.sun.xml.impress', 'application/vnd.sun.xml.calc', 'application/vnd.ms-excel', 'application/msword', 'application/mspowerpoint', 'application/rtf', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.text', 'application/vnd.openxmlformats-officedocument.presentationml.template', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'text/plain', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/postscript', 'application/pdf', 'application/vnd.ms-powerpoint']; // check to see if a file of a certan mimeType is previewable inline in the browser\n// ex: isPreviewable(\"application/mspowerpoint\") -> true\n\nfunction isPreviewable(mimeType) {\n return _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(previewableMimeTypes).call(previewableMimeTypes, mimeType);\n} // Show a loading spinner\n// The typical use is to show the spinner next to a canvas file link\n// while the inline preview is loading. It's also used when previewing\n// student submitted files in speedgrader, in which case $link is really\n// the div containing the preview iframe. We handle these 2 cases by\n// telling the function to put the spinner adjacent to $link,\n// or to put it in the center of the preview container.\n//\n// $link: the DOM node that serves as the reference for locating the spinner\n// position: one of 'adjacent' or 'centered'\n\nfunction showLoadingImage($link) {\n let position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'adjacent';\n const dir = $link && window.getComputedStyle($link).direction || 'ltr';\n const boundingBox = $link.getBoundingClientRect();\n const offsetLeft = boundingBox.left + (position === 'adjacent' ? dir === 'ltr' ? boundingBox.width : -24 : boundingBox.width / 2);\n $link.style.marginInlineEnd = '28px';\n const imageMarginInlineStart = position === 'adjacent' ? '5px' : '-12px';\n const imageMarginTop = position === 'adjacent' ? 0 : '-12px';\n const zIndex = parseInt($link.style.zIndex || 0, 10) + 1;\n const $imageHolder = document.createElement('div');\n $imageHolder.setAttribute('class', 'loading_image_holder');\n const list = Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"getData\"])($link, 'loading_images') || [];\n list.push($imageHolder);\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"setData\"])($link, 'loading_images', list);\n\n if (!$link.style.position || $link.style.position === 'static') {\n const top = `${boundingBox.top + window.scrollY + (position === 'adjacent' ? 0 : boundingBox.height / 2)}px`;\n const left = `${offsetLeft}px`;\n $imageHolder.setAttribute('style', `z-index: ${zIndex}; position: absolute; top: ${top}; left: ${left}; margin-inline-start: ${imageMarginInlineStart}; margin-top: ${imageMarginTop}`);\n document.body.appendChild($imageHolder);\n } else {\n const top = `${position === 'adjacent' ? 0 : boundingBox.height / 2}px`;\n const left = `${offsetLeft}px`;\n $imageHolder.setAttribute('style', `z-index:${zIndex}; position: absolute; top: ${top}; left: ${left}; margin-inline-start:${imageMarginInlineStart}; margin-top: ${imageMarginTop}`);\n $link.appendChild($imageHolder);\n }\n\n react_dom__WEBPACK_IMPORTED_MODULE_2___default.a.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_4__[\"Spinner\"], {\n size: \"x-small\",\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('Loading')\n }), $imageHolder);\n return $link;\n}\nfunction removeLoadingImage($link) {\n var _$link$querySelector;\n\n (_$link$querySelector = $link.querySelector('.loading_image')) === null || _$link$querySelector === void 0 ? void 0 : _$link$querySelector.remove();\n const list = Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"getData\"])($link, 'loading_images') || [];\n list.forEach(item => {\n if (item) {\n item.remove();\n }\n });\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"setData\"])($link, 'loading_images', null);\n $link.style.marginInlineEnd = '';\n return $link;\n}\nfunction loadDocPreview($container, options) {\n let opts = {\n width: '100%',\n height: '400px',\n ...Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"getData\"])($container),\n ...options\n };\n if (!$container) return; // an issue in specs\n\n function tellAppIViewedThisInline() {\n // if I have a url to ping back to the app that I viewed this file inline, ping it.\n if (opts.attachment_view_inline_ping_url) {\n fetch(opts.attachment_view_inline_ping_url, {\n method: 'POST'\n });\n }\n }\n\n if (opts.crocodoc_session_url) {\n const sanitizedUrl = sanitizeUrl(opts.crocodoc_session_url);\n const iframe = document.createElement('iframe');\n iframe.setAttribute('src', sanitizedUrl);\n iframe.setAttribute('width', opts.width);\n iframe.setAttribute('height', opts.height);\n iframe.setAttribute('allowfullscreen', '1');\n iframe.id = opts.id;\n $container.appendChild(iframe);\n iframe.load(() => {\n tellAppIViewedThisInline('crocodoc');\n if (typeof opts.ready === 'function') opts.ready();\n });\n } else if (opts.canvadoc_session_url) {\n const canvadocWrapper = document.createElement('div');\n canvadocWrapper.setAttribute('style', 'overflow: auto; resize: vertical; border: 1px solid transparent; height: 100%;');\n $container.appendChild(canvadocWrapper);\n const minHeight = opts.iframe_min_height !== undefined ? opts.iframe_min_height : '800px';\n const sanitizedUrl = sanitizeUrl(opts.canvadoc_session_url);\n const iframe = document.createElement('iframe');\n iframe.addEventListener('load', () => {\n tellAppIViewedThisInline('canvadocs');\n if (typeof opts.ready === 'function') opts.ready();\n });\n iframe.setAttribute('src', sanitizedUrl);\n iframe.setAttribute('width', opts.width);\n iframe.setAttribute('allowfullscreen', '1');\n iframe.setAttribute('style', `border: 0; overflow: auto; height: 99%; min-height': ${minHeight}`);\n iframe.id = opts.id;\n canvadocWrapper.appendChild(iframe);\n } else if (!opts.disableGooglePreviews && (!opts.mimetype || isPreviewable(opts.mimetype)) && opts.attachment_id || opts.public_url) {\n // else if it's something google docs preview can handle and we can get a public url to this document.\n const loadGooglePreview = function () {\n // this handles both ssl and plain http.\n const googleDocPreviewUrl = `//docs.google.com/viewer?${new URLSearchParams({\n embedded: true,\n url: opts.public_url\n }).toString()}`;\n\n if (!opts.ajax_valid || opts.ajax_valid()) {\n const iframe = document.createElement('iframe');\n iframe.addEventListener('load', () => {\n tellAppIViewedThisInline('google');\n\n if (typeof opts.ready === 'function') {\n opts.ready();\n }\n });\n iframe.setAttribute('src', googleDocPreviewUrl);\n iframe.setAttribute('height', opts.height);\n iframe.setAttribute('width', '100%');\n $container.appendChild(iframe);\n }\n };\n\n if (opts.public_url) {\n loadGooglePreview();\n } else if (opts.attachment_id) {\n let url = `/api/v1/files/${opts.attachment_id}/public_url.json`;\n\n if (opts.submission_id) {\n url += '?' + new URLSearchParams({\n submission_id: opts.submission_id\n }).toString();\n }\n\n if (opts.verifier) {\n url += `${opts.submission_id ? '&' : '?'}verifier=${opts.verifier}`;\n } else {\n const match = window.location.search.match(/verifier=([^&]+)(?:&|$)/);\n const ver = match && match[1];\n\n if (ver) {\n url += `${opts.submission_id ? '&' : '?'}verifier=${ver}`;\n }\n }\n\n showLoadingImage($container, 'centered');\n fetch(url).then(response => {\n if (!response.ok) throw new Error(`${response.status}: ${response.statusText}`);\n return response;\n }).then(response => response.json()).then(data => {\n if (data.public_url) {\n opts = { ...opts,\n ...data\n };\n loadGooglePreview();\n }\n }).catch(ex => {\n // eslint-disable-next-line no-console\n console.error(ex);\n }).finally(() => {\n removeLoadingImage($container);\n });\n }\n } else {\n // else fall back with a message that the document can't be viewed inline\n // eslint-disable-next-line no-lonely-if\n if (opts.attachment_preview_processing) {\n $container.innerHTML = `<p>\n ${escape_html__WEBPACK_IMPORTED_MODULE_5___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('The document preview is currently being processed. Please try again later.'))}\n </p>`;\n } else {\n $container.innerHTML = `<p>${escape_html__WEBPACK_IMPORTED_MODULE_5___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('This document cannot be displayed within Canvas.'))}</p>`;\n }\n }\n}\n/**\n * Replaces bad urls with harmless urls in cases where bad urls might cause harm\n * @param {string} url\n */\n\nfunction sanitizeUrl(url) {\n const defaultUrl = 'about:blank';\n\n try {\n const parsedUrl = new URL(url, window.location.origin); // eslint-disable-next-line no-script-url\n\n if (parsedUrl.protocol === 'javascript:') {\n return defaultUrl;\n }\n\n return url;\n } catch (e) {\n // URL() throws TypeError if url is not a valid URL\n return defaultUrl;\n }\n}\n\n//# sourceURL=webpack:///./src/enhance-user-content/doc_previews.js?");
17474
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"previewableMimeTypes\", function() { return previewableMimeTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPreviewable\", function() { return isPreviewable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showLoadingImage\", function() { return showLoadingImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeLoadingImage\", function() { return removeLoadingImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadDocPreview\", function() { return loadDocPreview; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sanitizeUrl\", function() { return sanitizeUrl; });\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"../../node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @instructure/ui-spinner */ \"../../node_modules/@instructure/ui-spinner/es/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! escape-html */ \"../../node_modules/escape-html/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jqueryish_funcs */ \"./src/enhance-user-content/jqueryish_funcs.js\");\n\n\n/*\n * Copyright (C) 2022 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\nconst previewableMimeTypes = ['application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.sun.xml.writer', 'application/excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/rtf', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'application/vnd.sun.xml.impress', 'application/vnd.sun.xml.calc', 'application/vnd.ms-excel', 'application/msword', 'application/mspowerpoint', 'application/rtf', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.text', 'application/vnd.openxmlformats-officedocument.presentationml.template', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'text/plain', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/postscript', 'application/pdf', 'application/vnd.ms-powerpoint']; // check to see if a file of a certan mimeType is previewable inline in the browser\n// ex: isPreviewable(\"application/mspowerpoint\") -> true\n\nfunction isPreviewable(mimeType) {\n return _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(previewableMimeTypes).call(previewableMimeTypes, mimeType);\n} // Show a loading spinner\n// The typical use is to show the spinner next to a canvas file link\n// while the inline preview is loading. It's also used when previewing\n// student submitted files in speedgrader, in which case $link is really\n// the div containing the preview iframe. We handle these 2 cases by\n// telling the function to put the spinner adjacent to $link,\n// or to put it in the center of the preview container.\n//\n// $link: the DOM node that serves as the reference for locating the spinner\n// position: one of 'adjacent' or 'centered'\n\nfunction showLoadingImage($link) {\n let position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'adjacent';\n const dir = $link && window.getComputedStyle($link).direction || 'ltr';\n const boundingBox = $link.getBoundingClientRect();\n const offsetLeft = boundingBox.left + (position === 'adjacent' ? dir === 'ltr' ? boundingBox.width : -24 : boundingBox.width / 2);\n $link.style.marginInlineEnd = '28px';\n const imageMarginInlineStart = position === 'adjacent' ? '5px' : '-12px';\n const imageMarginTop = position === 'adjacent' ? 0 : '-12px';\n const zIndex = parseInt($link.style.zIndex || 0, 10) + 1;\n const $imageHolder = document.createElement('div');\n $imageHolder.setAttribute('class', 'loading_image_holder');\n const list = Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"getData\"])($link, 'loading_images') || [];\n list.push($imageHolder);\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"setData\"])($link, 'loading_images', list);\n\n if (!$link.style.position || $link.style.position === 'static') {\n const top = `${boundingBox.top + window.scrollY + (position === 'adjacent' ? 0 : boundingBox.height / 2)}px`;\n const left = `${offsetLeft}px`;\n $imageHolder.setAttribute('style', `z-index: ${zIndex}; position: absolute; top: ${top}; left: ${left}; margin-inline-start: ${imageMarginInlineStart}; margin-top: ${imageMarginTop}`);\n document.body.appendChild($imageHolder);\n } else {\n const top = `${position === 'adjacent' ? 0 : boundingBox.height / 2}px`;\n const left = `${offsetLeft}px`;\n $imageHolder.setAttribute('style', `z-index:${zIndex}; position: absolute; top: ${top}; left: ${left}; margin-inline-start:${imageMarginInlineStart}; margin-top: ${imageMarginTop}`);\n $link.appendChild($imageHolder);\n }\n\n react_dom__WEBPACK_IMPORTED_MODULE_2___default.a.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_4__[\"Spinner\"], {\n size: \"x-small\",\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('Loading')\n }), $imageHolder);\n return $link;\n}\nfunction removeLoadingImage($link) {\n var _$link$querySelector;\n\n (_$link$querySelector = $link.querySelector('.loading_image')) === null || _$link$querySelector === void 0 ? void 0 : _$link$querySelector.remove();\n const list = Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"getData\"])($link, 'loading_images') || [];\n list.forEach(item => {\n if (item) {\n item.remove();\n }\n });\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"setData\"])($link, 'loading_images', null);\n $link.style.marginInlineEnd = '';\n return $link;\n}\nfunction loadDocPreview($container, options) {\n let opts = {\n width: '100%',\n height: '400px',\n ...Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_6__[\"getData\"])($container),\n ...options\n };\n if (!$container) return; // an issue in specs\n\n function tellAppIViewedThisInline() {\n // if I have a url to ping back to the app that I viewed this file inline, ping it.\n if (opts.attachment_view_inline_ping_url) {\n fetch(opts.attachment_view_inline_ping_url, {\n method: 'POST'\n });\n }\n }\n\n if (opts.crocodoc_session_url) {\n const sanitizedUrl = sanitizeUrl(opts.crocodoc_session_url);\n const iframe = document.createElement('iframe');\n iframe.setAttribute('src', sanitizedUrl);\n iframe.setAttribute('width', opts.width);\n iframe.setAttribute('height', opts.height);\n iframe.setAttribute('allowfullscreen', '1');\n iframe.id = opts.id;\n $container.appendChild(iframe);\n iframe.load(() => {\n tellAppIViewedThisInline('crocodoc');\n if (typeof opts.ready === 'function') opts.ready();\n });\n } else if (opts.canvadoc_session_url) {\n const canvadocWrapper = document.createElement('div');\n canvadocWrapper.setAttribute('style', 'overflow: auto; resize: vertical; border: 1px solid transparent; height: 100%;');\n $container.appendChild(canvadocWrapper);\n const minHeight = opts.iframe_min_height !== undefined ? opts.iframe_min_height : '800px';\n const sanitizedUrl = sanitizeUrl(opts.canvadoc_session_url);\n const iframe = document.createElement('iframe');\n iframe.addEventListener('load', () => {\n tellAppIViewedThisInline('canvadocs');\n if (typeof opts.ready === 'function') opts.ready();\n });\n iframe.setAttribute('src', sanitizedUrl);\n iframe.setAttribute('width', opts.width);\n iframe.setAttribute('allowfullscreen', '1');\n iframe.setAttribute('style', `border: 0; overflow: auto; height: 99%; min-height: ${minHeight}`);\n iframe.id = opts.id;\n canvadocWrapper.appendChild(iframe);\n } else if (!opts.disableGooglePreviews && (!opts.mimetype || isPreviewable(opts.mimetype)) && opts.attachment_id || opts.public_url) {\n // else if it's something google docs preview can handle and we can get a public url to this document.\n const loadGooglePreview = function () {\n // this handles both ssl and plain http.\n const googleDocPreviewUrl = `//docs.google.com/viewer?${new URLSearchParams({\n embedded: true,\n url: opts.public_url\n }).toString()}`;\n\n if (!opts.ajax_valid || opts.ajax_valid()) {\n const iframe = document.createElement('iframe');\n iframe.addEventListener('load', () => {\n tellAppIViewedThisInline('google');\n\n if (typeof opts.ready === 'function') {\n opts.ready();\n }\n });\n iframe.setAttribute('src', googleDocPreviewUrl);\n iframe.setAttribute('height', opts.height);\n iframe.setAttribute('width', '100%');\n $container.appendChild(iframe);\n }\n };\n\n if (opts.public_url) {\n loadGooglePreview();\n } else if (opts.attachment_id) {\n let url = `/api/v1/files/${opts.attachment_id}/public_url.json`;\n\n if (opts.submission_id) {\n url += '?' + new URLSearchParams({\n submission_id: opts.submission_id\n }).toString();\n }\n\n if (opts.verifier) {\n url += `${opts.submission_id ? '&' : '?'}verifier=${opts.verifier}`;\n } else {\n const match = window.location.search.match(/verifier=([^&]+)(?:&|$)/);\n const ver = match && match[1];\n\n if (ver) {\n url += `${opts.submission_id ? '&' : '?'}verifier=${ver}`;\n }\n }\n\n showLoadingImage($container, 'centered');\n fetch(url).then(response => {\n if (!response.ok) throw new Error(`${response.status}: ${response.statusText}`);\n return response;\n }).then(response => response.json()).then(data => {\n if (data.public_url) {\n opts = { ...opts,\n ...data\n };\n loadGooglePreview();\n }\n }).catch(ex => {\n // eslint-disable-next-line no-console\n console.error(ex);\n }).finally(() => {\n removeLoadingImage($container);\n });\n }\n } else {\n // else fall back with a message that the document can't be viewed inline\n // eslint-disable-next-line no-lonely-if\n if (opts.attachment_preview_processing) {\n $container.innerHTML = `<p>\n ${escape_html__WEBPACK_IMPORTED_MODULE_5___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('The document preview is currently being processed. Please try again later.'))}\n </p>`;\n } else {\n $container.innerHTML = `<p>${escape_html__WEBPACK_IMPORTED_MODULE_5___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('This document cannot be displayed within Canvas.'))}</p>`;\n }\n }\n}\n/**\n * Replaces bad urls with harmless urls in cases where bad urls might cause harm\n * @param {string} url\n */\n\nfunction sanitizeUrl(url) {\n const defaultUrl = 'about:blank';\n\n try {\n const parsedUrl = new URL(url, window.location.origin); // eslint-disable-next-line no-script-url\n\n if (parsedUrl.protocol === 'javascript:') {\n return defaultUrl;\n }\n\n return url;\n } catch (e) {\n // URL() throws TypeError if url is not a valid URL\n return defaultUrl;\n }\n}\n\n//# sourceURL=webpack:///./src/enhance-user-content/doc_previews.js?");
17475
17475
 
17476
17476
  /***/ }),
17477
17477
 
@@ -17483,7 +17483,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
17483
17483
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17484
17484
 
17485
17485
  "use strict";
17486
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enhanceUserContent\", function() { return enhanceUserContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeAllExternalLinksExternalLinks\", function() { return makeAllExternalLinksExternalLinks; });\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! escape-html */ \"../../node_modules/escape-html/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @instructure/ui-icons/es/svg */ \"../../node_modules/@instructure/ui-icons/es/svg/index.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jqueryish_funcs */ \"./src/enhance-user-content/jqueryish_funcs.js\");\n/* harmony import */ var _instructure_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instructure_helper */ \"./src/enhance-user-content/instructure_helper.js\");\n/* harmony import */ var _media_comment_thumbnail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./media_comment_thumbnail */ \"./src/enhance-user-content/media_comment_thumbnail.js\");\n/*\n * Copyright (C) 2011 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n // in jest the es directory doesn't exist so stub the undefined svg\n\nconst IconDownloadSVG = (_instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconDownloadLine\"] === null || _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconDownloadLine\"] === void 0 ? void 0 : _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconDownloadLine\"].src) || '<svg></svg>';\nconst IconExternalLinkSVG = (_instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconExternalLinkLine\"] === null || _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconExternalLinkLine\"] === void 0 ? void 0 : _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconExternalLinkLine\"].src) || '<svg></svg>';\n\nfunction makeDownloadButton(download_url, filename) {\n const a = document.createElement('a');\n a.setAttribute('class', 'file_download_btn');\n a.setAttribute('role', 'button');\n a.setAttribute('download', '');\n a.setAttribute('style', 'margin-inline-start: 5px; text-decoration: none;');\n a.setAttribute('href', download_url);\n const $icon = document.createElement('span');\n $icon.setAttribute('role', 'presentation');\n $icon.innerHTML = IconDownloadSVG;\n $icon.firstChild.setAttribute('style', 'width:1em; height:1em; vertical-align:middle; fill:currentColor');\n a.appendChild($icon);\n const srspan = document.createElement('span');\n srspan.setAttribute('class', 'screenreader-only');\n srspan.innerHTML = escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('Download {filename}', {\n filename\n }));\n a.appendChild(srspan);\n return a;\n}\n\nfunction makeExternalLinkIcon(forLink) {\n const dir = forLink && window.getComputedStyle(forLink).direction || 'ltr';\n const $icon = document.createElement('span');\n $icon.setAttribute('class', 'external_link_icon');\n const style = `margin-inline-start: 5px; ${dir === 'rtl' ? 'transform:scale(-1, 1)' : ''}`;\n $icon.setAttribute('style', style);\n $icon.setAttribute('role', 'presentation');\n $icon.innerHTML = IconExternalLinkSVG;\n $icon.firstChild.setAttribute('style', 'width:1em; height:1em; vertical-align:middle; fill:currentColor');\n const srspan = document.createElement('span');\n srspan.setAttribute('class', 'screenreader-only');\n srspan.innerHTML = escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('Links to an external site.'));\n $icon.appendChild(srspan);\n return $icon;\n}\n\nfunction handleYoutubeLink($link) {\n const href = $link.getAttribute('href');\n const id = Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"youTubeID\"])(href || '');\n\n if (id && !$link.classList.contains('inline_disabled')) {\n const $after = document.createElement('a');\n $after.setAttribute('href', href);\n $after.setAttribute('class', 'youtubed');\n $after.innerHTML = `\n <img src=\"/images/play_overlay.png\"\n class=\"media_comment_thumbnail\"\n style=\"background-image: url(//img.youtube.com/vi/${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(id)}/2.jpg)\"\n alt=\"${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"getData\"])($link, 'preview-alt') || '')}\"\n />\n `;\n $after.addEventListener('click', function (event) {\n event.preventDefault();\n const $this = event.currentTarget;\n const $video = document.createElement('span');\n $video.setAttribute('class', 'youtube_holder');\n $video.style.display = 'block';\n $video.innerHTML = `\n <iframe\n src='//www.youtube.com/embed/${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(id)}?autoplay=1&rel=0&hl=en_US&fs=1'\n frameborder='0'\n width='425'\n height='344'\n allowfullscreen\n ></iframe>\n <br/>\n <a\n href='#'\n style='font-size: 0.8em;'\n class='hide_youtube_embed_link'\n >\n ${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('Minimize Video'))}\n </a>\n `;\n $video.querySelectorAll('.hide_youtube_embed_link').forEach($elem => {\n $elem.addEventListener('click', function (event2) {\n event2.preventDefault();\n $video.parentElement.removeChild($video);\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"show\"])($after);\n });\n });\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"insertAfter\"])($video, $this);\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"hide\"])($this);\n });\n $link.classList.add('youtubed');\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"insertAfter\"])($after, $link);\n }\n}\n\nlet preview_counter = 0;\n\nfunction previewId() {\n return `preview_${++preview_counter}`;\n}\n\nfunction buildUrl(url) {\n try {\n return new URL(url);\n } catch (e) {// Don't raise an error\n }\n}\n\nfunction enhanceUserContent() {\n let container = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n customEnhanceFunc,\n canvasOrigin,\n kalturaSettings,\n disableGooglePreviews\n } = opts;\n const content = container instanceof HTMLElement && container || document.getElementById('content') || document;\n\n const showFilePreviewEx = event => Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"showFilePreview\"])(event, {\n canvasOrigin,\n disableGooglePreviews\n });\n\n content.querySelectorAll('.user_content:not(.enhanced)').forEach(elem => elem.classList.add('unenhanced'));\n content.querySelectorAll('.unenhanced').forEach(unenhanced_elem => {\n unenhanced_elem.querySelectorAll('img').forEach(img => {\n // if the image file is unpublished it's replaced with the lock image\n // and canvas adds hidden=1 to the URL.\n // we also need to strip the alt text\n if (/hidden=1$/.test(img.getAttribute('src'))) {\n img.setAttribute('alt', Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('This image is currently unavailable'));\n }\n });\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"setData\"])(unenhanced_elem, 'unenhanced_content_html', unenhanced_elem.innerHTML); // guarantee relative links point to canvas\n\n if (canvasOrigin) {\n unenhanced_elem.querySelectorAll('a').forEach(link => {\n try {\n const href = link.getAttribute('href');\n\n if (href[0] !== '#') {\n const url = new URL(href, canvasOrigin);\n link.setAttribute('href', url.href);\n }\n } catch (_ignore) {// canvasOrigin probably isn't a valid base url\n }\n });\n }\n\n unenhanced_elem.querySelectorAll('a:not(.not_external, .external)').forEach(childLink => {\n if (!Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"isExternalLink\"])(childLink)) return;\n if (childLink.tagName === 'IMG' || childLink.querySelectorAll('img').length > 0) return;\n childLink.classList.add('external');\n childLink.setAttribute('target', '_blank');\n childLink.setAttribute('rel', 'noreferrer noopener');\n const $linkSpan = document.createElement('span');\n const $linkText = childLink.innerHTML;\n $linkSpan.innerHTML = $linkText;\n\n while (childLink.firstChild) childLink.removeChild(childLink.firstChild);\n\n childLink.appendChild($linkSpan);\n const externalLinkIcon = makeExternalLinkIcon(childLink);\n childLink.appendChild(externalLinkIcon);\n });\n });\n content.querySelectorAll('a.instructure_file_link, a.instructure_scribd_file').forEach(file_link => {\n const href = buildUrl(file_link.href); // Don't attempt to enhance links with no href\n\n if (!href) return;\n const matchesCanvasFile = href.pathname.match(/(?:\\/(courses|groups|users)\\/(\\d+))?\\/files\\/(\\d+)/);\n\n if (!matchesCanvasFile) {\n // a bug in the new RCE added instructure_file_link class name to all links\n // only proceed if this is a canvas file link\n return;\n }\n\n if (file_link.textContent.trim()) {\n file_link.addEventListener('click', showFilePreviewEx);\n const filename = file_link.textContent; // instructure_file_link_holder is used to find file_preview_link\n\n const $span = document.createElement('span');\n $span.setAttribute('class', 'instructure_file_holder link_holder instructure_file_link_holder');\n const qs = href.searchParams;\n qs.delete('wrap');\n qs.append('download_frd', '1');\n const download_url = `${href.origin}${href.pathname.replace(/(?:\\/(download|preview))?$/, '/download')}?${qs}`;\n const $download_btn = makeDownloadButton(download_url, filename);\n\n if (file_link.classList.contains('instructure_scribd_file')) {\n if (file_link.classList.contains('no_preview')) {\n // link downloads\n file_link.setAttribute('href', download_url);\n file_link.removeAttribute('target');\n } else if (file_link.classList.contains('inline_disabled')) {\n // link opens in overlay\n file_link.classList.add('preview_in_overlay');\n } else {\n // link previews\n file_link.classList.add('file_preview_link');\n }\n }\n\n file_link.classList.remove('instructure_file_link');\n file_link.classList.remove('instructure_scribd_file');\n file_link.parentElement.replaceChild($span, file_link);\n $span.appendChild(file_link);\n if ($download_btn) $span.appendChild($download_btn);\n }\n }); // Some schools have been using 'file_preview_link' for inline previews\n // outside of the RCE so find them all after we've gone through and\n // added our own (above)\n\n content.querySelectorAll('.instructure_file_link_holder a.file_preview_link, .instructure_file_link_holder a.scribd_file_preview_link').forEach($link => {\n if ($link.classList.contains('previewable')) {\n return;\n }\n\n const preview_id = previewId();\n $link.setAttribute('aria-expanded', 'false');\n $link.setAttribute('aria-controls', preview_id);\n $link.classList.add('previewable');\n $link.addEventListener('click', showFilePreviewEx);\n const $preview_container = document.createElement('div');\n $preview_container.setAttribute('role', 'region');\n $preview_container.setAttribute('class', 'preview_container');\n $preview_container.id = preview_id;\n $preview_container.setAttribute('style', 'display: none;');\n $link.parentElement.appendChild($preview_container);\n\n if ($link.classList.contains('auto_open')) {\n $link.click();\n }\n });\n const unenhanced_anchors = content.querySelectorAll('.user_content.unenhanced a, .user_content.unenhanced+div.answers a');\n unenhanced_anchors.forEach($anchor => {\n $anchor.querySelectorAll('img.media_comment_thumbnail').forEach($thumbnail => {\n const a = Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"closest\"])($thumbnail, 'a', content);\n a === null || a === void 0 ? void 0 : a.classList.add('instructure_inline_media_comment');\n });\n\n if ($anchor.matches('.instructure_inline_media_comment')) {\n $anchor.classList.remove('no-underline');\n Object(_media_comment_thumbnail__WEBPACK_IMPORTED_MODULE_5__[\"default\"])($anchor, 'normal', false, kalturaSettings);\n }\n\n if ($anchor.matches('.instructure_video_link, .instructure_audio_link')) {\n Object(_media_comment_thumbnail__WEBPACK_IMPORTED_MODULE_5__[\"default\"])($anchor, 'normal', true, kalturaSettings);\n }\n\n if (!$anchor.matches('.youtubed')) {\n handleYoutubeLink($anchor);\n }\n });\n\n if (customEnhanceFunc) {\n customEnhanceFunc();\n }\n\n content.querySelectorAll('.user_content.unenhanced').forEach($elem => {\n $elem.classList.remove('unenhanced');\n $elem.classList.add('enhanced');\n });\n setTimeout(() => {\n content.querySelectorAll('.user_content form.user_content_post_form:not(.submitted)').forEach($elem => {\n $elem.submit();\n $elem.classList.add('submitted');\n });\n }, 10); // Remove sandbox attribute from user content iframes to fix busted\n // third-party content, like Google Drive documents.\n\n document.querySelectorAll('.user_content iframe[sandbox=\"allow-scripts allow-forms allow-same-origin\"]').forEach(frame => {\n frame.removeAttribute('sandbox');\n const src = frame.src;\n frame.src = src;\n });\n}\nfunction makeAllExternalLinksExternalLinks() {\n // in 100ms (to give time for everything else to load), find all the external links and add give them\n // the external link look and behavior (force them to open in a new tab)\n setTimeout(function () {\n const content = document.getElementById('content');\n if (!content) return;\n const tld = Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"getTld\"])(window.location.hostname);\n const links = content.querySelectorAll(`a[href*=\"//\"]:not([href*=\"${tld}\"])`); // technique for finding \"external\" links copied from https://davidwalsh.name/external-links-css\n\n for (let i = 0; i < links.length; i++) {\n const $link = links[i]; // don't mess with the ones that were already processed in enhanceUserContent\n\n if ($link.classList.contains('external')) continue;\n if ($link.matches('.open_in_a_new_tab')) continue;\n if ($link.querySelectorAll('img').length > 0) continue;\n if ($link.matches('.not_external')) continue;\n if ($link.matches('.exclude_external_icon')) continue; // we have some pre-instui buttons that are styled links\n\n if ($link.classList.contains('btn')) continue;\n const $linkToReplace = $link;\n\n if ($linkToReplace) {\n const $linkIndicator = makeExternalLinkIcon();\n $linkToReplace.classList.add('external');\n $linkToReplace.querySelectorAll('span.ui-icon-extlink').forEach(c => c.remove);\n $linkToReplace.setAttribute('target', '_blank');\n $linkToReplace.setAttribute('rel', 'noreferrer noopener');\n const $linkSpan = document.createElement('span');\n const $linkText = $linkToReplace.innerHTML;\n $linkSpan.innerHTML = $linkText;\n\n while ($linkToReplace.firstChild) $linkToReplace.removeChild($linkToReplace.firstChild);\n\n $linkToReplace.appendChild($linkSpan);\n $linkToReplace.appendChild($linkIndicator);\n }\n }\n }, 100);\n}\n\n//# sourceURL=webpack:///./src/enhance-user-content/enhance_user_content.js?");
17486
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enhanceUserContent\", function() { return enhanceUserContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeAllExternalLinksExternalLinks\", function() { return makeAllExternalLinksExternalLinks; });\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! escape-html */ \"../../node_modules/escape-html/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @instructure/ui-icons/es/svg */ \"../../node_modules/@instructure/ui-icons/es/svg/index.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jqueryish_funcs */ \"./src/enhance-user-content/jqueryish_funcs.js\");\n/* harmony import */ var _instructure_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instructure_helper */ \"./src/enhance-user-content/instructure_helper.js\");\n/* harmony import */ var _media_comment_thumbnail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./media_comment_thumbnail */ \"./src/enhance-user-content/media_comment_thumbnail.js\");\n/*\n * Copyright (C) 2011 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n // in jest the es directory doesn't exist so stub the undefined svg\n\nconst IconDownloadSVG = (_instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconDownloadLine\"] === null || _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconDownloadLine\"] === void 0 ? void 0 : _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconDownloadLine\"].src) || '<svg></svg>';\nconst IconExternalLinkSVG = (_instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconExternalLinkLine\"] === null || _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconExternalLinkLine\"] === void 0 ? void 0 : _instructure_ui_icons_es_svg__WEBPACK_IMPORTED_MODULE_1__[\"IconExternalLinkLine\"].src) || '<svg></svg>';\n\nfunction makeDownloadButton(download_url, filename) {\n const a = document.createElement('a');\n a.setAttribute('class', 'file_download_btn');\n a.setAttribute('role', 'button');\n a.setAttribute('download', '');\n a.setAttribute('style', 'margin-inline-start: 5px; text-decoration: none;');\n a.setAttribute('href', download_url);\n const $icon = document.createElement('span');\n $icon.setAttribute('role', 'presentation');\n $icon.innerHTML = IconDownloadSVG;\n $icon.firstChild.setAttribute('style', 'width:1em; height:1em; vertical-align:middle; fill:currentColor');\n a.appendChild($icon);\n const srspan = document.createElement('span');\n srspan.setAttribute('class', 'screenreader-only');\n srspan.innerHTML = escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('Download {filename}', {\n filename\n }));\n a.appendChild(srspan);\n return a;\n}\n\nfunction makeExternalLinkIcon(forLink) {\n const dir = forLink && window.getComputedStyle(forLink).direction || 'ltr';\n const $icon = document.createElement('span');\n $icon.setAttribute('class', 'external_link_icon');\n const style = `margin-inline-start: 5px; ${dir === 'rtl' ? 'transform:scale(-1, 1)' : ''}`;\n $icon.setAttribute('style', style);\n $icon.setAttribute('role', 'presentation');\n $icon.innerHTML = IconExternalLinkSVG;\n $icon.firstChild.setAttribute('style', 'width:1em; height:1em; vertical-align:middle; fill:currentColor');\n const srspan = document.createElement('span');\n srspan.setAttribute('class', 'screenreader-only');\n srspan.innerHTML = escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('Links to an external site.'));\n $icon.appendChild(srspan);\n return $icon;\n}\n\nfunction handleYoutubeLink($link) {\n const href = $link.getAttribute('href');\n const id = Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"youTubeID\"])(href || '');\n\n if (id && !$link.classList.contains('inline_disabled')) {\n const $after = document.createElement('a');\n $after.setAttribute('href', href);\n $after.setAttribute('class', 'youtubed');\n $after.innerHTML = `\n <img src=\"/images/play_overlay.png\"\n class=\"media_comment_thumbnail\"\n style=\"background-image: url(//img.youtube.com/vi/${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(id)}/2.jpg)\"\n alt=\"${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"getData\"])($link, 'preview-alt') || '')}\"\n />\n `;\n $after.addEventListener('click', function (event) {\n event.preventDefault();\n const $this = event.currentTarget;\n const $video = document.createElement('span');\n $video.setAttribute('class', 'youtube_holder');\n $video.style.display = 'block';\n $video.innerHTML = `\n <iframe\n src='//www.youtube.com/embed/${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(id)}?autoplay=1&rel=0&hl=en_US&fs=1'\n frameborder='0'\n width='425'\n height='344'\n allowfullscreen\n ></iframe>\n <br/>\n <a\n href='#'\n style='font-size: 0.8em;'\n class='hide_youtube_embed_link'\n >\n ${escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('Minimize Video'))}\n </a>\n `;\n $video.querySelectorAll('.hide_youtube_embed_link').forEach($elem => {\n $elem.addEventListener('click', function (event2) {\n event2.preventDefault();\n $video.parentElement.removeChild($video);\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"show\"])($after);\n });\n });\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"insertAfter\"])($video, $this);\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"hide\"])($this);\n });\n $link.classList.add('youtubed');\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"insertAfter\"])($after, $link);\n }\n}\n\nlet preview_counter = 0;\n\nfunction previewId() {\n return `preview_${++preview_counter}`;\n}\n\nfunction buildUrl(url) {\n try {\n return new URL(url);\n } catch (e) {// Don't raise an error\n }\n}\n\nfunction enhanceUserContent() {\n let container = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n customEnhanceFunc,\n canvasOrigin,\n kalturaSettings,\n disableGooglePreviews\n } = opts;\n const content = container instanceof HTMLElement && container || document.getElementById('content') || document;\n\n const showFilePreviewEx = event => Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"showFilePreview\"])(event, {\n canvasOrigin,\n disableGooglePreviews\n });\n\n content.querySelectorAll('.user_content:not(.enhanced)').forEach(elem => elem.classList.add('unenhanced'));\n content.querySelectorAll('.unenhanced').forEach(unenhanced_elem => {\n unenhanced_elem.querySelectorAll('img').forEach(img => {\n const src = img.getAttribute('src');\n\n if (!/^\\/[^/]/.test(src)) {\n return;\n } // if the image file is unpublished it's replaced with the lock image\n // and canvas adds hidden=1 to the URL.\n // we also need to strip the alt text\n\n\n if (/hidden=1$/.test(src)) {\n img.setAttribute('alt', Object(_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('This image is currently unavailable'));\n }\n });\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"setData\"])(unenhanced_elem, 'unenhanced_content_html', unenhanced_elem.innerHTML); // guarantee relative links point to canvas\n\n if (canvasOrigin) {\n const attributes = ['href', 'src'];\n const selector = '[href], [src]';\n unenhanced_elem.querySelectorAll(selector).forEach(element => {\n try {\n for (const a of attributes) {\n const potentialUrl = element.getAttribute(a);\n\n if (!/^\\/[^/]/.test(potentialUrl)) {\n continue;\n }\n\n const absoluteUrl = new URL(potentialUrl, canvasOrigin);\n element.setAttribute(a, absoluteUrl.href);\n }\n } catch (_ignore) {// canvasOrigin probably isn't a valid base url\n }\n });\n }\n\n unenhanced_elem.querySelectorAll('a:not(.not_external, .external)').forEach(childLink => {\n if (!Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"isExternalLink\"])(childLink)) return;\n if (childLink.tagName === 'IMG' || childLink.querySelectorAll('img').length > 0) return;\n childLink.classList.add('external');\n childLink.setAttribute('target', '_blank');\n childLink.setAttribute('rel', 'noreferrer noopener');\n const $linkSpan = document.createElement('span');\n const $linkText = childLink.innerHTML;\n $linkSpan.innerHTML = $linkText;\n\n while (childLink.firstChild) childLink.removeChild(childLink.firstChild);\n\n childLink.appendChild($linkSpan);\n const externalLinkIcon = makeExternalLinkIcon(childLink);\n childLink.appendChild(externalLinkIcon);\n });\n });\n content.querySelectorAll('a.instructure_file_link, a.instructure_scribd_file').forEach(file_link => {\n const href = buildUrl(file_link.href); // Don't attempt to enhance links with no href\n\n if (!href) return;\n const matchesCanvasFile = href.pathname.match(/(?:\\/(courses|groups|users)\\/(\\d+))?\\/files\\/(\\d+)/);\n\n if (!matchesCanvasFile) {\n // a bug in the new RCE added instructure_file_link class name to all links\n // only proceed if this is a canvas file link\n return;\n }\n\n if (file_link.textContent.trim()) {\n file_link.addEventListener('click', showFilePreviewEx);\n const filename = file_link.textContent; // instructure_file_link_holder is used to find file_preview_link\n\n const $span = document.createElement('span');\n $span.setAttribute('class', 'instructure_file_holder link_holder instructure_file_link_holder');\n const qs = href.searchParams;\n qs.delete('wrap');\n qs.append('download_frd', '1');\n const download_url = `${href.origin}${href.pathname.replace(/(?:\\/(download|preview))?$/, '/download')}?${qs}`;\n const $download_btn = makeDownloadButton(download_url, filename);\n\n if (file_link.classList.contains('instructure_scribd_file')) {\n if (file_link.classList.contains('no_preview')) {\n // link downloads\n file_link.setAttribute('href', download_url);\n file_link.removeAttribute('target');\n } else if (file_link.classList.contains('inline_disabled')) {\n // link opens in overlay\n file_link.classList.add('preview_in_overlay');\n } else {\n // link previews\n file_link.classList.add('file_preview_link');\n }\n }\n\n file_link.classList.remove('instructure_file_link');\n file_link.classList.remove('instructure_scribd_file');\n file_link.parentElement.replaceChild($span, file_link);\n $span.appendChild(file_link);\n if ($download_btn) $span.appendChild($download_btn);\n }\n }); // Some schools have been using 'file_preview_link' for inline previews\n // outside of the RCE so find them all after we've gone through and\n // added our own (above)\n\n content.querySelectorAll('.instructure_file_link_holder a.file_preview_link, .instructure_file_link_holder a.scribd_file_preview_link').forEach($link => {\n if ($link.classList.contains('previewable')) {\n return;\n }\n\n const preview_id = previewId();\n $link.setAttribute('aria-expanded', 'false');\n $link.setAttribute('aria-controls', preview_id);\n $link.classList.add('previewable');\n $link.addEventListener('click', showFilePreviewEx);\n const $preview_container = document.createElement('div');\n $preview_container.setAttribute('role', 'region');\n $preview_container.setAttribute('class', 'preview_container');\n $preview_container.id = preview_id;\n $preview_container.setAttribute('style', 'display: none;');\n $link.parentElement.appendChild($preview_container);\n\n if ($link.classList.contains('auto_open')) {\n $link.click();\n }\n });\n const unenhanced_anchors = content.querySelectorAll('.user_content.unenhanced a, .user_content.unenhanced+div.answers a');\n unenhanced_anchors.forEach($anchor => {\n $anchor.querySelectorAll('img.media_comment_thumbnail').forEach($thumbnail => {\n const a = Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_3__[\"closest\"])($thumbnail, 'a', content);\n a === null || a === void 0 ? void 0 : a.classList.add('instructure_inline_media_comment');\n });\n\n if ($anchor.matches('.instructure_inline_media_comment')) {\n $anchor.classList.remove('no-underline');\n Object(_media_comment_thumbnail__WEBPACK_IMPORTED_MODULE_5__[\"default\"])($anchor, 'normal', false, kalturaSettings);\n }\n\n if ($anchor.matches('.instructure_video_link, .instructure_audio_link')) {\n Object(_media_comment_thumbnail__WEBPACK_IMPORTED_MODULE_5__[\"default\"])($anchor, 'normal', true, kalturaSettings);\n }\n\n if (!$anchor.matches('.youtubed')) {\n handleYoutubeLink($anchor);\n }\n });\n\n if (customEnhanceFunc) {\n customEnhanceFunc();\n }\n\n content.querySelectorAll('.user_content.unenhanced').forEach($elem => {\n $elem.classList.remove('unenhanced');\n $elem.classList.add('enhanced');\n });\n setTimeout(() => {\n content.querySelectorAll('.user_content form.user_content_post_form:not(.submitted)').forEach($elem => {\n $elem.submit();\n $elem.classList.add('submitted');\n });\n }, 10); // Remove sandbox attribute from user content iframes to fix busted\n // third-party content, like Google Drive documents.\n\n document.querySelectorAll('.user_content iframe[sandbox=\"allow-scripts allow-forms allow-same-origin\"]').forEach(frame => {\n frame.removeAttribute('sandbox');\n const src = frame.src;\n frame.src = src;\n });\n}\nfunction makeAllExternalLinksExternalLinks() {\n // in 100ms (to give time for everything else to load), find all the external links and add give them\n // the external link look and behavior (force them to open in a new tab)\n setTimeout(function () {\n const content = document.getElementById('content');\n if (!content) return;\n const tld = Object(_instructure_helper__WEBPACK_IMPORTED_MODULE_4__[\"getTld\"])(window.location.hostname);\n const links = content.querySelectorAll(`a[href*=\"//\"]:not([href*=\"${tld}\"])`); // technique for finding \"external\" links copied from https://davidwalsh.name/external-links-css\n\n for (let i = 0; i < links.length; i++) {\n const $link = links[i]; // don't mess with the ones that were already processed in enhanceUserContent\n\n if ($link.classList.contains('external')) continue;\n if ($link.matches('.open_in_a_new_tab')) continue;\n if ($link.querySelectorAll('img').length > 0) continue;\n if ($link.matches('.not_external')) continue;\n if ($link.matches('.exclude_external_icon')) continue; // we have some pre-instui buttons that are styled links\n\n if ($link.classList.contains('btn')) continue;\n const $linkToReplace = $link;\n\n if ($linkToReplace) {\n const $linkIndicator = makeExternalLinkIcon();\n $linkToReplace.classList.add('external');\n $linkToReplace.querySelectorAll('span.ui-icon-extlink').forEach(c => c.remove);\n $linkToReplace.setAttribute('target', '_blank');\n $linkToReplace.setAttribute('rel', 'noreferrer noopener');\n const $linkSpan = document.createElement('span');\n const $linkText = $linkToReplace.innerHTML;\n $linkSpan.innerHTML = $linkText;\n\n while ($linkToReplace.firstChild) $linkToReplace.removeChild($linkToReplace.firstChild);\n\n $linkToReplace.appendChild($linkSpan);\n $linkToReplace.appendChild($linkIndicator);\n }\n }\n }, 100);\n}\n\n//# sourceURL=webpack:///./src/enhance-user-content/enhance_user_content.js?");
17487
17487
 
17488
17488
  /***/ }),
17489
17489
 
@@ -17507,7 +17507,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _med
17507
17507
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17508
17508
 
17509
17509
  "use strict";
17510
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"youTubeID\", function() { return youTubeID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTld\", function() { return getTld; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isExternalLink\", function() { return isExternalLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showFilePreview\", function() { return showFilePreview; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showFilePreviewInOverlay\", function() { return showFilePreviewInOverlay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showFilePreviewInline\", function() { return showFilePreviewInline; });\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! escape-html */ \"../../node_modules/escape-html/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _common_FlashAlert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/FlashAlert */ \"./src/common/FlashAlert.js\");\n/* harmony import */ var _doc_previews__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./doc_previews */ \"./src/enhance-user-content/doc_previews.js\");\n/* harmony import */ var _jqueryish_funcs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jqueryish_funcs */ \"./src/enhance-user-content/jqueryish_funcs.js\");\n/*\n * Copyright (C) 2022 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\nconst youTubeRegEx = /^https?:\\/\\/(www\\.youtube\\.com\\/watch.*v(=|\\/)|youtu\\.be\\/)([^&#]*)/;\nfunction youTubeID(path) {\n const match = path.match(youTubeRegEx);\n\n if (match && match[match.length - 1]) {\n return match[match.length - 1];\n }\n\n return null;\n}\nfunction getTld(hostname) {\n hostname = (hostname || '').split(':')[0];\n const parts = hostname.split('.'),\n length = parts.length;\n return (length > 1 ? [parts[length - 2], parts[length - 1]] : parts).join('.');\n}\nconst locationTld = getTld(window.location.hostname);\nfunction isExternalLink(element) {\n const href = element.getAttribute('href'); // if a browser doesnt support <a>.hostname then just dont mark anything as external, better to not get false positives.\n\n return !!(href && href.length && !href.match(/^(mailto\\:|javascript\\:)/) && element.hostname && getTld(element.hostname) !== locationTld);\n}\nfunction showFilePreview(event) {\n var _event$target, _event$currentTarget;\n\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n canvasOrigin,\n disableGooglePreviews\n } = { ...opts\n };\n let target = null;\n\n if ((_event$target = event.target) !== null && _event$target !== void 0 && _event$target.href) {\n target = event.target;\n } else if ((_event$currentTarget = event.currentTarget) !== null && _event$currentTarget !== void 0 && _event$currentTarget.href) {\n target = event.currentTarget;\n } else {\n return;\n }\n\n if (target.classList.contains('no_preview')) {\n return;\n }\n\n if (target.classList.contains('inline_disabled') || target.classList.contains('preview_in_overlay')) {\n showFilePreviewInOverlay(event, canvasOrigin);\n } else {\n showFilePreviewInline(event, disableGooglePreviews);\n }\n}\nfunction showFilePreviewInOverlay(event, canvasOrigin) {\n var _event$target2, _event$currentTarget2, _target;\n\n let target = null;\n\n if ((_event$target2 = event.target) !== null && _event$target2 !== void 0 && _event$target2.href) {\n target = event.target;\n } else if ((_event$currentTarget2 = event.currentTarget) !== null && _event$currentTarget2 !== void 0 && _event$currentTarget2.href) {\n target = event.currentTarget;\n }\n\n const matches = (_target = target) === null || _target === void 0 ? void 0 : _target.href.match(/\\/files\\/(\\d+)/);\n\n if (matches) {\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {\n // if any modifier keys are pressed, do the browser default thing\n return;\n }\n\n event.preventDefault();\n const url = new URL(target.href);\n const verifier = url === null || url === void 0 ? void 0 : url.searchParams.get('verifier');\n const file_id = matches[1]; // TODO:\n // 1. what window should be be using\n // 2. is that the right origin?\n // 3. this is temporary until we can decouple the file previewer from canvas\n\n window.top.postMessage({\n subject: 'preview_file',\n file_id,\n verifier\n }, canvasOrigin);\n }\n}\nfunction showFilePreviewInline(event, disableGooglePreviews) {\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {\n // if any modifier keys are pressed, do the browser default thing\n return;\n }\n\n event.preventDefault();\n const $link = event.currentTarget || event.target;\n\n if ($link.getAttribute('aria-expanded') === 'true') {\n // close the preview by clicking the \"Minimize File Preview\" link\n const $preview = document.getElementById($link.getAttribute('aria-controls'));\n $preview.querySelector('.hide_file_preview_link').click();\n return;\n }\n\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"showLoadingImage\"])($link);\n fetch($link.getAttribute('href').replace(/\\/(download|preview)/, '') // download as part of the path\n .replace(/wrap=1&?/, '') // wrap=1 as part of the query_string\n .replace(/[?&]$/, ''), // any trailing chars if wrap=1 was at the end\n {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(response => {\n if (!response.ok) throw new Error(`${response.status}: ${response.statusText}`);\n return response;\n }).then(response => response.json()).then(data => {\n const attachment = data && data.attachment;\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"removeLoadingImage\"])($link);\n\n if (attachment && (!disableGooglePreviews && Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"isPreviewable\"])(attachment.content_type) || attachment.canvadoc_session_url)) {\n $link.setAttribute('aria-expanded', 'true');\n const $div = document.querySelector(`[id=\"${$link.getAttribute('aria-controls')}\"]`);\n $div.style.display = 'block';\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"loadDocPreview\"])($div, {\n canvadoc_session_url: attachment.canvadoc_session_url,\n mimeType: attachment.content_type,\n public_url: attachment.public_url,\n attachment_preview_processing: attachment.workflow_state === 'pending_upload' || attachment.workflow_state === 'processing',\n disableGooglePreviews\n });\n const $minimizeLink = document.createElement('a');\n $minimizeLink.setAttribute('href', '#');\n $minimizeLink.setAttribute('style', 'font-size: 0.8em;');\n $minimizeLink.setAttribute('class', 'hide_file_preview_link');\n $minimizeLink.innerHTML = escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('Minimize File Preview'));\n $minimizeLink.addEventListener('click', event2 => {\n event2.preventDefault();\n resetInlinePreview($link, $div);\n });\n $div.prepend($minimizeLink);\n\n if (Object.prototype.hasOwnProperty.call(event, 'originalEvent')) {\n // Only focus this link if the open preview link was initiated by a real browser event\n // If it was triggered by our auto_open stuff it shouldn't focus here.\n $minimizeLink.focus();\n }\n }\n }).catch(ex => {\n Object(_common_FlashAlert__WEBPACK_IMPORTED_MODULE_2__[\"showFlashAlert\"])({\n message: Object(_format_message__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('Failed getting file contents'),\n type: 'error'\n }); // eslint-disable-next-line no-console\n\n console.error(ex);\n resetInlinePreview($link);\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"removeLoadingImage\"])($link);\n });\n}\n\nfunction resetInlinePreview($link, $previewContainer) {\n $link.setAttribute('aria-expanded', 'false');\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_4__[\"show\"])($link);\n $link.focus();\n\n if ($previewContainer) {\n $previewContainer.innerHTML = '';\n $previewContainer.style.display = 'none';\n }\n}\n\n//# sourceURL=webpack:///./src/enhance-user-content/instructure_helper.js?");
17510
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"youTubeID\", function() { return youTubeID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTld\", function() { return getTld; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isExternalLink\", function() { return isExternalLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showFilePreview\", function() { return showFilePreview; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showFilePreviewInOverlay\", function() { return showFilePreviewInOverlay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showFilePreviewInline\", function() { return showFilePreviewInline; });\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! escape-html */ \"../../node_modules/escape-html/index.js\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _common_FlashAlert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/FlashAlert */ \"./src/common/FlashAlert.js\");\n/* harmony import */ var _doc_previews__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./doc_previews */ \"./src/enhance-user-content/doc_previews.js\");\n/* harmony import */ var _jqueryish_funcs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jqueryish_funcs */ \"./src/enhance-user-content/jqueryish_funcs.js\");\n/*\n * Copyright (C) 2022 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\nconst youTubeRegEx = /^https?:\\/\\/(www\\.youtube\\.com\\/watch.*v(=|\\/)|youtu\\.be\\/)([^&#]*)/;\nfunction youTubeID(path) {\n const match = path.match(youTubeRegEx);\n\n if (match && match[match.length - 1]) {\n return match[match.length - 1];\n }\n\n return null;\n}\nfunction getTld(hostname) {\n hostname = (hostname || '').split(':')[0];\n const parts = hostname.split('.'),\n length = parts.length;\n return (length > 1 ? [parts[length - 2], parts[length - 1]] : parts).join('.');\n}\nconst locationTld = getTld(window.location.hostname);\nfunction isExternalLink(element) {\n const href = element.getAttribute('href'); // if a browser doesnt support <a>.hostname then just dont mark anything as external, better to not get false positives.\n\n return !!(href && href.length && !href.match(/^(mailto\\:|javascript\\:)/) && element.hostname && getTld(element.hostname) !== locationTld);\n}\nfunction showFilePreview(event) {\n var _event$target, _event$currentTarget;\n\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n canvasOrigin,\n disableGooglePreviews\n } = { ...opts\n };\n let target = null;\n\n if ((_event$target = event.target) !== null && _event$target !== void 0 && _event$target.href) {\n target = event.target;\n } else if ((_event$currentTarget = event.currentTarget) !== null && _event$currentTarget !== void 0 && _event$currentTarget.href) {\n target = event.currentTarget;\n } else {\n return;\n }\n\n if (target.classList.contains('no_preview')) {\n return;\n }\n\n if (target.classList.contains('inline_disabled') || target.classList.contains('preview_in_overlay')) {\n showFilePreviewInOverlay(event, canvasOrigin);\n } else {\n showFilePreviewInline(event, disableGooglePreviews);\n }\n}\nfunction showFilePreviewInOverlay(event, canvasOrigin) {\n var _event$target2, _event$currentTarget2, _target;\n\n let target = null;\n\n if ((_event$target2 = event.target) !== null && _event$target2 !== void 0 && _event$target2.href) {\n target = event.target;\n } else if ((_event$currentTarget2 = event.currentTarget) !== null && _event$currentTarget2 !== void 0 && _event$currentTarget2.href) {\n target = event.currentTarget;\n }\n\n const matches = (_target = target) === null || _target === void 0 ? void 0 : _target.href.match(/\\/files\\/(\\d+)/);\n\n if (matches) {\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {\n // if any modifier keys are pressed, do the browser default thing\n return;\n }\n\n event.preventDefault();\n const url = new URL(target.href);\n const verifier = url === null || url === void 0 ? void 0 : url.searchParams.get('verifier');\n const file_id = matches[1]; // TODO:\n // 1. what window should be be using\n // 2. is that the right origin?\n // 3. this is temporary until we can decouple the file previewer from canvas\n\n window.top.postMessage({\n subject: 'preview_file',\n file_id,\n verifier\n }, canvasOrigin);\n }\n}\nfunction showFilePreviewInline(event, disableGooglePreviews) {\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {\n // if any modifier keys are pressed, do the browser default thing\n return;\n }\n\n event.preventDefault();\n const $link = event.currentTarget || event.target;\n\n if ($link.getAttribute('aria-expanded') === 'true') {\n // close the preview by clicking the \"Minimize File Preview\" link\n const $preview = document.getElementById($link.getAttribute('aria-controls'));\n $preview.querySelector('.hide_file_preview_link').click();\n return;\n }\n\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"showLoadingImage\"])($link);\n fetch($link.getAttribute('href').replace(/\\/(download|preview)/, '') // download as part of the path\n .replace(/wrap=1&?/, '') // wrap=1 as part of the query_string\n .replace(/[?&]$/, ''), // any trailing chars if wrap=1 was at the end\n {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n },\n credentials: 'include'\n }).then(response => {\n if (!response.ok) throw new Error(`${response.status}: ${response.statusText}`);\n return response;\n }).then(response => response.json()).then(data => {\n const attachment = data && data.attachment;\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"removeLoadingImage\"])($link);\n\n if (attachment && (!disableGooglePreviews && Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"isPreviewable\"])(attachment.content_type) || attachment.canvadoc_session_url)) {\n $link.setAttribute('aria-expanded', 'true');\n const $div = document.querySelector(`[id=\"${$link.getAttribute('aria-controls')}\"]`);\n $div.style.display = 'block';\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"loadDocPreview\"])($div, {\n canvadoc_session_url: attachment.canvadoc_session_url,\n mimeType: attachment.content_type,\n public_url: attachment.public_url,\n attachment_preview_processing: attachment.workflow_state === 'pending_upload' || attachment.workflow_state === 'processing',\n disableGooglePreviews\n });\n const $minimizeLink = document.createElement('a');\n $minimizeLink.setAttribute('href', '#');\n $minimizeLink.setAttribute('style', 'font-size: 0.8em;');\n $minimizeLink.setAttribute('class', 'hide_file_preview_link');\n $minimizeLink.innerHTML = escape_html__WEBPACK_IMPORTED_MODULE_0___default()(Object(_format_message__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('Minimize File Preview'));\n $minimizeLink.addEventListener('click', event2 => {\n event2.preventDefault();\n resetInlinePreview($link, $div);\n });\n $div.prepend($minimizeLink);\n\n if (Object.prototype.hasOwnProperty.call(event, 'originalEvent')) {\n // Only focus this link if the open preview link was initiated by a real browser event\n // If it was triggered by our auto_open stuff it shouldn't focus here.\n $minimizeLink.focus();\n }\n }\n }).catch(ex => {\n Object(_common_FlashAlert__WEBPACK_IMPORTED_MODULE_2__[\"showFlashAlert\"])({\n message: Object(_format_message__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('Failed getting file contents'),\n type: 'error'\n }); // eslint-disable-next-line no-console\n\n console.error(ex);\n resetInlinePreview($link);\n Object(_doc_previews__WEBPACK_IMPORTED_MODULE_3__[\"removeLoadingImage\"])($link);\n });\n}\n\nfunction resetInlinePreview($link, $previewContainer) {\n $link.setAttribute('aria-expanded', 'false');\n Object(_jqueryish_funcs__WEBPACK_IMPORTED_MODULE_4__[\"show\"])($link);\n $link.focus();\n\n if ($previewContainer) {\n $previewContainer.innerHTML = '';\n $previewContainer.style.display = 'none';\n }\n}\n\n//# sourceURL=webpack:///./src/enhance-user-content/instructure_helper.js?");
17511
17511
 
17512
17512
  /***/ }),
17513
17513
 
@@ -17555,7 +17555,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var form
17555
17555
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17556
17556
 
17557
17557
  "use strict";
17558
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTranslations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLocaleList\", function() { return getLocaleList; });\n/*\n * Copyright (C) 2021 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * ********************************************************\n * This file is generated by scripts/installTranslations.js\n * as part of the build. DO NOT EDIT\n * ********************************************************\n */\nfunction getTranslations(locale) {\n const transReadyPromise = new Promise((resolve, reject) => {\n __webpack_require__.e(/*! import() */ 12).then(__webpack_require__.t.bind(null, /*! tinymce */ \"../../node_modules/tinymce/tinymce.js\", 7)).then(() => {\n let p;\n\n switch (locale) {\n case 'ar':\n p = __webpack_require__.e(/*! import() */ 39).then(__webpack_require__.bind(null, /*! ./translations/locales/ar */ \"./src/translations/locales/ar.js\"));\n break;\n\n case 'ca':\n p = __webpack_require__.e(/*! import() */ 40).then(__webpack_require__.bind(null, /*! ./translations/locales/ca */ \"./src/translations/locales/ca.js\"));\n break;\n\n case 'cy':\n p = __webpack_require__.e(/*! import() */ 41).then(__webpack_require__.bind(null, /*! ./translations/locales/cy */ \"./src/translations/locales/cy.js\"));\n break;\n\n case 'da':\n p = Promise.all(/*! import() */[__webpack_require__.e(13), __webpack_require__.e(78)]).then(__webpack_require__.bind(null, /*! ./translations/locales/da */ \"./src/translations/locales/da.js\"));\n break;\n\n case 'da-x-k12':\n p = Promise.all(/*! import() */[__webpack_require__.e(13), __webpack_require__.e(77)]).then(__webpack_require__.bind(null, /*! ./translations/locales/da-x-k12 */ \"./src/translations/locales/da-x-k12.js\"));\n break;\n\n case 'de':\n p = __webpack_require__.e(/*! import() */ 42).then(__webpack_require__.bind(null, /*! ./translations/locales/de */ \"./src/translations/locales/de.js\"));\n break;\n\n case 'el':\n p = __webpack_require__.e(/*! import() */ 43).then(__webpack_require__.bind(null, /*! ./translations/locales/el */ \"./src/translations/locales/el.js\"));\n break;\n\n case 'en':\n p = __webpack_require__.e(/*! import() */ 79).then(__webpack_require__.bind(null, /*! ./translations/locales/en */ \"./src/translations/locales/en.js\"));\n break;\n\n case 'en-AU-x-unimelb':\n p = __webpack_require__.e(/*! import() */ 44).then(__webpack_require__.bind(null, /*! ./translations/locales/en-AU-x-unimelb */ \"./src/translations/locales/en-AU-x-unimelb.js\"));\n break;\n\n case 'en-GB-x-ukhe':\n p = __webpack_require__.e(/*! import() */ 45).then(__webpack_require__.bind(null, /*! ./translations/locales/en-GB-x-ukhe */ \"./src/translations/locales/en-GB-x-ukhe.js\"));\n break;\n\n case 'en-AU':\n p = __webpack_require__.e(/*! import() */ 46).then(__webpack_require__.bind(null, /*! ./translations/locales/en_AU */ \"./src/translations/locales/en_AU.js\"));\n break;\n\n case 'en-CA':\n p = __webpack_require__.e(/*! import() */ 80).then(__webpack_require__.bind(null, /*! ./translations/locales/en_CA */ \"./src/translations/locales/en_CA.js\"));\n break;\n\n case 'en-CY':\n p = __webpack_require__.e(/*! import() */ 81).then(__webpack_require__.bind(null, /*! ./translations/locales/en_CY */ \"./src/translations/locales/en_CY.js\"));\n break;\n\n case 'en-GB':\n p = __webpack_require__.e(/*! import() */ 47).then(__webpack_require__.bind(null, /*! ./translations/locales/en_GB */ \"./src/translations/locales/en_GB.js\"));\n break;\n\n case 'es':\n p = Promise.all(/*! import() */[__webpack_require__.e(14), __webpack_require__.e(82)]).then(__webpack_require__.bind(null, /*! ./translations/locales/es */ \"./src/translations/locales/es.js\"));\n break;\n\n case 'es-ES':\n p = Promise.all(/*! import() */[__webpack_require__.e(14), __webpack_require__.e(83)]).then(__webpack_require__.bind(null, /*! ./translations/locales/es_ES */ \"./src/translations/locales/es_ES.js\"));\n break;\n\n case 'es-GT':\n p = __webpack_require__.e(/*! import() */ 84).then(__webpack_require__.bind(null, /*! ./translations/locales/es_GT */ \"./src/translations/locales/es_GT.js\"));\n break;\n\n case 'fa-IR':\n p = __webpack_require__.e(/*! import() */ 48).then(__webpack_require__.bind(null, /*! ./translations/locales/fa_IR */ \"./src/translations/locales/fa_IR.js\"));\n break;\n\n case 'fi':\n p = __webpack_require__.e(/*! import() */ 49).then(__webpack_require__.bind(null, /*! ./translations/locales/fi */ \"./src/translations/locales/fi.js\"));\n break;\n\n case 'fr':\n p = Promise.all(/*! import() */[__webpack_require__.e(15), __webpack_require__.e(85)]).then(__webpack_require__.bind(null, /*! ./translations/locales/fr */ \"./src/translations/locales/fr.js\"));\n break;\n\n case 'fr-CA':\n p = Promise.all(/*! import() */[__webpack_require__.e(15), __webpack_require__.e(86)]).then(__webpack_require__.bind(null, /*! ./translations/locales/fr_CA */ \"./src/translations/locales/fr_CA.js\"));\n break;\n\n case 'he':\n p = __webpack_require__.e(/*! import() */ 50).then(__webpack_require__.bind(null, /*! ./translations/locales/he */ \"./src/translations/locales/he.js\"));\n break;\n\n case 'ht':\n p = __webpack_require__.e(/*! import() */ 87).then(__webpack_require__.bind(null, /*! ./translations/locales/ht */ \"./src/translations/locales/ht.js\"));\n break;\n\n case 'hu':\n p = __webpack_require__.e(/*! import() */ 51).then(__webpack_require__.bind(null, /*! ./translations/locales/hu */ \"./src/translations/locales/hu.js\"));\n break;\n\n case 'hy':\n p = __webpack_require__.e(/*! import() */ 52).then(__webpack_require__.bind(null, /*! ./translations/locales/hy */ \"./src/translations/locales/hy.js\"));\n break;\n\n case 'is':\n p = __webpack_require__.e(/*! import() */ 88).then(__webpack_require__.bind(null, /*! ./translations/locales/is */ \"./src/translations/locales/is.js\"));\n break;\n\n case 'it':\n p = __webpack_require__.e(/*! import() */ 53).then(__webpack_require__.bind(null, /*! ./translations/locales/it */ \"./src/translations/locales/it.js\"));\n break;\n\n case 'ja':\n p = __webpack_require__.e(/*! import() */ 54).then(__webpack_require__.bind(null, /*! ./translations/locales/ja */ \"./src/translations/locales/ja.js\"));\n break;\n\n case 'ko':\n p = __webpack_require__.e(/*! import() */ 55).then(__webpack_require__.bind(null, /*! ./translations/locales/ko */ \"./src/translations/locales/ko.js\"));\n break;\n\n case 'mi':\n p = __webpack_require__.e(/*! import() */ 89).then(__webpack_require__.bind(null, /*! ./translations/locales/mi */ \"./src/translations/locales/mi.js\"));\n break;\n\n case 'nb':\n p = Promise.all(/*! import() */[__webpack_require__.e(6), __webpack_require__.e(91)]).then(__webpack_require__.bind(null, /*! ./translations/locales/nb */ \"./src/translations/locales/nb.js\"));\n break;\n\n case 'nb-x-k12':\n p = Promise.all(/*! import() */[__webpack_require__.e(6), __webpack_require__.e(90)]).then(__webpack_require__.bind(null, /*! ./translations/locales/nb-x-k12 */ \"./src/translations/locales/nb-x-k12.js\"));\n break;\n\n case 'nl':\n p = __webpack_require__.e(/*! import() */ 56).then(__webpack_require__.bind(null, /*! ./translations/locales/nl */ \"./src/translations/locales/nl.js\"));\n break;\n\n case 'nn':\n p = Promise.all(/*! import() */[__webpack_require__.e(6), __webpack_require__.e(92)]).then(__webpack_require__.bind(null, /*! ./translations/locales/nn */ \"./src/translations/locales/nn.js\"));\n break;\n\n case 'pl':\n p = __webpack_require__.e(/*! import() */ 57).then(__webpack_require__.bind(null, /*! ./translations/locales/pl */ \"./src/translations/locales/pl.js\"));\n break;\n\n case 'pt':\n p = __webpack_require__.e(/*! import() */ 58).then(__webpack_require__.bind(null, /*! ./translations/locales/pt */ \"./src/translations/locales/pt.js\"));\n break;\n\n case 'pt-BR':\n p = __webpack_require__.e(/*! import() */ 59).then(__webpack_require__.bind(null, /*! ./translations/locales/pt_BR */ \"./src/translations/locales/pt_BR.js\"));\n break;\n\n case 'ru':\n p = __webpack_require__.e(/*! import() */ 60).then(__webpack_require__.bind(null, /*! ./translations/locales/ru */ \"./src/translations/locales/ru.js\"));\n break;\n\n case 'se':\n p = __webpack_require__.e(/*! import() */ 93).then(__webpack_require__.bind(null, /*! ./translations/locales/se */ \"./src/translations/locales/se.js\"));\n break;\n\n case 'sl':\n p = __webpack_require__.e(/*! import() */ 61).then(__webpack_require__.bind(null, /*! ./translations/locales/sl */ \"./src/translations/locales/sl.js\"));\n break;\n\n case 'sv':\n p = Promise.all(/*! import() */[__webpack_require__.e(16), __webpack_require__.e(95)]).then(__webpack_require__.bind(null, /*! ./translations/locales/sv */ \"./src/translations/locales/sv.js\"));\n break;\n\n case 'sv-x-k12':\n p = Promise.all(/*! import() */[__webpack_require__.e(16), __webpack_require__.e(94)]).then(__webpack_require__.bind(null, /*! ./translations/locales/sv-x-k12 */ \"./src/translations/locales/sv-x-k12.js\"));\n break;\n\n case 'sv-SE':\n p = __webpack_require__.e(/*! import() */ 96).then(__webpack_require__.bind(null, /*! ./translations/locales/sv_SE */ \"./src/translations/locales/sv_SE.js\"));\n break;\n\n case 'tg':\n p = __webpack_require__.e(/*! import() */ 97).then(__webpack_require__.bind(null, /*! ./translations/locales/tg */ \"./src/translations/locales/tg.js\"));\n break;\n\n case 'th':\n p = __webpack_require__.e(/*! import() */ 62).then(__webpack_require__.bind(null, /*! ./translations/locales/th */ \"./src/translations/locales/th.js\"));\n break;\n\n case 'th-TH':\n p = __webpack_require__.e(/*! import() */ 98).then(__webpack_require__.bind(null, /*! ./translations/locales/th_TH */ \"./src/translations/locales/th_TH.js\"));\n break;\n\n case 'tr':\n p = __webpack_require__.e(/*! import() */ 63).then(__webpack_require__.bind(null, /*! ./translations/locales/tr */ \"./src/translations/locales/tr.js\"));\n break;\n\n case 'uk-UA':\n p = __webpack_require__.e(/*! import() */ 64).then(__webpack_require__.bind(null, /*! ./translations/locales/uk_UA */ \"./src/translations/locales/uk_UA.js\"));\n break;\n\n case 'vi':\n p = __webpack_require__.e(/*! import() */ 65).then(__webpack_require__.bind(null, /*! ./translations/locales/vi */ \"./src/translations/locales/vi.js\"));\n break;\n\n case 'vi-VN':\n p = __webpack_require__.e(/*! import() */ 99).then(__webpack_require__.bind(null, /*! ./translations/locales/vi_VN */ \"./src/translations/locales/vi_VN.js\"));\n break;\n\n case 'zh':\n p = Promise.all(/*! import() */[__webpack_require__.e(17), __webpack_require__.e(102)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh */ \"./src/translations/locales/zh.js\"));\n break;\n\n case 'zh-Hans':\n p = Promise.all(/*! import() */[__webpack_require__.e(17), __webpack_require__.e(100)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh-Hans */ \"./src/translations/locales/zh-Hans.js\"));\n break;\n\n case 'zh-Hant':\n p = Promise.all(/*! import() */[__webpack_require__.e(18), __webpack_require__.e(101)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh-Hant */ \"./src/translations/locales/zh-Hant.js\"));\n break;\n\n case 'zh-HK':\n p = Promise.all(/*! import() */[__webpack_require__.e(18), __webpack_require__.e(103)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh_HK */ \"./src/translations/locales/zh_HK.js\"));\n break;\n\n default:\n p = Promise.resolve(null);\n }\n\n p.then(resolve).catch(reject);\n }).catch(() => {\n throw new Error('Failed loading tinymce.');\n });\n });\n return transReadyPromise;\n}\nfunction getLocaleList() {\n return ['ar', 'ca', 'cy', 'da', 'da-x-k12', 'de', 'el', 'en', 'en-AU-x-unimelb', 'en-GB-x-ukhe', 'en-AU', 'en-CA', 'en-CY', 'en-GB', 'es', 'es-ES', 'es-GT', 'fa-IR', 'fi', 'fr', 'fr-CA', 'he', 'ht', 'hu', 'hy', 'is', 'it', 'ja', 'ko', 'mi', 'nb', 'nb-x-k12', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'ru', 'se', 'sl', 'sv', 'sv-x-k12', 'sv-SE', 'tg', 'th', 'th-TH', 'tr', 'uk-UA', 'vi', 'vi-VN', 'zh', 'zh-Hans', 'zh-Hant', 'zh-HK'];\n}\n\n//# sourceURL=webpack:///./src/getTranslations.js?");
17558
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTranslations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLocaleList\", function() { return getLocaleList; });\n/*\n * Copyright (C) 2021 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * ********************************************************\n * This file is generated by scripts/installTranslations.js\n * as part of the build. DO NOT EDIT\n * ********************************************************\n */\nfunction getTranslations(locale) {\n const transReadyPromise = new Promise((resolve, reject) => {\n __webpack_require__.e(/*! import() */ 12).then(__webpack_require__.t.bind(null, /*! tinymce */ \"../../node_modules/tinymce/tinymce.js\", 7)).then(() => {\n let p;\n\n switch (locale) {\n case 'ar':\n p = __webpack_require__.e(/*! import() */ 38).then(__webpack_require__.bind(null, /*! ./translations/locales/ar */ \"./src/translations/locales/ar.js\"));\n break;\n\n case 'ca':\n p = __webpack_require__.e(/*! import() */ 39).then(__webpack_require__.bind(null, /*! ./translations/locales/ca */ \"./src/translations/locales/ca.js\"));\n break;\n\n case 'cy':\n p = __webpack_require__.e(/*! import() */ 40).then(__webpack_require__.bind(null, /*! ./translations/locales/cy */ \"./src/translations/locales/cy.js\"));\n break;\n\n case 'da':\n p = Promise.all(/*! import() */[__webpack_require__.e(13), __webpack_require__.e(76)]).then(__webpack_require__.bind(null, /*! ./translations/locales/da */ \"./src/translations/locales/da.js\"));\n break;\n\n case 'da-x-k12':\n p = Promise.all(/*! import() */[__webpack_require__.e(13), __webpack_require__.e(75)]).then(__webpack_require__.bind(null, /*! ./translations/locales/da-x-k12 */ \"./src/translations/locales/da-x-k12.js\"));\n break;\n\n case 'de':\n p = __webpack_require__.e(/*! import() */ 41).then(__webpack_require__.bind(null, /*! ./translations/locales/de */ \"./src/translations/locales/de.js\"));\n break;\n\n case 'el':\n p = __webpack_require__.e(/*! import() */ 42).then(__webpack_require__.bind(null, /*! ./translations/locales/el */ \"./src/translations/locales/el.js\"));\n break;\n\n case 'en':\n p = __webpack_require__.e(/*! import() */ 77).then(__webpack_require__.bind(null, /*! ./translations/locales/en */ \"./src/translations/locales/en.js\"));\n break;\n\n case 'en-AU-x-unimelb':\n p = __webpack_require__.e(/*! import() */ 43).then(__webpack_require__.bind(null, /*! ./translations/locales/en-AU-x-unimelb */ \"./src/translations/locales/en-AU-x-unimelb.js\"));\n break;\n\n case 'en-GB-x-ukhe':\n p = __webpack_require__.e(/*! import() */ 44).then(__webpack_require__.bind(null, /*! ./translations/locales/en-GB-x-ukhe */ \"./src/translations/locales/en-GB-x-ukhe.js\"));\n break;\n\n case 'en-AU':\n p = __webpack_require__.e(/*! import() */ 45).then(__webpack_require__.bind(null, /*! ./translations/locales/en_AU */ \"./src/translations/locales/en_AU.js\"));\n break;\n\n case 'en-CA':\n p = __webpack_require__.e(/*! import() */ 78).then(__webpack_require__.bind(null, /*! ./translations/locales/en_CA */ \"./src/translations/locales/en_CA.js\"));\n break;\n\n case 'en-CY':\n p = __webpack_require__.e(/*! import() */ 79).then(__webpack_require__.bind(null, /*! ./translations/locales/en_CY */ \"./src/translations/locales/en_CY.js\"));\n break;\n\n case 'en-GB':\n p = __webpack_require__.e(/*! import() */ 46).then(__webpack_require__.bind(null, /*! ./translations/locales/en_GB */ \"./src/translations/locales/en_GB.js\"));\n break;\n\n case 'es':\n p = Promise.all(/*! import() */[__webpack_require__.e(14), __webpack_require__.e(80)]).then(__webpack_require__.bind(null, /*! ./translations/locales/es */ \"./src/translations/locales/es.js\"));\n break;\n\n case 'es-ES':\n p = Promise.all(/*! import() */[__webpack_require__.e(14), __webpack_require__.e(81)]).then(__webpack_require__.bind(null, /*! ./translations/locales/es_ES */ \"./src/translations/locales/es_ES.js\"));\n break;\n\n case 'es-GT':\n p = __webpack_require__.e(/*! import() */ 82).then(__webpack_require__.bind(null, /*! ./translations/locales/es_GT */ \"./src/translations/locales/es_GT.js\"));\n break;\n\n case 'fa-IR':\n p = __webpack_require__.e(/*! import() */ 47).then(__webpack_require__.bind(null, /*! ./translations/locales/fa_IR */ \"./src/translations/locales/fa_IR.js\"));\n break;\n\n case 'fi':\n p = __webpack_require__.e(/*! import() */ 48).then(__webpack_require__.bind(null, /*! ./translations/locales/fi */ \"./src/translations/locales/fi.js\"));\n break;\n\n case 'fr':\n p = Promise.all(/*! import() */[__webpack_require__.e(15), __webpack_require__.e(83)]).then(__webpack_require__.bind(null, /*! ./translations/locales/fr */ \"./src/translations/locales/fr.js\"));\n break;\n\n case 'fr-CA':\n p = Promise.all(/*! import() */[__webpack_require__.e(15), __webpack_require__.e(84)]).then(__webpack_require__.bind(null, /*! ./translations/locales/fr_CA */ \"./src/translations/locales/fr_CA.js\"));\n break;\n\n case 'he':\n p = __webpack_require__.e(/*! import() */ 49).then(__webpack_require__.bind(null, /*! ./translations/locales/he */ \"./src/translations/locales/he.js\"));\n break;\n\n case 'ht':\n p = __webpack_require__.e(/*! import() */ 85).then(__webpack_require__.bind(null, /*! ./translations/locales/ht */ \"./src/translations/locales/ht.js\"));\n break;\n\n case 'hu':\n p = __webpack_require__.e(/*! import() */ 50).then(__webpack_require__.bind(null, /*! ./translations/locales/hu */ \"./src/translations/locales/hu.js\"));\n break;\n\n case 'hy':\n p = __webpack_require__.e(/*! import() */ 51).then(__webpack_require__.bind(null, /*! ./translations/locales/hy */ \"./src/translations/locales/hy.js\"));\n break;\n\n case 'is':\n p = __webpack_require__.e(/*! import() */ 86).then(__webpack_require__.bind(null, /*! ./translations/locales/is */ \"./src/translations/locales/is.js\"));\n break;\n\n case 'it':\n p = __webpack_require__.e(/*! import() */ 52).then(__webpack_require__.bind(null, /*! ./translations/locales/it */ \"./src/translations/locales/it.js\"));\n break;\n\n case 'ja':\n p = __webpack_require__.e(/*! import() */ 53).then(__webpack_require__.bind(null, /*! ./translations/locales/ja */ \"./src/translations/locales/ja.js\"));\n break;\n\n case 'ko':\n p = __webpack_require__.e(/*! import() */ 54).then(__webpack_require__.bind(null, /*! ./translations/locales/ko */ \"./src/translations/locales/ko.js\"));\n break;\n\n case 'mi':\n p = __webpack_require__.e(/*! import() */ 87).then(__webpack_require__.bind(null, /*! ./translations/locales/mi */ \"./src/translations/locales/mi.js\"));\n break;\n\n case 'nb':\n p = Promise.all(/*! import() */[__webpack_require__.e(6), __webpack_require__.e(89)]).then(__webpack_require__.bind(null, /*! ./translations/locales/nb */ \"./src/translations/locales/nb.js\"));\n break;\n\n case 'nb-x-k12':\n p = Promise.all(/*! import() */[__webpack_require__.e(6), __webpack_require__.e(88)]).then(__webpack_require__.bind(null, /*! ./translations/locales/nb-x-k12 */ \"./src/translations/locales/nb-x-k12.js\"));\n break;\n\n case 'nl':\n p = __webpack_require__.e(/*! import() */ 55).then(__webpack_require__.bind(null, /*! ./translations/locales/nl */ \"./src/translations/locales/nl.js\"));\n break;\n\n case 'nn':\n p = Promise.all(/*! import() */[__webpack_require__.e(6), __webpack_require__.e(90)]).then(__webpack_require__.bind(null, /*! ./translations/locales/nn */ \"./src/translations/locales/nn.js\"));\n break;\n\n case 'pl':\n p = __webpack_require__.e(/*! import() */ 56).then(__webpack_require__.bind(null, /*! ./translations/locales/pl */ \"./src/translations/locales/pl.js\"));\n break;\n\n case 'pt':\n p = __webpack_require__.e(/*! import() */ 57).then(__webpack_require__.bind(null, /*! ./translations/locales/pt */ \"./src/translations/locales/pt.js\"));\n break;\n\n case 'pt-BR':\n p = __webpack_require__.e(/*! import() */ 58).then(__webpack_require__.bind(null, /*! ./translations/locales/pt_BR */ \"./src/translations/locales/pt_BR.js\"));\n break;\n\n case 'ru':\n p = __webpack_require__.e(/*! import() */ 59).then(__webpack_require__.bind(null, /*! ./translations/locales/ru */ \"./src/translations/locales/ru.js\"));\n break;\n\n case 'se':\n p = __webpack_require__.e(/*! import() */ 91).then(__webpack_require__.bind(null, /*! ./translations/locales/se */ \"./src/translations/locales/se.js\"));\n break;\n\n case 'sl':\n p = __webpack_require__.e(/*! import() */ 60).then(__webpack_require__.bind(null, /*! ./translations/locales/sl */ \"./src/translations/locales/sl.js\"));\n break;\n\n case 'sv':\n p = Promise.all(/*! import() */[__webpack_require__.e(16), __webpack_require__.e(93)]).then(__webpack_require__.bind(null, /*! ./translations/locales/sv */ \"./src/translations/locales/sv.js\"));\n break;\n\n case 'sv-x-k12':\n p = Promise.all(/*! import() */[__webpack_require__.e(16), __webpack_require__.e(92)]).then(__webpack_require__.bind(null, /*! ./translations/locales/sv-x-k12 */ \"./src/translations/locales/sv-x-k12.js\"));\n break;\n\n case 'sv-SE':\n p = __webpack_require__.e(/*! import() */ 94).then(__webpack_require__.bind(null, /*! ./translations/locales/sv_SE */ \"./src/translations/locales/sv_SE.js\"));\n break;\n\n case 'tg':\n p = __webpack_require__.e(/*! import() */ 95).then(__webpack_require__.bind(null, /*! ./translations/locales/tg */ \"./src/translations/locales/tg.js\"));\n break;\n\n case 'th':\n p = __webpack_require__.e(/*! import() */ 61).then(__webpack_require__.bind(null, /*! ./translations/locales/th */ \"./src/translations/locales/th.js\"));\n break;\n\n case 'th-TH':\n p = __webpack_require__.e(/*! import() */ 96).then(__webpack_require__.bind(null, /*! ./translations/locales/th_TH */ \"./src/translations/locales/th_TH.js\"));\n break;\n\n case 'tr':\n p = __webpack_require__.e(/*! import() */ 62).then(__webpack_require__.bind(null, /*! ./translations/locales/tr */ \"./src/translations/locales/tr.js\"));\n break;\n\n case 'uk-UA':\n p = __webpack_require__.e(/*! import() */ 63).then(__webpack_require__.bind(null, /*! ./translations/locales/uk_UA */ \"./src/translations/locales/uk_UA.js\"));\n break;\n\n case 'vi':\n p = __webpack_require__.e(/*! import() */ 64).then(__webpack_require__.bind(null, /*! ./translations/locales/vi */ \"./src/translations/locales/vi.js\"));\n break;\n\n case 'vi-VN':\n p = __webpack_require__.e(/*! import() */ 97).then(__webpack_require__.bind(null, /*! ./translations/locales/vi_VN */ \"./src/translations/locales/vi_VN.js\"));\n break;\n\n case 'zh':\n p = Promise.all(/*! import() */[__webpack_require__.e(17), __webpack_require__.e(100)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh */ \"./src/translations/locales/zh.js\"));\n break;\n\n case 'zh-Hans':\n p = Promise.all(/*! import() */[__webpack_require__.e(17), __webpack_require__.e(98)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh-Hans */ \"./src/translations/locales/zh-Hans.js\"));\n break;\n\n case 'zh-Hant':\n p = Promise.all(/*! import() */[__webpack_require__.e(18), __webpack_require__.e(99)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh-Hant */ \"./src/translations/locales/zh-Hant.js\"));\n break;\n\n case 'zh-HK':\n p = Promise.all(/*! import() */[__webpack_require__.e(18), __webpack_require__.e(101)]).then(__webpack_require__.bind(null, /*! ./translations/locales/zh_HK */ \"./src/translations/locales/zh_HK.js\"));\n break;\n\n default:\n p = Promise.resolve(null);\n }\n\n p.then(resolve).catch(reject);\n }).catch(() => {\n throw new Error('Failed loading tinymce.');\n });\n });\n return transReadyPromise;\n}\nfunction getLocaleList() {\n return ['ar', 'ca', 'cy', 'da', 'da-x-k12', 'de', 'el', 'en', 'en-AU-x-unimelb', 'en-GB-x-ukhe', 'en-AU', 'en-CA', 'en-CY', 'en-GB', 'es', 'es-ES', 'es-GT', 'fa-IR', 'fi', 'fr', 'fr-CA', 'he', 'ht', 'hu', 'hy', 'is', 'it', 'ja', 'ko', 'mi', 'nb', 'nb-x-k12', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'ru', 'se', 'sl', 'sv', 'sv-x-k12', 'sv-SE', 'tg', 'th', 'th-TH', 'tr', 'uk-UA', 'vi', 'vi-VN', 'zh', 'zh-Hans', 'zh-Hant', 'zh-HK'];\n}\n\n//# sourceURL=webpack:///./src/getTranslations.js?");
17559
17559
 
17560
17560
  /***/ }),
17561
17561
 
@@ -17627,7 +17627,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/*\n * Copyright (C) 2022 - p
17627
17627
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17628
17628
 
17629
17629
  "use strict";
17630
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"editorOptionsPropType\", function() { return editorOptionsPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"storageAvailable\", function() { return storageAvailable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toolbarPropType\", function() { return toolbarPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"menuPropType\", function() { return menuPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ltiToolsPropType\", function() { return ltiToolsPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeMenuItems\", function() { return mergeMenuItems; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeMenu\", function() { return mergeMenu; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeToolbar\", function() { return mergeToolbar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergePlugins\", function() { return mergePlugins; });\n/* harmony import */ var _babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/esm/extends */ \"../../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"../../node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _tinymce_tinymce_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tinymce/tinymce-react */ \"../../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/index.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ \"../../node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _instructure_ui_themeable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @instructure/ui-themeable */ \"../../node_modules/@instructure/ui-themeable/es/index.js\");\n/* harmony import */ var _instructure_ui_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @instructure/ui-icons */ \"../../node_modules/@instructure/ui-icons/es/index.js\");\n/* harmony import */ var _instructure_ui_alerts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @instructure/ui-alerts */ \"../../node_modules/@instructure/ui-alerts/es/index.js\");\n/* harmony import */ var _instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @instructure/ui-spinner */ \"../../node_modules/@instructure/ui-spinner/es/index.js\");\n/* harmony import */ var _instructure_ui_view__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @instructure/ui-view */ \"../../node_modules/@instructure/ui-view/es/index.js\");\n/* harmony import */ var _instructure_debounce__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @instructure/debounce */ \"../../node_modules/@instructure/debounce/es/index.js\");\n/* harmony import */ var _common_getCookie__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/getCookie */ \"./src/common/getCookie.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _contentInsertion__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./contentInsertion */ \"./src/rce/contentInsertion.js\");\n/* harmony import */ var _indicatorRegion__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./indicatorRegion */ \"./src/rce/indicatorRegion.js\");\n/* harmony import */ var _editorLanguage__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./editorLanguage */ \"./src/rce/editorLanguage.js\");\n/* harmony import */ var _editorLanguage__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_editorLanguage__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _normalizeLocale__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./normalizeLocale */ \"./src/rce/normalizeLocale.js\");\n/* harmony import */ var _sanitizePlugins__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./sanitizePlugins */ \"./src/rce/sanitizePlugins.js\");\n/* harmony import */ var _RCEGlobals__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./RCEGlobals */ \"./src/rce/RCEGlobals.js\");\n/* harmony import */ var _defaultTinymceConfig__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../defaultTinymceConfig */ \"./src/defaultTinymceConfig.js\");\n/* harmony import */ var _common_indicate__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../common/indicate */ \"./src/common/indicate.js\");\n/* harmony import */ var _bridge__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../bridge */ \"./src/bridge/index.js\");\n/* harmony import */ var _plugins_shared_CanvasContentTray__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./plugins/shared/CanvasContentTray */ \"./src/rce/plugins/shared/CanvasContentTray.js\");\n/* harmony import */ var _StatusBar__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./StatusBar */ \"./src/rce/StatusBar.js\");\n/* harmony import */ var _customEvents__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./customEvents */ \"./src/rce/customEvents.js\");\n/* harmony import */ var _ShowOnFocusButton__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ShowOnFocusButton */ \"./src/rce/ShowOnFocusButton/index.js\");\n/* harmony import */ var _skins_theme__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../skins/theme */ \"./src/skins/theme.js\");\n/* harmony import */ var _plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./plugins/shared/fileTypeUtils */ \"./src/rce/plugins/shared/fileTypeUtils.js\");\n/* harmony import */ var _KeyboardShortcutModal__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./KeyboardShortcutModal */ \"./src/rce/KeyboardShortcutModal.js\");\n/* harmony import */ var _AlertMessageArea__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./AlertMessageArea */ \"./src/rce/AlertMessageArea.js\");\n/* harmony import */ var _alertHandler__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./alertHandler */ \"./src/rce/alertHandler.js\");\n/* harmony import */ var _plugins_shared_ContentSelection__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./plugins/shared/ContentSelection */ \"./src/rce/plugins/shared/ContentSelection.js\");\n/* harmony import */ var _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./plugins/instructure_record/VideoOptionsTray/TrayController */ \"./src/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js\");\n/* harmony import */ var _plugins_instructure_wordcount_utils_countContent__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./plugins/instructure_wordcount/utils/countContent */ \"./src/rce/plugins/instructure_wordcount/utils/countContent.ts\");\n\n\nvar _dec, _class, _class2, _Intl, _Intl$DateTimeFormat, _Intl$DateTimeFormat$;\n\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst styles = {\n componentId: 'dyzZI',\n template: function (theme) {\n return `\n\n\n\n\n.canvas-rce__skins--root {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n}\n\n\n\n.rce-wrapper textarea {\n width: 100%;\n box-sizing: border-box;\n min-height: auto;\n }\n\n.tox,\n .tox *:not(svg) {\n color: inherit;\n font-family: inherit;\n }\n\n\n\n[dir='rtl'] .tox :not(svg) {\n direction: rtl;\n }\n\n.tox:not(.tox-tinymce-inline) .tox-editor-header {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox.tox-tinymce .screenreader-only {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n transform: translatez(0);\n }\n\n.tox-tinymce-aux {\n font-family: ${theme.canvasFontFamily || 'inherit'};\n }\n\n\n\n.tox.tox-tinymce-aux {\n z-index: 10000;\n }\n\n.tox .tox-button {\n background-color: ${theme.canvasPrimaryButtonHoverBackground || 'inherit'};\n font-family: ${theme.canvasFontFamily || 'inherit'};\n font-weight: ${theme.canvasButtonFontWeight || 'inherit'};\n font-size: ${theme.canvasButtonFontSize || 'inherit'};\n color: ${theme.canvasPrimaryButtonColor || 'inherit'};\n border-color: ${theme.canvasPrimaryButtonBorderColor || 'inherit'};\n line-height: calc(${theme.canvasButtonLineHeight || 'inherit'} - 2px);\n padding: ${theme.canvasButtonPadding || 'inherit'};\n }\n\n.tox .tox-button[disabled] {\n opacity: 0.5;\n border-color: inherit;\n color: inherit;\n }\n\n.tox .tox-button:focus:not(:disabled) {\n background-color: ${theme.canvasPrimaryButtonBackground || 'inherit'};\n color: ${theme.canvasPrimaryButtonColor || 'inherit'};\n border-color: ${theme.canvasBackgroundColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-button:hover:not(:disabled) {\n background-color: ${theme.canvasPrimaryButtonHoverBackground || 'inherit'};\n color: ${theme.canvasPrimaryButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-button:active:not(:disabled) {\n background-color: ${theme.canvasPrimaryButtonBackground || 'inherit'};\n border-color: ${theme.canvasPrimaryButtonBorderColor || 'inherit'};\n color: ${theme.canvasPrimaryButtonColor || 'inherit'};\n }\n\n.tox .tox-button--secondary {\n background-color: ${theme.canvasSecondaryButtonBackground || 'inherit'};\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: ${theme.canvasSecondaryButtonColor || 'inherit'};\n }\n\n.tox .tox-button--secondary[disabled] {\n background-color: inherit;\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: inherit;\n opacity: 0.5;\n }\n\n.tox .tox-button--secondary:focus:not(:disabled) {\n background-color: inherit;\n border-color: ${theme.canvasFocusBorderColor || 'inherit'};\n color: inherit;\n }\n\n.tox .tox-button--secondary:hover:not(:disabled) {\n background-color: ${theme.canvasSecondaryButtonHoverBackground || 'inherit'};\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: ${theme.canvasSecondaryButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-button--secondary:active:not(:disabled) {\n background-color: inherit;\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: inherit;\n }\n\n.tox .tox-button-link {\n font-family: ${theme.canvasFontFamily || 'inherit'};\n }\n\n.tox .tox-button--naked {\n background: ${theme.canvasButtonBackground || 'inherit'};\n border-color: ${theme.canvasButtonBorderColor || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-button--naked:hover:not(:disabled) {\n background-color: ${theme.canvasButtonHoverBackground || 'inherit'};\n border-color: ${theme.canvasButtonBorderColor || 'inherit'};\n color: ${theme.canvasButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-button--naked:focus:not(:disabled) {\n background-color: ${theme.canvasButtonBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n border-color: ${theme.canvasBackgroundColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-button--naked:active:not(:disabled) {\n background-color: inherit;\n color: inherit;\n }\n\n.tox .tox-button--naked.tox-button--icon {\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) {\n background: ${theme.canvasButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {\n fill: rgba(45, 59, 69, 0.3);\n }\n\n.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {\n fill: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg {\n fill: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox input.tox-checkbox__input:focus + .tox-checkbox__icons {\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-collection--list .tox-collection__group {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-collection__group-heading {\n background-color: #e3e6e8;\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-collection__item {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection__item--state-disabled {\n background-color: unset;\n opacity: 0.5;\n cursor: default;\n }\n\n.tox .tox-collection--list .tox-collection__item--enabled {\n color: contrast(inherit, ${theme.canvasTextColor || 'inherit'}, #fff);\n }\n\n.tox .tox-collection--list .tox-collection__item--active {\n background-color: ${theme.activeMenuItemBackground || 'inherit'};\n color: ${theme.activeMenuItemLabelColor || 'inherit'};\n }\n\n.tox\n .tox-collection--list\n .tox-collection__item--active:not(.tox-collection__item--state-disabled) {\n background-color: ${theme.activeMenuItemBackground || 'inherit'};\n color: ${theme.activeMenuItemLabelColor || 'inherit'};\n }\n\n.tox .tox-collection--toolbar .tox-collection__item--enabled {\n background-color: #cbced1;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--toolbar .tox-collection__item--active {\n background-color: #e0e2e3;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--grid .tox-collection__item--enabled {\n background-color: #cbced1;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--grid .tox-collection__item--active {\n background-color: #e0e2e3;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--list .tox-collection__item-icon:first-child {\n margin-right: 8px;\n }\n\n.tox .tox-collection__item-accessory {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-sv-palette {\n border: 1px solid black;\n box-sizing: border-box;\n }\n\n.tox .tox-hue-slider {\n border: 1px solid black;\n }\n\n.tox .tox-rgb-form input.tox-invalid {\n \n border-color: ${theme.canvasErrorColor || 'inherit'} !important;\n }\n\n.tox .tox-rgb-form {\n padding: 2px; \n }\n\n.tox .tox-swatches__picker-btn:hover {\n background: #e0e2e3;\n }\n\n.tox .tox-comment-thread {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-comment {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n box-shadow: 0 4px 8px 0 rgba(45, 59, 69, 0.1);\n }\n\n.tox .tox-comment__header {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__date {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-comment__body {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__expander p {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-comment-thread__overlay::after {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-comment__overlay {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-comment__loading-text {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__overlaytext p {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__busy-spinner {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-user__avatar svg {\n fill: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-user__name {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-dialog-wrap__backdrop {\n background-color: rgba(255, 255, 255, 0.75);\n }\n\n.tox .tox-dialog {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n box-shadow: ${theme.canvasModalShadow || 'inherit'};\n }\n\n.tox .tox-dialog__header {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasTextColor || 'inherit'};\n border-bottom: 1px solid ${theme.canvasBorderColor || 'inherit'};\n padding: ${theme.canvasModalHeadingPadding || 'inherit'};\n margin: 0;\n }\n\n.tox .tox-dialog__title {\n font-family: ${theme.canvasFontFamily || 'inherit'};\n font-size: ${theme.canvasModalHeadingFontSize || 'inherit'};\n font-weight: ${theme.canvasModalHeadingFontWeight || 'inherit'};\n }\n\n.tox .tox-dialog__body {\n color: ${theme.canvasTextColor || 'inherit'};\n padding: ${theme.canvasModalBodyPadding || 'inherit'};\n }\n\n.tox .tox-dialog__body-nav-item {\n color: rgba(45, 59, 69, 0.75);\n }\n\n.tox .tox-dialog__body-nav-item:focus {\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-dialog__body-nav-item--active {\n border-bottom-color: ${theme.canvasBrandColor || 'inherit'};\n color: ${theme.canvasBrandColor || 'inherit'};\n }\n\n.tox .tox-dialog__footer {\n background-color: ${theme.canvasModalFooterBackground || 'inherit'};\n border-top: 1px solid ${theme.canvasBorderColor || 'inherit'};\n padding: ${theme.canvasModalFooterPadding || 'inherit'};\n margin: 0;\n }\n\n.tox .tox-dialog__table tbody tr {\n border-bottom-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-dropzone {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n border: 2px dashed ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-dropzone p {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-edit-area {\n border: 1px solid ${theme.canvasBorderColor || 'inherit'};\n border-radius: 3px;\n }\n\n.tox .tox-edit-area__iframe {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border: ${theme.canvasFocusBorderWidth || 'inherit'} solid transparent;\n }\n\n.tox.tox-inline-edit-area {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-form__group {\n padding: 2px;\n }\n\n.tox .tox-control-wrap .tox-textfield {\n padding-right: 32px;\n }\n\n.tox .tox-control-wrap__status-icon-invalid svg {\n fill: ${theme.canvasErrorColor || 'inherit'};\n }\n\n.tox .tox-control-wrap__status-icon-unknown svg {\n fill: ${theme.canvasWarningColor || 'inherit'};\n }\n\n.tox .tox-control-wrap__status-icon-valid svg {\n fill: ${theme.canvasSuccessColor || 'inherit'};\n }\n\n.tox .tox-color-input span {\n border-color: rgba(45, 59, 69, 0.2);\n }\n\n.tox .tox-color-input span:focus {\n border-color: ${theme.canvasBrandColor || 'inherit'};\n }\n\n.tox .tox-label,\n .tox .tox-toolbar-label {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-form__group {\n margin: ${theme.canvasFormElementMargin || 'inherit'};\n }\n\n.tox .tox-form__group:last-child {\n margin: 0;\n }\n\n.tox .tox-form__group .tox-label {\n color: ${theme.canvasFormElementLabelColor || 'inherit'};\n margin: ${theme.canvasFormElementLabelMargin || 'inherit'};\n font-size: ${theme.canvasFormElementLabelFontSize || 'inherit'};\n font-weight: ${theme.canvasFormElementLabelFontWeight || 'inherit'};\n }\n\n.tox .tox-form__group--error {\n color: ${theme.canvasErrorColor || 'inherit'};\n }\n\n.tox .tox-textfield,\n .tox .tox-selectfield select,\n .tox .tox-textarea,\n .tox .tox-toolbar-textfield {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n color: ${theme.canvasTextColor || 'inherit'};\n font-family: ${theme.canvasFontFamily || 'inherit'};\n }\n\n.tox .tox-textfield:focus,\n .tox .tox-selectfield select:focus,\n .tox .tox-textarea:focus {\n \n border-color: ${theme.canvasBorderColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-naked-btn {\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-naked-btn svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-insert-table-picker > div {\n border-color: #cccccc;\n }\n\n.tox .tox-insert-table-picker .tox-insert-table-picker__selected {\n background-color: ${theme.tableSelectorHighlightColor || 'inherit'};\n border-color: ${theme.tableSelectorHighlightColor || 'inherit'};\n }\n\n.tox-selected-menu .tox-insert-table-picker {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-insert-table-picker__label {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-menu {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-menubar {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-mbtn {\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-mbtn[disabled] {\n opacity: 0.5;\n }\n\n.tox .tox-mbtn:hover:not(:disabled) {\n background: ${theme.toolbarButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-mbtn:focus:not(:disabled) {\n background-color: transparent;\n color: ${theme.canvasButtonColor || 'inherit'};\n border-color: ${theme.canvasBackgroundColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-mbtn--active {\n background: ${theme.toolbarButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-notification {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: #c5c5c5;\n }\n\n.tox .tox-notification--success {\n background-color: #dff0d8;\n border-color: ${theme.canvasSuccessColor || 'inherit'};\n }\n\n.tox .tox-notification--error {\n background-color: #f2dede;\n border-color: ${theme.canvasErrorColor || 'inherit'};\n }\n\n.tox .tox-notification--warn {\n background-color: #fcf8e3;\n border-color: ${theme.canvasWarningColor || 'inherit'};\n }\n\n.tox .tox-notification--info {\n background-color: #d9edf7;\n border-color: ${theme.canvasInfoColor || 'inherit'};\n }\n\n.tox .tox-notification__body {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-pop__dialog {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-pop.tox-pop--bottom::before {\n border-color: ${theme.canvasBorderColor || 'inherit'} transparent transparent transparent;\n }\n\n.tox .tox-pop.tox-pop--top::before {\n border-color: transparent transparent ${theme.canvasBorderColor || 'inherit'} transparent;\n }\n\n.tox .tox-pop.tox-pop--left::before {\n border-color: transparent ${theme.canvasBorderColor || 'inherit'} transparent transparent;\n }\n\n.tox .tox-pop.tox-pop--right::before {\n border-color: transparent transparent transparent ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-slider {\n width: 100%;\n }\n\n.tox .tox-slider__rail {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-slider__handle {\n background-color: ${theme.canvasBrandColor || 'inherit'};\n }\n\n.tox .tox-spinner > div {\n background-color: rgba(45, 59, 69, 0.6);\n }\n\n\n\n.tox .tox-tbtn {\n border-style: none;\n color: ${theme.canvasButtonColor || 'inherit'};\n position: relative;\n }\n\n.tox .tox-tbtn svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-tbtn.tox-tbtn--enabled {\n background: inherit;\n }\n\n.tox .tox-tbtn:focus,\n .tox .tox-split-button:focus {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-tbtn:hover,\n .tox .tox-split-button:hover,\n .tox .tox-tbtn.tox-tbtn--enabled:hover,\n .tox .tox-split-button .tox-tbtn.tox-split-button__chevron:hover {\n background: ${theme.toolbarButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox-tbtn.tox-split-button__chevron {\n position: relative;\n }\n\n\n\n.tox .tox-tbtn.tox-tbtn--enabled::after {\n position: absolute;\n top: -3px;\n content: '\\\\25BC';\n text-align: center;\n height: 8px;\n font-size: 8px;\n width: 100%;\n color: ${theme.canvasEnabledColor || 'inherit'};\n }\n\n[dir=\"ltr\"] .tox .tox-tbtn.tox-tbtn--enabled::after {\n text-align: center;\n }\n\n[dir=\"rtl\"] .tox .tox-tbtn.tox-tbtn--enabled::after {\n text-align: center;\n }\n\n\n\n.tox-tbtn.tox-split-button__chevron.tox-tbtn--enabled::after {\n display: none;\n }\n\n.tox .tox-tbtn--disabled,\n .tox .tox-tbtn--disabled:hover,\n .tox .tox-tbtn:disabled,\n .tox .tox-tbtn:disabled:hover {\n opacity: 0.5;\n }\n\n.tox .tox-tbtn--disabled svg,\n .tox .tox-tbtn--disabled:hover svg,\n .tox .tox-tbtn:disabled svg,\n .tox .tox-tbtn:disabled:hover svg {\n \n opacity: 0.5;\n }\n\n.tox .tox-tbtn__select-chevron svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n width: 10px;\n height: 10px;\n }\n\n.tox .tox-split-button__chevron svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n width: 10px;\n height: 10px;\n }\n\n.tox .tox-split-button.tox-tbtn--disabled:hover,\n .tox .tox-split-button.tox-tbtn--disabled:focus,\n .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,\n .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus {\n opacity: 0.5;\n }\n\n.tox .tox-toolbar {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-top: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-toolbar__group:not(:last-of-type) {\n border-right: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-tooltip__body {\n background-color: ${theme.canvasTextColor || 'inherit'};\n box-shadow: 0 2px 4px rgba(45, 59, 69, 0.3);\n color: rgba(255, 255, 255, 0.75);\n }\n\n.tox .tox-tooltip--down .tox-tooltip__arrow {\n border-top-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-tooltip--up .tox-tooltip__arrow {\n border-bottom-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-tooltip--right .tox-tooltip__arrow {\n border-left-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-tooltip--left .tox-tooltip__arrow {\n border-right-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-well {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-custom-editor {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox a {\n color: ${theme.canvasLinkColor || 'inherit'};\n }\n\n.tox.tox-tinymce {\n border-style: none;\n }\n\n\n\n.tox-editor-container .tox-toolbar,\n .tox-editor-container .tox-toolbar-overlord {\n background-image: none;\n margin-bottom: 5px;\n }\n\n.tox-editor-container .tox-toolbar__primary {\n background-image: none;\n }\n\n\n\n.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {\n border-style: none;\n }\n\n.tox .tox-toolbar .tox-toolbar__group,\n .tox .tox-toolbar-overlord .tox-toolbar__group,\n .tox-toolbar__overflow .tox-toolbar__group,\n .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type),\n .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) {\n border-style: none;\n }\n\n.tox-toolbar .tox-toolbar__group::after, \n .tox-toolbar-overlord .tox-toolbar__group::after, \n .tox-toolbar__overflow .tox-toolbar__group::after, \n .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {\n \n content: '';\n display: inline-block;\n box-sizing: border-box;\n border-inline-end: 1px solid ${theme.canvasBorderColor || 'inherit'};\n width: 8px;\n height: 24px;\n }\n\n[dir=\"ltr\"] .tox-toolbar .tox-toolbar__group::after,\n[dir=\"ltr\"] .tox-toolbar-overlord .tox-toolbar__group::after,\n[dir=\"ltr\"] .tox-toolbar__overflow .tox-toolbar__group::after,\n[dir=\"ltr\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {\n border-right: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n[dir=\"rtl\"] .tox-toolbar .tox-toolbar__group::after,\n[dir=\"rtl\"] .tox-toolbar-overlord .tox-toolbar__group::after,\n[dir=\"rtl\"] .tox-toolbar__overflow .tox-toolbar__group::after,\n[dir=\"rtl\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {\n border-left: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox-toolbar .tox-toolbar__group:last-child::after,\n .tox-toolbar-overlord .tox-toolbar__group:last-child::after,\n .tox-toolbar__overflow .tox-toolbar__group:last-child::after,\n .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {\n border-inline-end-width: 0;\n padding-inline-start: 0;\n width: 0;\n }\n\n[dir=\"ltr\"] .tox-toolbar .tox-toolbar__group:last-child::after,\n[dir=\"ltr\"] .tox-toolbar-overlord .tox-toolbar__group:last-child::after,\n[dir=\"ltr\"] .tox-toolbar__overflow .tox-toolbar__group:last-child::after,\n[dir=\"ltr\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {\n border-right-width: 0;\n padding-left: 0;\n }\n\n[dir=\"rtl\"] .tox-toolbar .tox-toolbar__group:last-child::after,\n[dir=\"rtl\"] .tox-toolbar-overlord .tox-toolbar__group:last-child::after,\n[dir=\"rtl\"] .tox-toolbar__overflow .tox-toolbar__group:last-child::after,\n[dir=\"rtl\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {\n border-left-width: 0;\n padding-right: 0;\n }\n\n.tox .tox-tbtn--bespoke .tox-tbtn__select-label {\n width: auto;\n padding-inline-end: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-tbtn--bespoke .tox-tbtn__select-label {\n padding-right: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-tbtn--bespoke .tox-tbtn__select-label {\n padding-left: 0;\n }\n\n.tox .tox-tbtn {\n box-sizing: border-box;\n }\n\n.tox .tox-tbtn,\n .tox .tox-split-button,\n .tox .tox-tbtn--select {\n border-style: none;\n margin: 2px 2px 3px;\n }\n\n.tox .tox-split-button .tox-tbtn {\n margin-inline-end: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn {\n margin-right: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn {\n margin-left: 0;\n }\n\n.tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-inline-start: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-left: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-right: 0;\n }\n\n.tox .tox-edit-area.active,\n .tox .tox-edit-area.active iframe {\n border-color: ${theme.canvasFocusBorderColor || 'inherit'};\n }\n\n.tox .tox-split-button .tox-tbtn {\n margin-inline-end: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn {\n margin-right: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn {\n margin-left: 0;\n }\n\n.tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-inline-start: -6px;\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-left: -6px;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-right: -6px;\n }\n\n.tox .tox-split-button:hover .tox-split-button__chevron {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n box-shadow: none;\n }\n\n.tox .tox-tbtn:hover.tox-split-button__chevron,\n .tox .tox-tbtn:focus.tox-split-button__chevron {\n box-shadow: none;\n }\n\n.tox .tox-toolbar__primary {\n border-width: 0;\n }\n\n.tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {\n margin-inline-end: 4px;\n }\n\n[dir=\"ltr\"] .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {\n margin-right: 4px;\n }\n\n[dir=\"rtl\"] .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {\n margin-left: 4px;\n }\n\n\n\n.tox .tox-icon svg:not([height]),\n .tox .tox-collection__item-icon svg:not([height]) {\n height: 16px;\n }\n\n\n\n.tox .tox-collection--toolbar-lg .tox-collection__item-icon {\n height: 30px;\n width: 30px;\n }\n\n\n\n.tox-selectfield__icon-js svg {\n width: 10px;\n height: 10px;\n }\n\n\n\n[data-canvascontenttray-content]:focus {\n outline-color: ${theme.canvasFocusBorderColor || 'inherit'};\n }\n`;\n },\n 'root': 'canvas-rce__skins--root'\n};\nconst skinCSSBinding = {\n componentId: 'djgIv',\n template: function (theme) {\n return `\n\n\n.tinymce__oxide--tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:baseline;vertical-align:initial;white-space:normal}\n\n.tinymce__oxide--tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}\n\n[dir=\"ltr\"] .tinymce__oxide--tox :not(svg):not(rect){text-align:inherit}\n\n[dir=\"rtl\"] .tinymce__oxide--tox :not(svg):not(rect){text-align:inherit}\n\n.tinymce__oxide--tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}\n\n[dir=\"ltr\"] .tinymce__oxide--tox :not(svg):not(rect){float:none}\n\n[dir=\"rtl\"] .tinymce__oxide--tox :not(svg):not(rect){float:none}\n\n.tinymce__oxide--tox:not([dir=rtl]){direction:ltr;text-align:left}\n\n[dir=\"ltr\"] .tinymce__oxide--tox:not([dir=rtl]){text-align:left}\n\n[dir=\"rtl\"] .tinymce__oxide--tox:not([dir=rtl]){text-align:left}\n\n.tinymce__oxide--tox[dir=rtl]{direction:rtl;text-align:right}\n\n[dir=\"ltr\"] .tinymce__oxide--tox[dir=rtl]{text-align:right}\n\n[dir=\"rtl\"] .tinymce__oxide--tox[dir=rtl]{text-align:right}\n\n.tinymce__oxide--tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}\n\n.tinymce__oxide--tox-tinymce-inline{border:none;box-shadow:none}\n\n.tinymce__oxide--tox-tinymce-inline .tinymce__oxide--tox-editor-header{background-color:transparent;border:1px solid #ccc;border-radius:0;box-shadow:none}\n\n.tinymce__oxide--tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;z-index:1300}\n\n.tinymce__oxide--tox-tinymce :focus,.tinymce__oxide--tox-tinymce-aux :focus{outline:0}\n\nbutton::-moz-focus-inner{border:0}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description{align-items:stretch;border:1px solid #ccc;border-radius:3px;display:flex;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description>div{padding-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__repair{margin-top:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--tox-form__group h2{color:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--tox-icon svg{fill:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info a .tinymce__oxide--tox-icon{color:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--tox-form__group h2{color:#cc8500}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--tox-icon svg{fill:#cc8500}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn a .tinymce__oxide--tox-icon{color:#cc8500}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--tox-form__group h2{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--tox-icon svg{fill:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error a .tinymce__oxide--tox-icon{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--tox-form__group h2{color:#78ab46}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--tox-icon svg{fill:#78ab46}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success a .tinymce__oxide--tox-icon{color:#78ab46}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header h1,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group .tinymce__oxide--accessibility-issue__description h2{margin-top:0}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header .tinymce__oxide--tox-button{margin-left:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header>:nth-last-child(2){margin-left:auto}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description{padding:4px 4px 4px 8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header .tinymce__oxide--tox-button{margin-right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header>:nth-last-child(2){margin-right:auto}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description{padding:4px 8px 4px 4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-anchorbar{display:flex;flex:0 0 auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-bar{display:flex;flex:0 0 auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-button{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-button{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--icon,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--icon,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--secondary.tinymce__oxide--tox-button--icon{padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--icon .tinymce__oxide--tox-icon svg,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--icon .tinymce__oxide--tox-icon svg,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--secondary.tinymce__oxide--tox-button--icon .tinymce__oxide--tox-icon svg{display:block;fill:currentColor}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button-link--sm{font-size:14px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked .tinymce__oxide--tox-icon svg{fill:currentColor}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked.tinymce__oxide--tox-button--icon:hover:not(:disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__checked svg{display:none;fill:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:checked+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{display:none}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:checked+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__checked svg{display:block}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:indeterminate+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{display:none}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:indeterminate+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__indeterminate svg{display:block}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:focus+.tinymce__oxide--tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-checkbox__label{margin-left:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-checkbox__input{left:-10000px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-bar .tinymce__oxide--tox-checkbox{margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-checkbox__label{margin-right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-checkbox__input{right:-10000px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-bar .tinymce__oxide--tox-checkbox{margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__group{display:flex;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group:first-child{border-top-width:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item{padding:4px 8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item{border-radius:3px;padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__item{border-radius:3px;padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item--enabled{background-color:#fff;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item--active{background-color:#dee0e2}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item--active{background-color:#dee0e2}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__item--active:not(.tinymce__oxide--tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item--active:not(.tinymce__oxide--tox-collection__item--state-disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item--active:not(.tinymce__oxide--tox-collection__item--state-disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-checkmark,.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-checkmark svg,.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-icon svg{fill:currentColor}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar-lg .tinymce__oxide--tox-collection__item-icon{height:48px;width:48px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-caret{align-items:center;display:flex;min-height:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-caret svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item:not(.tinymce__oxide--tox-collection__item--enabled) .tinymce__oxide--tox-collection__item-checkmark svg{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item:not(.tinymce__oxide--tox-collection__item--enabled) .tinymce__oxide--tox-collection__item-accessory+.tinymce__oxide--tox-collection__item-checkmark{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item-label{white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item-caret{margin-left:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--align-left{margin-right:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--valign-middle{align-items:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--align-left{align-items:flex-start}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--align-right{align-items:flex-end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--valign-top{align-self:flex-start}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--valign-middle{align-self:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--valign-bottom{align-self:flex-end}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>:not(:first-child){margin-left:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>.tinymce__oxide--tox-collection__item-label:first-child{margin-left:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection__item-accessory{margin-left:16px;text-align:right}\n\n[dir=\"ltr\"] .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection__item-accessory{text-align:right}\n\n[dir=\"rtl\"] .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection__item-accessory{text-align:right}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection .tinymce__oxide--tox-collection__item-caret{margin-left:16px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>:not(:first-child){margin-right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>.tinymce__oxide--tox-collection__item-label:first-child{margin-right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-icon-rtl .tinymce__oxide--tox-collection__item-icon svg{transform:rotateY(180deg)}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-accessory{margin-right:16px;text-align:left}\n\n[dir=\"ltr\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-accessory{text-align:left}\n\n[dir=\"rtl\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-accessory{text-align:left}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection .tinymce__oxide--tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item-caret{margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette{box-sizing:border-box;display:flex;height:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-spectrum{height:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette,.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-spectrum{width:225px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider{box-sizing:border-box;height:100%;width:25px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider,.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider-spectrum{width:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form input{width:6em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form input.tinymce__oxide--tox-invalid{border:1px solid red!important}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form .tinymce__oxide--tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-sv-palette{margin-right:15px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-hue-slider{margin-right:15px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-hue-slider-thumb{margin-left:-1px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-rgb-form label{margin-right:.5em}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-sv-palette{margin-left:15px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-hue-slider{margin-left:15px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-hue-slider-thumb{margin-right:-1px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-rgb-form label{margin-left:.5em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar .tinymce__oxide--tox-swatches,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow .tinymce__oxide--tox-swatches,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__primary .tinymce__oxide--tox-swatches{margin:2px 0 3px 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group .tinymce__oxide--tox-swatches-menu{border:0;margin:-4px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__row{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch:focus,.tinymce__oxide--tox .tinymce__oxide--tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch--remove{align-items:center;display:flex;justify-content:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch--remove svg path{stroke:#e74c3c}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__picker-btn svg{height:24px;width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__picker-btn:hover{background:#dee0e2}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-swatches__picker-btn{margin-left:auto}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-swatches__picker-btn{margin-right:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment-thread{background:#fff;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment-thread>:not(:first-child){margin-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:none;text-transform:initial}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__body textarea{resize:none;white-space:normal;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__expander{padding-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__body p{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__buttonspacing{padding-top:16px;text-align:center}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__buttonspacing{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__buttonspacing{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment-thread__overlay::after{background:#fff;bottom:0;content:\"\";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__reply>:first-child{margin-bottom:8px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:\"\";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlay{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlay{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__loading-text>div{padding-bottom:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext p{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext p{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-conversations{margin:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__edit{margin-left:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__buttonspacing>:last-child,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__edit>:last-child,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__reply>:last-child{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__edit{margin-right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__buttonspacing>:last-child,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__edit>:last-child,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__reply>:last-child{margin-right:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-user{align-items:center;display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-user__avatar svg{fill:rgba(34,47,62,.7)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-user__avatar svg{margin-right:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-user__avatar+.tinymce__oxide--tox-user__name{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-user__avatar svg{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-user__avatar+.tinymce__oxide--tox-user__name{margin-right:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-wrap__backdrop--opaque{background-color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox .tinymce__oxide--tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-inline{z-index:1100}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__header .tinymce__oxide--tox-button{z-index:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__draghandle:active{cursor:grabbing}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__dismiss{margin-left:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{text-align:left}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{text-align:left}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{flex-direction:column}}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>:first-child{margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>:last-child{margin-bottom:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a:focus,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;margin-inline-end:0;margin-inline-start:0;padding-inline-start:2.5rem}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content ul{margin-right:0;margin-left:0;padding-left:2.5rem}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content ul{margin-left:0;margin-right:0;padding-right:2.5rem}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p{margin-bottom:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1:first-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2:first-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p:first-child{margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1:last-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2:last-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p:last-child{margin-bottom:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1:only-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2:only-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p:only-child{margin-bottom:0;margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog--width-lg{height:650px;max-width:1200px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog--width-md{max-width:800px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog--width-md .tinymce__oxide--tox-dialog__body-content{overflow:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content--centered{text-align:center}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content--centered{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content--centered{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__footer-end,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__footer-start{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table{border-collapse:collapse;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table thead th{font-weight:700;padding-bottom:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table tbody tr{border-bottom:1px solid #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table tbody tr:last-child{border-bottom:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table td{padding-bottom:8px;padding-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__popups{position:absolute;width:100%;z-index:1100}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-iframe .tinymce__oxide--tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-iframe .tinymce__oxide--tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-fadeout{opacity:0;visibility:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-fadein{opacity:1;visibility:visible}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-transition.tinymce__oxide--tox-dialog-dock-fadein{transition-delay:0s}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-ie .tinymce__oxide--tox-dialog-wrap{position:-ms-device-fixed}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-nav{margin-right:0}}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-end>*,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-start>*{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body{text-align:right}\n\n[dir=\"ltr\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body{text-align:right}\n\n[dir=\"rtl\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body{text-align:right}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-nav{margin-left:0}}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-end>*,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-start>*{margin-right:8px}\n\nbody.tinymce__oxide--tox-dialog__disable-scroll{overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-inline-edit-area{border:1px dotted #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-editor-header{z-index:1}\n\n.tinymce__oxide--tox:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header{box-shadow:none;transition:box-shadow .5s}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce--toolbar-bottom .tinymce__oxide--tox-editor-header,.tinymce__oxide--tox.tinymce__oxide--tox-tinymce-inline .tinymce__oxide--tox-editor-header{margin-bottom:-1px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce--toolbar-sticky-on .tinymce__oxide--tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}\n\n.tinymce__oxide--tox-editor-dock-fadeout{opacity:0;visibility:hidden}\n\n.tinymce__oxide--tox-editor-dock-fadein{opacity:1;visibility:visible}\n\n.tinymce__oxide--tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}\n\n.tinymce__oxide--tox-editor-dock-transition.tinymce__oxide--tox-editor-dock-fadein{transition-delay:0s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap{flex:1;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap:not(.tinymce__oxide--tox-control-wrap--status-invalid) .tinymce__oxide--tox-control-wrap__status-icon-invalid,.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap:not(.tinymce__oxide--tox-control-wrap--status-unknown) .tinymce__oxide--tox-control-wrap__status-icon-unknown,.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap:not(.tinymce__oxide--tox-control-wrap--status-valid) .tinymce__oxide--tox-control-wrap__status-icon-valid{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap svg{display:block}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-invalid svg{fill:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-unknown svg{fill:orange}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-valid svg{fill:green}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap--status-invalid .tinymce__oxide--tox-textfield,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap--status-unknown .tinymce__oxide--tox-textfield,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap--status-valid .tinymce__oxide--tox-textfield{padding-right:32px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap__status-icon-wrap{right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap--status-invalid .tinymce__oxide--tox-textfield,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap--status-unknown .tinymce__oxide--tox-textfield,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap--status-valid .tinymce__oxide--tox-textfield{padding-left:32px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap__status-icon-wrap{left:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-autocompleter{max-width:25em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-autocompleter .tinymce__oxide--tox-menu{max-width:25em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-autocompleter .tinymce__oxide--tox-autocompleter-highlight{font-weight:700}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input{display:flex;position:relative;z-index:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input .tinymce__oxide--tox-textfield{z-index:-1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span:focus:not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span[aria-disabled=true]{cursor:not-allowed}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-color-input .tinymce__oxide--tox-textfield{padding-left:36px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-color-input span{left:6px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-color-input .tinymce__oxide--tox-textfield{padding-right:36px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-color-input span{right:6px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-label,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-label{padding:0 8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-label{padding:0 0 0 8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group{box-sizing:border-box;margin-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form-group--maximize{flex:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--error{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--collection{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid--2col>.tinymce__oxide--tox-form__group{width:calc(50% - (8px / 2))}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid--3col>.tinymce__oxide--tox-form__group{width:calc(100% / 3 - (8px / 2))}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid--4col>.tinymce__oxide--tox-form__group{width:calc(25% - (8px / 2))}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__controls-h-stack{align-items:center;display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--inline{align-items:center;display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched .tinymce__oxide--tox-textarea{flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched .tinymce__oxide--tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched .tinymce__oxide--tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-form__controls-h-stack>:not(:first-child){margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-form__controls-h-stack>:not(:first-child){margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-lock.tinymce__oxide--tox-locked .tinymce__oxide--tox-lock-icon__unlock,.tinymce__oxide--tox .tinymce__oxide--tox-lock:not(.tinymce__oxide--tox-locked) .tinymce__oxide--tox-lock-icon__lock{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select,.tinymce__oxide--tox .tinymce__oxide--tox-textarea,.tinymce__oxide--tox .tinymce__oxide--tox-textfield,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-textfield{appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-textarea[disabled],.tinymce__oxide--tox .tinymce__oxide--tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select:focus,.tinymce__oxide--tox .tinymce__oxide--tox-textarea:focus,.tinymce__oxide--tox .tinymce__oxide--tox-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-naked-btn svg{display:block;fill:#222f3e}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-toolbar-textfield+*{margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-toolbar-textfield+*{margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield{cursor:pointer;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listbox__select-chevron svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select{align-items:center;display:flex}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-listboxfield svg{right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-listboxfield svg{left:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield{cursor:pointer;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select{appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select::-ms-expand{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-selectfield select[size=\"0\"],.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-selectfield select[size=\"1\"]{padding-right:24px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-selectfield svg{right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-selectfield select[size=\"0\"],.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-selectfield select[size=\"1\"]{padding-left:24px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-selectfield svg{left:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-textarea{appearance:textarea;white-space:pre-wrap}\n\n.tinymce__oxide--tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce.tinymce__oxide--tox-fullscreen .tinymce__oxide--tox-statusbar__resize-handle{display:none}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce.tinymce__oxide--tox-fullscreen{background-color:transparent;z-index:1200}\n\n.tinymce__oxide--tox-shadowhost.tinymce__oxide--tox-fullscreen{z-index:1200}\n\n.tinymce__oxide--tox-fullscreen .tinymce__oxide--tox.tinymce__oxide--tox-tinymce-aux,.tinymce__oxide--tox-fullscreen~.tinymce__oxide--tox.tinymce__oxide--tox-tinymce-aux{z-index:1201}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-help__more-link{list-style:none;margin-top:1em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools{width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image,.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image+.tinymce__oxide--tox-image-tools__toolbar{margin-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-spacer{flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-move{border:0;cursor:move;position:absolute}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider:not(:first-of-type){margin-left:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-button+.tinymce__oxide--tox-slider{margin-left:32px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider+.tinymce__oxide--tox-button{margin-left:32px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider:not(:first-of-type){margin-right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-button+.tinymce__oxide--tox-slider{margin-right:32px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider+.tinymce__oxide--tox-button{margin-right:32px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group .tinymce__oxide--tox-insert-table-picker{margin:-4px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker .tinymce__oxide--tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker__label{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker__label{text-align:center}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-insert-table-picker>div:nth-child(10n){border-right:0}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-insert-table-picker>div:nth-child(10n+1){border-right:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu.tinymce__oxide--tox-collection.tinymce__oxide--tox-collection--list{padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu.tinymce__oxide--tox-collection.tinymce__oxide--tox-collection--toolbar{padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu.tinymce__oxide--tox-collection.tinymce__oxide--tox-collection--grid{padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu__label blockquote,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label code,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h1,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h2,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h3,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h4,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h5,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h6,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label p{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menubar{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header:not(:first-child) .tinymce__oxide--tox-menubar{border-top:1px solid #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn:hover:not(:disabled):not(.tinymce__oxide--tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn[disabled] .tinymce__oxide--tox-mbtn__select-label{cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification p{font-size:14px;font-weight:400}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification a{text-decoration:underline}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--in{opacity:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success a{color:#547831}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error a{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn p,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn a,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning a{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn svg,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info a{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__body{align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-notification__body{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-notification__body{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__body>*{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__body>*+*{margin-top:1rem}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__icon{align-self:center;-ms-grid-column-span:1;grid-column-end:2;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;grid-row-start:1;justify-self:end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__icon svg{display:block}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__dismiss{align-self:start;-ms-grid-column-span:1;grid-column-end:4;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;grid-row-start:1;justify-self:end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification .tinymce__oxide--tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;grid-row-start:2;justify-self:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop{display:inline-block;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop--resizing{transition:width .1s ease}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop--resizing .tinymce__oxide--tox-toolbar{flex-wrap:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop__dialog>:not(.tinymce__oxide--tox-toolbar){margin:4px 4px 4px 8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop__dialog .tinymce__oxide--tox-toolbar{background-color:transparent;margin-bottom:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::before{left:50%;top:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-left::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-left::before{left:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-right::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-right::before{left:calc(100% - 20px)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar__slider{display:flex;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar__pane-container{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar__pane{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-closed{opacity:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-open{opacity:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-growing,.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-touch .tinymce__oxide--tox-selector{height:12px;width:12px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-source-code{overflow:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner>div{animation:tinymce__oxide--tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner>div:nth-child(1){animation-delay:-.32s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner>div:nth-child(2){animation-delay:-.16s}\n\n@keyframes tinymce__oxide--tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-spinner>div:not(:first-child){margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-spinner>div:not(:first-child){margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path>*{display:inline;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar a,.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path-item,.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px;box-shadow:0 0 0 2px #dee0e2}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-statusbar__path>*{margin-right:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-statusbar__branding{margin-left:1ch}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-statusbar{flex-direction:row-reverse}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-statusbar__path>*{margin-left:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-throbber{z-index:1299}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn svg{display:block;fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn.tinymce__oxide--tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:hover svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:active svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled:hover,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled:hover svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled:hover>*,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled>*{transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled:hover svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:focus:not(.tinymce__oxide--tox-tbtn--disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:focus:not(.tinymce__oxide--tox-tbtn--disabled) svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:active>*{transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--md{height:51px;width:51px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--lg{flex-direction:column;height:68px;width:68px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--return{align-self:stretch;height:unset;width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--labeled{padding:0 4px;width:unset}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--bespoke .tinymce__oxide--tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button>*{border-radius:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button__chevron{width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button .tinymce__oxide--tox-tbtn{margin:0}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-touch .tinymce__oxide--tox-split-button .tinymce__oxide--tox-tbtn:first-child{width:30px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-touch .tinymce__oxide--tox-split-button__chevron{width:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled .tinymce__oxide--tox-tbtn:focus,.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled .tinymce__oxide--tox-tbtn:hover,.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled:focus,.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-overlord{background-color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__primary{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow.tinymce__oxide--tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menubar+.tinymce__oxide--tox-toolbar,.tinymce__oxide--tox .tinymce__oxide--tox-menubar+.tinymce__oxide--tox-toolbar-overlord .tinymce__oxide--tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop .tinymce__oxide--tox-toolbar{border-width:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar--no-divider{background-image:none}\n\n.tinymce__oxide--tox-tinymce:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header:not(:first-child) .tinymce__oxide--tox-toolbar-overlord:first-child .tinymce__oxide--tox-toolbar__primary,.tinymce__oxide--tox-tinymce:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header:not(:first-child) .tinymce__oxide--tox-toolbar:first-child{border-top:1px solid #ccc}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce-aux .tinymce__oxide--tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__group--pull-right{margin-left:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar--scrolling .tinymce__oxide--tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip{display:inline-block;padding:8px;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip__arrow{position:absolute}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--down .tinymce__oxide--tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--up .tinymce__oxide--tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--right .tinymce__oxide--tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--left .tinymce__oxide--tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well>:first-child{margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well>:last-child{margin-bottom:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well>:only-child{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:\"\";height:100%;position:absolute;width:100%;z-index:1000}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tab{cursor:pointer}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools-edit-panel{height:60px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__sidebar{height:60px}\n`;\n },\n 'tox': 'tinymce__oxide--tox',\n 'tox-tinymce': 'tinymce__oxide--tox-tinymce',\n 'tox-tinymce-inline': 'tinymce__oxide--tox-tinymce-inline',\n 'tox-editor-header': 'tinymce__oxide--tox-editor-header',\n 'tox-tinymce-aux': 'tinymce__oxide--tox-tinymce-aux',\n 'accessibility-issue__header': 'tinymce__oxide--accessibility-issue__header',\n 'accessibility-issue__description': 'tinymce__oxide--accessibility-issue__description',\n 'accessibility-issue__repair': 'tinymce__oxide--accessibility-issue__repair',\n 'tox-dialog__body-content': 'tinymce__oxide--tox-dialog__body-content',\n 'accessibility-issue--info': 'tinymce__oxide--accessibility-issue--info',\n 'tox-form__group': 'tinymce__oxide--tox-form__group',\n 'tox-icon': 'tinymce__oxide--tox-icon',\n 'accessibility-issue--warn': 'tinymce__oxide--accessibility-issue--warn',\n 'accessibility-issue--error': 'tinymce__oxide--accessibility-issue--error',\n 'accessibility-issue--success': 'tinymce__oxide--accessibility-issue--success',\n 'tox-button': 'tinymce__oxide--tox-button',\n 'tox-anchorbar': 'tinymce__oxide--tox-anchorbar',\n 'tox-bar': 'tinymce__oxide--tox-bar',\n 'tox-button--secondary': 'tinymce__oxide--tox-button--secondary',\n 'tox-button--icon': 'tinymce__oxide--tox-button--icon',\n 'tox-button-link': 'tinymce__oxide--tox-button-link',\n 'tox-button-link--sm': 'tinymce__oxide--tox-button-link--sm',\n 'tox-button--naked': 'tinymce__oxide--tox-button--naked',\n 'tox-checkbox': 'tinymce__oxide--tox-checkbox',\n 'tox-checkbox__input': 'tinymce__oxide--tox-checkbox__input',\n 'tox-checkbox__icons': 'tinymce__oxide--tox-checkbox__icons',\n 'tox-checkbox-icon__unchecked': 'tinymce__oxide--tox-checkbox-icon__unchecked',\n 'tox-checkbox-icon__indeterminate': 'tinymce__oxide--tox-checkbox-icon__indeterminate',\n 'tox-checkbox-icon__checked': 'tinymce__oxide--tox-checkbox-icon__checked',\n 'tox-checkbox--disabled': 'tinymce__oxide--tox-checkbox--disabled',\n 'tox-checkbox__label': 'tinymce__oxide--tox-checkbox__label',\n 'tox-collection--toolbar': 'tinymce__oxide--tox-collection--toolbar',\n 'tox-collection__group': 'tinymce__oxide--tox-collection__group',\n 'tox-collection--grid': 'tinymce__oxide--tox-collection--grid',\n 'tox-collection--list': 'tinymce__oxide--tox-collection--list',\n 'tox-collection__group-heading': 'tinymce__oxide--tox-collection__group-heading',\n 'tox-collection__item': 'tinymce__oxide--tox-collection__item',\n 'tox-collection__item--enabled': 'tinymce__oxide--tox-collection__item--enabled',\n 'tox-collection__item--active': 'tinymce__oxide--tox-collection__item--active',\n 'tox-collection__item--state-disabled': 'tinymce__oxide--tox-collection__item--state-disabled',\n 'tox-collection__item-checkmark': 'tinymce__oxide--tox-collection__item-checkmark',\n 'tox-collection__item-icon': 'tinymce__oxide--tox-collection__item-icon',\n 'tox-collection--toolbar-lg': 'tinymce__oxide--tox-collection--toolbar-lg',\n 'tox-collection__item-label': 'tinymce__oxide--tox-collection__item-label',\n 'tox-collection__item-accessory': 'tinymce__oxide--tox-collection__item-accessory',\n 'tox-collection__item-caret': 'tinymce__oxide--tox-collection__item-caret',\n 'tox-collection--horizontal': 'tinymce__oxide--tox-collection--horizontal',\n 'tox-collection__item-container': 'tinymce__oxide--tox-collection__item-container',\n 'tox-collection__item-container--row': 'tinymce__oxide--tox-collection__item-container--row',\n 'tox-collection__item-container--align-left': 'tinymce__oxide--tox-collection__item-container--align-left',\n 'tox-collection__item-container--align-right': 'tinymce__oxide--tox-collection__item-container--align-right',\n 'tox-collection__item-container--valign-top': 'tinymce__oxide--tox-collection__item-container--valign-top',\n 'tox-collection__item-container--valign-middle': 'tinymce__oxide--tox-collection__item-container--valign-middle',\n 'tox-collection__item-container--valign-bottom': 'tinymce__oxide--tox-collection__item-container--valign-bottom',\n 'tox-collection__item-container--column': 'tinymce__oxide--tox-collection__item-container--column',\n 'tox-collection': 'tinymce__oxide--tox-collection',\n 'tox-collection__item-icon-rtl': 'tinymce__oxide--tox-collection__item-icon-rtl',\n 'tox-color-picker-container': 'tinymce__oxide--tox-color-picker-container',\n 'tox-sv-palette': 'tinymce__oxide--tox-sv-palette',\n 'tox-sv-palette-spectrum': 'tinymce__oxide--tox-sv-palette-spectrum',\n 'tox-sv-palette-thumb': 'tinymce__oxide--tox-sv-palette-thumb',\n 'tox-sv-palette-inner-thumb': 'tinymce__oxide--tox-sv-palette-inner-thumb',\n 'tox-hue-slider': 'tinymce__oxide--tox-hue-slider',\n 'tox-hue-slider-spectrum': 'tinymce__oxide--tox-hue-slider-spectrum',\n 'tox-hue-slider-thumb': 'tinymce__oxide--tox-hue-slider-thumb',\n 'tox-rgb-form': 'tinymce__oxide--tox-rgb-form',\n 'tox-invalid': 'tinymce__oxide--tox-invalid',\n 'tox-rgba-preview': 'tinymce__oxide--tox-rgba-preview',\n 'tox-toolbar': 'tinymce__oxide--tox-toolbar',\n 'tox-swatches': 'tinymce__oxide--tox-swatches',\n 'tox-toolbar__overflow': 'tinymce__oxide--tox-toolbar__overflow',\n 'tox-toolbar__primary': 'tinymce__oxide--tox-toolbar__primary',\n 'tox-swatches-menu': 'tinymce__oxide--tox-swatches-menu',\n 'tox-swatches__row': 'tinymce__oxide--tox-swatches__row',\n 'tox-swatch': 'tinymce__oxide--tox-swatch',\n 'tox-swatch--remove': 'tinymce__oxide--tox-swatch--remove',\n 'tox-swatches__picker-btn': 'tinymce__oxide--tox-swatches__picker-btn',\n 'tox-comment-thread': 'tinymce__oxide--tox-comment-thread',\n 'tox-comment': 'tinymce__oxide--tox-comment',\n 'tox-comment__header': 'tinymce__oxide--tox-comment__header',\n 'tox-comment__date': 'tinymce__oxide--tox-comment__date',\n 'tox-comment__body': 'tinymce__oxide--tox-comment__body',\n 'tox-comment__expander': 'tinymce__oxide--tox-comment__expander',\n 'tox-comment__buttonspacing': 'tinymce__oxide--tox-comment__buttonspacing',\n 'tox-comment-thread__overlay': 'tinymce__oxide--tox-comment-thread__overlay',\n 'tox-comment__reply': 'tinymce__oxide--tox-comment__reply',\n 'tox-comment__edit': 'tinymce__oxide--tox-comment__edit',\n 'tox-comment__gradient': 'tinymce__oxide--tox-comment__gradient',\n 'tox-comment__overlay': 'tinymce__oxide--tox-comment__overlay',\n 'tox-comment__loading-text': 'tinymce__oxide--tox-comment__loading-text',\n 'tox-comment__overlaytext': 'tinymce__oxide--tox-comment__overlaytext',\n 'tox-comment__busy-spinner': 'tinymce__oxide--tox-comment__busy-spinner',\n 'tox-comment__scroll': 'tinymce__oxide--tox-comment__scroll',\n 'tox-conversations': 'tinymce__oxide--tox-conversations',\n 'tox-user': 'tinymce__oxide--tox-user',\n 'tox-user__avatar': 'tinymce__oxide--tox-user__avatar',\n 'tox-user__name': 'tinymce__oxide--tox-user__name',\n 'tox-dialog-wrap': 'tinymce__oxide--tox-dialog-wrap',\n 'tox-dialog-wrap__backdrop': 'tinymce__oxide--tox-dialog-wrap__backdrop',\n 'tox-dialog-wrap__backdrop--opaque': 'tinymce__oxide--tox-dialog-wrap__backdrop--opaque',\n 'tox-dialog': 'tinymce__oxide--tox-dialog',\n 'tox-force-desktop': 'tinymce__oxide--tox-force-desktop',\n 'tox-dialog-inline': 'tinymce__oxide--tox-dialog-inline',\n 'tox-dialog__header': 'tinymce__oxide--tox-dialog__header',\n 'tox-dialog__draghandle': 'tinymce__oxide--tox-dialog__draghandle',\n 'tox-dialog__dismiss': 'tinymce__oxide--tox-dialog__dismiss',\n 'tox-dialog__title': 'tinymce__oxide--tox-dialog__title',\n 'tox-dialog__body': 'tinymce__oxide--tox-dialog__body',\n 'tox-dialog__body-nav': 'tinymce__oxide--tox-dialog__body-nav',\n 'tox-dialog__body-nav-item': 'tinymce__oxide--tox-dialog__body-nav-item',\n 'tox-dialog__body-nav-item--active': 'tinymce__oxide--tox-dialog__body-nav-item--active',\n 'tox-dialog--width-lg': 'tinymce__oxide--tox-dialog--width-lg',\n 'tox-dialog--width-md': 'tinymce__oxide--tox-dialog--width-md',\n 'tox-dialog__body-content--centered': 'tinymce__oxide--tox-dialog__body-content--centered',\n 'tox-dialog__footer': 'tinymce__oxide--tox-dialog__footer',\n 'tox-dialog__footer-end': 'tinymce__oxide--tox-dialog__footer-end',\n 'tox-dialog__footer-start': 'tinymce__oxide--tox-dialog__footer-start',\n 'tox-dialog__busy-spinner': 'tinymce__oxide--tox-dialog__busy-spinner',\n 'tox-dialog__table': 'tinymce__oxide--tox-dialog__table',\n 'tox-dialog__popups': 'tinymce__oxide--tox-dialog__popups',\n 'tox-dialog__body-iframe': 'tinymce__oxide--tox-dialog__body-iframe',\n 'tox-navobj': 'tinymce__oxide--tox-navobj',\n 'tox-dialog-dock-fadeout': 'tinymce__oxide--tox-dialog-dock-fadeout',\n 'tox-dialog-dock-fadein': 'tinymce__oxide--tox-dialog-dock-fadein',\n 'tox-dialog-dock-transition': 'tinymce__oxide--tox-dialog-dock-transition',\n 'tox-platform-ie': 'tinymce__oxide--tox-platform-ie',\n 'tox-dialog__disable-scroll': 'tinymce__oxide--tox-dialog__disable-scroll',\n 'tox-dropzone-container': 'tinymce__oxide--tox-dropzone-container',\n 'tox-dropzone': 'tinymce__oxide--tox-dropzone',\n 'tox-edit-area': 'tinymce__oxide--tox-edit-area',\n 'tox-edit-area__iframe': 'tinymce__oxide--tox-edit-area__iframe',\n 'tox-inline-edit-area': 'tinymce__oxide--tox-inline-edit-area',\n 'tox-editor-container': 'tinymce__oxide--tox-editor-container',\n 'tox-tinymce--toolbar-bottom': 'tinymce__oxide--tox-tinymce--toolbar-bottom',\n 'tox-tinymce--toolbar-sticky-on': 'tinymce__oxide--tox-tinymce--toolbar-sticky-on',\n 'tox-editor-dock-fadeout': 'tinymce__oxide--tox-editor-dock-fadeout',\n 'tox-editor-dock-fadein': 'tinymce__oxide--tox-editor-dock-fadein',\n 'tox-editor-dock-transition': 'tinymce__oxide--tox-editor-dock-transition',\n 'tox-control-wrap': 'tinymce__oxide--tox-control-wrap',\n 'tox-control-wrap--status-invalid': 'tinymce__oxide--tox-control-wrap--status-invalid',\n 'tox-control-wrap__status-icon-invalid': 'tinymce__oxide--tox-control-wrap__status-icon-invalid',\n 'tox-control-wrap--status-unknown': 'tinymce__oxide--tox-control-wrap--status-unknown',\n 'tox-control-wrap__status-icon-unknown': 'tinymce__oxide--tox-control-wrap__status-icon-unknown',\n 'tox-control-wrap--status-valid': 'tinymce__oxide--tox-control-wrap--status-valid',\n 'tox-control-wrap__status-icon-valid': 'tinymce__oxide--tox-control-wrap__status-icon-valid',\n 'tox-control-wrap__status-icon-wrap': 'tinymce__oxide--tox-control-wrap__status-icon-wrap',\n 'tox-textfield': 'tinymce__oxide--tox-textfield',\n 'tox-autocompleter': 'tinymce__oxide--tox-autocompleter',\n 'tox-menu': 'tinymce__oxide--tox-menu',\n 'tox-autocompleter-highlight': 'tinymce__oxide--tox-autocompleter-highlight',\n 'tox-color-input': 'tinymce__oxide--tox-color-input',\n 'tox-label': 'tinymce__oxide--tox-label',\n 'tox-toolbar-label': 'tinymce__oxide--tox-toolbar-label',\n 'tox-form': 'tinymce__oxide--tox-form',\n 'tox-form-group--maximize': 'tinymce__oxide--tox-form-group--maximize',\n 'tox-form__group--error': 'tinymce__oxide--tox-form__group--error',\n 'tox-form__group--collection': 'tinymce__oxide--tox-form__group--collection',\n 'tox-form__grid': 'tinymce__oxide--tox-form__grid',\n 'tox-form__grid--2col': 'tinymce__oxide--tox-form__grid--2col',\n 'tox-form__grid--3col': 'tinymce__oxide--tox-form__grid--3col',\n 'tox-form__grid--4col': 'tinymce__oxide--tox-form__grid--4col',\n 'tox-form__controls-h-stack': 'tinymce__oxide--tox-form__controls-h-stack',\n 'tox-form__group--inline': 'tinymce__oxide--tox-form__group--inline',\n 'tox-form__group--stretched': 'tinymce__oxide--tox-form__group--stretched',\n 'tox-textarea': 'tinymce__oxide--tox-textarea',\n 'tox-lock': 'tinymce__oxide--tox-lock',\n 'tox-locked': 'tinymce__oxide--tox-locked',\n 'tox-lock-icon__unlock': 'tinymce__oxide--tox-lock-icon__unlock',\n 'tox-lock-icon__lock': 'tinymce__oxide--tox-lock-icon__lock',\n 'tox-listboxfield': 'tinymce__oxide--tox-listboxfield',\n 'tox-listbox--select': 'tinymce__oxide--tox-listbox--select',\n 'tox-toolbar-textfield': 'tinymce__oxide--tox-toolbar-textfield',\n 'tox-naked-btn': 'tinymce__oxide--tox-naked-btn',\n 'tox-listbox__select-label': 'tinymce__oxide--tox-listbox__select-label',\n 'tox-listbox__select-chevron': 'tinymce__oxide--tox-listbox__select-chevron',\n 'tox-selectfield': 'tinymce__oxide--tox-selectfield',\n 'tox-fullscreen': 'tinymce__oxide--tox-fullscreen',\n 'tox-statusbar__resize-handle': 'tinymce__oxide--tox-statusbar__resize-handle',\n 'tox-shadowhost': 'tinymce__oxide--tox-shadowhost',\n 'tox-help__more-link': 'tinymce__oxide--tox-help__more-link',\n 'tox-image-tools': 'tinymce__oxide--tox-image-tools',\n 'tox-image-tools__toolbar': 'tinymce__oxide--tox-image-tools__toolbar',\n 'tox-image-tools__image': 'tinymce__oxide--tox-image-tools__image',\n 'tox-image-tools__image-bg': 'tinymce__oxide--tox-image-tools__image-bg',\n 'tox-spacer': 'tinymce__oxide--tox-spacer',\n 'tox-croprect-block': 'tinymce__oxide--tox-croprect-block',\n 'tox-croprect-handle': 'tinymce__oxide--tox-croprect-handle',\n 'tox-croprect-handle-move': 'tinymce__oxide--tox-croprect-handle-move',\n 'tox-croprect-handle-nw': 'tinymce__oxide--tox-croprect-handle-nw',\n 'tox-croprect-handle-ne': 'tinymce__oxide--tox-croprect-handle-ne',\n 'tox-croprect-handle-sw': 'tinymce__oxide--tox-croprect-handle-sw',\n 'tox-croprect-handle-se': 'tinymce__oxide--tox-croprect-handle-se',\n 'tox-slider': 'tinymce__oxide--tox-slider',\n 'tox-insert-table-picker': 'tinymce__oxide--tox-insert-table-picker',\n 'tox-insert-table-picker__selected': 'tinymce__oxide--tox-insert-table-picker__selected',\n 'tox-insert-table-picker__label': 'tinymce__oxide--tox-insert-table-picker__label',\n 'tox-menu__label': 'tinymce__oxide--tox-menu__label',\n 'tox-menubar': 'tinymce__oxide--tox-menubar',\n 'tox-mbtn': 'tinymce__oxide--tox-mbtn',\n 'tox-mbtn--active': 'tinymce__oxide--tox-mbtn--active',\n 'tox-mbtn__select-label': 'tinymce__oxide--tox-mbtn__select-label',\n 'tox-mbtn__select-chevron': 'tinymce__oxide--tox-mbtn__select-chevron',\n 'tox-notification': 'tinymce__oxide--tox-notification',\n 'tox-notification--in': 'tinymce__oxide--tox-notification--in',\n 'tox-notification--success': 'tinymce__oxide--tox-notification--success',\n 'tox-notification--error': 'tinymce__oxide--tox-notification--error',\n 'tox-notification--warn': 'tinymce__oxide--tox-notification--warn',\n 'tox-notification--warning': 'tinymce__oxide--tox-notification--warning',\n 'tox-notification--info': 'tinymce__oxide--tox-notification--info',\n 'tox-notification__body': 'tinymce__oxide--tox-notification__body',\n 'tox-notification__icon': 'tinymce__oxide--tox-notification__icon',\n 'tox-notification__dismiss': 'tinymce__oxide--tox-notification__dismiss',\n 'tox-progress-bar': 'tinymce__oxide--tox-progress-bar',\n 'tox-pop': 'tinymce__oxide--tox-pop',\n 'tox-pop--resizing': 'tinymce__oxide--tox-pop--resizing',\n 'tox-pop__dialog': 'tinymce__oxide--tox-pop__dialog',\n 'tox-pop--bottom': 'tinymce__oxide--tox-pop--bottom',\n 'tox-pop--top': 'tinymce__oxide--tox-pop--top',\n 'tox-pop--left': 'tinymce__oxide--tox-pop--left',\n 'tox-pop--right': 'tinymce__oxide--tox-pop--right',\n 'tox-pop--align-left': 'tinymce__oxide--tox-pop--align-left',\n 'tox-pop--align-right': 'tinymce__oxide--tox-pop--align-right',\n 'tox-sidebar-wrap': 'tinymce__oxide--tox-sidebar-wrap',\n 'tox-sidebar': 'tinymce__oxide--tox-sidebar',\n 'tox-sidebar__slider': 'tinymce__oxide--tox-sidebar__slider',\n 'tox-sidebar__pane-container': 'tinymce__oxide--tox-sidebar__pane-container',\n 'tox-sidebar__pane': 'tinymce__oxide--tox-sidebar__pane',\n 'tox-sidebar--sliding-closed': 'tinymce__oxide--tox-sidebar--sliding-closed',\n 'tox-sidebar--sliding-open': 'tinymce__oxide--tox-sidebar--sliding-open',\n 'tox-sidebar--sliding-growing': 'tinymce__oxide--tox-sidebar--sliding-growing',\n 'tox-sidebar--sliding-shrinking': 'tinymce__oxide--tox-sidebar--sliding-shrinking',\n 'tox-selector': 'tinymce__oxide--tox-selector',\n 'tox-platform-touch': 'tinymce__oxide--tox-platform-touch',\n 'tox-slider__rail': 'tinymce__oxide--tox-slider__rail',\n 'tox-slider__handle': 'tinymce__oxide--tox-slider__handle',\n 'tox-source-code': 'tinymce__oxide--tox-source-code',\n 'tox-spinner': 'tinymce__oxide--tox-spinner',\n 'tam-bouncing-dots': 'tinymce__oxide--tam-bouncing-dots',\n 'tox-statusbar': 'tinymce__oxide--tox-statusbar',\n 'tox-statusbar__text-container': 'tinymce__oxide--tox-statusbar__text-container',\n 'tox-statusbar__path': 'tinymce__oxide--tox-statusbar__path',\n 'tox-statusbar__wordcount': 'tinymce__oxide--tox-statusbar__wordcount',\n 'tox-statusbar__path-item': 'tinymce__oxide--tox-statusbar__path-item',\n 'tox-statusbar__branding': 'tinymce__oxide--tox-statusbar__branding',\n 'tox-throbber': 'tinymce__oxide--tox-throbber',\n 'tox-throbber__busy-spinner': 'tinymce__oxide--tox-throbber__busy-spinner',\n 'tox-tbtn': 'tinymce__oxide--tox-tbtn',\n 'tox-tbtn-more': 'tinymce__oxide--tox-tbtn-more',\n 'tox-tbtn--disabled': 'tinymce__oxide--tox-tbtn--disabled',\n 'tox-tbtn--enabled': 'tinymce__oxide--tox-tbtn--enabled',\n 'tox-tbtn--md': 'tinymce__oxide--tox-tbtn--md',\n 'tox-tbtn--lg': 'tinymce__oxide--tox-tbtn--lg',\n 'tox-tbtn--return': 'tinymce__oxide--tox-tbtn--return',\n 'tox-tbtn--labeled': 'tinymce__oxide--tox-tbtn--labeled',\n 'tox-tbtn__vlabel': 'tinymce__oxide--tox-tbtn__vlabel',\n 'tox-tbtn--select': 'tinymce__oxide--tox-tbtn--select',\n 'tox-tbtn__select-label': 'tinymce__oxide--tox-tbtn__select-label',\n 'tox-tbtn__select-chevron': 'tinymce__oxide--tox-tbtn__select-chevron',\n 'tox-tbtn--bespoke': 'tinymce__oxide--tox-tbtn--bespoke',\n 'tox-split-button': 'tinymce__oxide--tox-split-button',\n 'tox-split-button__chevron': 'tinymce__oxide--tox-split-button__chevron',\n 'tox-toolbar-overlord': 'tinymce__oxide--tox-toolbar-overlord',\n 'tox-toolbar__overflow--closed': 'tinymce__oxide--tox-toolbar__overflow--closed',\n 'tox-toolbar__overflow--growing': 'tinymce__oxide--tox-toolbar__overflow--growing',\n 'tox-toolbar__overflow--shrinking': 'tinymce__oxide--tox-toolbar__overflow--shrinking',\n 'tox-toolbar--scrolling': 'tinymce__oxide--tox-toolbar--scrolling',\n 'tox-toolbar--no-divider': 'tinymce__oxide--tox-toolbar--no-divider',\n 'tox-tbtn__icon-rtl': 'tinymce__oxide--tox-tbtn__icon-rtl',\n 'tox-toolbar__group': 'tinymce__oxide--tox-toolbar__group',\n 'tox-toolbar__group--pull-right': 'tinymce__oxide--tox-toolbar__group--pull-right',\n 'tox-tooltip': 'tinymce__oxide--tox-tooltip',\n 'tox-tooltip__body': 'tinymce__oxide--tox-tooltip__body',\n 'tox-tooltip__arrow': 'tinymce__oxide--tox-tooltip__arrow',\n 'tox-tooltip--down': 'tinymce__oxide--tox-tooltip--down',\n 'tox-tooltip--up': 'tinymce__oxide--tox-tooltip--up',\n 'tox-tooltip--right': 'tinymce__oxide--tox-tooltip--right',\n 'tox-tooltip--left': 'tinymce__oxide--tox-tooltip--left',\n 'tox-well': 'tinymce__oxide--tox-well',\n 'tox-custom-editor': 'tinymce__oxide--tox-custom-editor',\n 'tox-dialog-loading': 'tinymce__oxide--tox-dialog-loading',\n 'tox-tab': 'tinymce__oxide--tox-tab',\n 'tox-dialog__content-js': 'tinymce__oxide--tox-dialog__content-js',\n 'tox-image-tools-edit-panel': 'tinymce__oxide--tox-image-tools-edit-panel',\n 'tox-image-tools__sidebar': 'tinymce__oxide--tox-image-tools__sidebar'\n};\nconst contentCSSBinding = {\n componentId: 'bKkob',\n template: function (theme) {\n return `\n\n\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-item-anchor {\n background: transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;\n cursor: default;\n display: inline-block;\n height: 12px !important;\n padding: 0 2px;\n -webkit-user-modify: read-only;\n -moz-user-modify: read-only;\n -webkit-user-select: all;\n user-select: all;\n width: 8px !important;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-item-anchor[data-mce-selected] {\n outline-offset: 1px;\n}\n.tinymce__oxide--tox-comments-visible .tinymce__oxide--tox-comment {\n background-color: #fff0b7;\n}\n.tinymce__oxide--tox-comments-visible .tinymce__oxide--tox-comment--active {\n background-color: #ffe168;\n}\n.tinymce__oxide--tox-checklist > li:not(.tinymce__oxide--tox-checklist--hidden) {\n list-style: none;\n margin: 0.25em 0;\n}\n.tinymce__oxide--tox-checklist > li:not(.tinymce__oxide--tox-checklist--hidden)::before {\n content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");\n cursor: pointer;\n height: 1em;\n margin-left: -1.5em;\n margin-top: 0.125em;\n position: absolute;\n width: 1em;\n}\n.tinymce__oxide--tox-checklist li:not(.tinymce__oxide--tox-checklist--hidden).tinymce__oxide--tox-checklist--checked::before {\n content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");\n}\n[dir=rtl] .tinymce__oxide--tox-checklist > li:not(.tinymce__oxide--tox-checklist--hidden)::before {\n margin-left: 0;\n margin-right: -1.5em;\n}\n\n\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n color: black;\n background: none;\n text-shadow: 0 1px white;\n font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n font-size: 1em;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n tab-size: 4;\n -webkit-hyphens: none;\n hyphens: none;\n}\n[dir=\"ltr\"] code[class*=\"language-\"],\n[dir=\"ltr\"] pre[class*=\"language-\"] {\n text-align: left;\n}\n[dir=\"rtl\"] code[class*=\"language-\"],\n[dir=\"rtl\"] pre[class*=\"language-\"] {\n text-align: left;\n}\npre[class*=\"language-\"]::selection,\npre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"]::selection,\ncode[class*=\"language-\"] ::selection {\n text-shadow: none;\n background: #b3d4fc;\n}\n@media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n text-shadow: none;\n }\n}\n\npre[class*=\"language-\"] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n}\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n background: #f5f2f0;\n}\n\n:not(pre) > code[class*=\"language-\"] {\n padding: 0.1em;\n border-radius: 0.3em;\n white-space: normal;\n}\n.tinymce__oxide--token.tinymce__oxide--comment,\n.tinymce__oxide--token.tinymce__oxide--prolog,\n.tinymce__oxide--token.tinymce__oxide--doctype,\n.tinymce__oxide--token.tinymce__oxide--cdata {\n color: slategray;\n}\n.tinymce__oxide--token.tinymce__oxide--punctuation {\n color: #999;\n}\n.tinymce__oxide--namespace {\n opacity: 0.7;\n}\n.tinymce__oxide--token.tinymce__oxide--property,\n.tinymce__oxide--token.tinymce__oxide--tag,\n.tinymce__oxide--token.tinymce__oxide--boolean,\n.tinymce__oxide--token.tinymce__oxide--number,\n.tinymce__oxide--token.tinymce__oxide--constant,\n.tinymce__oxide--token.tinymce__oxide--symbol,\n.tinymce__oxide--token.tinymce__oxide--deleted {\n color: #905;\n}\n.tinymce__oxide--token.tinymce__oxide--selector,\n.tinymce__oxide--token.tinymce__oxide--attr-name,\n.tinymce__oxide--token.tinymce__oxide--string,\n.tinymce__oxide--token.tinymce__oxide--char,\n.tinymce__oxide--token.tinymce__oxide--builtin,\n.tinymce__oxide--token.tinymce__oxide--inserted {\n color: #690;\n}\n.tinymce__oxide--token.tinymce__oxide--operator,\n.tinymce__oxide--token.tinymce__oxide--entity,\n.tinymce__oxide--token.tinymce__oxide--url,\n.tinymce__oxide--language-css .tinymce__oxide--token.tinymce__oxide--string,\n.tinymce__oxide--style .tinymce__oxide--token.tinymce__oxide--string {\n color: #9a6e3a;\n background: hsla(0, 0%, 100%, 0.5);\n}\n.tinymce__oxide--token.tinymce__oxide--atrule,\n.tinymce__oxide--token.tinymce__oxide--attr-value,\n.tinymce__oxide--token.tinymce__oxide--keyword {\n color: #07a;\n}\n.tinymce__oxide--token.tinymce__oxide--function,\n.tinymce__oxide--token.tinymce__oxide--class-name {\n color: #DD4A68;\n}\n.tinymce__oxide--token.tinymce__oxide--regex,\n.tinymce__oxide--token.tinymce__oxide--important,\n.tinymce__oxide--token.tinymce__oxide--variable {\n color: #e90;\n}\n.tinymce__oxide--token.tinymce__oxide--important,\n.tinymce__oxide--token.tinymce__oxide--bold {\n font-weight: bold;\n}\n.tinymce__oxide--token.tinymce__oxide--italic {\n font-style: italic;\n}\n.tinymce__oxide--token.tinymce__oxide--entity {\n cursor: help;\n}\n\n.tinymce__oxide--mce-content-body {\n overflow-wrap: break-word;\n word-wrap: break-word;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-visual-caret {\n background-color: black;\n background-color: currentColor;\n position: absolute;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-visual-caret-hidden {\n display: none;\n}\n.tinymce__oxide--mce-content-body *[data-mce-caret] {\n left: -1000px;\n margin: 0;\n padding: 0;\n position: absolute;\n right: auto;\n top: 0;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-offscreen-selection {\n left: -2000000px;\n max-width: 1000000px;\n position: absolute;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false] {\n cursor: default;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=true] {\n cursor: text;\n}\n.tinymce__oxide--tox-cursor-format-painter {\n cursor: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"), default;\n}\n.tinymce__oxide--mce-content-body figure.tinymce__oxide--align-left {\n float: left;\n}\n[dir=\"ltr\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-left {\n float: left;\n}\n[dir=\"rtl\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-left {\n float: left;\n}\n.tinymce__oxide--mce-content-body figure.tinymce__oxide--align-right {\n float: right;\n}\n[dir=\"ltr\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-right {\n float: right;\n}\n[dir=\"rtl\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-right {\n float: right;\n}\n.tinymce__oxide--mce-content-body figure.tinymce__oxide--image.tinymce__oxide--align-center {\n display: table;\n margin-left: auto;\n margin-right: auto;\n}\n.tinymce__oxide--mce-preview-object {\n border: 1px solid gray;\n display: inline-block;\n line-height: 0;\n margin: 0 2px 0 2px;\n position: relative;\n}\n.tinymce__oxide--mce-preview-object .tinymce__oxide--mce-shim {\n background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.tinymce__oxide--mce-preview-object[data-mce-selected=\"2\"] .tinymce__oxide--mce-shim {\n display: none;\n}\n.tinymce__oxide--mce-object {\n background: transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;\n border: 1px dashed #aaa;\n}\n.tinymce__oxide--mce-pagebreak {\n border: 1px dashed #aaa;\n cursor: default;\n display: block;\n height: 5px;\n margin-top: 15px;\n page-break-before: always;\n width: 100%;\n}\n@media print {\n .tinymce__oxide--mce-pagebreak {\n border: 0;\n }\n}\n.tinymce__oxide--tiny-pageembed .tinymce__oxide--mce-shim {\n background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.tinymce__oxide--tiny-pageembed[data-mce-selected=\"2\"] .tinymce__oxide--mce-shim {\n display: none;\n}\n.tinymce__oxide--tiny-pageembed {\n display: inline-block;\n position: relative;\n}\n.tinymce__oxide--tiny-pageembed--21by9,\n.tinymce__oxide--tiny-pageembed--16by9,\n.tinymce__oxide--tiny-pageembed--4by3,\n.tinymce__oxide--tiny-pageembed--1by1 {\n display: block;\n overflow: hidden;\n padding: 0;\n position: relative;\n width: 100%;\n}\n.tinymce__oxide--tiny-pageembed--21by9 {\n padding-top: 42.857143%;\n}\n.tinymce__oxide--tiny-pageembed--16by9 {\n padding-top: 56.25%;\n}\n.tinymce__oxide--tiny-pageembed--4by3 {\n padding-top: 75%;\n}\n.tinymce__oxide--tiny-pageembed--1by1 {\n padding-top: 100%;\n}\n.tinymce__oxide--tiny-pageembed--21by9 iframe,\n.tinymce__oxide--tiny-pageembed--16by9 iframe,\n.tinymce__oxide--tiny-pageembed--4by3 iframe,\n.tinymce__oxide--tiny-pageembed--1by1 iframe {\n border: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.tinymce__oxide--mce-content-body[data-mce-placeholder] {\n position: relative;\n}\n.tinymce__oxide--mce-content-body[data-mce-placeholder]:not(.tinymce__oxide--mce-visualblocks)::before {\n color: rgba(34, 47, 62, 0.7);\n content: attr(data-mce-placeholder);\n position: absolute;\n}\n.tinymce__oxide--mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.tinymce__oxide--mce-visualblocks)::before {\n left: 1px;\n}\n.tinymce__oxide--mce-content-body[dir=rtl][data-mce-placeholder]:not(.tinymce__oxide--mce-visualblocks)::before {\n right: 1px;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle {\n background-color: #4099ff;\n border-color: #4099ff;\n border-style: solid;\n border-width: 1px;\n box-sizing: border-box;\n height: 10px;\n position: absolute;\n width: 10px;\n z-index: 10000;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:hover {\n background-color: #4099ff;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(1) {\n cursor: nwse-resize;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(2) {\n cursor: nesw-resize;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(3) {\n cursor: nwse-resize;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(4) {\n cursor: nesw-resize;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-resize-backdrop {\n z-index: 10000;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-clonedresizable {\n cursor: default;\n opacity: 0.5;\n outline: 1px dashed black;\n position: absolute;\n z-index: 10001;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-clonedresizable.tinymce__oxide--mce-resizetable-columns th,\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-clonedresizable.tinymce__oxide--mce-resizetable-columns td {\n border: 0;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-resize-helper {\n background: #555;\n background: rgba(0, 0, 0, 0.75);\n border: 1px;\n border-radius: 3px;\n color: white;\n display: none;\n font-family: sans-serif;\n font-size: 12px;\n line-height: 14px;\n margin: 5px 10px;\n padding: 5px;\n position: absolute;\n white-space: nowrap;\n z-index: 10002;\n}\n.tinymce__oxide--tox-rtc-user-selection {\n position: relative;\n}\n.tinymce__oxide--tox-rtc-user-cursor {\n bottom: 0;\n cursor: default;\n position: absolute;\n top: 0;\n width: 2px;\n}\n.tinymce__oxide--tox-rtc-user-cursor::before {\n background-color: inherit;\n border-radius: 50%;\n content: '';\n display: block;\n height: 8px;\n position: absolute;\n right: -3px;\n top: -3px;\n width: 8px;\n}\n.tinymce__oxide--tox-rtc-user-cursor:hover::after {\n background-color: inherit;\n border-radius: 100px;\n box-sizing: border-box;\n color: #fff;\n content: attr(data-user);\n display: block;\n font-size: 12px;\n font-weight: bold;\n left: -5px;\n min-height: 8px;\n min-width: 8px;\n padding: 0 12px;\n position: absolute;\n top: -11px;\n white-space: nowrap;\n z-index: 1000;\n}\n.tinymce__oxide--tox-rtc-user-selection--1 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #2dc26b;\n}\n.tinymce__oxide--tox-rtc-user-selection--2 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #e03e2d;\n}\n.tinymce__oxide--tox-rtc-user-selection--3 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #f1c40f;\n}\n.tinymce__oxide--tox-rtc-user-selection--4 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #3598db;\n}\n.tinymce__oxide--tox-rtc-user-selection--5 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #b96ad9;\n}\n.tinymce__oxide--tox-rtc-user-selection--6 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #e67e23;\n}\n.tinymce__oxide--tox-rtc-user-selection--7 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #aaa69d;\n}\n.tinymce__oxide--tox-rtc-user-selection--8 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #f368e0;\n}\n.tinymce__oxide--tox-rtc-remote-image {\n background: #eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;\n border: 1px solid #ccc;\n min-height: 240px;\n min-width: 320px;\n}\n.tinymce__oxide--mce-match-marker {\n background: #aaa;\n color: #fff;\n}\n.tinymce__oxide--mce-match-marker-selected {\n background: #39f;\n color: #fff;\n}\n.tinymce__oxide--mce-match-marker-selected::selection {\n background: #39f;\n color: #fff;\n}\n.tinymce__oxide--mce-content-body img[data-mce-selected],\n.tinymce__oxide--mce-content-body video[data-mce-selected],\n.tinymce__oxide--mce-content-body audio[data-mce-selected],\n.tinymce__oxide--mce-content-body object[data-mce-selected],\n.tinymce__oxide--mce-content-body embed[data-mce-selected],\n.tinymce__oxide--mce-content-body table[data-mce-selected] {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body hr[data-mce-selected] {\n outline: 3px solid #b4d7ff;\n outline-offset: 1px;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false][data-mce-selected] {\n cursor: not-allowed;\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body.tinymce__oxide--mce-content-readonly *[contentEditable=true]:focus,\n.tinymce__oxide--mce-content-body.tinymce__oxide--mce-content-readonly *[contentEditable=true]:hover {\n outline: none;\n}\n.tinymce__oxide--mce-content-body *[data-mce-selected=\"inline-boundary\"] {\n background-color: #b4d7ff;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-edit-focus {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected],\n.tinymce__oxide--mce-content-body th[data-mce-selected] {\n position: relative;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected]::selection,\n.tinymce__oxide--mce-content-body th[data-mce-selected]::selection {\n background: none;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected] *,\n.tinymce__oxide--mce-content-body th[data-mce-selected] * {\n outline: none;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n user-select: none;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected]::after,\n.tinymce__oxide--mce-content-body th[data-mce-selected]::after {\n background-color: rgba(180, 215, 255, 0.7);\n border: 1px solid rgba(180, 215, 255, 0.7);\n bottom: -1px;\n content: '';\n left: -1px;\n mix-blend-mode: multiply;\n position: absolute;\n right: -1px;\n top: -1px;\n}\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .tinymce__oxide--mce-content-body td[data-mce-selected]::after,\n .tinymce__oxide--mce-content-body th[data-mce-selected]::after {\n border-color: rgba(0, 84, 180, 0.7);\n }\n}\n.tinymce__oxide--mce-content-body img::selection {\n background: none;\n}\n.tinymce__oxide--ephox-snooker-resizer-bar {\n background-color: #b4d7ff;\n opacity: 0;\n -webkit-user-select: none;\n user-select: none;\n}\n.tinymce__oxide--ephox-snooker-resizer-cols {\n cursor: col-resize;\n}\n.tinymce__oxide--ephox-snooker-resizer-rows {\n cursor: row-resize;\n}\n.tinymce__oxide--ephox-snooker-resizer-bar.tinymce__oxide--ephox-snooker-resizer-bar-dragging {\n opacity: 1;\n}\n.tinymce__oxide--mce-spellchecker-word {\n background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");\n background-position: 0 calc(100% + 1px);\n background-repeat: repeat-x;\n background-size: auto 6px;\n cursor: default;\n height: 2rem;\n}\n.tinymce__oxide--mce-spellchecker-grammar {\n background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");\n background-position: 0 calc(100% + 1px);\n background-repeat: repeat-x;\n background-size: auto 6px;\n cursor: default;\n}\n.tinymce__oxide--mce-toc {\n border: 1px solid gray;\n}\n.tinymce__oxide--mce-toc h2 {\n margin: 4px;\n}\n.tinymce__oxide--mce-toc li {\n list-style-type: none;\n}\ntable[style*=\"border-width: 0px\"],\n.tinymce__oxide--mce-item-table:not([border]),\n.tinymce__oxide--mce-item-table[border=\"0\"],\ntable[style*=\"border-width: 0px\"] td,\n.tinymce__oxide--mce-item-table:not([border]) td,\n.tinymce__oxide--mce-item-table[border=\"0\"] td,\ntable[style*=\"border-width: 0px\"] th,\n.tinymce__oxide--mce-item-table:not([border]) th,\n.tinymce__oxide--mce-item-table[border=\"0\"] th,\ntable[style*=\"border-width: 0px\"] caption,\n.tinymce__oxide--mce-item-table:not([border]) caption,\n.tinymce__oxide--mce-item-table[border=\"0\"] caption {\n border: 1px dashed #bbb;\n}\n.tinymce__oxide--mce-visualblocks p,\n.tinymce__oxide--mce-visualblocks h1,\n.tinymce__oxide--mce-visualblocks h2,\n.tinymce__oxide--mce-visualblocks h3,\n.tinymce__oxide--mce-visualblocks h4,\n.tinymce__oxide--mce-visualblocks h5,\n.tinymce__oxide--mce-visualblocks h6,\n.tinymce__oxide--mce-visualblocks div:not([data-mce-bogus]),\n.tinymce__oxide--mce-visualblocks section,\n.tinymce__oxide--mce-visualblocks article,\n.tinymce__oxide--mce-visualblocks blockquote,\n.tinymce__oxide--mce-visualblocks address,\n.tinymce__oxide--mce-visualblocks pre,\n.tinymce__oxide--mce-visualblocks figure,\n.tinymce__oxide--mce-visualblocks figcaption,\n.tinymce__oxide--mce-visualblocks hgroup,\n.tinymce__oxide--mce-visualblocks aside,\n.tinymce__oxide--mce-visualblocks ul,\n.tinymce__oxide--mce-visualblocks ol,\n.tinymce__oxide--mce-visualblocks dl {\n background-repeat: no-repeat;\n border: 1px dashed #bbb;\n margin-left: 3px;\n padding-top: 10px;\n}\n.tinymce__oxide--mce-visualblocks p {\n background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);\n}\n.tinymce__oxide--mce-visualblocks h1 {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);\n}\n.tinymce__oxide--mce-visualblocks h2 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);\n}\n.tinymce__oxide--mce-visualblocks h3 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);\n}\n.tinymce__oxide--mce-visualblocks h4 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);\n}\n.tinymce__oxide--mce-visualblocks h5 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);\n}\n.tinymce__oxide--mce-visualblocks h6 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);\n}\n.tinymce__oxide--mce-visualblocks div:not([data-mce-bogus]) {\n background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);\n}\n.tinymce__oxide--mce-visualblocks section {\n background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);\n}\n.tinymce__oxide--mce-visualblocks article {\n background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);\n}\n.tinymce__oxide--mce-visualblocks blockquote {\n background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);\n}\n.tinymce__oxide--mce-visualblocks address {\n background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);\n}\n.tinymce__oxide--mce-visualblocks pre {\n background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);\n}\n.tinymce__oxide--mce-visualblocks figure {\n background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);\n}\n.tinymce__oxide--mce-visualblocks figcaption {\n border: 1px dashed #bbb;\n}\n.tinymce__oxide--mce-visualblocks hgroup {\n background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);\n}\n.tinymce__oxide--mce-visualblocks aside {\n background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);\n}\n.tinymce__oxide--mce-visualblocks ul {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);\n}\n.tinymce__oxide--mce-visualblocks ol {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);\n}\n.tinymce__oxide--mce-visualblocks dl {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);\n}\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) p,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h1,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h2,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h3,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h4,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h5,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h6,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) section,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) article,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) blockquote,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) address,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) pre,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) figure,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) figcaption,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) hgroup,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) aside,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) ul,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) ol,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) dl {\n margin-left: 3px;\n}\n.tinymce__oxide--mce-visualblocks[dir=rtl] p,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h1,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h2,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h3,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h4,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h5,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h6,\n.tinymce__oxide--mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),\n.tinymce__oxide--mce-visualblocks[dir=rtl] section,\n.tinymce__oxide--mce-visualblocks[dir=rtl] article,\n.tinymce__oxide--mce-visualblocks[dir=rtl] blockquote,\n.tinymce__oxide--mce-visualblocks[dir=rtl] address,\n.tinymce__oxide--mce-visualblocks[dir=rtl] pre,\n.tinymce__oxide--mce-visualblocks[dir=rtl] figure,\n.tinymce__oxide--mce-visualblocks[dir=rtl] figcaption,\n.tinymce__oxide--mce-visualblocks[dir=rtl] hgroup,\n.tinymce__oxide--mce-visualblocks[dir=rtl] aside,\n.tinymce__oxide--mce-visualblocks[dir=rtl] ul,\n.tinymce__oxide--mce-visualblocks[dir=rtl] ol,\n.tinymce__oxide--mce-visualblocks[dir=rtl] dl {\n background-position-x: right;\n margin-right: 3px;\n}\n.tinymce__oxide--mce-nbsp,\n.tinymce__oxide--mce-shy {\n background: #aaa;\n}\n.tinymce__oxide--mce-shy::after {\n content: '-';\n}\nbody {\n font-family: sans-serif;\n}\ntable {\n border-collapse: collapse;\n}\n`;\n },\n 'mce-content-body': 'tinymce__oxide--mce-content-body',\n 'mce-item-anchor': 'tinymce__oxide--mce-item-anchor',\n 'tox-comments-visible': 'tinymce__oxide--tox-comments-visible',\n 'tox-comment': 'tinymce__oxide--tox-comment',\n 'tox-comment--active': 'tinymce__oxide--tox-comment--active',\n 'tox-checklist': 'tinymce__oxide--tox-checklist',\n 'tox-checklist--hidden': 'tinymce__oxide--tox-checklist--hidden',\n 'tox-checklist--checked': 'tinymce__oxide--tox-checklist--checked',\n 'token': 'tinymce__oxide--token',\n 'comment': 'tinymce__oxide--comment',\n 'prolog': 'tinymce__oxide--prolog',\n 'doctype': 'tinymce__oxide--doctype',\n 'cdata': 'tinymce__oxide--cdata',\n 'punctuation': 'tinymce__oxide--punctuation',\n 'namespace': 'tinymce__oxide--namespace',\n 'property': 'tinymce__oxide--property',\n 'tag': 'tinymce__oxide--tag',\n 'boolean': 'tinymce__oxide--boolean',\n 'number': 'tinymce__oxide--number',\n 'constant': 'tinymce__oxide--constant',\n 'symbol': 'tinymce__oxide--symbol',\n 'deleted': 'tinymce__oxide--deleted',\n 'selector': 'tinymce__oxide--selector',\n 'attr-name': 'tinymce__oxide--attr-name',\n 'string': 'tinymce__oxide--string',\n 'char': 'tinymce__oxide--char',\n 'builtin': 'tinymce__oxide--builtin',\n 'inserted': 'tinymce__oxide--inserted',\n 'operator': 'tinymce__oxide--operator',\n 'entity': 'tinymce__oxide--entity',\n 'url': 'tinymce__oxide--url',\n 'language-css': 'tinymce__oxide--language-css',\n 'style': 'tinymce__oxide--style',\n 'atrule': 'tinymce__oxide--atrule',\n 'attr-value': 'tinymce__oxide--attr-value',\n 'keyword': 'tinymce__oxide--keyword',\n 'function': 'tinymce__oxide--function',\n 'class-name': 'tinymce__oxide--class-name',\n 'regex': 'tinymce__oxide--regex',\n 'important': 'tinymce__oxide--important',\n 'variable': 'tinymce__oxide--variable',\n 'bold': 'tinymce__oxide--bold',\n 'italic': 'tinymce__oxide--italic',\n 'mce-visual-caret': 'tinymce__oxide--mce-visual-caret',\n 'mce-visual-caret-hidden': 'tinymce__oxide--mce-visual-caret-hidden',\n 'mce-offscreen-selection': 'tinymce__oxide--mce-offscreen-selection',\n 'tox-cursor-format-painter': 'tinymce__oxide--tox-cursor-format-painter',\n 'align-left': 'tinymce__oxide--align-left',\n 'align-right': 'tinymce__oxide--align-right',\n 'image': 'tinymce__oxide--image',\n 'align-center': 'tinymce__oxide--align-center',\n 'mce-preview-object': 'tinymce__oxide--mce-preview-object',\n 'mce-shim': 'tinymce__oxide--mce-shim',\n 'mce-object': 'tinymce__oxide--mce-object',\n 'mce-pagebreak': 'tinymce__oxide--mce-pagebreak',\n 'tiny-pageembed': 'tinymce__oxide--tiny-pageembed',\n 'tiny-pageembed--21by9': 'tinymce__oxide--tiny-pageembed--21by9',\n 'tiny-pageembed--16by9': 'tinymce__oxide--tiny-pageembed--16by9',\n 'tiny-pageembed--4by3': 'tinymce__oxide--tiny-pageembed--4by3',\n 'tiny-pageembed--1by1': 'tinymce__oxide--tiny-pageembed--1by1',\n 'mce-visualblocks': 'tinymce__oxide--mce-visualblocks',\n 'mce-resizehandle': 'tinymce__oxide--mce-resizehandle',\n 'mce-resize-backdrop': 'tinymce__oxide--mce-resize-backdrop',\n 'mce-clonedresizable': 'tinymce__oxide--mce-clonedresizable',\n 'mce-resizetable-columns': 'tinymce__oxide--mce-resizetable-columns',\n 'mce-resize-helper': 'tinymce__oxide--mce-resize-helper',\n 'tox-rtc-user-selection': 'tinymce__oxide--tox-rtc-user-selection',\n 'tox-rtc-user-cursor': 'tinymce__oxide--tox-rtc-user-cursor',\n 'tox-rtc-user-selection--1': 'tinymce__oxide--tox-rtc-user-selection--1',\n 'tox-rtc-user-selection--2': 'tinymce__oxide--tox-rtc-user-selection--2',\n 'tox-rtc-user-selection--3': 'tinymce__oxide--tox-rtc-user-selection--3',\n 'tox-rtc-user-selection--4': 'tinymce__oxide--tox-rtc-user-selection--4',\n 'tox-rtc-user-selection--5': 'tinymce__oxide--tox-rtc-user-selection--5',\n 'tox-rtc-user-selection--6': 'tinymce__oxide--tox-rtc-user-selection--6',\n 'tox-rtc-user-selection--7': 'tinymce__oxide--tox-rtc-user-selection--7',\n 'tox-rtc-user-selection--8': 'tinymce__oxide--tox-rtc-user-selection--8',\n 'tox-rtc-remote-image': 'tinymce__oxide--tox-rtc-remote-image',\n 'mce-match-marker': 'tinymce__oxide--mce-match-marker',\n 'mce-match-marker-selected': 'tinymce__oxide--mce-match-marker-selected',\n 'mce-content-readonly': 'tinymce__oxide--mce-content-readonly',\n 'mce-edit-focus': 'tinymce__oxide--mce-edit-focus',\n 'ephox-snooker-resizer-bar': 'tinymce__oxide--ephox-snooker-resizer-bar',\n 'ephox-snooker-resizer-cols': 'tinymce__oxide--ephox-snooker-resizer-cols',\n 'ephox-snooker-resizer-rows': 'tinymce__oxide--ephox-snooker-resizer-rows',\n 'ephox-snooker-resizer-bar-dragging': 'tinymce__oxide--ephox-snooker-resizer-bar-dragging',\n 'mce-spellchecker-word': 'tinymce__oxide--mce-spellchecker-word',\n 'mce-spellchecker-grammar': 'tinymce__oxide--mce-spellchecker-grammar',\n 'mce-toc': 'tinymce__oxide--mce-toc',\n 'mce-item-table': 'tinymce__oxide--mce-item-table',\n 'mce-nbsp': 'tinymce__oxide--mce-nbsp',\n 'mce-shy': 'tinymce__oxide--mce-shy'\n};\n\nconst RestoreAutoSaveModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(2), __webpack_require__.e(69)]).then(__webpack_require__.bind(null, /*! ./RestoreAutoSaveModal */ \"./src/rce/RestoreAutoSaveModal.js\")));\nconst RceHtmlEditor = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(25), __webpack_require__.e(68)]).then(__webpack_require__.bind(null, /*! ./RceHtmlEditor */ \"./src/rce/RceHtmlEditor.js\")));\nconst ASYNC_FOCUS_TIMEOUT = 250;\nconst DEFAULT_RCE_HEIGHT = '400px';\nconst toolbarPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // name of the toolbar the items are added to\n // if this toolbar doesn't exist, it is created\n // tinymce toolbar config does not\n // include a key to identify the individual toolbars, just a name\n // which is translated. This toolbar's name must be translated\n // in order to be merged correctly.\n name: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,\n // items added to the toolbar\n // each is the name of the button some plugin has\n // registered with tinymce\n items: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string).isRequired\n}));\nconst menuPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.objectOf( // the key is the name of the menu item a plugin has\n// registered with tinymce. If it does not exist in the\n// default menubar, it will be added.\nprop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // if this is a new menu in the menubar, title is it's label.\n // if these are items being merged into an existing menu, title is ignored\n title: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n // items is a space separated list it menu_items\n // some plugin has registered with tinymce\n items: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired\n}));\nconst ltiToolsPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // id of the tool\n id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number]),\n // is this a favorite tool?\n favorite: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool\n}));\nconst editorOptionsPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // height of the RCE.\n // if a number interpreted as pixels.\n // if a string as a CSS value.\n height: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string]),\n // entries you want merged into the toolbar. See toolBarPropType above.\n toolbar: toolbarPropType,\n // entries you want merged into to the menus. See menuPropType above.\n // If an entry defines a new menu, tinymce's menubar config option will\n // be updated for you. In fact, if you provide an editorOptions.menubar value\n // it will be overwritten.\n menu: menuPropType,\n // additional plugins that get merged into the default list of plugins\n // it is up to you to import the plugin's definition which will\n // register it and any related toolbar or menu entries with tinymce.\n plugins: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string),\n // is this RCE readonly?\n readonly: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool\n});\nconst skinCSS = skinCSSBinding.template().replace(/tinymce__oxide--/g, '');\nconst contentCSS = contentCSSBinding.template().replace(/tinymce__oxide--/g, ''); // If we ever get our jest tests configured so they can handle importing real esModules,\n// we can move this to plugins/instructure-ui-icons/plugin.js like the rest.\n\nfunction addKebabIcon(editor) {\n editor.ui.registry.addIcon('more-drawer', `\n <svg viewBox=\"0 0 1920 1920\">\n <path d=\"M1129.412 1637.647c0 93.448-75.964 169.412-169.412 169.412-93.448 0-169.412-75.964-169.412-169.412 0-93.447 75.964-169.412 169.412-169.412 93.448 0 169.412 75.965 169.412 169.412zm0-677.647c0 93.448-75.964 169.412-169.412 169.412-93.448 0-169.412-75.964-169.412-169.412 0-93.448 75.964-169.412 169.412-169.412 93.448 0 169.412 75.964 169.412 169.412zm0-677.647c0 93.447-75.964 169.412-169.412 169.412-93.448 0-169.412-75.965-169.412-169.412 0-93.448 75.964-169.412 169.412-169.412 93.448 0 169.412 75.964 169.412 169.412z\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"/>\n </svg>\n `);\n} // Get oxide the default skin injected into the DOM before the overrides loaded by themeable\n\n\nlet inserted = false;\n\nfunction injectTinySkin() {\n if (inserted) return;\n inserted = true;\n const style = document.createElement('style');\n style.setAttribute('data-skin', 'tiny oxide skin');\n style.appendChild( // the .replace here is because the ui-themeable babel hook adds that prefix to all the class names\n document.createTextNode(skinCSS));\n const beforeMe = document.head.querySelector('style[data-glamor]') || // find instui's themeable stylesheet\n document.head.querySelector('style') || // find any stylesheet\n document.head.firstElementChild;\n document.head.insertBefore(style, beforeMe);\n}\n\nconst editorWrappers = new WeakMap();\n\nfunction focusToolbar(el) {\n const $firstToolbarButton = el.querySelector('.tox-tbtn');\n $firstToolbarButton && $firstToolbarButton.focus();\n}\n\nfunction focusFirstMenuButton(el) {\n const $firstMenu = el.querySelector('.tox-mbtn');\n $firstMenu && $firstMenu.focus();\n}\n\nfunction isElementWithinTable(node) {\n let elem = node;\n\n while (elem) {\n if (elem.tagName === 'TABLE' || elem.tagName === 'TD' || elem.tagName === 'TH') {\n return true;\n }\n\n elem = elem.parentElement;\n }\n\n return false;\n} // determines if localStorage is available for our use.\n// see https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n\n\nfunction storageAvailable() {\n let storage;\n\n try {\n storage = window.localStorage;\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return e instanceof DOMException && ( // everything except Firefox\n e.code === 22 || // Firefox\n e.code === 1014 || // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' || // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored\n storage && storage.length !== 0;\n }\n}\n\nfunction getHtmlEditorCookie() {\n const value = Object(_common_getCookie__WEBPACK_IMPORTED_MODULE_12__[\"default\"])('rce.htmleditor');\n return value === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"] || value === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] ? value : _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"];\n}\n\nfunction renderLoading() {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Loading');\n} // safari implements only the webkit prefixed version of the fullscreen api\n\n\nconst FS_ELEMENT = document.fullscreenElement === undefined ? 'webkitFullscreenElement' : 'fullscreenElement';\nconst FS_REQUEST = document.body.requestFullscreen ? 'requestFullscreen' : 'webkitRequestFullscreen';\nconst FS_EXIT = document.exitFullscreen ? 'exitFullscreen' : 'webkitExitFullscreen';\nlet alertIdValue = 0;\nlet RCEWrapper = (_dec = Object(_instructure_ui_themeable__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_skins_theme__WEBPACK_IMPORTED_MODULE_27__[\"default\"], styles), _dec(_class = (_class2 = class RCEWrapper extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Component {\n static getByEditor(editor) {\n return editorWrappers.get(editor);\n }\n\n constructor(props) {\n var _this, _props$editorOptions;\n\n super(props);\n _this = this;\n\n this.onRemove = () => {\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].detachEditor(this);\n this.props.onRemove && this.props.onRemove(this);\n };\n\n this.toggleView = newView => {\n // coming from the menubar, we don't have a newView,\n const wasFullscreen = this._isFullscreen();\n\n if (wasFullscreen) this._exitFullscreen();\n let newState;\n\n switch (this.state.editorView) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n newState = {\n editorView: newView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]\n };\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n newState = {\n editorView: newView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]\n };\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n newState = {\n editorView: newView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]\n };\n }\n\n this.setState(newState, () => {\n if (wasFullscreen) {\n window.setTimeout(() => {\n this._enterFullscreen();\n }, 200); // due to the animation it takes some time for fullscreen to complete\n }\n });\n this.checkAccessibility();\n\n if (newView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] || newView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]) {\n document.cookie = `rce.htmleditor=${newView};path=/;max-age=31536000`;\n } // Emit view change event\n\n\n this.mceInstance().fire(_customEvents__WEBPACK_IMPORTED_MODULE_25__[\"VIEW_CHANGE\"], {\n target: this.editor,\n newView: newState.editorView\n });\n };\n\n this.contentTrayClosing = false;\n this.blurTimer = 0;\n\n this.handleFocusRCE = event => {\n this.handleFocus(event);\n };\n\n this.handleBlurRCE = event => {\n var _this$_elementRef$cur;\n\n if (event.relatedTarget === null) {\n // focus might be moving to tinymce\n this.handleBlur(event);\n }\n\n if (!((_this$_elementRef$cur = this._elementRef.current) !== null && _this$_elementRef$cur !== void 0 && _this$_elementRef$cur.contains(event.relatedTarget))) {\n this.handleBlur(event);\n }\n };\n\n this.handleFocusEditor = (event, _editor) => {\n // use .active to put a focus ring around the content area\n // when the editor has focus. This isn't perfect, but it's\n // what we've got for now.\n const ifr = this.iframe;\n ifr && ifr.parentElement.classList.add('active');\n\n this._forceCloseFloatingToolbar();\n\n this.handleFocus(event);\n };\n\n this.handleFocusHtmlEditor = event => {\n this.handleFocus(event);\n };\n\n this.handleBlurEditor = (event, _editor) => {\n const ifr = this.iframe;\n ifr && ifr.parentElement.classList.remove('active');\n this.handleBlur(event);\n };\n\n this.handleKey = event => {\n if (event.code === 'F9' && event.altKey) {\n event.preventDefault();\n event.stopPropagation();\n this.setFocusAbilityForHeader(true);\n focusFirstMenuButton(this._elementRef.current);\n } else if (event.code === 'F10' && event.altKey) {\n event.preventDefault();\n event.stopPropagation();\n this.setFocusAbilityForHeader(true);\n focusToolbar(this._elementRef.current);\n } else if ((event.code === 'F8' || event.code === 'Digit0') && event.altKey) {\n event.preventDefault();\n event.stopPropagation();\n this.openKBShortcutModal();\n } else if (event.code === 'Escape') {\n this._forceCloseFloatingToolbar();\n\n if (this.state.fullscreenState.isTinyFullscreen) {\n this.mceInstance().execCommand('mceFullScreen'); // turn it off\n } else {\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].hideTrays();\n }\n } else if (['n', 'N', 'd', 'D'].indexOf(event.key) !== -1) {\n // Prevent key events from bubbling up on touch screen device\n event.stopPropagation();\n }\n };\n\n this.handleClickFullscreen = () => {\n if (this._isFullscreen()) {\n this._exitFullscreen();\n } else {\n this._enterFullscreen();\n }\n };\n\n this.handleExternalClick = () => {\n this._forceCloseFloatingToolbar();\n\n Object(_instructure_debounce__WEBPACK_IMPORTED_MODULE_11__[\"debounce\"])(this.checkAccessibility, 1000)();\n };\n\n this.handleInputChange = () => {\n this.checkAccessibility();\n };\n\n this.onInit = (_event, editor) => {\n var _this$props$onInitted, _this$props;\n\n editor.rceWrapper = this;\n this.editor = editor;\n const textarea = this.editor.getElement(); // expected by canvas\n\n textarea.dataset.rich_text = true; // start with the textarea and tinymce in sync\n\n textarea.value = this.getCode();\n textarea.style.height = this.state.height; // Capture click events outside the iframe\n\n document.addEventListener('click', this.handleExternalClick);\n\n if (document.body.classList.contains('Underline-All-Links__enabled')) {\n this.iframe.contentDocument.body.classList.add('Underline-All-Links__enabled');\n }\n\n editor.on('wordCountUpdate', this.onWordCountUpdate); // add an aria-label to the application div that wraps RCE\n // and change role from \"application\" to \"document\" to ensure\n // the editor gets properly picked up by screen readers\n\n const tinyapp = document.querySelector('.tox-tinymce[role=\"application\"]');\n\n if (tinyapp) {\n tinyapp.setAttribute('aria-label', Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Rich Content Editor'));\n tinyapp.setAttribute('role', 'document');\n tinyapp.setAttribute('tabIndex', '-1');\n } // Adds a focusout event listener for handling screen reader navigation focus\n\n\n const header = this._elementRef.current.querySelector('.tox-editor-header');\n\n if (header) {\n header.addEventListener('focusout', e => {\n const leavingHeader = !header.contains(e.relatedTarget);\n\n if (leavingHeader) {\n this.setFocusAbilityForHeader(false);\n }\n });\n }\n\n this.setFocusAbilityForHeader(false); // Probably should do this in tinymce.scss, but we only want it in new rce\n\n textarea.style.resize = 'none';\n editor.on('ExecCommand', this._forceCloseFloatingToolbar);\n editor.on('keydown', this.handleKey);\n editor.on('FullscreenStateChanged', this._toggleFullscreen); // This propagates click events on the editor out of the iframe to the parent\n // document. We need this so that click events get captured properly by instui\n // focus-trapping components, so they properly ignore trapping focus on click.\n\n editor.on('click', () => window.document.body.click(), true);\n editor.on('Cut Paste Change input Undo Redo', Object(_instructure_debounce__WEBPACK_IMPORTED_MODULE_11__[\"debounce\"])(this.handleInputChange, 1000));\n this.announceContextToolbars(editor);\n\n if (this.isAutoSaving) {\n this.initAutoSave(editor);\n } // first view\n\n\n this.setEditorView(this.state.editorView); // readonly should have been handled via the init property passed\n // to <Editor>, but it's not.\n\n editor.mode.set(this.props.readOnly ? 'readonly' : 'design'); // Not using iframe_aria_text because compatibility issues.\n // Not using iframe_attrs because library overwriting.\n\n if (this.iframe) {\n this.iframe.setAttribute('title', Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Rich Text Area. Press ALT+0 for Rich Content Editor shortcuts.'));\n }\n\n (_this$props$onInitted = (_this$props = this.props).onInitted) === null || _this$props$onInitted === void 0 ? void 0 : _this$props$onInitted.call(_this$props, editor);\n };\n\n this._toggleFullscreen = event => {\n const isTinyFullscreen = event.state;\n const fullscreenState = {\n isTinyFullscreen\n };\n const header = document.getElementById('header');\n\n if (header) {\n if (isTinyFullscreen) {\n fullscreenState.headerDisp = header.style.display;\n header.style.display = 'none';\n } else {\n header.style.display = this.state.fullscreenState.headerDisp;\n }\n }\n\n this.setState({\n fullscreenState\n }); // if we're leaving fullscreen, remove event listeners on the fullscreen element\n\n if (!document[FS_ELEMENT] && this.state.fullscreenElem) {\n this.state.fullscreenElem.removeEventListener('fullscreenchange', this._toggleFullscreen);\n this.state.fullscreenElem.removeEventListener('webkitfullscreenchange', this._toggleFullscreen);\n this.setState({\n fullscreenState: {\n fullscreenElem: null\n }\n });\n } // if we don't defer setState, the pretty editor's height isn't correct\n // when entering fullscreen\n\n\n window.setTimeout(() => {\n if (document[FS_ELEMENT]) {\n this.setState(state => {\n return {\n fullscreenState: { ...state.fullscreenState,\n fullscreenElem: document[FS_ELEMENT]\n }\n };\n });\n } else {\n this.forceUpdate();\n }\n\n this.focusCurrentView();\n }, 0);\n };\n\n this._forceCloseFloatingToolbar = () => {\n if (this._elementRef.current) {\n const moreButton = this._elementRef.current.querySelector('.tox-toolbar-overlord .tox-toolbar__group:last-child button:last-child');\n\n if (moreButton !== null && moreButton !== void 0 && moreButton.getAttribute('aria-owns')) {\n // the floating toolbar is open\n moreButton.click(); // close the floating toolbar\n\n const editor = this.mceInstance(); // return focus to the editor\n\n editor === null || editor === void 0 ? void 0 : editor.focus();\n }\n }\n };\n\n this.announcing = 0;\n\n this.initAutoSave = editor => {\n this.storage = window.localStorage;\n\n if (this.storage) {\n editor.on('change Undo Redo', this.doAutoSave);\n editor.on('blur', this.doAutoSave);\n this.cleanupAutoSave();\n\n try {\n const autosaved = this.getAutoSaved(this.autoSaveKey);\n\n if (autosaved && autosaved.content) {\n // We'll compare just the text of the autosave content, since\n // Canvas is prone to swizzling images and iframes which will\n // make the editor content and autosave content never match up\n const editorContent = this.patchAutosavedContent(editor.getContent({\n no_events: true\n }), true);\n const autosavedContent = this.patchAutosavedContent(autosaved.content, true);\n\n if (autosavedContent !== editorContent) {\n this.setState({\n confirmAutoSave: true,\n autoSavedContent: this.patchAutosavedContent(autosaved.content)\n });\n } else {\n this.storage.removeItem(this.autoSaveKey);\n }\n }\n } catch (ex) {\n // log and ignore\n // eslint-disable-next-line no-console\n console.error('Failed initializing rce autosave', ex);\n }\n }\n };\n\n this.cleanupAutoSave = function () {\n let deleteAll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (_this.storage) {\n const expiry = deleteAll ? Date.now() : Date.now() - _this.props.autosave.maxAge;\n let i = 0;\n let key;\n\n while (key = _this.storage.key(i++)) {\n if (/^rceautosave:/.test(key)) {\n const autosaved = _this.getAutoSaved(key);\n\n if (autosaved && autosaved.autosaveTimestamp < expiry) {\n _this.storage.removeItem(key);\n }\n }\n }\n }\n };\n\n this.restoreAutoSave = ans => {\n this.setState({\n confirmAutoSave: false\n }, () => {\n const editor = this.mceInstance();\n\n if (ans) {\n editor.setContent(this.state.autoSavedContent, {});\n }\n\n this.storage.removeItem(this.autoSaveKey);\n });\n this.checkAccessibility();\n };\n\n this.doAutoSave = function (e) {\n let retry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (_this.storage) {\n const editor = _this.mceInstance(); // if the editor is empty don't save\n\n\n if (editor.dom.isEmpty(editor.getBody())) {\n return;\n }\n\n const content = editor.getContent({\n no_events: true\n });\n\n try {\n _this.storage.setItem(_this.autoSaveKey, JSON.stringify({\n autosaveTimestamp: Date.now(),\n content\n }));\n } catch (ex) {\n if (!retry) {\n // probably failed because there's not enough space\n // delete up all the other entries and try again\n _this.cleanupAutoSave(true);\n\n _this.doAutoSave(e, true);\n } else {\n console.error('Autosave failed:', ex); // eslint-disable-line no-console\n }\n }\n }\n };\n\n this.onWordCountUpdate = e => {\n const shouldIgnore = Object(_plugins_instructure_wordcount_utils_countContent__WEBPACK_IMPORTED_MODULE_34__[\"countShouldIgnore\"])(this.editor, 'body', 'words');\n const updatedCount = e.wordCount.words - shouldIgnore;\n this.setState(state => {\n if (updatedCount !== state.wordCount) {\n return {\n wordCount: updatedCount\n };\n } else return null;\n });\n };\n\n this.onNodeChange = e => {\n // This is basically copied out of the tinymce silver theme code for the status bar\n const path = e.parents.filter(p => p.nodeName !== 'BR' && !p.getAttribute('data-mce-bogus') && p.getAttribute('data-mce-type') !== 'bookmark').map(p => p.nodeName.toLowerCase()).reverse();\n this.setState({\n path\n });\n };\n\n this.onEditorChange = (content, _editor) => {\n var _this$props$onContent, _this$props2;\n\n (_this$props$onContent = (_this$props2 = this.props).onContentChange) === null || _this$props$onContent === void 0 ? void 0 : _this$props$onContent.call(_this$props2, content);\n };\n\n this.onResize = (_e, coordinates) => {\n const editor = this.mceInstance();\n\n if (editor) {\n const container = editor.getContainer();\n if (!container) return;\n const currentContainerHeight = Number.parseInt(container.style.height, 10);\n if (isNaN(currentContainerHeight)) return; // eslint-disable-line no-restricted-globals\n\n const modifiedHeight = currentContainerHeight + coordinates.deltaY;\n const newHeight = `${modifiedHeight}px`;\n container.style.height = newHeight;\n this.getTextarea().style.height = newHeight;\n this.setState({\n height: newHeight\n }); // play nice and send the same event that the silver theme would send\n\n editor.fire('ResizeEditor');\n }\n };\n\n this.onA11yChecker = () => {\n // eslint-disable-next-line promise/catch-or-return\n this.a11yCheckerReady.then(() => {\n this.onTinyMCEInstance('openAccessibilityChecker', {\n skip_focus: true\n });\n });\n };\n\n this.checkAccessibility = () => {\n const editor = this.mceInstance();\n editor.execCommand('checkAccessibility', false, {\n done: errors => {\n this.setState({\n a11yErrorsCount: errors.length\n });\n }\n }, {\n skip_focus: true\n });\n };\n\n this.openKBShortcutModal = () => {\n this.setState({\n KBShortcutModalOpen: true,\n KBShortcutFocusReturn: document.activeElement\n });\n };\n\n this.closeKBShortcutModal = () => {\n this.setState({\n KBShortcutModalOpen: false\n });\n };\n\n this.KBShortcutModalExited = () => {\n if (this.state.KBShortcutFocusReturn === this.iframe) {\n // if the iframe has focus, we need to forward it on to tinymce\n this.editor.focus(false);\n } else if (this._showOnFocusButton && document.activeElement === document.body) {\n // when the modal is opened from the showOnFocus button, focus doesn't\n // get automatically returned to the button like it should.\n this._showOnFocusButton.focus();\n } else {\n var _this$_showOnFocusBut;\n\n (_this$_showOnFocusBut = this._showOnFocusButton) === null || _this$_showOnFocusBut === void 0 ? void 0 : _this$_showOnFocusBut.focus();\n }\n };\n\n this.setFocusAbilityForHeader = focusable => {\n // Sets aria-hidden to prevent screen readers focus in RCE menus and toolbar\n const header = this._elementRef.current.querySelector('.tox-editor-header');\n\n if (header) {\n header.setAttribute('aria-hidden', focusable ? 'false' : 'true');\n }\n };\n\n this.handleTextareaChange = () => {\n if (this.isHidden()) {\n this.setCode(this.textareaValue());\n this.doAutoSave();\n }\n };\n\n this.addAlert = alert => {\n alert.id = alertIdValue++;\n this.setState(state => {\n let messages = state.messages.concat(alert);\n messages = lodash__WEBPACK_IMPORTED_MODULE_5___default.a.uniqBy(messages, 'text'); // Don't show the same message twice\n\n return {\n messages\n };\n });\n };\n\n this.removeAlert = messageId => {\n this.setState(state => {\n const messages = state.messages.filter(message => message.id !== messageId);\n return {\n messages\n };\n });\n };\n\n this.resetAlertId = () => {\n if (this.state.messages.length > 0) {\n throw new Error('There are messages currently, you cannot reset when they are non-zero');\n }\n\n alertIdValue = 0;\n };\n\n // Set up some limited global state that can be referenced\n // as needed in RCE's components and function / plugin definitions\n // Not intended to be dynamically changed!\n _RCEGlobals__WEBPACK_IMPORTED_MODULE_19__[\"default\"].setFeatures(this.getRequiredFeatureStatuses());\n _RCEGlobals__WEBPACK_IMPORTED_MODULE_19__[\"default\"].setConfig(this.getRequiredConfigValues());\n this.editor = null; // my tinymce editor instance\n\n this.language = Object(_normalizeLocale__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(this.props.language); // interface consistent with editorBox\n\n this.get_code = this.getCode;\n this.set_code = this.setCode;\n this.insert_code = this.insertCode; // test override points\n\n this.indicator = false;\n this._elementRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createRef();\n this._editorPlaceholderRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createRef();\n this._prettyHtmlEditorRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createRef();\n this._showOnFocusButton = null;\n injectTinySkin();\n let ht = ((_props$editorOptions = props.editorOptions) === null || _props$editorOptions === void 0 ? void 0 : _props$editorOptions.height) || DEFAULT_RCE_HEIGHT;\n\n if (!Number.isNaN(ht)) {\n ht = `${ht}px`;\n }\n\n const currentRCECount = document.querySelectorAll('.rce-wrapper').length;\n const maxInitRenderedRCEs = Number.isNaN(props.maxInitRenderedRCEs) ? RCEWrapper.defaultProps.maxInitRenderedRCEs : props.maxInitRenderedRCEs;\n this.state = {\n path: [],\n wordCount: 0,\n editorView: props.editorView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"],\n shouldShowOnFocusButton: props.renderKBShortcutModal === undefined ? true : props.renderKBShortcutModal,\n KBShortcutModalOpen: false,\n messages: [],\n announcement: null,\n confirmAutoSave: false,\n autoSavedContent: '',\n id: this.props.id || this.props.textareaId || `${Date.now()}`,\n height: ht,\n fullscreenState: {\n headerDisp: 'static',\n isTinyFullscreen: false\n },\n a11yErrorsCount: 0,\n shouldShowEditor: typeof IntersectionObserver === 'undefined' || maxInitRenderedRCEs <= 0 || currentRCECount < maxInitRenderedRCEs\n };\n this.pendingEventHandlers = []; // Get top 2 favorited LTI Tools\n\n this.ltiToolFavorites = this.props.ltiTools.filter(e => e.favorite).map(e => `instructure_external_button_${e.id}`).slice(0, 2) || [];\n this.tinymceInitOptions = this.wrapOptions(props.editorOptions);\n _alertHandler__WEBPACK_IMPORTED_MODULE_31__[\"default\"].alertFunc = this.addAlert;\n this.handleContentTrayClosing = this.handleContentTrayClosing.bind(this);\n this.a11yCheckerReady = Promise.all(/*! import() */[__webpack_require__.e(4), __webpack_require__.e(7), __webpack_require__.e(38)]).then(__webpack_require__.bind(null, /*! ./initA11yChecker */ \"./src/rce/initA11yChecker.js\")).then(initA11yChecker => {\n initA11yChecker.default(this.language);\n this.checkAccessibility();\n }).catch(err => {\n // eslint-disable-next-line no-console\n console.error('Failed initializing a11y checker', err);\n });\n }\n\n getRequiredFeatureStatuses() {\n const {\n new_equation_editor = false,\n new_math_equation_handling = false,\n rce_ux_improvements = false\n } = this.props.features;\n return {\n new_equation_editor,\n new_math_equation_handling,\n rce_ux_improvements\n };\n }\n\n getRequiredConfigValues() {\n return {\n locale: Object(_normalizeLocale__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(this.props.language),\n flashAlertTimeout: this.props.flashAlertTimeout,\n timezone: this.props.timezone\n };\n }\n\n getCanvasUrl() {\n return this.props.canvasOrigin;\n } // getCode and setCode naming comes from tinyMCE\n // kind of strange but want to be consistent\n\n\n getCode() {\n return this.isHidden() ? this.textareaValue() : this.mceInstance().getContent();\n }\n\n checkReadyToGetCode(promptFunc) {\n let status = true; // Check for remaining placeholders\n\n if (this.mceInstance().dom.doc.querySelector(`[data-placeholder-for]`)) {\n status = promptFunc(Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Content is still being uploaded, if you continue it will not be embedded properly.'));\n }\n\n return status;\n }\n\n setCode(newContent) {\n var _this$mceInstance;\n\n (_this$mceInstance = this.mceInstance()) === null || _this$mceInstance === void 0 ? void 0 : _this$mceInstance.setContent(newContent);\n } // This function is called imperatively by the page that renders the RCE.\n // It should be called when the RCE content is done being edited.\n\n\n RCEClosed() {\n // We want to clear the autosaved content, since the page was legitimately closed.\n if (this.storage) {\n this.storage.removeItem(this.autoSaveKey);\n }\n }\n\n indicateEditor(element) {\n if (document.querySelector('[role=\"dialog\"][data-mce-component]')) {\n // there is a modal open, which zeros out the vertical scroll\n // so the indicator is in the wrong place. Give it a chance to close\n window.setTimeout(() => {\n this.indicateEditor(element);\n }, 100);\n return;\n }\n\n const editor = this.mceInstance();\n\n if (this.indicator) {\n this.indicator(editor, element);\n } else if (!this.isHidden()) {\n Object(_common_indicate__WEBPACK_IMPORTED_MODULE_21__[\"default\"])(Object(_indicatorRegion__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(editor, element));\n }\n }\n\n contentInserted(element) {\n this.indicateEditor(element);\n this.checkImageLoadError(element);\n this.sizeEditorForContent(element);\n } // make a attempt at sizing the editor so that the new content fits.\n // works under the assumptions the body's box-sizing is not content-box\n // and that the content is w/in a <p> whose margin is 12px top and bottom\n // (which, in canvas, is set in app/stylesheets/components/_ic-typography.scss)\n\n\n sizeEditorForContent(elem) {\n let height;\n\n if (elem && elem.nodeType === 1) {\n height = elem.clientHeight;\n }\n\n if (height) {\n const ifr = this.iframe;\n\n if (ifr) {\n const editor_body_style = ifr.contentWindow.getComputedStyle(this.iframe.contentDocument.body);\n const editor_ht = ifr.contentDocument.body.clientHeight - parseInt(editor_body_style['padding-top'], 10) - parseInt(editor_body_style['padding-bottom'], 10);\n const para_margin_ht = 24;\n const reserve_ht = Math.ceil(height + para_margin_ht);\n\n if (reserve_ht > editor_ht) {\n this.onResize(null, {\n deltaY: reserve_ht - editor_ht\n });\n }\n }\n }\n }\n\n checkImageLoadError(element) {\n if (!element || element.tagName !== 'IMG') {\n return;\n }\n\n if (!element.complete) {\n element.onload = () => this.checkImageLoadError(element);\n\n return;\n } // checking naturalWidth in a future event loop run prevents a race\n // condition between the onload callback and naturalWidth being set.\n\n\n setTimeout(() => {\n if (element.naturalWidth === 0) {\n element.style.border = '1px solid #000';\n element.style.padding = '2px';\n }\n }, 0);\n }\n\n insertCode(code) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertContent\"](editor, code);\n this.contentInserted(element);\n }\n\n insertEmbedCode(code) {\n const editor = this.mceInstance(); // don't replace selected text, but embed after\n\n editor.selection.collapse(); // tinymce treats iframes uniquely, and doesn't like adding attributes\n // once it's in the editor, and I'd rather not parse the incomming html\n // string with a regex, so let's create a temp copy, then add a title\n // attribute if one doesn't exist. This will let screenreaders announce\n // that there's some embedded content helper\n // From what I've read, \"title\" is more reliable than \"aria-label\" for\n // elements like iframes and embeds.\n\n const temp = document.createElement('div');\n temp.innerHTML = code;\n const code_elem = temp.firstElementChild;\n\n if (code_elem) {\n if (!code_elem.hasAttribute('title') && !code_elem.hasAttribute('aria-label')) {\n code_elem.setAttribute('title', Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('embedded content'));\n }\n\n code = code_elem.outerHTML;\n } // inserting an iframe in tinymce (as is often the case with\n // embedded content) causes it to wrap it in a span\n // and it's often inserted into a <p> on top of that. Find the\n // iframe and use it to flash the indicator.\n\n\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertContent\"](editor, code);\n const ifr = element && element.querySelector && element.querySelector('iframe');\n\n if (ifr) {\n this.contentInserted(ifr);\n } else {\n this.contentInserted(element);\n }\n }\n\n insertImage(image) {\n var _element$nextSibling, _element$nextSibling$;\n\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertImage\"](editor, image, this.getCanvasUrl()); // Removes TinyMCE's caret &nbsp; text if exists.\n\n if ((element === null || element === void 0 ? void 0 : (_element$nextSibling = element.nextSibling) === null || _element$nextSibling === void 0 ? void 0 : (_element$nextSibling$ = _element$nextSibling.data) === null || _element$nextSibling$ === void 0 ? void 0 : _element$nextSibling$.trim()) === '') {\n element.nextSibling.remove();\n }\n\n if (element && element.complete) {\n this.contentInserted(element);\n } else if (element) {\n element.onload = () => this.contentInserted(element);\n\n element.onerror = () => this.checkImageLoadError(element);\n }\n }\n\n insertImagePlaceholder(fileMetaProps) {\n let width, height;\n let align = 'middle';\n\n if (Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__[\"isImage\"])(fileMetaProps.contentType) && fileMetaProps.displayAs !== 'link') {\n const image = new Image();\n image.src = fileMetaProps.domObject.preview;\n width = image.width;\n height = image.height; // we constrain the <img> to max-width: 100%, so scale the size down if necessary\n\n const maxWidth = this.iframe.contentDocument.body.clientWidth;\n\n if (width > maxWidth) {\n height = Math.round(maxWidth / width * height);\n width = maxWidth;\n }\n\n width = `${width}px`;\n height = `${height}px`;\n } else if (Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__[\"isVideo\"])(fileMetaProps.contentType || fileMetaProps.type)) {\n width = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"VIDEO_SIZE_DEFAULT\"].width;\n height = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"VIDEO_SIZE_DEFAULT\"].height;\n align = 'bottom';\n } else if (Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__[\"isAudio\"])(fileMetaProps.contentType || fileMetaProps.type)) {\n width = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"AUDIO_PLAYER_SIZE\"].width;\n height = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"AUDIO_PLAYER_SIZE\"].height;\n align = 'bottom';\n } else {\n width = `${fileMetaProps.name.length}rem`;\n height = '1rem';\n } // if you're wondering, the &nbsp; scatter about in the svg\n // is because tinymce will strip empty elements\n\n\n const markup = `\n <span\n aria-label=\"${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Loading')}\"\n data-placeholder-for=\"${encodeURIComponent(fileMetaProps.name)}\"\n style=\"width: ${width}; height: ${height}; vertical-align: ${align};\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" height=\"100px\" width=\"100px\">\n <g style=\"stroke-width:.5rem;fill:none;stroke-linecap:round;\">&nbsp;\n <circle class=\"c1\" cx=\"50%\" cy=\"50%\" r=\"28px\">&nbsp;</circle>\n <circle class=\"c2\" cx=\"50%\" cy=\"50%\" r=\"28px\">&nbsp;</circle>\n &nbsp;\n </g>\n &nbsp;\n </svg>\n </span>`;\n const editor = this.mceInstance();\n editor.undoManager.ignore(() => {\n editor.execCommand('mceInsertContent', false, markup);\n });\n }\n\n insertVideo(video) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertVideo\"](editor, video, this.getCanvasUrl());\n this.contentInserted(element);\n }\n\n insertAudio(audio) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertAudio\"](editor, audio, this.getCanvasUrl());\n this.contentInserted(element);\n }\n\n insertMathEquation(tex) {\n const editor = this.mceInstance();\n _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertEquation\"](editor, tex);\n }\n\n removePlaceholders(name) {\n const placeholder = this.mceInstance().dom.doc.querySelector(`[data-placeholder-for=\"${encodeURIComponent(name)}\"]`);\n\n if (placeholder) {\n const editor = this.mceInstance();\n editor.undoManager.ignore(() => {\n editor.dom.remove(placeholder);\n });\n }\n }\n\n insertLink(link) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertLink\"](editor, link, this.getCanvasUrl());\n this.contentInserted(element);\n }\n\n existingContentToLink() {\n const editor = this.mceInstance();\n return _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"existingContentToLink\"](editor);\n }\n\n existingContentToLinkIsImg() {\n const editor = this.mceInstance();\n return _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"existingContentToLinkIsImg\"](editor);\n } // since we may defer rendering tinymce, queue up any tinymce event handlers\n\n\n tinymceOn(tinymceEventName, handler) {\n if (this.state.shouldShowEditor) {\n this.mceInstance().on(tinymceEventName, handler);\n } else {\n this.pendingEventHandlers.push({\n name: tinymceEventName,\n handler\n });\n }\n }\n\n mceInstance() {\n if (this.editor) {\n return this.editor;\n }\n\n const editors = this.props.tinymce.editors || [];\n return editors.filter(ed => ed.id === this.props.textareaId)[0];\n }\n\n onTinyMCEInstance(command) {\n const editor = this.mceInstance();\n\n if (editor) {\n if (command === 'mceRemoveEditor') {\n editor.execCommand('mceNewDocument');\n } // makes sure content can't persist past removal\n\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n editor.execCommand(command, false, ...args);\n }\n }\n\n destroy() {\n this._destroyCalled = true;\n this.unhandleTextareaChange();\n this.props.handleUnmount && this.props.handleUnmount();\n }\n\n getTextarea() {\n return document.getElementById(this.props.textareaId);\n }\n\n textareaValue() {\n return this.getTextarea().value;\n }\n\n get id() {\n return this.state.id;\n }\n\n _isFullscreen() {\n return this.state.fullscreenState.isTinyFullscreen || document[FS_ELEMENT];\n }\n\n _enterFullscreen() {\n switch (this.state.editorView) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n this._prettyHtmlEditorRef.current.addEventListener('fullscreenchange', this._toggleFullscreen);\n\n this._prettyHtmlEditorRef.current.addEventListener('webkitfullscreenchange', this._toggleFullscreen); // if I don't focus first, FF complains that the element\n // is not in the active browser tab and requestFullscreen fails\n\n\n this._prettyHtmlEditorRef.current.focus();\n\n this._prettyHtmlEditorRef.current[FS_REQUEST]();\n\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n this.getTextarea().addEventListener('fullscreenchange', this._toggleFullscreen);\n this.getTextarea().addEventListener('webkitfullscreenchange', this._toggleFullscreen);\n this.getTextarea()[FS_REQUEST]();\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n this.mceInstance().execCommand('mceFullScreen');\n break;\n }\n }\n\n _exitFullscreen() {\n if (this.state.fullscreenState.isTinyFullscreen) {\n this.mceInstance().execCommand('mceFullScreen');\n } else if (document[FS_ELEMENT]) {\n document[FS_ELEMENT][FS_EXIT]();\n }\n }\n\n focus() {\n this.onTinyMCEInstance('mceFocus'); // tinymce doesn't always call the focus handler.\n\n this.handleFocusEditor(new Event('focus', {\n target: this.mceInstance()\n }));\n }\n\n focusCurrentView() {\n switch (this.state.editorView) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n this.mceInstance().focus();\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n {\n const cmta = this._elementRef.current.querySelector('.CodeMirror textarea');\n\n if (cmta) {\n cmta.focus();\n } else {\n window.setTimeout(() => {\n var _this$_elementRef$cur2;\n\n (_this$_elementRef$cur2 = this._elementRef.current.querySelector('.CodeMirror textarea')) === null || _this$_elementRef$cur2 === void 0 ? void 0 : _this$_elementRef$cur2.focus();\n }, 200);\n }\n }\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n this.getTextarea().focus();\n break;\n }\n }\n\n is_dirty() {\n var _this$mceInstance2;\n\n if (this.mceInstance().isDirty()) {\n return true;\n }\n\n const content = this.isHidden() ? this.textareaValue() : (_this$mceInstance2 = this.mceInstance()) === null || _this$mceInstance2 === void 0 ? void 0 : _this$mceInstance2.getContent();\n return content !== this.cleanInitialContent();\n }\n\n cleanInitialContent() {\n if (!this._cleanInitialContent) {\n const el = window.document.createElement('div');\n el.innerHTML = this.props.defaultContent;\n const serializer = this.mceInstance().serializer;\n this._cleanInitialContent = serializer.serialize(el, {\n getInner: true\n });\n }\n\n return this._cleanInitialContent;\n }\n\n isHtmlView() {\n return this.state.editorView !== _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"];\n }\n\n isHidden() {\n return this.mceInstance().isHidden();\n }\n\n get iframe() {\n return document.getElementById(`${this.props.textareaId}_ifr`);\n } // these focus and blur event handlers work together so that RCEWrapper\n // can report focus and blur events from the RCE at-large\n\n\n get focused() {\n return this === _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].getEditor();\n }\n\n handleFocus(_event) {\n if (!this.focused) {\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].focusEditor(this);\n this.props.onFocus && this.props.onFocus(this);\n }\n }\n\n handleContentTrayClosing(isClosing) {\n this.contentTrayClosing = isClosing;\n }\n\n handleBlur(event) {\n if (this.blurTimer) return;\n\n if (this.focused) {\n // because the old active element fires blur before the next element gets focus\n // we often need a moment to see if focus comes back\n event && event.persist && event.persist();\n this.blurTimer = window.setTimeout(() => {\n var _this$_elementRef$cur3, _event$focusedEditor, _event$relatedTarget, _event$relatedTarget$;\n\n this.blurTimer = 0;\n\n if (this.contentTrayClosing) {\n // the CanvasContentTray is in the process of closing\n // wait until it finishes\n return;\n }\n\n if ((_this$_elementRef$cur3 = this._elementRef.current) !== null && _this$_elementRef$cur3 !== void 0 && _this$_elementRef$cur3.contains(document.activeElement)) {\n // focus is still somewhere w/in me\n return;\n }\n\n const activeClass = document.activeElement && document.activeElement.getAttribute('class');\n\n if ((event.focusedEditor === undefined || event.target.id === ((_event$focusedEditor = event.focusedEditor) === null || _event$focusedEditor === void 0 ? void 0 : _event$focusedEditor.id)) && activeClass !== null && activeClass !== void 0 && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1___default()(activeClass).call(activeClass, 'tox-')) {\n // if a toolbar button has focus, then the user clicks on the \"more\" button\n // focus jumps to the body, then eventually to the popped up toolbar. This\n // catches that case.\n return;\n }\n\n if (event !== null && event !== void 0 && (_event$relatedTarget = event.relatedTarget) !== null && _event$relatedTarget !== void 0 && (_event$relatedTarget$ = _event$relatedTarget.getAttribute('class')) !== null && _event$relatedTarget$ !== void 0 && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1___default()(_event$relatedTarget$).call(_event$relatedTarget$, 'tox-')) {\n // a tinymce popup has focus\n return;\n }\n\n const popups = document.querySelectorAll('[data-mce-component]');\n\n for (const popup of popups) {\n if (popup.contains(document.activeElement)) {\n // one of our popups has focus\n return;\n }\n }\n\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].blurEditor(this);\n this.props.onBlur && this.props.onBlur(event);\n }, ASYNC_FOCUS_TIMEOUT);\n }\n }\n\n call(methodName) {\n // since exists? has a ? and cant be a regular function just return true\n // rather than calling as a fn on the editor\n if (methodName === 'exists?') {\n return true;\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return this[methodName](...args);\n }\n\n announceContextToolbars(editor) {\n editor.on('NodeChange', () => {\n const node = editor.selection.getNode();\n\n if (Object(_plugins_shared_ContentSelection__WEBPACK_IMPORTED_MODULE_32__[\"isImageEmbed\"])(node, editor)) {\n if (this.announcing !== 1) {\n this.setState({\n announcement: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('type Control F9 to access image options. {text}', {\n text: node.getAttribute('alt')\n })\n });\n this.announcing = 1;\n }\n } else if (Object(_plugins_shared_ContentSelection__WEBPACK_IMPORTED_MODULE_32__[\"isFileLink\"])(node, editor)) {\n if (this.announcing !== 2) {\n this.setState({\n announcement: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('type Control F9 to access link options. {text}', {\n text: node.textContent\n })\n });\n this.announcing = 2;\n }\n } else if (isElementWithinTable(node, editor)) {\n if (this.announcing !== 3) {\n this.setState({\n announcement: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('type Control F9 to access table options. {text}', {\n text: node.textContent\n })\n });\n this.announcing = 3;\n }\n } else {\n this.setState({\n announcement: null\n });\n this.announcing = 0;\n }\n });\n }\n /* ********** autosave support *************** */\n\n\n // if a placeholder image shows up in autosaved content, we have to remove it\n // because the data url gets converted to a blob, which is not valid when restored.\n // besides, the placeholder is intended to be temporary while the file\n // is being uploaded\n patchAutosavedContent(content, asText) {\n const temp = document.createElement('div');\n temp.innerHTML = content;\n temp.querySelectorAll('[data-placeholder-for]').forEach(placeholder => {\n placeholder.parentElement.removeChild(placeholder);\n });\n if (asText) return temp.textContent;\n return temp.innerHTML;\n }\n\n getAutoSaved(key) {\n let autosaved = null;\n\n try {\n autosaved = this.storage && JSON.parse(this.storage.getItem(key));\n } catch (_ex) {\n this.storage.removeItem(this.autoSaveKey);\n }\n\n return autosaved;\n } // only autosave if the feature flag is set, and there is only 1 RCE on the page\n // the latter condition is necessary because the popup RestoreAutoSaveModal\n // is lousey UX when there are >1\n\n\n get isAutoSaving() {\n // If the editor is invisible for some reason, don't show the autosave modal\n // This doesn't apply if the editor is off-screen or has visibility:hidden;\n // only if it isn't rendered or has display:none;\n const editorVisible = this.editor.getContainer().offsetParent;\n return this.props.autosave.enabled && editorVisible && document.querySelectorAll('.rce-wrapper').length === 1 && storageAvailable();\n }\n\n get autoSaveKey() {\n var _this$props$trayProps;\n\n const userId = (_this$props$trayProps = this.props.trayProps) === null || _this$props$trayProps === void 0 ? void 0 : _this$props$trayProps.containingContext.userId;\n return `rceautosave:${userId}${window.location.href}:${this.props.textareaId}`;\n }\n\n componentWillUnmount() {\n if (this.state.shouldShowEditor) {\n var _this$mutationObserve, _this$intersectionObs;\n\n window.clearTimeout(this.blurTimer);\n\n if (!this._destroyCalled) {\n this.destroy();\n }\n\n this._elementRef.current.removeEventListener('keydown', this.handleKey, true);\n\n (_this$mutationObserve = this.mutationObserver) === null || _this$mutationObserve === void 0 ? void 0 : _this$mutationObserve.disconnect();\n (_this$intersectionObs = this.intersectionObserver) === null || _this$intersectionObs === void 0 ? void 0 : _this$intersectionObs.disconnect();\n }\n }\n\n wrapOptions() {\n var _this$props$trayProps2, _this$props$trayProps3, _this$props$trayProps4;\n\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const rcsExists = !!((_this$props$trayProps2 = this.props.trayProps) !== null && _this$props$trayProps2 !== void 0 && _this$props$trayProps2.host && (_this$props$trayProps3 = this.props.trayProps) !== null && _this$props$trayProps3 !== void 0 && _this$props$trayProps3.jwt);\n const userLocale = _editorLanguage__WEBPACK_IMPORTED_MODULE_16___default()(this.language);\n const setupCallback = options.setup;\n const canvasPlugins = rcsExists ? ['instructure_links', 'instructure_image', 'instructure_documents', 'instructure_equation', 'instructure_external_tools', 'instructure_wordcount'] : ['instructure_links'];\n\n if (rcsExists && !this.props.instRecordDisabled) {\n canvasPlugins.splice(2, 0, 'instructure_record');\n }\n\n if (rcsExists && this.props.use_rce_icon_maker && ((_this$props$trayProps4 = this.props.trayProps) === null || _this$props$trayProps4 === void 0 ? void 0 : _this$props$trayProps4.contextType) === 'course') {\n canvasPlugins.push('instructure_icon_maker');\n }\n\n const possibleNewMenubarItems = this.props.editorOptions.menu ? Object.keys(this.props.editorOptions.menu).join(' ') : undefined;\n const wrappedOpts = { ..._defaultTinymceConfig__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n ...options,\n readonly: this.props.readOnly,\n theme: 'silver',\n // some older code specified 'modern', which doesn't exist any more\n height: options.height || DEFAULT_RCE_HEIGHT,\n language: userLocale,\n document_base_url: this.props.canvasOrigin,\n block_formats: options.block_formats || [`${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Heading 2')}=h2`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Heading 3')}=h3`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Heading 4')}=h4`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Preformatted')}=pre`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Paragraph')}=p`].join('; '),\n setup: editor => {\n var _bridge$trayProps;\n\n addKebabIcon(editor);\n editorWrappers.set(editor, this);\n const trayPropsWithColor = {\n brandColor: this.theme.canvasBrandColor,\n ...this.props.trayProps\n };\n (_bridge$trayProps = _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].trayProps) === null || _bridge$trayProps === void 0 ? void 0 : _bridge$trayProps.set(editor, trayPropsWithColor);\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].userLocale = userLocale;\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].canvasOrigin = this.props.canvasOrigin;\n\n if (typeof setupCallback === 'function') {\n setupCallback(editor);\n }\n },\n // Consumers can, and should!, still pass a content_css prop so that the content\n // in the editor matches the styles of the app it will be displayed in when saved.\n // This is just so we inject the helper class names that tinyMCE uses for\n // things like table resizing and stuff.\n content_css: options.content_css || [],\n content_style: contentCSS,\n menubar: mergeMenuItems('edit view insert format tools table', possibleNewMenubarItems),\n // default menu options listed at https://www.tiny.cloud/docs/configure/editor-appearance/#menu\n // tinymce's default edit and table menus are fine\n // we include all the canvas specific items in the menu and toolbar\n // and rely on tinymce only showing them if the plugin is provided.\n menu: mergeMenu({\n format: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Format'),\n items: 'bold italic underline strikethrough superscript subscript codeformat | formats blockformats fontformats fontsizes align directionality | forecolor backcolor | removeformat'\n },\n insert: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Insert'),\n items: 'instructure_links instructure_image instructure_media instructure_document instructure_icon_maker | instructure_equation inserttable instructure_media_embed | hr'\n },\n tools: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Tools'),\n items: 'instructure_wordcount lti_tools_menuitem'\n },\n view: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('View'),\n items: 'fullscreen instructure_html_view'\n }\n }, options.menu),\n toolbar: mergeToolbar([{\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Styles'),\n items: ['fontsizeselect', 'formatselect']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Formatting'),\n items: ['bold', 'italic', 'underline', 'forecolor', 'backcolor', 'inst_subscript', 'inst_superscript']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Content'),\n items: ['instructure_links', 'instructure_image', 'instructure_record', 'instructure_documents', 'instructure_icon_maker']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('External Tools'),\n items: [...this.ltiToolFavorites, 'lti_tool_dropdown', 'lti_mru_button']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Alignment and Lists'),\n items: ['align', 'bullist', 'inst_indent', 'inst_outdent']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Miscellaneous'),\n items: ['removeformat', 'table', 'instructure_equation', 'instructure_media_embed']\n }], options.toolbar),\n contextmenu: '',\n // show the browser's native context menu\n toolbar_mode: 'floating',\n toolbar_sticky: true,\n plugins: mergePlugins(['autolink', 'media', 'paste', 'table', 'link', 'directionality', 'lists', 'textpattern', 'hr', 'fullscreen', 'instructure-ui-icons', 'instructure_condensed_buttons', 'instructure_links', 'instructure_html_view', 'instructure_media_embed', 'instructure_external_tools', 'a11y_checker', 'wordcount', ...canvasPlugins], Object(_sanitizePlugins__WEBPACK_IMPORTED_MODULE_18__[\"sanitizePlugins\"])(options.plugins)),\n textpattern_patterns: [{\n start: '* ',\n cmd: 'InsertUnorderedList'\n }, {\n start: '- ',\n cmd: 'InsertUnorderedList'\n }]\n };\n\n if (this.props.trayProps) {\n wrappedOpts.canvas_rce_user_context = {\n type: this.props.trayProps.contextType,\n id: this.props.trayProps.contextId\n };\n wrappedOpts.canvas_rce_containing_context = {\n type: this.props.trayProps.containingContext.contextType,\n id: this.props.trayProps.containingContext.contextId\n };\n }\n\n return wrappedOpts;\n }\n\n unhandleTextareaChange() {\n if (this._textareaEl) {\n this._textareaEl.removeEventListener('input', this.handleTextareaChange);\n }\n }\n\n registerTextareaChange() {\n const el = this.getTextarea();\n\n if (this._textareaEl !== el) {\n this.unhandleTextareaChange();\n\n if (el) {\n el.addEventListener('input', this.handleTextareaChange);\n\n if (this.props.textareaClassName) {\n // split the string on whitespace because classList doesn't let you add multiple\n // space seperated classes at a time but does let you add an array of them\n el.classList.add(...this.props.textareaClassName.split(/\\s+/));\n }\n\n this._textareaEl = el;\n }\n }\n }\n\n componentDidMount() {\n if (this.state.shouldShowEditor) {\n this.editorReallyDidMount();\n } else {\n this.intersectionObserver = new IntersectionObserver(entries => {\n const entry = entries[0];\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n this.setState({\n shouldShowEditor: true\n });\n }\n }, // initialize the RCE when it gets close to entering the viewport\n {\n root: null,\n rootMargin: '200px 0px',\n threshold: 0.0\n });\n this.intersectionObserver.observe(this._editorPlaceholderRef.current);\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.state.shouldShowEditor) {\n if (!prevState.shouldShowEditor) {\n var _this$intersectionObs2;\n\n this.editorReallyDidMount();\n (_this$intersectionObs2 = this.intersectionObserver) === null || _this$intersectionObs2 === void 0 ? void 0 : _this$intersectionObs2.disconnect();\n } else {\n this.registerTextareaChange();\n\n if (prevState.editorView !== this.state.editorView) {\n this.setEditorView(this.state.editorView);\n this.focusCurrentView();\n }\n\n if (prevProps.readOnly !== this.props.readOnly) {\n this.mceInstance().mode.set(this.props.readOnly ? 'readonly' : 'design');\n }\n }\n }\n }\n\n editorReallyDidMount() {\n const myTiny = this.mceInstance();\n this.pendingEventHandlers.forEach(e => {\n myTiny.on(e.name, e.handler);\n });\n this.registerTextareaChange();\n\n this._elementRef.current.addEventListener('keydown', this.handleKey, true); // give the textarea its initial size\n\n\n this.onResize(null, {\n deltaY: 0\n }); // Preload the LTI Tools modal\n // This helps with loading the favorited external tools\n\n if (this.ltiToolFavorites.length > 0) {\n __webpack_require__.e(/*! import() */ 10).then(__webpack_require__.bind(null, /*! ./plugins/instructure_external_tools/components/LtiToolsModal */ \"./src/rce/plugins/instructure_external_tools/components/LtiToolsModal/index.js\"));\n } // .tox-tinymce-aux is where tinymce puts the floating toolbar when\n // the user clicks the More... button\n // Tinymce doesn't fire onFocus when the user clicks More... from somewhere\n // outside, so we'll handle that here by watching for the floating toolbar\n // to come and go.\n\n\n const portals = document.querySelectorAll('.tox-tinymce-aux'); // my portal will be the last one in the doc because tinyumce appends them\n\n const tinymce_floating_toolbar_portal = portals[portals.length - 1];\n\n if (tinymce_floating_toolbar_portal) {\n this.mutationObserver = new MutationObserver((mutationList, _observer) => {\n mutationList.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n this.handleFocusEditor(new Event('focus', {\n target: mutation.target\n }));\n }\n });\n });\n this.mutationObserver.observe(tinymce_floating_toolbar_portal, {\n childList: true\n });\n }\n\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].renderEditor(this);\n }\n\n setEditorView(view) {\n var _this$getTextarea$lab, _this$getTextarea$lab2, _this$getTextarea$lab3, _this$getTextarea$lab4, _this$_elementRef$cur4, _this$getTextarea$lab5, _this$getTextarea$lab6;\n\n switch (view) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n this.getTextarea().removeAttribute('aria-hidden');\n (_this$getTextarea$lab = this.getTextarea().labels) === null || _this$getTextarea$lab === void 0 ? void 0 : (_this$getTextarea$lab2 = _this$getTextarea$lab[0]) === null || _this$getTextarea$lab2 === void 0 ? void 0 : _this$getTextarea$lab2.removeAttribute('aria-hidden');\n this.mceInstance().hide();\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n this.getTextarea().setAttribute('aria-hidden', true);\n (_this$getTextarea$lab3 = this.getTextarea().labels) === null || _this$getTextarea$lab3 === void 0 ? void 0 : (_this$getTextarea$lab4 = _this$getTextarea$lab3[0]) === null || _this$getTextarea$lab4 === void 0 ? void 0 : _this$getTextarea$lab4.setAttribute('aria-hidden', true);\n this.mceInstance().hide();\n (_this$_elementRef$cur4 = this._elementRef.current.querySelector('.CodeMirror')) === null || _this$_elementRef$cur4 === void 0 ? void 0 : _this$_elementRef$cur4.CodeMirror.setCursor(0, 0);\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n this.setCode(this.textareaValue());\n this.getTextarea().setAttribute('aria-hidden', true);\n (_this$getTextarea$lab5 = this.getTextarea().labels) === null || _this$getTextarea$lab5 === void 0 ? void 0 : (_this$getTextarea$lab6 = _this$getTextarea$lab5[0]) === null || _this$getTextarea$lab6 === void 0 ? void 0 : _this$getTextarea$lab6.setAttribute('aria-hidden', true);\n this.mceInstance().show();\n }\n }\n\n renderHtmlEditor() {\n // the div keeps the editor from collapsing while the code editor is downloaded\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_3__[\"Suspense\"], {\n fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n style: {\n height: this.state.height,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], {\n renderTitle: renderLoading,\n size: \"medium\"\n }))\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_view__WEBPACK_IMPORTED_MODULE_10__[\"View\"], {\n as: \"div\",\n borderRadius: \"medium\",\n borderWidth: \"small\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(RceHtmlEditor, {\n ref: this._prettyHtmlEditorRef,\n height: document[FS_ELEMENT] ? `${window.screen.height}px` : this.state.height,\n code: this.getCode(),\n onChange: value => {\n this.getTextarea().value = value;\n this.handleTextareaChange();\n },\n onFocus: this.handleFocusHtmlEditor\n })));\n }\n\n render() {\n const {\n trayProps,\n ...mceProps\n } = this.props;\n\n if (!this.state.shouldShowEditor) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n ref: this._editorPlaceholderRef,\n style: {\n height: `${this.props.editorOptions.height}px`,\n border: '1px solid grey'\n }\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n key: this.id,\n className: `${styles.root} rce-wrapper`,\n ref: this._elementRef,\n onFocus: this.handleFocusRCE,\n onBlur: this.handleBlurRCE\n }, this.state.shouldShowOnFocusButton && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_ShowOnFocusButton__WEBPACK_IMPORTED_MODULE_26__[\"default\"], {\n onClick: this.openKBShortcutModal,\n margin: \"xx-small\",\n screenReaderLabel: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('View keyboard shortcuts'),\n ref: el => this._showOnFocusButton = el\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_icons__WEBPACK_IMPORTED_MODULE_7__[\"IconKeyboardShortcutsLine\"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_AlertMessageArea__WEBPACK_IMPORTED_MODULE_30__[\"default\"], {\n messages: this.state.messages,\n liveRegion: this.props.liveRegion,\n afterDismiss: this.removeAlert\n }), this.state.editorView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] && this.renderHtmlEditor(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n style: {\n display: this.state.editorView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] ? 'none' : 'block'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_tinymce_tinymce_react__WEBPACK_IMPORTED_MODULE_4__[\"Editor\"], {\n id: mceProps.textareaId,\n textareaName: mceProps.name,\n init: this.tinymceInitOptions,\n initialValue: mceProps.defaultContent,\n onInit: this.onInit,\n onClick: this.handleFocusEditor,\n onKeypress: this.handleFocusEditor,\n onActivate: this.handleFocusEditor,\n onRemove: this.onRemove,\n onFocus: this.handleFocusEditor,\n onBlur: this.handleBlurEditor,\n onNodeChange: this.onNodeChange,\n onEditorChange: this.onEditorChange\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n readOnly: this.props.readOnly,\n onChangeView: newView => this.toggleView(newView),\n path: this.state.path,\n wordCount: this.state.wordCount,\n editorView: this.state.editorView,\n preferredHtmlEditor: getHtmlEditorCookie(),\n onResize: this.onResize,\n onKBShortcutModalOpen: this.openKBShortcutModal,\n onA11yChecker: this.onA11yChecker,\n onFullscreen: this.handleClickFullscreen,\n a11yBadgeColor: this.theme.canvasBadgeBackgroundColor,\n a11yErrorsCount: this.state.a11yErrorsCount\n }), this.props.trayProps && this.props.trayProps.containingContext && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_plugins_shared_CanvasContentTray__WEBPACK_IMPORTED_MODULE_23__[\"default\"], Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n key: this.id,\n canvasOrigin: this.getCanvasUrl(),\n bridge: _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"],\n editor: this,\n onTrayClosing: this.handleContentTrayClosing,\n use_rce_icon_maker: this.props.use_rce_icon_maker\n }, trayProps)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_KeyboardShortcutModal__WEBPACK_IMPORTED_MODULE_29__[\"default\"], {\n onExited: this.KBShortcutModalExited,\n onDismiss: this.closeKBShortcutModal,\n open: this.state.KBShortcutModalOpen\n }), this.state.confirmAutoSave ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_3__[\"Suspense\"], {\n fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], {\n renderTitle: renderLoading,\n size: \"small\"\n })\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(RestoreAutoSaveModal, {\n savedContent: this.state.autoSavedContent,\n open: this.state.confirmAutoSave,\n onNo: () => this.restoreAutoSave(false),\n onYes: () => this.restoreAutoSave(true)\n })) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_alerts__WEBPACK_IMPORTED_MODULE_8__[\"Alert\"], {\n screenReaderOnly: true,\n liveRegion: this.props.liveRegion\n }, this.state.announcement));\n }\n\n}, _class2.propTypes = {\n autosave: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n enabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n maxAge: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number\n }),\n canvasOrigin: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n defaultContent: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n editorOptions: editorOptionsPropType,\n handleUnmount: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n editorView: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOf([_StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"], _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"], _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]]),\n renderKBShortcutModal: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n language: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n liveRegion: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,\n ltiTools: ltiToolsPropType,\n onContentChange: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onBlur: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onInitted: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onRemove: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n textareaClassName: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n textareaId: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,\n readOnly: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n tinymce: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object,\n trayProps: _plugins_shared_CanvasContentTray__WEBPACK_IMPORTED_MODULE_23__[\"trayPropTypes\"],\n toolbar: toolbarPropType,\n menu: menuPropType,\n plugins: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string),\n instRecordDisabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n highContrastCSS: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string),\n maxInitRenderedRCEs: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n use_rce_icon_maker: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n features: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.objectOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool),\n flashAlertTimeout: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n timezone: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string\n}, _class2.defaultProps = {\n trayProps: null,\n autosave: {\n enabled: false\n },\n highContrastCSS: [],\n ltiTools: [],\n maxInitRenderedRCEs: -1,\n features: {},\n timezone: (_Intl = Intl) === null || _Intl === void 0 ? void 0 : (_Intl$DateTimeFormat = _Intl.DateTimeFormat()) === null || _Intl$DateTimeFormat === void 0 ? void 0 : (_Intl$DateTimeFormat$ = _Intl$DateTimeFormat.resolvedOptions()) === null || _Intl$DateTimeFormat$ === void 0 ? void 0 : _Intl$DateTimeFormat$.timeZone,\n canvasOrigin: ''\n}, _class2.skinCssInjected = false, _class2)) || _class); // standard: string of tinymce menu commands\n// e.g. 'instructure_links | inserttable instructure_media_embed | hr'\n// custom: a string of tinymce menu commands\n// returns: standard + custom with any duplicate commands removed from custom\n\nfunction mergeMenuItems(standard, custom) {\n var _custom$trim;\n\n let c = custom === null || custom === void 0 ? void 0 : (_custom$trim = custom.trim) === null || _custom$trim === void 0 ? void 0 : _custom$trim.call(custom);\n if (!c) return standard;\n const s = new Set(standard.split(/[\\s|]+/)); // remove any duplicates\n\n c = c.split(/\\s+/).filter(m => !s.has(m));\n c = c.join(' ').replace(/^\\s*\\|\\s*/, '').replace(/\\s*\\|\\s*$/, '');\n return `${standard} | ${c}`;\n} // standard: the incoming tinymce menu object\n// custom: tinymce menu object to merge into standard\n// returns: the merged result by mutating incoming standard arg.\n// It will add commands to existing menus, or add a new menu\n// if the custom one does not exist\n\n\nfunction mergeMenu(standard, custom) {\n if (!custom) return standard;\n Object.keys(custom).forEach(k => {\n const curr_m = standard[k];\n\n if (curr_m) {\n curr_m.items = mergeMenuItems(curr_m.items, custom[k].items);\n } else {\n standard[k] = { ...custom[k]\n };\n }\n });\n return standard;\n} // standard: incoming tinymce toolbar array\n// custom: tinymce toolbar array to merge into standard\n// returns: the merged result by mutating the incoming standard arg.\n// It will add commands to existing toolbars, or add a new toolbar\n// if the custom one does not exist\n\n\nfunction mergeToolbar(standard, custom) {\n if (!custom) return standard; // merge given toolbar data into the default toolbar\n\n custom.forEach(tb => {\n const curr_tb = standard.find(t => tb.name && Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(tb.name) === t.name);\n\n if (curr_tb) {\n curr_tb.items.splice(curr_tb.items.length, 0, ...tb.items);\n } else {\n standard.push(tb);\n }\n });\n return standard;\n} // standard: incoming array of plugin names\n// custom: array of plugin names to merge\n// returns: the merged result, duplicates removed\n\n\nfunction mergePlugins(standard, custom) {\n if (!custom) return standard;\n const union = new Set(standard);\n\n for (const p of custom) {\n union.add(p);\n }\n\n return [...union];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RCEWrapper);\n\n\n//# sourceURL=webpack:///./src/rce/RCEWrapper.js?");
17630
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"editorOptionsPropType\", function() { return editorOptionsPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"storageAvailable\", function() { return storageAvailable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toolbarPropType\", function() { return toolbarPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"menuPropType\", function() { return menuPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ltiToolsPropType\", function() { return ltiToolsPropType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeMenuItems\", function() { return mergeMenuItems; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeMenu\", function() { return mergeMenu; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeToolbar\", function() { return mergeToolbar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergePlugins\", function() { return mergePlugins; });\n/* harmony import */ var _babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/esm/extends */ \"../../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"../../node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _tinymce_tinymce_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tinymce/tinymce-react */ \"../../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/index.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ \"../../node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _instructure_ui_themeable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @instructure/ui-themeable */ \"../../node_modules/@instructure/ui-themeable/es/index.js\");\n/* harmony import */ var _instructure_ui_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @instructure/ui-icons */ \"../../node_modules/@instructure/ui-icons/es/index.js\");\n/* harmony import */ var _instructure_ui_alerts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @instructure/ui-alerts */ \"../../node_modules/@instructure/ui-alerts/es/index.js\");\n/* harmony import */ var _instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @instructure/ui-spinner */ \"../../node_modules/@instructure/ui-spinner/es/index.js\");\n/* harmony import */ var _instructure_ui_view__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @instructure/ui-view */ \"../../node_modules/@instructure/ui-view/es/index.js\");\n/* harmony import */ var _instructure_debounce__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @instructure/debounce */ \"../../node_modules/@instructure/debounce/es/index.js\");\n/* harmony import */ var _common_getCookie__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/getCookie */ \"./src/common/getCookie.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _contentInsertion__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./contentInsertion */ \"./src/rce/contentInsertion.js\");\n/* harmony import */ var _indicatorRegion__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./indicatorRegion */ \"./src/rce/indicatorRegion.js\");\n/* harmony import */ var _editorLanguage__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./editorLanguage */ \"./src/rce/editorLanguage.js\");\n/* harmony import */ var _editorLanguage__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_editorLanguage__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _normalizeLocale__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./normalizeLocale */ \"./src/rce/normalizeLocale.js\");\n/* harmony import */ var _sanitizePlugins__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./sanitizePlugins */ \"./src/rce/sanitizePlugins.js\");\n/* harmony import */ var _RCEGlobals__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./RCEGlobals */ \"./src/rce/RCEGlobals.js\");\n/* harmony import */ var _defaultTinymceConfig__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../defaultTinymceConfig */ \"./src/defaultTinymceConfig.js\");\n/* harmony import */ var _common_indicate__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../common/indicate */ \"./src/common/indicate.js\");\n/* harmony import */ var _bridge__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../bridge */ \"./src/bridge/index.js\");\n/* harmony import */ var _plugins_shared_CanvasContentTray__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./plugins/shared/CanvasContentTray */ \"./src/rce/plugins/shared/CanvasContentTray.js\");\n/* harmony import */ var _StatusBar__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./StatusBar */ \"./src/rce/StatusBar.js\");\n/* harmony import */ var _customEvents__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./customEvents */ \"./src/rce/customEvents.js\");\n/* harmony import */ var _ShowOnFocusButton__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ShowOnFocusButton */ \"./src/rce/ShowOnFocusButton/index.js\");\n/* harmony import */ var _skins_theme__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../skins/theme */ \"./src/skins/theme.js\");\n/* harmony import */ var _plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./plugins/shared/fileTypeUtils */ \"./src/rce/plugins/shared/fileTypeUtils.js\");\n/* harmony import */ var _KeyboardShortcutModal__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./KeyboardShortcutModal */ \"./src/rce/KeyboardShortcutModal.js\");\n/* harmony import */ var _AlertMessageArea__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./AlertMessageArea */ \"./src/rce/AlertMessageArea.js\");\n/* harmony import */ var _alertHandler__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./alertHandler */ \"./src/rce/alertHandler.js\");\n/* harmony import */ var _plugins_shared_ContentSelection__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./plugins/shared/ContentSelection */ \"./src/rce/plugins/shared/ContentSelection.js\");\n/* harmony import */ var _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./plugins/instructure_record/VideoOptionsTray/TrayController */ \"./src/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js\");\n\n\nvar _dec, _class, _class2, _Intl, _Intl$DateTimeFormat, _Intl$DateTimeFormat$;\n\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst styles = {\n componentId: 'dyzZI',\n template: function (theme) {\n return `\n\n\n\n\n.canvas-rce__skins--root {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n}\n\n\n\n.rce-wrapper textarea {\n width: 100%;\n box-sizing: border-box;\n min-height: auto;\n }\n\n.tox,\n .tox *:not(svg) {\n color: inherit;\n font-family: inherit;\n }\n\n\n\n[dir='rtl'] .tox :not(svg) {\n direction: rtl;\n }\n\n.tox:not(.tox-tinymce-inline) .tox-editor-header {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox.tox-tinymce .screenreader-only {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n transform: translatez(0);\n }\n\n.tox-tinymce-aux {\n font-family: ${theme.canvasFontFamily || 'inherit'};\n }\n\n\n\n.tox.tox-tinymce-aux {\n z-index: 10000;\n }\n\n.tox .tox-button {\n background-color: ${theme.canvasPrimaryButtonHoverBackground || 'inherit'};\n font-family: ${theme.canvasFontFamily || 'inherit'};\n font-weight: ${theme.canvasButtonFontWeight || 'inherit'};\n font-size: ${theme.canvasButtonFontSize || 'inherit'};\n color: ${theme.canvasPrimaryButtonColor || 'inherit'};\n border-color: ${theme.canvasPrimaryButtonBorderColor || 'inherit'};\n line-height: calc(${theme.canvasButtonLineHeight || 'inherit'} - 2px);\n padding: ${theme.canvasButtonPadding || 'inherit'};\n }\n\n.tox .tox-button[disabled] {\n opacity: 0.5;\n border-color: inherit;\n color: inherit;\n }\n\n.tox .tox-button:focus:not(:disabled) {\n background-color: ${theme.canvasPrimaryButtonBackground || 'inherit'};\n color: ${theme.canvasPrimaryButtonColor || 'inherit'};\n border-color: ${theme.canvasBackgroundColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-button:hover:not(:disabled) {\n background-color: ${theme.canvasPrimaryButtonHoverBackground || 'inherit'};\n color: ${theme.canvasPrimaryButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-button:active:not(:disabled) {\n background-color: ${theme.canvasPrimaryButtonBackground || 'inherit'};\n border-color: ${theme.canvasPrimaryButtonBorderColor || 'inherit'};\n color: ${theme.canvasPrimaryButtonColor || 'inherit'};\n }\n\n.tox .tox-button--secondary {\n background-color: ${theme.canvasSecondaryButtonBackground || 'inherit'};\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: ${theme.canvasSecondaryButtonColor || 'inherit'};\n }\n\n.tox .tox-button--secondary[disabled] {\n background-color: inherit;\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: inherit;\n opacity: 0.5;\n }\n\n.tox .tox-button--secondary:focus:not(:disabled) {\n background-color: inherit;\n border-color: ${theme.canvasFocusBorderColor || 'inherit'};\n color: inherit;\n }\n\n.tox .tox-button--secondary:hover:not(:disabled) {\n background-color: ${theme.canvasSecondaryButtonHoverBackground || 'inherit'};\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: ${theme.canvasSecondaryButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-button--secondary:active:not(:disabled) {\n background-color: inherit;\n border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};\n color: inherit;\n }\n\n.tox .tox-button-link {\n font-family: ${theme.canvasFontFamily || 'inherit'};\n }\n\n.tox .tox-button--naked {\n background: ${theme.canvasButtonBackground || 'inherit'};\n border-color: ${theme.canvasButtonBorderColor || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-button--naked:hover:not(:disabled) {\n background-color: ${theme.canvasButtonHoverBackground || 'inherit'};\n border-color: ${theme.canvasButtonBorderColor || 'inherit'};\n color: ${theme.canvasButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-button--naked:focus:not(:disabled) {\n background-color: ${theme.canvasButtonBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n border-color: ${theme.canvasBackgroundColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-button--naked:active:not(:disabled) {\n background-color: inherit;\n color: inherit;\n }\n\n.tox .tox-button--naked.tox-button--icon {\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) {\n background: ${theme.canvasButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonHoverColor || 'inherit'};\n }\n\n.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {\n fill: rgba(45, 59, 69, 0.3);\n }\n\n.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {\n fill: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg {\n fill: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox input.tox-checkbox__input:focus + .tox-checkbox__icons {\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-collection--list .tox-collection__group {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-collection__group-heading {\n background-color: #e3e6e8;\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-collection__item {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection__item--state-disabled {\n background-color: unset;\n opacity: 0.5;\n cursor: default;\n }\n\n.tox .tox-collection--list .tox-collection__item--enabled {\n color: contrast(inherit, ${theme.canvasTextColor || 'inherit'}, #fff);\n }\n\n.tox .tox-collection--list .tox-collection__item--active {\n background-color: ${theme.activeMenuItemBackground || 'inherit'};\n color: ${theme.activeMenuItemLabelColor || 'inherit'};\n }\n\n.tox\n .tox-collection--list\n .tox-collection__item--active:not(.tox-collection__item--state-disabled) {\n background-color: ${theme.activeMenuItemBackground || 'inherit'};\n color: ${theme.activeMenuItemLabelColor || 'inherit'};\n }\n\n.tox .tox-collection--toolbar .tox-collection__item--enabled {\n background-color: #cbced1;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--toolbar .tox-collection__item--active {\n background-color: #e0e2e3;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--grid .tox-collection__item--enabled {\n background-color: #cbced1;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--grid .tox-collection__item--active {\n background-color: #e0e2e3;\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-collection--list .tox-collection__item-icon:first-child {\n margin-right: 8px;\n }\n\n.tox .tox-collection__item-accessory {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-sv-palette {\n border: 1px solid black;\n box-sizing: border-box;\n }\n\n.tox .tox-hue-slider {\n border: 1px solid black;\n }\n\n.tox .tox-rgb-form input.tox-invalid {\n \n border-color: ${theme.canvasErrorColor || 'inherit'} !important;\n }\n\n.tox .tox-rgb-form {\n padding: 2px; \n }\n\n.tox .tox-swatches__picker-btn:hover {\n background: #e0e2e3;\n }\n\n.tox .tox-comment-thread {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-comment {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n box-shadow: 0 4px 8px 0 rgba(45, 59, 69, 0.1);\n }\n\n.tox .tox-comment__header {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__date {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-comment__body {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__expander p {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-comment-thread__overlay::after {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-comment__overlay {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-comment__loading-text {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__overlaytext p {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-comment__busy-spinner {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-user__avatar svg {\n fill: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-user__name {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-dialog-wrap__backdrop {\n background-color: rgba(255, 255, 255, 0.75);\n }\n\n.tox .tox-dialog {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n box-shadow: ${theme.canvasModalShadow || 'inherit'};\n }\n\n.tox .tox-dialog__header {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasTextColor || 'inherit'};\n border-bottom: 1px solid ${theme.canvasBorderColor || 'inherit'};\n padding: ${theme.canvasModalHeadingPadding || 'inherit'};\n margin: 0;\n }\n\n.tox .tox-dialog__title {\n font-family: ${theme.canvasFontFamily || 'inherit'};\n font-size: ${theme.canvasModalHeadingFontSize || 'inherit'};\n font-weight: ${theme.canvasModalHeadingFontWeight || 'inherit'};\n }\n\n.tox .tox-dialog__body {\n color: ${theme.canvasTextColor || 'inherit'};\n padding: ${theme.canvasModalBodyPadding || 'inherit'};\n }\n\n.tox .tox-dialog__body-nav-item {\n color: rgba(45, 59, 69, 0.75);\n }\n\n.tox .tox-dialog__body-nav-item:focus {\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-dialog__body-nav-item--active {\n border-bottom-color: ${theme.canvasBrandColor || 'inherit'};\n color: ${theme.canvasBrandColor || 'inherit'};\n }\n\n.tox .tox-dialog__footer {\n background-color: ${theme.canvasModalFooterBackground || 'inherit'};\n border-top: 1px solid ${theme.canvasBorderColor || 'inherit'};\n padding: ${theme.canvasModalFooterPadding || 'inherit'};\n margin: 0;\n }\n\n.tox .tox-dialog__table tbody tr {\n border-bottom-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-dropzone {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n border: 2px dashed ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-dropzone p {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-edit-area {\n border: 1px solid ${theme.canvasBorderColor || 'inherit'};\n border-radius: 3px;\n }\n\n.tox .tox-edit-area__iframe {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border: ${theme.canvasFocusBorderWidth || 'inherit'} solid transparent;\n }\n\n.tox.tox-inline-edit-area {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-form__group {\n padding: 2px;\n }\n\n.tox .tox-control-wrap .tox-textfield {\n padding-right: 32px;\n }\n\n.tox .tox-control-wrap__status-icon-invalid svg {\n fill: ${theme.canvasErrorColor || 'inherit'};\n }\n\n.tox .tox-control-wrap__status-icon-unknown svg {\n fill: ${theme.canvasWarningColor || 'inherit'};\n }\n\n.tox .tox-control-wrap__status-icon-valid svg {\n fill: ${theme.canvasSuccessColor || 'inherit'};\n }\n\n.tox .tox-color-input span {\n border-color: rgba(45, 59, 69, 0.2);\n }\n\n.tox .tox-color-input span:focus {\n border-color: ${theme.canvasBrandColor || 'inherit'};\n }\n\n.tox .tox-label,\n .tox .tox-toolbar-label {\n color: rgba(45, 59, 69, 0.6);\n }\n\n.tox .tox-form__group {\n margin: ${theme.canvasFormElementMargin || 'inherit'};\n }\n\n.tox .tox-form__group:last-child {\n margin: 0;\n }\n\n.tox .tox-form__group .tox-label {\n color: ${theme.canvasFormElementLabelColor || 'inherit'};\n margin: ${theme.canvasFormElementLabelMargin || 'inherit'};\n font-size: ${theme.canvasFormElementLabelFontSize || 'inherit'};\n font-weight: ${theme.canvasFormElementLabelFontWeight || 'inherit'};\n }\n\n.tox .tox-form__group--error {\n color: ${theme.canvasErrorColor || 'inherit'};\n }\n\n.tox .tox-textfield,\n .tox .tox-selectfield select,\n .tox .tox-textarea,\n .tox .tox-toolbar-textfield {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n color: ${theme.canvasTextColor || 'inherit'};\n font-family: ${theme.canvasFontFamily || 'inherit'};\n }\n\n.tox .tox-textfield:focus,\n .tox .tox-selectfield select:focus,\n .tox .tox-textarea:focus {\n \n border-color: ${theme.canvasBorderColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-naked-btn {\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-naked-btn svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-insert-table-picker > div {\n border-color: #cccccc;\n }\n\n.tox .tox-insert-table-picker .tox-insert-table-picker__selected {\n background-color: ${theme.tableSelectorHighlightColor || 'inherit'};\n border-color: ${theme.tableSelectorHighlightColor || 'inherit'};\n }\n\n.tox-selected-menu .tox-insert-table-picker {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-insert-table-picker__label {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-menu {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-menubar {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n.tox .tox-mbtn {\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-mbtn[disabled] {\n opacity: 0.5;\n }\n\n.tox .tox-mbtn:hover:not(:disabled) {\n background: ${theme.toolbarButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-mbtn:focus:not(:disabled) {\n background-color: transparent;\n color: ${theme.canvasButtonColor || 'inherit'};\n border-color: ${theme.canvasBackgroundColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-mbtn--active {\n background: ${theme.toolbarButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-notification {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: #c5c5c5;\n }\n\n.tox .tox-notification--success {\n background-color: #dff0d8;\n border-color: ${theme.canvasSuccessColor || 'inherit'};\n }\n\n.tox .tox-notification--error {\n background-color: #f2dede;\n border-color: ${theme.canvasErrorColor || 'inherit'};\n }\n\n.tox .tox-notification--warn {\n background-color: #fcf8e3;\n border-color: ${theme.canvasWarningColor || 'inherit'};\n }\n\n.tox .tox-notification--info {\n background-color: #d9edf7;\n border-color: ${theme.canvasInfoColor || 'inherit'};\n }\n\n.tox .tox-notification__body {\n color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-pop__dialog {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-pop.tox-pop--bottom::before {\n border-color: ${theme.canvasBorderColor || 'inherit'} transparent transparent transparent;\n }\n\n.tox .tox-pop.tox-pop--top::before {\n border-color: transparent transparent ${theme.canvasBorderColor || 'inherit'} transparent;\n }\n\n.tox .tox-pop.tox-pop--left::before {\n border-color: transparent ${theme.canvasBorderColor || 'inherit'} transparent transparent;\n }\n\n.tox .tox-pop.tox-pop--right::before {\n border-color: transparent transparent transparent ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-slider {\n width: 100%;\n }\n\n.tox .tox-slider__rail {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-slider__handle {\n background-color: ${theme.canvasBrandColor || 'inherit'};\n }\n\n.tox .tox-spinner > div {\n background-color: rgba(45, 59, 69, 0.6);\n }\n\n\n\n.tox .tox-tbtn {\n border-style: none;\n color: ${theme.canvasButtonColor || 'inherit'};\n position: relative;\n }\n\n.tox .tox-tbtn svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox .tox-tbtn.tox-tbtn--enabled {\n background: inherit;\n }\n\n.tox .tox-tbtn:focus,\n .tox .tox-split-button:focus {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};\n }\n\n.tox .tox-tbtn:hover,\n .tox .tox-split-button:hover,\n .tox .tox-tbtn.tox-tbtn--enabled:hover,\n .tox .tox-split-button .tox-tbtn.tox-split-button__chevron:hover {\n background: ${theme.toolbarButtonHoverBackground || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n }\n\n.tox-tbtn.tox-split-button__chevron {\n position: relative;\n }\n\n\n\n.tox .tox-tbtn.tox-tbtn--enabled::after {\n position: absolute;\n top: -3px;\n content: '\\\\25BC';\n text-align: center;\n height: 8px;\n font-size: 8px;\n width: 100%;\n color: ${theme.canvasEnabledColor || 'inherit'};\n }\n\n[dir=\"ltr\"] .tox .tox-tbtn.tox-tbtn--enabled::after {\n text-align: center;\n }\n\n[dir=\"rtl\"] .tox .tox-tbtn.tox-tbtn--enabled::after {\n text-align: center;\n }\n\n\n\n.tox-tbtn.tox-split-button__chevron.tox-tbtn--enabled::after {\n display: none;\n }\n\n.tox .tox-tbtn--disabled,\n .tox .tox-tbtn--disabled:hover,\n .tox .tox-tbtn:disabled,\n .tox .tox-tbtn:disabled:hover {\n opacity: 0.5;\n }\n\n.tox .tox-tbtn--disabled svg,\n .tox .tox-tbtn--disabled:hover svg,\n .tox .tox-tbtn:disabled svg,\n .tox .tox-tbtn:disabled:hover svg {\n \n opacity: 0.5;\n }\n\n.tox .tox-tbtn__select-chevron svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n width: 10px;\n height: 10px;\n }\n\n.tox .tox-split-button__chevron svg {\n fill: ${theme.canvasButtonColor || 'inherit'};\n width: 10px;\n height: 10px;\n }\n\n.tox .tox-split-button.tox-tbtn--disabled:hover,\n .tox .tox-split-button.tox-tbtn--disabled:focus,\n .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,\n .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus {\n opacity: 0.5;\n }\n\n.tox .tox-toolbar {\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n border-top: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-toolbar__group:not(:last-of-type) {\n border-right: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-tooltip__body {\n background-color: ${theme.canvasTextColor || 'inherit'};\n box-shadow: 0 2px 4px rgba(45, 59, 69, 0.3);\n color: rgba(255, 255, 255, 0.75);\n }\n\n.tox .tox-tooltip--down .tox-tooltip__arrow {\n border-top-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-tooltip--up .tox-tooltip__arrow {\n border-bottom-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-tooltip--right .tox-tooltip__arrow {\n border-left-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-tooltip--left .tox-tooltip__arrow {\n border-right-color: ${theme.canvasTextColor || 'inherit'};\n }\n\n.tox .tox-well {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox .tox-custom-editor {\n border-color: ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox a {\n color: ${theme.canvasLinkColor || 'inherit'};\n }\n\n.tox.tox-tinymce {\n border-style: none;\n }\n\n\n\n.tox-editor-container .tox-toolbar,\n .tox-editor-container .tox-toolbar-overlord {\n background-image: none;\n margin-bottom: 5px;\n }\n\n.tox-editor-container .tox-toolbar__primary {\n background-image: none;\n }\n\n\n\n.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {\n border-style: none;\n }\n\n.tox .tox-toolbar .tox-toolbar__group,\n .tox .tox-toolbar-overlord .tox-toolbar__group,\n .tox-toolbar__overflow .tox-toolbar__group,\n .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type),\n .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) {\n border-style: none;\n }\n\n.tox-toolbar .tox-toolbar__group::after, \n .tox-toolbar-overlord .tox-toolbar__group::after, \n .tox-toolbar__overflow .tox-toolbar__group::after, \n .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {\n \n content: '';\n display: inline-block;\n box-sizing: border-box;\n border-inline-end: 1px solid ${theme.canvasBorderColor || 'inherit'};\n width: 8px;\n height: 24px;\n }\n\n[dir=\"ltr\"] .tox-toolbar .tox-toolbar__group::after,\n[dir=\"ltr\"] .tox-toolbar-overlord .tox-toolbar__group::after,\n[dir=\"ltr\"] .tox-toolbar__overflow .tox-toolbar__group::after,\n[dir=\"ltr\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {\n border-right: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n[dir=\"rtl\"] .tox-toolbar .tox-toolbar__group::after,\n[dir=\"rtl\"] .tox-toolbar-overlord .tox-toolbar__group::after,\n[dir=\"rtl\"] .tox-toolbar__overflow .tox-toolbar__group::after,\n[dir=\"rtl\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {\n border-left: 1px solid ${theme.canvasBorderColor || 'inherit'};\n }\n\n.tox-toolbar .tox-toolbar__group:last-child::after,\n .tox-toolbar-overlord .tox-toolbar__group:last-child::after,\n .tox-toolbar__overflow .tox-toolbar__group:last-child::after,\n .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {\n border-inline-end-width: 0;\n padding-inline-start: 0;\n width: 0;\n }\n\n[dir=\"ltr\"] .tox-toolbar .tox-toolbar__group:last-child::after,\n[dir=\"ltr\"] .tox-toolbar-overlord .tox-toolbar__group:last-child::after,\n[dir=\"ltr\"] .tox-toolbar__overflow .tox-toolbar__group:last-child::after,\n[dir=\"ltr\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {\n border-right-width: 0;\n padding-left: 0;\n }\n\n[dir=\"rtl\"] .tox-toolbar .tox-toolbar__group:last-child::after,\n[dir=\"rtl\"] .tox-toolbar-overlord .tox-toolbar__group:last-child::after,\n[dir=\"rtl\"] .tox-toolbar__overflow .tox-toolbar__group:last-child::after,\n[dir=\"rtl\"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {\n border-left-width: 0;\n padding-right: 0;\n }\n\n.tox .tox-tbtn--bespoke .tox-tbtn__select-label {\n width: auto;\n padding-inline-end: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-tbtn--bespoke .tox-tbtn__select-label {\n padding-right: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-tbtn--bespoke .tox-tbtn__select-label {\n padding-left: 0;\n }\n\n.tox .tox-tbtn {\n box-sizing: border-box;\n }\n\n.tox .tox-tbtn,\n .tox .tox-split-button,\n .tox .tox-tbtn--select {\n border-style: none;\n margin: 2px 2px 3px;\n }\n\n.tox .tox-split-button .tox-tbtn {\n margin-inline-end: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn {\n margin-right: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn {\n margin-left: 0;\n }\n\n.tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-inline-start: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-left: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-right: 0;\n }\n\n.tox .tox-edit-area.active,\n .tox .tox-edit-area.active iframe {\n border-color: ${theme.canvasFocusBorderColor || 'inherit'};\n }\n\n.tox .tox-split-button .tox-tbtn {\n margin-inline-end: 0;\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn {\n margin-right: 0;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn {\n margin-left: 0;\n }\n\n.tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-inline-start: -6px;\n background-color: ${theme.canvasBackgroundColor || 'inherit'};\n }\n\n[dir=\"ltr\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-left: -6px;\n }\n\n[dir=\"rtl\"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {\n margin-right: -6px;\n }\n\n.tox .tox-split-button:hover .tox-split-button__chevron {\n background: ${theme.canvasBackgroundColor || 'inherit'};\n color: ${theme.canvasButtonColor || 'inherit'};\n box-shadow: none;\n }\n\n.tox .tox-tbtn:hover.tox-split-button__chevron,\n .tox .tox-tbtn:focus.tox-split-button__chevron {\n box-shadow: none;\n }\n\n.tox .tox-toolbar__primary {\n border-width: 0;\n }\n\n.tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {\n margin-inline-end: 4px;\n }\n\n[dir=\"ltr\"] .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {\n margin-right: 4px;\n }\n\n[dir=\"rtl\"] .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {\n margin-left: 4px;\n }\n\n\n\n.tox .tox-icon svg:not([height]),\n .tox .tox-collection__item-icon svg:not([height]) {\n height: 16px;\n }\n\n\n\n.tox .tox-collection--toolbar-lg .tox-collection__item-icon {\n height: 30px;\n width: 30px;\n }\n\n\n\n.tox-selectfield__icon-js svg {\n width: 10px;\n height: 10px;\n }\n\n\n\n[data-canvascontenttray-content]:focus {\n outline-color: ${theme.canvasFocusBorderColor || 'inherit'};\n }\n`;\n },\n 'root': 'canvas-rce__skins--root'\n};\nconst skinCSSBinding = {\n componentId: 'djgIv',\n template: function (theme) {\n return `\n\n\n.tinymce__oxide--tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:baseline;vertical-align:initial;white-space:normal}\n\n.tinymce__oxide--tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}\n\n[dir=\"ltr\"] .tinymce__oxide--tox :not(svg):not(rect){text-align:inherit}\n\n[dir=\"rtl\"] .tinymce__oxide--tox :not(svg):not(rect){text-align:inherit}\n\n.tinymce__oxide--tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}\n\n[dir=\"ltr\"] .tinymce__oxide--tox :not(svg):not(rect){float:none}\n\n[dir=\"rtl\"] .tinymce__oxide--tox :not(svg):not(rect){float:none}\n\n.tinymce__oxide--tox:not([dir=rtl]){direction:ltr;text-align:left}\n\n[dir=\"ltr\"] .tinymce__oxide--tox:not([dir=rtl]){text-align:left}\n\n[dir=\"rtl\"] .tinymce__oxide--tox:not([dir=rtl]){text-align:left}\n\n.tinymce__oxide--tox[dir=rtl]{direction:rtl;text-align:right}\n\n[dir=\"ltr\"] .tinymce__oxide--tox[dir=rtl]{text-align:right}\n\n[dir=\"rtl\"] .tinymce__oxide--tox[dir=rtl]{text-align:right}\n\n.tinymce__oxide--tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}\n\n.tinymce__oxide--tox-tinymce-inline{border:none;box-shadow:none}\n\n.tinymce__oxide--tox-tinymce-inline .tinymce__oxide--tox-editor-header{background-color:transparent;border:1px solid #ccc;border-radius:0;box-shadow:none}\n\n.tinymce__oxide--tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;z-index:1300}\n\n.tinymce__oxide--tox-tinymce :focus,.tinymce__oxide--tox-tinymce-aux :focus{outline:0}\n\nbutton::-moz-focus-inner{border:0}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description{align-items:stretch;border:1px solid #ccc;border-radius:3px;display:flex;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description>div{padding-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}\n\n.tinymce__oxide--tox .tinymce__oxide--accessibility-issue__repair{margin-top:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--tox-form__group h2{color:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info .tinymce__oxide--tox-icon svg{fill:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--info a .tinymce__oxide--tox-icon{color:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--tox-form__group h2{color:#cc8500}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn .tinymce__oxide--tox-icon svg{fill:#cc8500}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--warn a .tinymce__oxide--tox-icon{color:#cc8500}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--tox-form__group h2{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error .tinymce__oxide--tox-icon svg{fill:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--error a .tinymce__oxide--tox-icon{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--tox-form__group h2{color:#78ab46}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success .tinymce__oxide--tox-icon svg{fill:#78ab46}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue--success a .tinymce__oxide--tox-icon{color:#78ab46}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header h1,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group .tinymce__oxide--accessibility-issue__description h2{margin-top:0}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header .tinymce__oxide--tox-button{margin-left:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header>:nth-last-child(2){margin-left:auto}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description{padding:4px 4px 4px 8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header .tinymce__oxide--tox-button{margin-right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__header>:nth-last-child(2){margin-right:auto}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description{padding:4px 8px 4px 4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-anchorbar{display:flex;flex:0 0 auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-bar{display:flex;flex:0 0 auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-button{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-button{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--icon,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--icon,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--secondary.tinymce__oxide--tox-button--icon{padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--icon .tinymce__oxide--tox-icon svg,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--icon .tinymce__oxide--tox-icon svg,.tinymce__oxide--tox .tinymce__oxide--tox-button.tinymce__oxide--tox-button--secondary.tinymce__oxide--tox-button--icon .tinymce__oxide--tox-icon svg{display:block;fill:currentColor}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button-link--sm{font-size:14px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked .tinymce__oxide--tox-icon svg{fill:currentColor}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-button--naked.tinymce__oxide--tox-button--icon:hover:not(:disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__checked svg{display:none;fill:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-checkbox--disabled .tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:checked+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{display:none}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:checked+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__checked svg{display:block}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:indeterminate+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__unchecked svg{display:none}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:indeterminate+.tinymce__oxide--tox-checkbox__icons .tinymce__oxide--tox-checkbox-icon__indeterminate svg{display:block}\n\n.tinymce__oxide--tox input.tinymce__oxide--tox-checkbox__input:focus+.tinymce__oxide--tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-checkbox__label{margin-left:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-checkbox__input{left:-10000px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-bar .tinymce__oxide--tox-checkbox{margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-checkbox__label{margin-right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-checkbox__input{right:-10000px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-bar .tinymce__oxide--tox-checkbox{margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__group{display:flex;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group:first-child{border-top-width:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item{padding:4px 8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item{border-radius:3px;padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__item{border-radius:3px;padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item--enabled{background-color:#fff;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item--active{background-color:#dee0e2}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item--active{background-color:#dee0e2}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--grid .tinymce__oxide--tox-collection__item--active:not(.tinymce__oxide--tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item--active:not(.tinymce__oxide--tox-collection__item--state-disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar .tinymce__oxide--tox-collection__item--active:not(.tinymce__oxide--tox-collection__item--state-disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-checkmark,.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-checkmark svg,.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-icon svg{fill:currentColor}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--toolbar-lg .tinymce__oxide--tox-collection__item-icon{height:48px;width:48px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-caret{align-items:center;display:flex;min-height:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-caret svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item:not(.tinymce__oxide--tox-collection__item--enabled) .tinymce__oxide--tox-collection__item-checkmark svg{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item:not(.tinymce__oxide--tox-collection__item--enabled) .tinymce__oxide--tox-collection__item-accessory+.tinymce__oxide--tox-collection__item-checkmark{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item-label{white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item-caret{margin-left:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--align-left{margin-right:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--valign-middle{align-items:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--row.tinymce__oxide--tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--align-left{align-items:flex-start}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--align-right{align-items:flex-end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--valign-top{align-self:flex-start}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--valign-middle{align-self:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection__item-container--column.tinymce__oxide--tox-collection__item-container--valign-bottom{align-self:flex-end}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>:not(:first-child){margin-left:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>.tinymce__oxide--tox-collection__item-label:first-child{margin-left:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection__item-accessory{margin-left:16px;text-align:right}\n\n[dir=\"ltr\"] .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection__item-accessory{text-align:right}\n\n[dir=\"rtl\"] .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection__item-accessory{text-align:right}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-collection .tinymce__oxide--tox-collection__item-caret{margin-left:16px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>:not(:first-child){margin-right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__item>.tinymce__oxide--tox-collection__item-label:first-child{margin-right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-icon-rtl .tinymce__oxide--tox-collection__item-icon svg{transform:rotateY(180deg)}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-accessory{margin-right:16px;text-align:left}\n\n[dir=\"ltr\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-accessory{text-align:left}\n\n[dir=\"rtl\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection__item-accessory{text-align:left}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection .tinymce__oxide--tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-collection--horizontal .tinymce__oxide--tox-collection__item-caret{margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette{box-sizing:border-box;display:flex;height:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-spectrum{height:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette,.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-spectrum{width:225px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider{box-sizing:border-box;height:100%;width:25px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider,.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider-spectrum{width:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form input{width:6em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form input.tinymce__oxide--tox-invalid{border:1px solid red!important}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-rgb-form .tinymce__oxide--tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-sv-palette{margin-right:15px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-hue-slider{margin-right:15px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-hue-slider-thumb{margin-left:-1px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-rgb-form label{margin-right:.5em}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-sv-palette{margin-left:15px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-hue-slider{margin-left:15px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-hue-slider-thumb{margin-right:-1px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-rgb-form label{margin-left:.5em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar .tinymce__oxide--tox-swatches,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow .tinymce__oxide--tox-swatches,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__primary .tinymce__oxide--tox-swatches{margin:2px 0 3px 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group .tinymce__oxide--tox-swatches-menu{border:0;margin:-4px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__row{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch:focus,.tinymce__oxide--tox .tinymce__oxide--tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch--remove{align-items:center;display:flex;justify-content:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatch--remove svg path{stroke:#e74c3c}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__picker-btn svg{height:24px;width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-swatches__picker-btn:hover{background:#dee0e2}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-swatches__picker-btn{margin-left:auto}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-swatches__picker-btn{margin-right:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment-thread{background:#fff;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment-thread>:not(:first-child){margin-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:none;text-transform:initial}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__body textarea{resize:none;white-space:normal;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__expander{padding-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__body p{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__buttonspacing{padding-top:16px;text-align:center}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__buttonspacing{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__buttonspacing{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment-thread__overlay::after{background:#fff;bottom:0;content:\"\";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__reply>:first-child{margin-bottom:8px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:\"\";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlay{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlay{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__loading-text>div{padding-bottom:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext p{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext p{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-conversations{margin:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__edit{margin-left:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__buttonspacing>:last-child,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__edit>:last-child,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-comment__reply>:last-child{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__edit{margin-right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__buttonspacing>:last-child,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__edit>:last-child,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-comment__reply>:last-child{margin-right:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-user{align-items:center;display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-user__avatar svg{fill:rgba(34,47,62,.7)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-user__avatar svg{margin-right:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-user__avatar+.tinymce__oxide--tox-user__name{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-user__avatar svg{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-user__avatar+.tinymce__oxide--tox-user__name{margin-right:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-wrap__backdrop--opaque{background-color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox .tinymce__oxide--tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-inline{z-index:1100}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__header .tinymce__oxide--tox-button{z-index:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__draghandle:active{cursor:grabbing}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__dismiss{margin-left:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{text-align:left}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{text-align:left}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body{flex-direction:column}}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>:first-child{margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>:last-child{margin-bottom:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a:focus,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;margin-inline-end:0;margin-inline-start:0;padding-inline-start:2.5rem}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content ul{margin-right:0;margin-left:0;padding-left:2.5rem}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content ul{margin-left:0;margin-right:0;padding-right:2.5rem}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p{margin-bottom:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1:first-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2:first-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p:first-child{margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1:last-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2:last-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p:last-child{margin-bottom:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h1:only-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group h2:only-child,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-form__group p:only-child{margin-bottom:0;margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog--width-lg{height:650px;max-width:1200px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog--width-md{max-width:800px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog--width-md .tinymce__oxide--tox-dialog__body-content{overflow:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content--centered{text-align:center}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content--centered{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content--centered{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__footer-end,.tinymce__oxide--tox .tinymce__oxide--tox-dialog__footer-start{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table{border-collapse:collapse;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table thead th{font-weight:700;padding-bottom:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table tbody tr{border-bottom:1px solid #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table tbody tr:last-child{border-bottom:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__table td{padding-bottom:8px;padding-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__popups{position:absolute;width:100%;z-index:1100}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-iframe .tinymce__oxide--tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-iframe .tinymce__oxide--tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-fadeout{opacity:0;visibility:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-fadein{opacity:1;visibility:visible}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-dock-transition.tinymce__oxide--tox-dialog-dock-fadein{transition-delay:0s}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-ie .tinymce__oxide--tox-dialog-wrap{position:-ms-device-fixed}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-nav{margin-right:0}}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-end>*,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-start>*{margin-left:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body{text-align:right}\n\n[dir=\"ltr\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body{text-align:right}\n\n[dir=\"rtl\"] .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body{text-align:right}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-nav{margin-left:0}}\n\n@media only screen and (max-width:767px){body:not(.tinymce__oxide--tox-force-desktop) .tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-end>*,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-dialog__footer .tinymce__oxide--tox-dialog__footer-start>*{margin-right:8px}\n\nbody.tinymce__oxide--tox-dialog__disable-scroll{overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-inline-edit-area{border:1px dotted #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-editor-header{z-index:1}\n\n.tinymce__oxide--tox:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header{box-shadow:none;transition:box-shadow .5s}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce--toolbar-bottom .tinymce__oxide--tox-editor-header,.tinymce__oxide--tox.tinymce__oxide--tox-tinymce-inline .tinymce__oxide--tox-editor-header{margin-bottom:-1px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce--toolbar-sticky-on .tinymce__oxide--tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}\n\n.tinymce__oxide--tox-editor-dock-fadeout{opacity:0;visibility:hidden}\n\n.tinymce__oxide--tox-editor-dock-fadein{opacity:1;visibility:visible}\n\n.tinymce__oxide--tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}\n\n.tinymce__oxide--tox-editor-dock-transition.tinymce__oxide--tox-editor-dock-fadein{transition-delay:0s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap{flex:1;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap:not(.tinymce__oxide--tox-control-wrap--status-invalid) .tinymce__oxide--tox-control-wrap__status-icon-invalid,.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap:not(.tinymce__oxide--tox-control-wrap--status-unknown) .tinymce__oxide--tox-control-wrap__status-icon-unknown,.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap:not(.tinymce__oxide--tox-control-wrap--status-valid) .tinymce__oxide--tox-control-wrap__status-icon-valid{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap svg{display:block}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-invalid svg{fill:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-unknown svg{fill:orange}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-control-wrap__status-icon-valid svg{fill:green}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap--status-invalid .tinymce__oxide--tox-textfield,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap--status-unknown .tinymce__oxide--tox-textfield,.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap--status-valid .tinymce__oxide--tox-textfield{padding-right:32px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-control-wrap__status-icon-wrap{right:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap--status-invalid .tinymce__oxide--tox-textfield,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap--status-unknown .tinymce__oxide--tox-textfield,.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap--status-valid .tinymce__oxide--tox-textfield{padding-left:32px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-control-wrap__status-icon-wrap{left:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-autocompleter{max-width:25em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-autocompleter .tinymce__oxide--tox-menu{max-width:25em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-autocompleter .tinymce__oxide--tox-autocompleter-highlight{font-weight:700}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input{display:flex;position:relative;z-index:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input .tinymce__oxide--tox-textfield{z-index:-1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span:focus:not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-color-input span[aria-disabled=true]{cursor:not-allowed}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-color-input .tinymce__oxide--tox-textfield{padding-left:36px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-color-input span{left:6px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-color-input .tinymce__oxide--tox-textfield{padding-right:36px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-color-input span{right:6px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-label,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-label{padding:0 8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-label{padding:0 0 0 8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group{box-sizing:border-box;margin-bottom:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form-group--maximize{flex:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--error{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--collection{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid--2col>.tinymce__oxide--tox-form__group{width:calc(50% - (8px / 2))}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid--3col>.tinymce__oxide--tox-form__group{width:calc(100% / 3 - (8px / 2))}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__grid--4col>.tinymce__oxide--tox-form__group{width:calc(25% - (8px / 2))}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__controls-h-stack{align-items:center;display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--inline{align-items:center;display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched .tinymce__oxide--tox-textarea{flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched .tinymce__oxide--tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-form__group--stretched .tinymce__oxide--tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-form__controls-h-stack>:not(:first-child){margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-form__controls-h-stack>:not(:first-child){margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-lock.tinymce__oxide--tox-locked .tinymce__oxide--tox-lock-icon__unlock,.tinymce__oxide--tox .tinymce__oxide--tox-lock:not(.tinymce__oxide--tox-locked) .tinymce__oxide--tox-lock-icon__lock{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select,.tinymce__oxide--tox .tinymce__oxide--tox-textarea,.tinymce__oxide--tox .tinymce__oxide--tox-textfield,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-textfield{appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-textarea[disabled],.tinymce__oxide--tox .tinymce__oxide--tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select:focus,.tinymce__oxide--tox .tinymce__oxide--tox-textarea:focus,.tinymce__oxide--tox .tinymce__oxide--tox-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-naked-btn svg{display:block;fill:#222f3e}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-toolbar-textfield+*{margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-toolbar-textfield+*{margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield{cursor:pointer;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listbox__select-chevron svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-listboxfield .tinymce__oxide--tox-listbox--select{align-items:center;display:flex}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-listboxfield svg{right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-listboxfield svg{left:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield{cursor:pointer;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select{appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select::-ms-expand{display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-selectfield select[size=\"0\"],.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-selectfield select[size=\"1\"]{padding-right:24px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-selectfield svg{right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-selectfield select[size=\"0\"],.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-selectfield select[size=\"1\"]{padding-left:24px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-selectfield svg{left:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-textarea{appearance:textarea;white-space:pre-wrap}\n\n.tinymce__oxide--tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce.tinymce__oxide--tox-fullscreen .tinymce__oxide--tox-statusbar__resize-handle{display:none}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce.tinymce__oxide--tox-fullscreen{background-color:transparent;z-index:1200}\n\n.tinymce__oxide--tox-shadowhost.tinymce__oxide--tox-fullscreen{z-index:1200}\n\n.tinymce__oxide--tox-fullscreen .tinymce__oxide--tox.tinymce__oxide--tox-tinymce-aux,.tinymce__oxide--tox-fullscreen~.tinymce__oxide--tox.tinymce__oxide--tox-tinymce-aux{z-index:1201}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-help__more-link{list-style:none;margin-top:1em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools{width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image,.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image+.tinymce__oxide--tox-image-tools__toolbar{margin-top:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-spacer{flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-move{border:0;cursor:move;position:absolute}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider:not(:first-of-type){margin-left:8px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-button+.tinymce__oxide--tox-slider{margin-left:32px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider+.tinymce__oxide--tox-button{margin-left:32px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider:not(:first-of-type){margin-right:8px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-button+.tinymce__oxide--tox-slider{margin-right:32px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-image-tools__toolbar>.tinymce__oxide--tox-slider+.tinymce__oxide--tox-button{margin-right:32px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-collection--list .tinymce__oxide--tox-collection__group .tinymce__oxide--tox-insert-table-picker{margin:-4px 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker .tinymce__oxide--tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker__label{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-insert-table-picker__label{text-align:center}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-insert-table-picker>div:nth-child(10n){border-right:0}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-insert-table-picker>div:nth-child(10n+1){border-right:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu.tinymce__oxide--tox-collection.tinymce__oxide--tox-collection--list{padding:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu.tinymce__oxide--tox-collection.tinymce__oxide--tox-collection--toolbar{padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu.tinymce__oxide--tox-collection.tinymce__oxide--tox-collection--grid{padding:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menu__label blockquote,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label code,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h1,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h2,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h3,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h4,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h5,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label h6,.tinymce__oxide--tox .tinymce__oxide--tox-menu__label p{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menubar{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header:not(:first-child) .tinymce__oxide--tox-menubar{border-top:1px solid #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn:hover:not(:disabled):not(.tinymce__oxide--tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn[disabled] .tinymce__oxide--tox-mbtn__select-label{cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification p{font-size:14px;font-weight:400}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification a{text-decoration:underline}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--in{opacity:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success a{color:#547831}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--success svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error a{color:#c00}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--error svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn p,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn a,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning a{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--warn svg,.tinymce__oxide--tox .tinymce__oxide--tox-notification--warning svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info p{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info a{color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification--info svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__body{align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}\n\n[dir=\"ltr\"] .tinymce__oxide--tox .tinymce__oxide--tox-notification__body{text-align:center}\n\n[dir=\"rtl\"] .tinymce__oxide--tox .tinymce__oxide--tox-notification__body{text-align:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__body>*{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__body>*+*{margin-top:1rem}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__icon{align-self:center;-ms-grid-column-span:1;grid-column-end:2;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;grid-row-start:1;justify-self:end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__icon svg{display:block}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification__dismiss{align-self:start;-ms-grid-column-span:1;grid-column-end:4;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;grid-row-start:1;justify-self:end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-notification .tinymce__oxide--tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;grid-row-start:2;justify-self:center}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop{display:inline-block;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop--resizing{transition:width .1s ease}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop--resizing .tinymce__oxide--tox-toolbar{flex-wrap:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop__dialog>:not(.tinymce__oxide--tox-toolbar){margin:4px 4px 4px 8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop__dialog .tinymce__oxide--tox-toolbar{background-color:transparent;margin-bottom:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::before{left:50%;top:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-left::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-left::before{left:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-right::after,.tinymce__oxide--tox .tinymce__oxide--tox-pop.tinymce__oxide--tox-pop--align-right::before{left:calc(100% - 20px)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar__slider{display:flex;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar__pane-container{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar__pane{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-closed{opacity:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-open{opacity:1}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-growing,.tinymce__oxide--tox .tinymce__oxide--tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-touch .tinymce__oxide--tox-selector{height:12px;width:12px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-source-code{overflow:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner{display:flex}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner>div{animation:tinymce__oxide--tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner>div:nth-child(1){animation-delay:-.32s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-spinner>div:nth-child(2){animation-delay:-.16s}\n\n@keyframes tinymce__oxide--tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-spinner>div:not(:first-child){margin-left:4px}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-spinner>div:not(:first-child){margin-right:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path>*{display:inline;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar a,.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path-item,.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px;box-shadow:0 0 0 2px #dee0e2}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-statusbar__path>*{margin-right:4px}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-statusbar__branding{margin-left:1ch}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-statusbar{flex-direction:row-reverse}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-statusbar__path>*{margin-left:4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-throbber{z-index:1299}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn svg{display:block;fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn.tinymce__oxide--tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:hover svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:active svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled:hover,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--disabled:hover svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled:hover>*,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled>*{transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled svg,.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--enabled:hover svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:focus:not(.tinymce__oxide--tox-tbtn--disabled){color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:focus:not(.tinymce__oxide--tox-tbtn--disabled) svg{fill:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn:active>*{transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--md{height:51px;width:51px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--lg{flex-direction:column;height:68px;width:68px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--return{align-self:stretch;height:unset;width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--labeled{padding:0 4px;width:unset}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tbtn--bespoke .tinymce__oxide--tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button>*{border-radius:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button__chevron{width:16px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button .tinymce__oxide--tox-tbtn{margin:0}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-touch .tinymce__oxide--tox-split-button .tinymce__oxide--tox-tbtn:first-child{width:30px}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-platform-touch .tinymce__oxide--tox-split-button__chevron{width:20px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled .tinymce__oxide--tox-tbtn:focus,.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled .tinymce__oxide--tox-tbtn:hover,.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled:focus,.tinymce__oxide--tox .tinymce__oxide--tox-split-button.tinymce__oxide--tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar-overlord{background-color:#fff}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow,.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__primary{background:url(\"data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E\") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow.tinymce__oxide--tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-menubar+.tinymce__oxide--tox-toolbar,.tinymce__oxide--tox .tinymce__oxide--tox-menubar+.tinymce__oxide--tox-toolbar-overlord .tinymce__oxide--tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-pop .tinymce__oxide--tox-toolbar{border-width:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar--no-divider{background-image:none}\n\n.tinymce__oxide--tox-tinymce:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header:not(:first-child) .tinymce__oxide--tox-toolbar-overlord:first-child .tinymce__oxide--tox-toolbar__primary,.tinymce__oxide--tox-tinymce:not(.tinymce__oxide--tox-tinymce-inline) .tinymce__oxide--tox-editor-header:not(:first-child) .tinymce__oxide--tox-toolbar:first-child{border-top:1px solid #ccc}\n\n.tinymce__oxide--tox.tinymce__oxide--tox-tinymce-aux .tinymce__oxide--tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar__group--pull-right{margin-left:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-toolbar--scrolling .tinymce__oxide--tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}\n\n.tinymce__oxide--tox:not([dir=rtl]) .tinymce__oxide--tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}\n\n.tinymce__oxide--tox[dir=rtl] .tinymce__oxide--tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip{display:inline-block;padding:8px;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip__arrow{position:absolute}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--down .tinymce__oxide--tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--up .tinymce__oxide--tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--right .tinymce__oxide--tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tooltip--left .tinymce__oxide--tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well>:first-child{margin-top:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well>:last-child{margin-bottom:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-well>:only-child{margin:0}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:\"\";height:100%;position:absolute;width:100%;z-index:1000}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-tab{cursor:pointer}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-dialog__body-content .tinymce__oxide--tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools-edit-panel{height:60px}\n\n.tinymce__oxide--tox .tinymce__oxide--tox-image-tools__sidebar{height:60px}\n`;\n },\n 'tox': 'tinymce__oxide--tox',\n 'tox-tinymce': 'tinymce__oxide--tox-tinymce',\n 'tox-tinymce-inline': 'tinymce__oxide--tox-tinymce-inline',\n 'tox-editor-header': 'tinymce__oxide--tox-editor-header',\n 'tox-tinymce-aux': 'tinymce__oxide--tox-tinymce-aux',\n 'accessibility-issue__header': 'tinymce__oxide--accessibility-issue__header',\n 'accessibility-issue__description': 'tinymce__oxide--accessibility-issue__description',\n 'accessibility-issue__repair': 'tinymce__oxide--accessibility-issue__repair',\n 'tox-dialog__body-content': 'tinymce__oxide--tox-dialog__body-content',\n 'accessibility-issue--info': 'tinymce__oxide--accessibility-issue--info',\n 'tox-form__group': 'tinymce__oxide--tox-form__group',\n 'tox-icon': 'tinymce__oxide--tox-icon',\n 'accessibility-issue--warn': 'tinymce__oxide--accessibility-issue--warn',\n 'accessibility-issue--error': 'tinymce__oxide--accessibility-issue--error',\n 'accessibility-issue--success': 'tinymce__oxide--accessibility-issue--success',\n 'tox-button': 'tinymce__oxide--tox-button',\n 'tox-anchorbar': 'tinymce__oxide--tox-anchorbar',\n 'tox-bar': 'tinymce__oxide--tox-bar',\n 'tox-button--secondary': 'tinymce__oxide--tox-button--secondary',\n 'tox-button--icon': 'tinymce__oxide--tox-button--icon',\n 'tox-button-link': 'tinymce__oxide--tox-button-link',\n 'tox-button-link--sm': 'tinymce__oxide--tox-button-link--sm',\n 'tox-button--naked': 'tinymce__oxide--tox-button--naked',\n 'tox-checkbox': 'tinymce__oxide--tox-checkbox',\n 'tox-checkbox__input': 'tinymce__oxide--tox-checkbox__input',\n 'tox-checkbox__icons': 'tinymce__oxide--tox-checkbox__icons',\n 'tox-checkbox-icon__unchecked': 'tinymce__oxide--tox-checkbox-icon__unchecked',\n 'tox-checkbox-icon__indeterminate': 'tinymce__oxide--tox-checkbox-icon__indeterminate',\n 'tox-checkbox-icon__checked': 'tinymce__oxide--tox-checkbox-icon__checked',\n 'tox-checkbox--disabled': 'tinymce__oxide--tox-checkbox--disabled',\n 'tox-checkbox__label': 'tinymce__oxide--tox-checkbox__label',\n 'tox-collection--toolbar': 'tinymce__oxide--tox-collection--toolbar',\n 'tox-collection__group': 'tinymce__oxide--tox-collection__group',\n 'tox-collection--grid': 'tinymce__oxide--tox-collection--grid',\n 'tox-collection--list': 'tinymce__oxide--tox-collection--list',\n 'tox-collection__group-heading': 'tinymce__oxide--tox-collection__group-heading',\n 'tox-collection__item': 'tinymce__oxide--tox-collection__item',\n 'tox-collection__item--enabled': 'tinymce__oxide--tox-collection__item--enabled',\n 'tox-collection__item--active': 'tinymce__oxide--tox-collection__item--active',\n 'tox-collection__item--state-disabled': 'tinymce__oxide--tox-collection__item--state-disabled',\n 'tox-collection__item-checkmark': 'tinymce__oxide--tox-collection__item-checkmark',\n 'tox-collection__item-icon': 'tinymce__oxide--tox-collection__item-icon',\n 'tox-collection--toolbar-lg': 'tinymce__oxide--tox-collection--toolbar-lg',\n 'tox-collection__item-label': 'tinymce__oxide--tox-collection__item-label',\n 'tox-collection__item-accessory': 'tinymce__oxide--tox-collection__item-accessory',\n 'tox-collection__item-caret': 'tinymce__oxide--tox-collection__item-caret',\n 'tox-collection--horizontal': 'tinymce__oxide--tox-collection--horizontal',\n 'tox-collection__item-container': 'tinymce__oxide--tox-collection__item-container',\n 'tox-collection__item-container--row': 'tinymce__oxide--tox-collection__item-container--row',\n 'tox-collection__item-container--align-left': 'tinymce__oxide--tox-collection__item-container--align-left',\n 'tox-collection__item-container--align-right': 'tinymce__oxide--tox-collection__item-container--align-right',\n 'tox-collection__item-container--valign-top': 'tinymce__oxide--tox-collection__item-container--valign-top',\n 'tox-collection__item-container--valign-middle': 'tinymce__oxide--tox-collection__item-container--valign-middle',\n 'tox-collection__item-container--valign-bottom': 'tinymce__oxide--tox-collection__item-container--valign-bottom',\n 'tox-collection__item-container--column': 'tinymce__oxide--tox-collection__item-container--column',\n 'tox-collection': 'tinymce__oxide--tox-collection',\n 'tox-collection__item-icon-rtl': 'tinymce__oxide--tox-collection__item-icon-rtl',\n 'tox-color-picker-container': 'tinymce__oxide--tox-color-picker-container',\n 'tox-sv-palette': 'tinymce__oxide--tox-sv-palette',\n 'tox-sv-palette-spectrum': 'tinymce__oxide--tox-sv-palette-spectrum',\n 'tox-sv-palette-thumb': 'tinymce__oxide--tox-sv-palette-thumb',\n 'tox-sv-palette-inner-thumb': 'tinymce__oxide--tox-sv-palette-inner-thumb',\n 'tox-hue-slider': 'tinymce__oxide--tox-hue-slider',\n 'tox-hue-slider-spectrum': 'tinymce__oxide--tox-hue-slider-spectrum',\n 'tox-hue-slider-thumb': 'tinymce__oxide--tox-hue-slider-thumb',\n 'tox-rgb-form': 'tinymce__oxide--tox-rgb-form',\n 'tox-invalid': 'tinymce__oxide--tox-invalid',\n 'tox-rgba-preview': 'tinymce__oxide--tox-rgba-preview',\n 'tox-toolbar': 'tinymce__oxide--tox-toolbar',\n 'tox-swatches': 'tinymce__oxide--tox-swatches',\n 'tox-toolbar__overflow': 'tinymce__oxide--tox-toolbar__overflow',\n 'tox-toolbar__primary': 'tinymce__oxide--tox-toolbar__primary',\n 'tox-swatches-menu': 'tinymce__oxide--tox-swatches-menu',\n 'tox-swatches__row': 'tinymce__oxide--tox-swatches__row',\n 'tox-swatch': 'tinymce__oxide--tox-swatch',\n 'tox-swatch--remove': 'tinymce__oxide--tox-swatch--remove',\n 'tox-swatches__picker-btn': 'tinymce__oxide--tox-swatches__picker-btn',\n 'tox-comment-thread': 'tinymce__oxide--tox-comment-thread',\n 'tox-comment': 'tinymce__oxide--tox-comment',\n 'tox-comment__header': 'tinymce__oxide--tox-comment__header',\n 'tox-comment__date': 'tinymce__oxide--tox-comment__date',\n 'tox-comment__body': 'tinymce__oxide--tox-comment__body',\n 'tox-comment__expander': 'tinymce__oxide--tox-comment__expander',\n 'tox-comment__buttonspacing': 'tinymce__oxide--tox-comment__buttonspacing',\n 'tox-comment-thread__overlay': 'tinymce__oxide--tox-comment-thread__overlay',\n 'tox-comment__reply': 'tinymce__oxide--tox-comment__reply',\n 'tox-comment__edit': 'tinymce__oxide--tox-comment__edit',\n 'tox-comment__gradient': 'tinymce__oxide--tox-comment__gradient',\n 'tox-comment__overlay': 'tinymce__oxide--tox-comment__overlay',\n 'tox-comment__loading-text': 'tinymce__oxide--tox-comment__loading-text',\n 'tox-comment__overlaytext': 'tinymce__oxide--tox-comment__overlaytext',\n 'tox-comment__busy-spinner': 'tinymce__oxide--tox-comment__busy-spinner',\n 'tox-comment__scroll': 'tinymce__oxide--tox-comment__scroll',\n 'tox-conversations': 'tinymce__oxide--tox-conversations',\n 'tox-user': 'tinymce__oxide--tox-user',\n 'tox-user__avatar': 'tinymce__oxide--tox-user__avatar',\n 'tox-user__name': 'tinymce__oxide--tox-user__name',\n 'tox-dialog-wrap': 'tinymce__oxide--tox-dialog-wrap',\n 'tox-dialog-wrap__backdrop': 'tinymce__oxide--tox-dialog-wrap__backdrop',\n 'tox-dialog-wrap__backdrop--opaque': 'tinymce__oxide--tox-dialog-wrap__backdrop--opaque',\n 'tox-dialog': 'tinymce__oxide--tox-dialog',\n 'tox-force-desktop': 'tinymce__oxide--tox-force-desktop',\n 'tox-dialog-inline': 'tinymce__oxide--tox-dialog-inline',\n 'tox-dialog__header': 'tinymce__oxide--tox-dialog__header',\n 'tox-dialog__draghandle': 'tinymce__oxide--tox-dialog__draghandle',\n 'tox-dialog__dismiss': 'tinymce__oxide--tox-dialog__dismiss',\n 'tox-dialog__title': 'tinymce__oxide--tox-dialog__title',\n 'tox-dialog__body': 'tinymce__oxide--tox-dialog__body',\n 'tox-dialog__body-nav': 'tinymce__oxide--tox-dialog__body-nav',\n 'tox-dialog__body-nav-item': 'tinymce__oxide--tox-dialog__body-nav-item',\n 'tox-dialog__body-nav-item--active': 'tinymce__oxide--tox-dialog__body-nav-item--active',\n 'tox-dialog--width-lg': 'tinymce__oxide--tox-dialog--width-lg',\n 'tox-dialog--width-md': 'tinymce__oxide--tox-dialog--width-md',\n 'tox-dialog__body-content--centered': 'tinymce__oxide--tox-dialog__body-content--centered',\n 'tox-dialog__footer': 'tinymce__oxide--tox-dialog__footer',\n 'tox-dialog__footer-end': 'tinymce__oxide--tox-dialog__footer-end',\n 'tox-dialog__footer-start': 'tinymce__oxide--tox-dialog__footer-start',\n 'tox-dialog__busy-spinner': 'tinymce__oxide--tox-dialog__busy-spinner',\n 'tox-dialog__table': 'tinymce__oxide--tox-dialog__table',\n 'tox-dialog__popups': 'tinymce__oxide--tox-dialog__popups',\n 'tox-dialog__body-iframe': 'tinymce__oxide--tox-dialog__body-iframe',\n 'tox-navobj': 'tinymce__oxide--tox-navobj',\n 'tox-dialog-dock-fadeout': 'tinymce__oxide--tox-dialog-dock-fadeout',\n 'tox-dialog-dock-fadein': 'tinymce__oxide--tox-dialog-dock-fadein',\n 'tox-dialog-dock-transition': 'tinymce__oxide--tox-dialog-dock-transition',\n 'tox-platform-ie': 'tinymce__oxide--tox-platform-ie',\n 'tox-dialog__disable-scroll': 'tinymce__oxide--tox-dialog__disable-scroll',\n 'tox-dropzone-container': 'tinymce__oxide--tox-dropzone-container',\n 'tox-dropzone': 'tinymce__oxide--tox-dropzone',\n 'tox-edit-area': 'tinymce__oxide--tox-edit-area',\n 'tox-edit-area__iframe': 'tinymce__oxide--tox-edit-area__iframe',\n 'tox-inline-edit-area': 'tinymce__oxide--tox-inline-edit-area',\n 'tox-editor-container': 'tinymce__oxide--tox-editor-container',\n 'tox-tinymce--toolbar-bottom': 'tinymce__oxide--tox-tinymce--toolbar-bottom',\n 'tox-tinymce--toolbar-sticky-on': 'tinymce__oxide--tox-tinymce--toolbar-sticky-on',\n 'tox-editor-dock-fadeout': 'tinymce__oxide--tox-editor-dock-fadeout',\n 'tox-editor-dock-fadein': 'tinymce__oxide--tox-editor-dock-fadein',\n 'tox-editor-dock-transition': 'tinymce__oxide--tox-editor-dock-transition',\n 'tox-control-wrap': 'tinymce__oxide--tox-control-wrap',\n 'tox-control-wrap--status-invalid': 'tinymce__oxide--tox-control-wrap--status-invalid',\n 'tox-control-wrap__status-icon-invalid': 'tinymce__oxide--tox-control-wrap__status-icon-invalid',\n 'tox-control-wrap--status-unknown': 'tinymce__oxide--tox-control-wrap--status-unknown',\n 'tox-control-wrap__status-icon-unknown': 'tinymce__oxide--tox-control-wrap__status-icon-unknown',\n 'tox-control-wrap--status-valid': 'tinymce__oxide--tox-control-wrap--status-valid',\n 'tox-control-wrap__status-icon-valid': 'tinymce__oxide--tox-control-wrap__status-icon-valid',\n 'tox-control-wrap__status-icon-wrap': 'tinymce__oxide--tox-control-wrap__status-icon-wrap',\n 'tox-textfield': 'tinymce__oxide--tox-textfield',\n 'tox-autocompleter': 'tinymce__oxide--tox-autocompleter',\n 'tox-menu': 'tinymce__oxide--tox-menu',\n 'tox-autocompleter-highlight': 'tinymce__oxide--tox-autocompleter-highlight',\n 'tox-color-input': 'tinymce__oxide--tox-color-input',\n 'tox-label': 'tinymce__oxide--tox-label',\n 'tox-toolbar-label': 'tinymce__oxide--tox-toolbar-label',\n 'tox-form': 'tinymce__oxide--tox-form',\n 'tox-form-group--maximize': 'tinymce__oxide--tox-form-group--maximize',\n 'tox-form__group--error': 'tinymce__oxide--tox-form__group--error',\n 'tox-form__group--collection': 'tinymce__oxide--tox-form__group--collection',\n 'tox-form__grid': 'tinymce__oxide--tox-form__grid',\n 'tox-form__grid--2col': 'tinymce__oxide--tox-form__grid--2col',\n 'tox-form__grid--3col': 'tinymce__oxide--tox-form__grid--3col',\n 'tox-form__grid--4col': 'tinymce__oxide--tox-form__grid--4col',\n 'tox-form__controls-h-stack': 'tinymce__oxide--tox-form__controls-h-stack',\n 'tox-form__group--inline': 'tinymce__oxide--tox-form__group--inline',\n 'tox-form__group--stretched': 'tinymce__oxide--tox-form__group--stretched',\n 'tox-textarea': 'tinymce__oxide--tox-textarea',\n 'tox-lock': 'tinymce__oxide--tox-lock',\n 'tox-locked': 'tinymce__oxide--tox-locked',\n 'tox-lock-icon__unlock': 'tinymce__oxide--tox-lock-icon__unlock',\n 'tox-lock-icon__lock': 'tinymce__oxide--tox-lock-icon__lock',\n 'tox-listboxfield': 'tinymce__oxide--tox-listboxfield',\n 'tox-listbox--select': 'tinymce__oxide--tox-listbox--select',\n 'tox-toolbar-textfield': 'tinymce__oxide--tox-toolbar-textfield',\n 'tox-naked-btn': 'tinymce__oxide--tox-naked-btn',\n 'tox-listbox__select-label': 'tinymce__oxide--tox-listbox__select-label',\n 'tox-listbox__select-chevron': 'tinymce__oxide--tox-listbox__select-chevron',\n 'tox-selectfield': 'tinymce__oxide--tox-selectfield',\n 'tox-fullscreen': 'tinymce__oxide--tox-fullscreen',\n 'tox-statusbar__resize-handle': 'tinymce__oxide--tox-statusbar__resize-handle',\n 'tox-shadowhost': 'tinymce__oxide--tox-shadowhost',\n 'tox-help__more-link': 'tinymce__oxide--tox-help__more-link',\n 'tox-image-tools': 'tinymce__oxide--tox-image-tools',\n 'tox-image-tools__toolbar': 'tinymce__oxide--tox-image-tools__toolbar',\n 'tox-image-tools__image': 'tinymce__oxide--tox-image-tools__image',\n 'tox-image-tools__image-bg': 'tinymce__oxide--tox-image-tools__image-bg',\n 'tox-spacer': 'tinymce__oxide--tox-spacer',\n 'tox-croprect-block': 'tinymce__oxide--tox-croprect-block',\n 'tox-croprect-handle': 'tinymce__oxide--tox-croprect-handle',\n 'tox-croprect-handle-move': 'tinymce__oxide--tox-croprect-handle-move',\n 'tox-croprect-handle-nw': 'tinymce__oxide--tox-croprect-handle-nw',\n 'tox-croprect-handle-ne': 'tinymce__oxide--tox-croprect-handle-ne',\n 'tox-croprect-handle-sw': 'tinymce__oxide--tox-croprect-handle-sw',\n 'tox-croprect-handle-se': 'tinymce__oxide--tox-croprect-handle-se',\n 'tox-slider': 'tinymce__oxide--tox-slider',\n 'tox-insert-table-picker': 'tinymce__oxide--tox-insert-table-picker',\n 'tox-insert-table-picker__selected': 'tinymce__oxide--tox-insert-table-picker__selected',\n 'tox-insert-table-picker__label': 'tinymce__oxide--tox-insert-table-picker__label',\n 'tox-menu__label': 'tinymce__oxide--tox-menu__label',\n 'tox-menubar': 'tinymce__oxide--tox-menubar',\n 'tox-mbtn': 'tinymce__oxide--tox-mbtn',\n 'tox-mbtn--active': 'tinymce__oxide--tox-mbtn--active',\n 'tox-mbtn__select-label': 'tinymce__oxide--tox-mbtn__select-label',\n 'tox-mbtn__select-chevron': 'tinymce__oxide--tox-mbtn__select-chevron',\n 'tox-notification': 'tinymce__oxide--tox-notification',\n 'tox-notification--in': 'tinymce__oxide--tox-notification--in',\n 'tox-notification--success': 'tinymce__oxide--tox-notification--success',\n 'tox-notification--error': 'tinymce__oxide--tox-notification--error',\n 'tox-notification--warn': 'tinymce__oxide--tox-notification--warn',\n 'tox-notification--warning': 'tinymce__oxide--tox-notification--warning',\n 'tox-notification--info': 'tinymce__oxide--tox-notification--info',\n 'tox-notification__body': 'tinymce__oxide--tox-notification__body',\n 'tox-notification__icon': 'tinymce__oxide--tox-notification__icon',\n 'tox-notification__dismiss': 'tinymce__oxide--tox-notification__dismiss',\n 'tox-progress-bar': 'tinymce__oxide--tox-progress-bar',\n 'tox-pop': 'tinymce__oxide--tox-pop',\n 'tox-pop--resizing': 'tinymce__oxide--tox-pop--resizing',\n 'tox-pop__dialog': 'tinymce__oxide--tox-pop__dialog',\n 'tox-pop--bottom': 'tinymce__oxide--tox-pop--bottom',\n 'tox-pop--top': 'tinymce__oxide--tox-pop--top',\n 'tox-pop--left': 'tinymce__oxide--tox-pop--left',\n 'tox-pop--right': 'tinymce__oxide--tox-pop--right',\n 'tox-pop--align-left': 'tinymce__oxide--tox-pop--align-left',\n 'tox-pop--align-right': 'tinymce__oxide--tox-pop--align-right',\n 'tox-sidebar-wrap': 'tinymce__oxide--tox-sidebar-wrap',\n 'tox-sidebar': 'tinymce__oxide--tox-sidebar',\n 'tox-sidebar__slider': 'tinymce__oxide--tox-sidebar__slider',\n 'tox-sidebar__pane-container': 'tinymce__oxide--tox-sidebar__pane-container',\n 'tox-sidebar__pane': 'tinymce__oxide--tox-sidebar__pane',\n 'tox-sidebar--sliding-closed': 'tinymce__oxide--tox-sidebar--sliding-closed',\n 'tox-sidebar--sliding-open': 'tinymce__oxide--tox-sidebar--sliding-open',\n 'tox-sidebar--sliding-growing': 'tinymce__oxide--tox-sidebar--sliding-growing',\n 'tox-sidebar--sliding-shrinking': 'tinymce__oxide--tox-sidebar--sliding-shrinking',\n 'tox-selector': 'tinymce__oxide--tox-selector',\n 'tox-platform-touch': 'tinymce__oxide--tox-platform-touch',\n 'tox-slider__rail': 'tinymce__oxide--tox-slider__rail',\n 'tox-slider__handle': 'tinymce__oxide--tox-slider__handle',\n 'tox-source-code': 'tinymce__oxide--tox-source-code',\n 'tox-spinner': 'tinymce__oxide--tox-spinner',\n 'tam-bouncing-dots': 'tinymce__oxide--tam-bouncing-dots',\n 'tox-statusbar': 'tinymce__oxide--tox-statusbar',\n 'tox-statusbar__text-container': 'tinymce__oxide--tox-statusbar__text-container',\n 'tox-statusbar__path': 'tinymce__oxide--tox-statusbar__path',\n 'tox-statusbar__wordcount': 'tinymce__oxide--tox-statusbar__wordcount',\n 'tox-statusbar__path-item': 'tinymce__oxide--tox-statusbar__path-item',\n 'tox-statusbar__branding': 'tinymce__oxide--tox-statusbar__branding',\n 'tox-throbber': 'tinymce__oxide--tox-throbber',\n 'tox-throbber__busy-spinner': 'tinymce__oxide--tox-throbber__busy-spinner',\n 'tox-tbtn': 'tinymce__oxide--tox-tbtn',\n 'tox-tbtn-more': 'tinymce__oxide--tox-tbtn-more',\n 'tox-tbtn--disabled': 'tinymce__oxide--tox-tbtn--disabled',\n 'tox-tbtn--enabled': 'tinymce__oxide--tox-tbtn--enabled',\n 'tox-tbtn--md': 'tinymce__oxide--tox-tbtn--md',\n 'tox-tbtn--lg': 'tinymce__oxide--tox-tbtn--lg',\n 'tox-tbtn--return': 'tinymce__oxide--tox-tbtn--return',\n 'tox-tbtn--labeled': 'tinymce__oxide--tox-tbtn--labeled',\n 'tox-tbtn__vlabel': 'tinymce__oxide--tox-tbtn__vlabel',\n 'tox-tbtn--select': 'tinymce__oxide--tox-tbtn--select',\n 'tox-tbtn__select-label': 'tinymce__oxide--tox-tbtn__select-label',\n 'tox-tbtn__select-chevron': 'tinymce__oxide--tox-tbtn__select-chevron',\n 'tox-tbtn--bespoke': 'tinymce__oxide--tox-tbtn--bespoke',\n 'tox-split-button': 'tinymce__oxide--tox-split-button',\n 'tox-split-button__chevron': 'tinymce__oxide--tox-split-button__chevron',\n 'tox-toolbar-overlord': 'tinymce__oxide--tox-toolbar-overlord',\n 'tox-toolbar__overflow--closed': 'tinymce__oxide--tox-toolbar__overflow--closed',\n 'tox-toolbar__overflow--growing': 'tinymce__oxide--tox-toolbar__overflow--growing',\n 'tox-toolbar__overflow--shrinking': 'tinymce__oxide--tox-toolbar__overflow--shrinking',\n 'tox-toolbar--scrolling': 'tinymce__oxide--tox-toolbar--scrolling',\n 'tox-toolbar--no-divider': 'tinymce__oxide--tox-toolbar--no-divider',\n 'tox-tbtn__icon-rtl': 'tinymce__oxide--tox-tbtn__icon-rtl',\n 'tox-toolbar__group': 'tinymce__oxide--tox-toolbar__group',\n 'tox-toolbar__group--pull-right': 'tinymce__oxide--tox-toolbar__group--pull-right',\n 'tox-tooltip': 'tinymce__oxide--tox-tooltip',\n 'tox-tooltip__body': 'tinymce__oxide--tox-tooltip__body',\n 'tox-tooltip__arrow': 'tinymce__oxide--tox-tooltip__arrow',\n 'tox-tooltip--down': 'tinymce__oxide--tox-tooltip--down',\n 'tox-tooltip--up': 'tinymce__oxide--tox-tooltip--up',\n 'tox-tooltip--right': 'tinymce__oxide--tox-tooltip--right',\n 'tox-tooltip--left': 'tinymce__oxide--tox-tooltip--left',\n 'tox-well': 'tinymce__oxide--tox-well',\n 'tox-custom-editor': 'tinymce__oxide--tox-custom-editor',\n 'tox-dialog-loading': 'tinymce__oxide--tox-dialog-loading',\n 'tox-tab': 'tinymce__oxide--tox-tab',\n 'tox-dialog__content-js': 'tinymce__oxide--tox-dialog__content-js',\n 'tox-image-tools-edit-panel': 'tinymce__oxide--tox-image-tools-edit-panel',\n 'tox-image-tools__sidebar': 'tinymce__oxide--tox-image-tools__sidebar'\n};\nconst contentCSSBinding = {\n componentId: 'bKkob',\n template: function (theme) {\n return `\n\n\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-item-anchor {\n background: transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;\n cursor: default;\n display: inline-block;\n height: 12px !important;\n padding: 0 2px;\n -webkit-user-modify: read-only;\n -moz-user-modify: read-only;\n -webkit-user-select: all;\n user-select: all;\n width: 8px !important;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-item-anchor[data-mce-selected] {\n outline-offset: 1px;\n}\n.tinymce__oxide--tox-comments-visible .tinymce__oxide--tox-comment {\n background-color: #fff0b7;\n}\n.tinymce__oxide--tox-comments-visible .tinymce__oxide--tox-comment--active {\n background-color: #ffe168;\n}\n.tinymce__oxide--tox-checklist > li:not(.tinymce__oxide--tox-checklist--hidden) {\n list-style: none;\n margin: 0.25em 0;\n}\n.tinymce__oxide--tox-checklist > li:not(.tinymce__oxide--tox-checklist--hidden)::before {\n content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");\n cursor: pointer;\n height: 1em;\n margin-left: -1.5em;\n margin-top: 0.125em;\n position: absolute;\n width: 1em;\n}\n.tinymce__oxide--tox-checklist li:not(.tinymce__oxide--tox-checklist--hidden).tinymce__oxide--tox-checklist--checked::before {\n content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A\");\n}\n[dir=rtl] .tinymce__oxide--tox-checklist > li:not(.tinymce__oxide--tox-checklist--hidden)::before {\n margin-left: 0;\n margin-right: -1.5em;\n}\n\n\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n color: black;\n background: none;\n text-shadow: 0 1px white;\n font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n font-size: 1em;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n tab-size: 4;\n -webkit-hyphens: none;\n hyphens: none;\n}\n[dir=\"ltr\"] code[class*=\"language-\"],\n[dir=\"ltr\"] pre[class*=\"language-\"] {\n text-align: left;\n}\n[dir=\"rtl\"] code[class*=\"language-\"],\n[dir=\"rtl\"] pre[class*=\"language-\"] {\n text-align: left;\n}\npre[class*=\"language-\"]::selection,\npre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"]::selection,\ncode[class*=\"language-\"] ::selection {\n text-shadow: none;\n background: #b3d4fc;\n}\n@media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n text-shadow: none;\n }\n}\n\npre[class*=\"language-\"] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n}\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n background: #f5f2f0;\n}\n\n:not(pre) > code[class*=\"language-\"] {\n padding: 0.1em;\n border-radius: 0.3em;\n white-space: normal;\n}\n.tinymce__oxide--token.tinymce__oxide--comment,\n.tinymce__oxide--token.tinymce__oxide--prolog,\n.tinymce__oxide--token.tinymce__oxide--doctype,\n.tinymce__oxide--token.tinymce__oxide--cdata {\n color: slategray;\n}\n.tinymce__oxide--token.tinymce__oxide--punctuation {\n color: #999;\n}\n.tinymce__oxide--namespace {\n opacity: 0.7;\n}\n.tinymce__oxide--token.tinymce__oxide--property,\n.tinymce__oxide--token.tinymce__oxide--tag,\n.tinymce__oxide--token.tinymce__oxide--boolean,\n.tinymce__oxide--token.tinymce__oxide--number,\n.tinymce__oxide--token.tinymce__oxide--constant,\n.tinymce__oxide--token.tinymce__oxide--symbol,\n.tinymce__oxide--token.tinymce__oxide--deleted {\n color: #905;\n}\n.tinymce__oxide--token.tinymce__oxide--selector,\n.tinymce__oxide--token.tinymce__oxide--attr-name,\n.tinymce__oxide--token.tinymce__oxide--string,\n.tinymce__oxide--token.tinymce__oxide--char,\n.tinymce__oxide--token.tinymce__oxide--builtin,\n.tinymce__oxide--token.tinymce__oxide--inserted {\n color: #690;\n}\n.tinymce__oxide--token.tinymce__oxide--operator,\n.tinymce__oxide--token.tinymce__oxide--entity,\n.tinymce__oxide--token.tinymce__oxide--url,\n.tinymce__oxide--language-css .tinymce__oxide--token.tinymce__oxide--string,\n.tinymce__oxide--style .tinymce__oxide--token.tinymce__oxide--string {\n color: #9a6e3a;\n background: hsla(0, 0%, 100%, 0.5);\n}\n.tinymce__oxide--token.tinymce__oxide--atrule,\n.tinymce__oxide--token.tinymce__oxide--attr-value,\n.tinymce__oxide--token.tinymce__oxide--keyword {\n color: #07a;\n}\n.tinymce__oxide--token.tinymce__oxide--function,\n.tinymce__oxide--token.tinymce__oxide--class-name {\n color: #DD4A68;\n}\n.tinymce__oxide--token.tinymce__oxide--regex,\n.tinymce__oxide--token.tinymce__oxide--important,\n.tinymce__oxide--token.tinymce__oxide--variable {\n color: #e90;\n}\n.tinymce__oxide--token.tinymce__oxide--important,\n.tinymce__oxide--token.tinymce__oxide--bold {\n font-weight: bold;\n}\n.tinymce__oxide--token.tinymce__oxide--italic {\n font-style: italic;\n}\n.tinymce__oxide--token.tinymce__oxide--entity {\n cursor: help;\n}\n\n.tinymce__oxide--mce-content-body {\n overflow-wrap: break-word;\n word-wrap: break-word;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-visual-caret {\n background-color: black;\n background-color: currentColor;\n position: absolute;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-visual-caret-hidden {\n display: none;\n}\n.tinymce__oxide--mce-content-body *[data-mce-caret] {\n left: -1000px;\n margin: 0;\n padding: 0;\n position: absolute;\n right: auto;\n top: 0;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-offscreen-selection {\n left: -2000000px;\n max-width: 1000000px;\n position: absolute;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false] {\n cursor: default;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=true] {\n cursor: text;\n}\n.tinymce__oxide--tox-cursor-format-painter {\n cursor: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\"), default;\n}\n.tinymce__oxide--mce-content-body figure.tinymce__oxide--align-left {\n float: left;\n}\n[dir=\"ltr\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-left {\n float: left;\n}\n[dir=\"rtl\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-left {\n float: left;\n}\n.tinymce__oxide--mce-content-body figure.tinymce__oxide--align-right {\n float: right;\n}\n[dir=\"ltr\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-right {\n float: right;\n}\n[dir=\"rtl\"] .tinymce__oxide--mce-content-body figure.tinymce__oxide--align-right {\n float: right;\n}\n.tinymce__oxide--mce-content-body figure.tinymce__oxide--image.tinymce__oxide--align-center {\n display: table;\n margin-left: auto;\n margin-right: auto;\n}\n.tinymce__oxide--mce-preview-object {\n border: 1px solid gray;\n display: inline-block;\n line-height: 0;\n margin: 0 2px 0 2px;\n position: relative;\n}\n.tinymce__oxide--mce-preview-object .tinymce__oxide--mce-shim {\n background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.tinymce__oxide--mce-preview-object[data-mce-selected=\"2\"] .tinymce__oxide--mce-shim {\n display: none;\n}\n.tinymce__oxide--mce-object {\n background: transparent url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A\") no-repeat center;\n border: 1px dashed #aaa;\n}\n.tinymce__oxide--mce-pagebreak {\n border: 1px dashed #aaa;\n cursor: default;\n display: block;\n height: 5px;\n margin-top: 15px;\n page-break-before: always;\n width: 100%;\n}\n@media print {\n .tinymce__oxide--mce-pagebreak {\n border: 0;\n }\n}\n.tinymce__oxide--tiny-pageembed .tinymce__oxide--mce-shim {\n background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.tinymce__oxide--tiny-pageembed[data-mce-selected=\"2\"] .tinymce__oxide--mce-shim {\n display: none;\n}\n.tinymce__oxide--tiny-pageembed {\n display: inline-block;\n position: relative;\n}\n.tinymce__oxide--tiny-pageembed--21by9,\n.tinymce__oxide--tiny-pageembed--16by9,\n.tinymce__oxide--tiny-pageembed--4by3,\n.tinymce__oxide--tiny-pageembed--1by1 {\n display: block;\n overflow: hidden;\n padding: 0;\n position: relative;\n width: 100%;\n}\n.tinymce__oxide--tiny-pageembed--21by9 {\n padding-top: 42.857143%;\n}\n.tinymce__oxide--tiny-pageembed--16by9 {\n padding-top: 56.25%;\n}\n.tinymce__oxide--tiny-pageembed--4by3 {\n padding-top: 75%;\n}\n.tinymce__oxide--tiny-pageembed--1by1 {\n padding-top: 100%;\n}\n.tinymce__oxide--tiny-pageembed--21by9 iframe,\n.tinymce__oxide--tiny-pageembed--16by9 iframe,\n.tinymce__oxide--tiny-pageembed--4by3 iframe,\n.tinymce__oxide--tiny-pageembed--1by1 iframe {\n border: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.tinymce__oxide--mce-content-body[data-mce-placeholder] {\n position: relative;\n}\n.tinymce__oxide--mce-content-body[data-mce-placeholder]:not(.tinymce__oxide--mce-visualblocks)::before {\n color: rgba(34, 47, 62, 0.7);\n content: attr(data-mce-placeholder);\n position: absolute;\n}\n.tinymce__oxide--mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.tinymce__oxide--mce-visualblocks)::before {\n left: 1px;\n}\n.tinymce__oxide--mce-content-body[dir=rtl][data-mce-placeholder]:not(.tinymce__oxide--mce-visualblocks)::before {\n right: 1px;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle {\n background-color: #4099ff;\n border-color: #4099ff;\n border-style: solid;\n border-width: 1px;\n box-sizing: border-box;\n height: 10px;\n position: absolute;\n width: 10px;\n z-index: 10000;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:hover {\n background-color: #4099ff;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(1) {\n cursor: nwse-resize;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(2) {\n cursor: nesw-resize;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(3) {\n cursor: nwse-resize;\n}\n.tinymce__oxide--mce-content-body div.tinymce__oxide--mce-resizehandle:nth-of-type(4) {\n cursor: nesw-resize;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-resize-backdrop {\n z-index: 10000;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-clonedresizable {\n cursor: default;\n opacity: 0.5;\n outline: 1px dashed black;\n position: absolute;\n z-index: 10001;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-clonedresizable.tinymce__oxide--mce-resizetable-columns th,\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-clonedresizable.tinymce__oxide--mce-resizetable-columns td {\n border: 0;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-resize-helper {\n background: #555;\n background: rgba(0, 0, 0, 0.75);\n border: 1px;\n border-radius: 3px;\n color: white;\n display: none;\n font-family: sans-serif;\n font-size: 12px;\n line-height: 14px;\n margin: 5px 10px;\n padding: 5px;\n position: absolute;\n white-space: nowrap;\n z-index: 10002;\n}\n.tinymce__oxide--tox-rtc-user-selection {\n position: relative;\n}\n.tinymce__oxide--tox-rtc-user-cursor {\n bottom: 0;\n cursor: default;\n position: absolute;\n top: 0;\n width: 2px;\n}\n.tinymce__oxide--tox-rtc-user-cursor::before {\n background-color: inherit;\n border-radius: 50%;\n content: '';\n display: block;\n height: 8px;\n position: absolute;\n right: -3px;\n top: -3px;\n width: 8px;\n}\n.tinymce__oxide--tox-rtc-user-cursor:hover::after {\n background-color: inherit;\n border-radius: 100px;\n box-sizing: border-box;\n color: #fff;\n content: attr(data-user);\n display: block;\n font-size: 12px;\n font-weight: bold;\n left: -5px;\n min-height: 8px;\n min-width: 8px;\n padding: 0 12px;\n position: absolute;\n top: -11px;\n white-space: nowrap;\n z-index: 1000;\n}\n.tinymce__oxide--tox-rtc-user-selection--1 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #2dc26b;\n}\n.tinymce__oxide--tox-rtc-user-selection--2 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #e03e2d;\n}\n.tinymce__oxide--tox-rtc-user-selection--3 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #f1c40f;\n}\n.tinymce__oxide--tox-rtc-user-selection--4 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #3598db;\n}\n.tinymce__oxide--tox-rtc-user-selection--5 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #b96ad9;\n}\n.tinymce__oxide--tox-rtc-user-selection--6 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #e67e23;\n}\n.tinymce__oxide--tox-rtc-user-selection--7 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #aaa69d;\n}\n.tinymce__oxide--tox-rtc-user-selection--8 .tinymce__oxide--tox-rtc-user-cursor {\n background-color: #f368e0;\n}\n.tinymce__oxide--tox-rtc-remote-image {\n background: #eaeaea url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\") no-repeat center center;\n border: 1px solid #ccc;\n min-height: 240px;\n min-width: 320px;\n}\n.tinymce__oxide--mce-match-marker {\n background: #aaa;\n color: #fff;\n}\n.tinymce__oxide--mce-match-marker-selected {\n background: #39f;\n color: #fff;\n}\n.tinymce__oxide--mce-match-marker-selected::selection {\n background: #39f;\n color: #fff;\n}\n.tinymce__oxide--mce-content-body img[data-mce-selected],\n.tinymce__oxide--mce-content-body video[data-mce-selected],\n.tinymce__oxide--mce-content-body audio[data-mce-selected],\n.tinymce__oxide--mce-content-body object[data-mce-selected],\n.tinymce__oxide--mce-content-body embed[data-mce-selected],\n.tinymce__oxide--mce-content-body table[data-mce-selected] {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body hr[data-mce-selected] {\n outline: 3px solid #b4d7ff;\n outline-offset: 1px;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body *[contentEditable=false][data-mce-selected] {\n cursor: not-allowed;\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body.tinymce__oxide--mce-content-readonly *[contentEditable=true]:focus,\n.tinymce__oxide--mce-content-body.tinymce__oxide--mce-content-readonly *[contentEditable=true]:hover {\n outline: none;\n}\n.tinymce__oxide--mce-content-body *[data-mce-selected=\"inline-boundary\"] {\n background-color: #b4d7ff;\n}\n.tinymce__oxide--mce-content-body .tinymce__oxide--mce-edit-focus {\n outline: 3px solid #b4d7ff;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected],\n.tinymce__oxide--mce-content-body th[data-mce-selected] {\n position: relative;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected]::selection,\n.tinymce__oxide--mce-content-body th[data-mce-selected]::selection {\n background: none;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected] *,\n.tinymce__oxide--mce-content-body th[data-mce-selected] * {\n outline: none;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n user-select: none;\n}\n.tinymce__oxide--mce-content-body td[data-mce-selected]::after,\n.tinymce__oxide--mce-content-body th[data-mce-selected]::after {\n background-color: rgba(180, 215, 255, 0.7);\n border: 1px solid rgba(180, 215, 255, 0.7);\n bottom: -1px;\n content: '';\n left: -1px;\n mix-blend-mode: multiply;\n position: absolute;\n right: -1px;\n top: -1px;\n}\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .tinymce__oxide--mce-content-body td[data-mce-selected]::after,\n .tinymce__oxide--mce-content-body th[data-mce-selected]::after {\n border-color: rgba(0, 84, 180, 0.7);\n }\n}\n.tinymce__oxide--mce-content-body img::selection {\n background: none;\n}\n.tinymce__oxide--ephox-snooker-resizer-bar {\n background-color: #b4d7ff;\n opacity: 0;\n -webkit-user-select: none;\n user-select: none;\n}\n.tinymce__oxide--ephox-snooker-resizer-cols {\n cursor: col-resize;\n}\n.tinymce__oxide--ephox-snooker-resizer-rows {\n cursor: row-resize;\n}\n.tinymce__oxide--ephox-snooker-resizer-bar.tinymce__oxide--ephox-snooker-resizer-bar-dragging {\n opacity: 1;\n}\n.tinymce__oxide--mce-spellchecker-word {\n background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");\n background-position: 0 calc(100% + 1px);\n background-repeat: repeat-x;\n background-size: auto 6px;\n cursor: default;\n height: 2rem;\n}\n.tinymce__oxide--mce-spellchecker-grammar {\n background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A\");\n background-position: 0 calc(100% + 1px);\n background-repeat: repeat-x;\n background-size: auto 6px;\n cursor: default;\n}\n.tinymce__oxide--mce-toc {\n border: 1px solid gray;\n}\n.tinymce__oxide--mce-toc h2 {\n margin: 4px;\n}\n.tinymce__oxide--mce-toc li {\n list-style-type: none;\n}\ntable[style*=\"border-width: 0px\"],\n.tinymce__oxide--mce-item-table:not([border]),\n.tinymce__oxide--mce-item-table[border=\"0\"],\ntable[style*=\"border-width: 0px\"] td,\n.tinymce__oxide--mce-item-table:not([border]) td,\n.tinymce__oxide--mce-item-table[border=\"0\"] td,\ntable[style*=\"border-width: 0px\"] th,\n.tinymce__oxide--mce-item-table:not([border]) th,\n.tinymce__oxide--mce-item-table[border=\"0\"] th,\ntable[style*=\"border-width: 0px\"] caption,\n.tinymce__oxide--mce-item-table:not([border]) caption,\n.tinymce__oxide--mce-item-table[border=\"0\"] caption {\n border: 1px dashed #bbb;\n}\n.tinymce__oxide--mce-visualblocks p,\n.tinymce__oxide--mce-visualblocks h1,\n.tinymce__oxide--mce-visualblocks h2,\n.tinymce__oxide--mce-visualblocks h3,\n.tinymce__oxide--mce-visualblocks h4,\n.tinymce__oxide--mce-visualblocks h5,\n.tinymce__oxide--mce-visualblocks h6,\n.tinymce__oxide--mce-visualblocks div:not([data-mce-bogus]),\n.tinymce__oxide--mce-visualblocks section,\n.tinymce__oxide--mce-visualblocks article,\n.tinymce__oxide--mce-visualblocks blockquote,\n.tinymce__oxide--mce-visualblocks address,\n.tinymce__oxide--mce-visualblocks pre,\n.tinymce__oxide--mce-visualblocks figure,\n.tinymce__oxide--mce-visualblocks figcaption,\n.tinymce__oxide--mce-visualblocks hgroup,\n.tinymce__oxide--mce-visualblocks aside,\n.tinymce__oxide--mce-visualblocks ul,\n.tinymce__oxide--mce-visualblocks ol,\n.tinymce__oxide--mce-visualblocks dl {\n background-repeat: no-repeat;\n border: 1px dashed #bbb;\n margin-left: 3px;\n padding-top: 10px;\n}\n.tinymce__oxide--mce-visualblocks p {\n background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);\n}\n.tinymce__oxide--mce-visualblocks h1 {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);\n}\n.tinymce__oxide--mce-visualblocks h2 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);\n}\n.tinymce__oxide--mce-visualblocks h3 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);\n}\n.tinymce__oxide--mce-visualblocks h4 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);\n}\n.tinymce__oxide--mce-visualblocks h5 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);\n}\n.tinymce__oxide--mce-visualblocks h6 {\n background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);\n}\n.tinymce__oxide--mce-visualblocks div:not([data-mce-bogus]) {\n background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);\n}\n.tinymce__oxide--mce-visualblocks section {\n background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);\n}\n.tinymce__oxide--mce-visualblocks article {\n background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);\n}\n.tinymce__oxide--mce-visualblocks blockquote {\n background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);\n}\n.tinymce__oxide--mce-visualblocks address {\n background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);\n}\n.tinymce__oxide--mce-visualblocks pre {\n background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);\n}\n.tinymce__oxide--mce-visualblocks figure {\n background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);\n}\n.tinymce__oxide--mce-visualblocks figcaption {\n border: 1px dashed #bbb;\n}\n.tinymce__oxide--mce-visualblocks hgroup {\n background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);\n}\n.tinymce__oxide--mce-visualblocks aside {\n background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);\n}\n.tinymce__oxide--mce-visualblocks ul {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);\n}\n.tinymce__oxide--mce-visualblocks ol {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);\n}\n.tinymce__oxide--mce-visualblocks dl {\n background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);\n}\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) p,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h1,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h2,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h3,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h4,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h5,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) h6,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) section,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) article,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) blockquote,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) address,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) pre,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) figure,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) figcaption,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) hgroup,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) aside,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) ul,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) ol,\n.tinymce__oxide--mce-visualblocks:not([dir=rtl]) dl {\n margin-left: 3px;\n}\n.tinymce__oxide--mce-visualblocks[dir=rtl] p,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h1,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h2,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h3,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h4,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h5,\n.tinymce__oxide--mce-visualblocks[dir=rtl] h6,\n.tinymce__oxide--mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),\n.tinymce__oxide--mce-visualblocks[dir=rtl] section,\n.tinymce__oxide--mce-visualblocks[dir=rtl] article,\n.tinymce__oxide--mce-visualblocks[dir=rtl] blockquote,\n.tinymce__oxide--mce-visualblocks[dir=rtl] address,\n.tinymce__oxide--mce-visualblocks[dir=rtl] pre,\n.tinymce__oxide--mce-visualblocks[dir=rtl] figure,\n.tinymce__oxide--mce-visualblocks[dir=rtl] figcaption,\n.tinymce__oxide--mce-visualblocks[dir=rtl] hgroup,\n.tinymce__oxide--mce-visualblocks[dir=rtl] aside,\n.tinymce__oxide--mce-visualblocks[dir=rtl] ul,\n.tinymce__oxide--mce-visualblocks[dir=rtl] ol,\n.tinymce__oxide--mce-visualblocks[dir=rtl] dl {\n background-position-x: right;\n margin-right: 3px;\n}\n.tinymce__oxide--mce-nbsp,\n.tinymce__oxide--mce-shy {\n background: #aaa;\n}\n.tinymce__oxide--mce-shy::after {\n content: '-';\n}\nbody {\n font-family: sans-serif;\n}\ntable {\n border-collapse: collapse;\n}\n`;\n },\n 'mce-content-body': 'tinymce__oxide--mce-content-body',\n 'mce-item-anchor': 'tinymce__oxide--mce-item-anchor',\n 'tox-comments-visible': 'tinymce__oxide--tox-comments-visible',\n 'tox-comment': 'tinymce__oxide--tox-comment',\n 'tox-comment--active': 'tinymce__oxide--tox-comment--active',\n 'tox-checklist': 'tinymce__oxide--tox-checklist',\n 'tox-checklist--hidden': 'tinymce__oxide--tox-checklist--hidden',\n 'tox-checklist--checked': 'tinymce__oxide--tox-checklist--checked',\n 'token': 'tinymce__oxide--token',\n 'comment': 'tinymce__oxide--comment',\n 'prolog': 'tinymce__oxide--prolog',\n 'doctype': 'tinymce__oxide--doctype',\n 'cdata': 'tinymce__oxide--cdata',\n 'punctuation': 'tinymce__oxide--punctuation',\n 'namespace': 'tinymce__oxide--namespace',\n 'property': 'tinymce__oxide--property',\n 'tag': 'tinymce__oxide--tag',\n 'boolean': 'tinymce__oxide--boolean',\n 'number': 'tinymce__oxide--number',\n 'constant': 'tinymce__oxide--constant',\n 'symbol': 'tinymce__oxide--symbol',\n 'deleted': 'tinymce__oxide--deleted',\n 'selector': 'tinymce__oxide--selector',\n 'attr-name': 'tinymce__oxide--attr-name',\n 'string': 'tinymce__oxide--string',\n 'char': 'tinymce__oxide--char',\n 'builtin': 'tinymce__oxide--builtin',\n 'inserted': 'tinymce__oxide--inserted',\n 'operator': 'tinymce__oxide--operator',\n 'entity': 'tinymce__oxide--entity',\n 'url': 'tinymce__oxide--url',\n 'language-css': 'tinymce__oxide--language-css',\n 'style': 'tinymce__oxide--style',\n 'atrule': 'tinymce__oxide--atrule',\n 'attr-value': 'tinymce__oxide--attr-value',\n 'keyword': 'tinymce__oxide--keyword',\n 'function': 'tinymce__oxide--function',\n 'class-name': 'tinymce__oxide--class-name',\n 'regex': 'tinymce__oxide--regex',\n 'important': 'tinymce__oxide--important',\n 'variable': 'tinymce__oxide--variable',\n 'bold': 'tinymce__oxide--bold',\n 'italic': 'tinymce__oxide--italic',\n 'mce-visual-caret': 'tinymce__oxide--mce-visual-caret',\n 'mce-visual-caret-hidden': 'tinymce__oxide--mce-visual-caret-hidden',\n 'mce-offscreen-selection': 'tinymce__oxide--mce-offscreen-selection',\n 'tox-cursor-format-painter': 'tinymce__oxide--tox-cursor-format-painter',\n 'align-left': 'tinymce__oxide--align-left',\n 'align-right': 'tinymce__oxide--align-right',\n 'image': 'tinymce__oxide--image',\n 'align-center': 'tinymce__oxide--align-center',\n 'mce-preview-object': 'tinymce__oxide--mce-preview-object',\n 'mce-shim': 'tinymce__oxide--mce-shim',\n 'mce-object': 'tinymce__oxide--mce-object',\n 'mce-pagebreak': 'tinymce__oxide--mce-pagebreak',\n 'tiny-pageembed': 'tinymce__oxide--tiny-pageembed',\n 'tiny-pageembed--21by9': 'tinymce__oxide--tiny-pageembed--21by9',\n 'tiny-pageembed--16by9': 'tinymce__oxide--tiny-pageembed--16by9',\n 'tiny-pageembed--4by3': 'tinymce__oxide--tiny-pageembed--4by3',\n 'tiny-pageembed--1by1': 'tinymce__oxide--tiny-pageembed--1by1',\n 'mce-visualblocks': 'tinymce__oxide--mce-visualblocks',\n 'mce-resizehandle': 'tinymce__oxide--mce-resizehandle',\n 'mce-resize-backdrop': 'tinymce__oxide--mce-resize-backdrop',\n 'mce-clonedresizable': 'tinymce__oxide--mce-clonedresizable',\n 'mce-resizetable-columns': 'tinymce__oxide--mce-resizetable-columns',\n 'mce-resize-helper': 'tinymce__oxide--mce-resize-helper',\n 'tox-rtc-user-selection': 'tinymce__oxide--tox-rtc-user-selection',\n 'tox-rtc-user-cursor': 'tinymce__oxide--tox-rtc-user-cursor',\n 'tox-rtc-user-selection--1': 'tinymce__oxide--tox-rtc-user-selection--1',\n 'tox-rtc-user-selection--2': 'tinymce__oxide--tox-rtc-user-selection--2',\n 'tox-rtc-user-selection--3': 'tinymce__oxide--tox-rtc-user-selection--3',\n 'tox-rtc-user-selection--4': 'tinymce__oxide--tox-rtc-user-selection--4',\n 'tox-rtc-user-selection--5': 'tinymce__oxide--tox-rtc-user-selection--5',\n 'tox-rtc-user-selection--6': 'tinymce__oxide--tox-rtc-user-selection--6',\n 'tox-rtc-user-selection--7': 'tinymce__oxide--tox-rtc-user-selection--7',\n 'tox-rtc-user-selection--8': 'tinymce__oxide--tox-rtc-user-selection--8',\n 'tox-rtc-remote-image': 'tinymce__oxide--tox-rtc-remote-image',\n 'mce-match-marker': 'tinymce__oxide--mce-match-marker',\n 'mce-match-marker-selected': 'tinymce__oxide--mce-match-marker-selected',\n 'mce-content-readonly': 'tinymce__oxide--mce-content-readonly',\n 'mce-edit-focus': 'tinymce__oxide--mce-edit-focus',\n 'ephox-snooker-resizer-bar': 'tinymce__oxide--ephox-snooker-resizer-bar',\n 'ephox-snooker-resizer-cols': 'tinymce__oxide--ephox-snooker-resizer-cols',\n 'ephox-snooker-resizer-rows': 'tinymce__oxide--ephox-snooker-resizer-rows',\n 'ephox-snooker-resizer-bar-dragging': 'tinymce__oxide--ephox-snooker-resizer-bar-dragging',\n 'mce-spellchecker-word': 'tinymce__oxide--mce-spellchecker-word',\n 'mce-spellchecker-grammar': 'tinymce__oxide--mce-spellchecker-grammar',\n 'mce-toc': 'tinymce__oxide--mce-toc',\n 'mce-item-table': 'tinymce__oxide--mce-item-table',\n 'mce-nbsp': 'tinymce__oxide--mce-nbsp',\n 'mce-shy': 'tinymce__oxide--mce-shy'\n};\nconst RestoreAutoSaveModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(2), __webpack_require__.e(68)]).then(__webpack_require__.bind(null, /*! ./RestoreAutoSaveModal */ \"./src/rce/RestoreAutoSaveModal.js\")));\nconst RceHtmlEditor = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(25), __webpack_require__.e(67)]).then(__webpack_require__.bind(null, /*! ./RceHtmlEditor */ \"./src/rce/RceHtmlEditor.js\")));\nconst ASYNC_FOCUS_TIMEOUT = 250;\nconst DEFAULT_RCE_HEIGHT = '400px';\nconst toolbarPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // name of the toolbar the items are added to\n // if this toolbar doesn't exist, it is created\n // tinymce toolbar config does not\n // include a key to identify the individual toolbars, just a name\n // which is translated. This toolbar's name must be translated\n // in order to be merged correctly.\n name: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,\n // items added to the toolbar\n // each is the name of the button some plugin has\n // registered with tinymce\n items: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string).isRequired\n}));\nconst menuPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.objectOf( // the key is the name of the menu item a plugin has\n// registered with tinymce. If it does not exist in the\n// default menubar, it will be added.\nprop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // if this is a new menu in the menubar, title is it's label.\n // if these are items being merged into an existing menu, title is ignored\n title: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n // items is a space separated list it menu_items\n // some plugin has registered with tinymce\n items: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired\n}));\nconst ltiToolsPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // id of the tool\n id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number]),\n // is this a favorite tool?\n favorite: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool\n}));\nconst editorOptionsPropType = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n // height of the RCE.\n // if a number interpreted as pixels.\n // if a string as a CSS value.\n height: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string]),\n // entries you want merged into the toolbar. See toolBarPropType above.\n toolbar: toolbarPropType,\n // entries you want merged into to the menus. See menuPropType above.\n // If an entry defines a new menu, tinymce's menubar config option will\n // be updated for you. In fact, if you provide an editorOptions.menubar value\n // it will be overwritten.\n menu: menuPropType,\n // additional plugins that get merged into the default list of plugins\n // it is up to you to import the plugin's definition which will\n // register it and any related toolbar or menu entries with tinymce.\n plugins: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string),\n // is this RCE readonly?\n readonly: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool\n});\nconst skinCSS = skinCSSBinding.template().replace(/tinymce__oxide--/g, '');\nconst contentCSS = contentCSSBinding.template().replace(/tinymce__oxide--/g, ''); // If we ever get our jest tests configured so they can handle importing real esModules,\n// we can move this to plugins/instructure-ui-icons/plugin.js like the rest.\n\nfunction addKebabIcon(editor) {\n editor.ui.registry.addIcon('more-drawer', `\n <svg viewBox=\"0 0 1920 1920\">\n <path d=\"M1129.412 1637.647c0 93.448-75.964 169.412-169.412 169.412-93.448 0-169.412-75.964-169.412-169.412 0-93.447 75.964-169.412 169.412-169.412 93.448 0 169.412 75.965 169.412 169.412zm0-677.647c0 93.448-75.964 169.412-169.412 169.412-93.448 0-169.412-75.964-169.412-169.412 0-93.448 75.964-169.412 169.412-169.412 93.448 0 169.412 75.964 169.412 169.412zm0-677.647c0 93.447-75.964 169.412-169.412 169.412-93.448 0-169.412-75.965-169.412-169.412 0-93.448 75.964-169.412 169.412-169.412 93.448 0 169.412 75.964 169.412 169.412z\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"/>\n </svg>\n `);\n} // Get oxide the default skin injected into the DOM before the overrides loaded by themeable\n\n\nlet inserted = false;\n\nfunction injectTinySkin() {\n if (inserted) return;\n inserted = true;\n const style = document.createElement('style');\n style.setAttribute('data-skin', 'tiny oxide skin');\n style.appendChild( // the .replace here is because the ui-themeable babel hook adds that prefix to all the class names\n document.createTextNode(skinCSS));\n const beforeMe = document.head.querySelector('style[data-glamor]') || // find instui's themeable stylesheet\n document.head.querySelector('style') || // find any stylesheet\n document.head.firstElementChild;\n document.head.insertBefore(style, beforeMe);\n}\n\nconst editorWrappers = new WeakMap();\n\nfunction focusToolbar(el) {\n const $firstToolbarButton = el.querySelector('.tox-tbtn');\n $firstToolbarButton && $firstToolbarButton.focus();\n}\n\nfunction focusFirstMenuButton(el) {\n const $firstMenu = el.querySelector('.tox-mbtn');\n $firstMenu && $firstMenu.focus();\n}\n\nfunction isElementWithinTable(node) {\n let elem = node;\n\n while (elem) {\n if (elem.tagName === 'TABLE' || elem.tagName === 'TD' || elem.tagName === 'TH') {\n return true;\n }\n\n elem = elem.parentElement;\n }\n\n return false;\n} // determines if localStorage is available for our use.\n// see https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n\n\nfunction storageAvailable() {\n let storage;\n\n try {\n storage = window.localStorage;\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return e instanceof DOMException && ( // everything except Firefox\n e.code === 22 || // Firefox\n e.code === 1014 || // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' || // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored\n storage && storage.length !== 0;\n }\n}\n\nfunction getHtmlEditorCookie() {\n const value = Object(_common_getCookie__WEBPACK_IMPORTED_MODULE_12__[\"default\"])('rce.htmleditor');\n return value === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"] || value === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] ? value : _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"];\n}\n\nfunction renderLoading() {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Loading');\n} // safari implements only the webkit prefixed version of the fullscreen api\n\n\nconst FS_ELEMENT = document.fullscreenElement === undefined ? 'webkitFullscreenElement' : 'fullscreenElement';\nconst FS_REQUEST = document.body.requestFullscreen ? 'requestFullscreen' : 'webkitRequestFullscreen';\nconst FS_EXIT = document.exitFullscreen ? 'exitFullscreen' : 'webkitExitFullscreen';\nlet alertIdValue = 0;\nlet RCEWrapper = (_dec = Object(_instructure_ui_themeable__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_skins_theme__WEBPACK_IMPORTED_MODULE_27__[\"default\"], styles), _dec(_class = (_class2 = class RCEWrapper extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Component {\n static getByEditor(editor) {\n return editorWrappers.get(editor);\n }\n\n constructor(props) {\n var _this, _props$editorOptions;\n\n super(props);\n _this = this;\n\n this.onRemove = () => {\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].detachEditor(this);\n this.props.onRemove && this.props.onRemove(this);\n };\n\n this.toggleView = newView => {\n // coming from the menubar, we don't have a newView,\n const wasFullscreen = this._isFullscreen();\n\n if (wasFullscreen) this._exitFullscreen();\n let newState;\n\n switch (this.state.editorView) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n newState = {\n editorView: newView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]\n };\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n newState = {\n editorView: newView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]\n };\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n newState = {\n editorView: newView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]\n };\n }\n\n this.setState(newState, () => {\n if (wasFullscreen) {\n window.setTimeout(() => {\n this._enterFullscreen();\n }, 200); // due to the animation it takes some time for fullscreen to complete\n }\n });\n this.checkAccessibility();\n\n if (newView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] || newView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]) {\n document.cookie = `rce.htmleditor=${newView};path=/;max-age=31536000`;\n } // Emit view change event\n\n\n this.mceInstance().fire(_customEvents__WEBPACK_IMPORTED_MODULE_25__[\"VIEW_CHANGE\"], {\n target: this.editor,\n newView: newState.editorView\n });\n };\n\n this.contentTrayClosing = false;\n this.blurTimer = 0;\n\n this.handleFocusRCE = event => {\n this.handleFocus(event);\n };\n\n this.handleBlurRCE = event => {\n var _this$_elementRef$cur;\n\n if (event.relatedTarget === null) {\n // focus might be moving to tinymce\n this.handleBlur(event);\n }\n\n if (!((_this$_elementRef$cur = this._elementRef.current) !== null && _this$_elementRef$cur !== void 0 && _this$_elementRef$cur.contains(event.relatedTarget))) {\n this.handleBlur(event);\n }\n };\n\n this.handleFocusEditor = (event, _editor) => {\n // use .active to put a focus ring around the content area\n // when the editor has focus. This isn't perfect, but it's\n // what we've got for now.\n const ifr = this.iframe;\n ifr && ifr.parentElement.classList.add('active');\n\n this._forceCloseFloatingToolbar();\n\n this.handleFocus(event);\n };\n\n this.handleFocusHtmlEditor = event => {\n this.handleFocus(event);\n };\n\n this.handleBlurEditor = (event, _editor) => {\n const ifr = this.iframe;\n ifr && ifr.parentElement.classList.remove('active');\n this.handleBlur(event);\n };\n\n this.handleKey = event => {\n if (event.code === 'F9' && event.altKey) {\n event.preventDefault();\n event.stopPropagation();\n this.setFocusAbilityForHeader(true);\n focusFirstMenuButton(this._elementRef.current);\n } else if (event.code === 'F10' && event.altKey) {\n event.preventDefault();\n event.stopPropagation();\n this.setFocusAbilityForHeader(true);\n focusToolbar(this._elementRef.current);\n } else if ((event.code === 'F8' || event.code === 'Digit0') && event.altKey) {\n event.preventDefault();\n event.stopPropagation();\n this.openKBShortcutModal();\n } else if (event.code === 'Escape') {\n this._forceCloseFloatingToolbar();\n\n if (this.state.fullscreenState.isTinyFullscreen) {\n this.mceInstance().execCommand('mceFullScreen'); // turn it off\n } else {\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].hideTrays();\n }\n } else if (['n', 'N', 'd', 'D'].indexOf(event.key) !== -1) {\n // Prevent key events from bubbling up on touch screen device\n event.stopPropagation();\n }\n };\n\n this.handleClickFullscreen = () => {\n if (this._isFullscreen()) {\n this._exitFullscreen();\n } else {\n this._enterFullscreen();\n }\n };\n\n this.handleExternalClick = () => {\n this._forceCloseFloatingToolbar();\n\n Object(_instructure_debounce__WEBPACK_IMPORTED_MODULE_11__[\"debounce\"])(this.checkAccessibility, 1000)();\n };\n\n this.handleInputChange = () => {\n this.checkAccessibility();\n };\n\n this.onInit = (_event, editor) => {\n var _this$props$onInitted, _this$props;\n\n editor.rceWrapper = this;\n this.editor = editor;\n const textarea = this.editor.getElement(); // expected by canvas\n\n textarea.dataset.rich_text = true; // start with the textarea and tinymce in sync\n\n textarea.value = this.getCode();\n textarea.style.height = this.state.height; // Capture click events outside the iframe\n\n document.addEventListener('click', this.handleExternalClick);\n\n if (document.body.classList.contains('Underline-All-Links__enabled')) {\n this.iframe.contentDocument.body.classList.add('Underline-All-Links__enabled');\n }\n\n editor.on('wordCountUpdate', this.onWordCountUpdate); // add an aria-label to the application div that wraps RCE\n // and change role from \"application\" to \"document\" to ensure\n // the editor gets properly picked up by screen readers\n\n const tinyapp = document.querySelector('.tox-tinymce[role=\"application\"]');\n\n if (tinyapp) {\n tinyapp.setAttribute('aria-label', Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Rich Content Editor'));\n tinyapp.setAttribute('role', 'document');\n tinyapp.setAttribute('tabIndex', '-1');\n } // Adds a focusout event listener for handling screen reader navigation focus\n\n\n const header = this._elementRef.current.querySelector('.tox-editor-header');\n\n if (header) {\n header.addEventListener('focusout', e => {\n const leavingHeader = !header.contains(e.relatedTarget);\n\n if (leavingHeader) {\n this.setFocusAbilityForHeader(false);\n }\n });\n }\n\n this.setFocusAbilityForHeader(false); // Probably should do this in tinymce.scss, but we only want it in new rce\n\n textarea.style.resize = 'none';\n editor.on('ExecCommand', this._forceCloseFloatingToolbar);\n editor.on('keydown', this.handleKey);\n editor.on('FullscreenStateChanged', this._toggleFullscreen); // This propagates click events on the editor out of the iframe to the parent\n // document. We need this so that click events get captured properly by instui\n // focus-trapping components, so they properly ignore trapping focus on click.\n\n editor.on('click', () => window.document.body.click(), true);\n editor.on('Cut Paste Change input Undo Redo', Object(_instructure_debounce__WEBPACK_IMPORTED_MODULE_11__[\"debounce\"])(this.handleInputChange, 1000));\n this.announceContextToolbars(editor);\n\n if (this.isAutoSaving) {\n this.initAutoSave(editor);\n } // first view\n\n\n this.setEditorView(this.state.editorView); // readonly should have been handled via the init property passed\n // to <Editor>, but it's not.\n\n editor.mode.set(this.props.readOnly ? 'readonly' : 'design'); // Not using iframe_aria_text because compatibility issues.\n // Not using iframe_attrs because library overwriting.\n\n if (this.iframe) {\n this.iframe.setAttribute('title', Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Rich Text Area. Press ALT+0 for Rich Content Editor shortcuts.'));\n }\n\n (_this$props$onInitted = (_this$props = this.props).onInitted) === null || _this$props$onInitted === void 0 ? void 0 : _this$props$onInitted.call(_this$props, editor);\n };\n\n this._toggleFullscreen = event => {\n const isTinyFullscreen = event.state;\n const fullscreenState = {\n isTinyFullscreen\n };\n const header = document.getElementById('header');\n\n if (header) {\n if (isTinyFullscreen) {\n fullscreenState.headerDisp = header.style.display;\n header.style.display = 'none';\n } else {\n header.style.display = this.state.fullscreenState.headerDisp;\n }\n }\n\n this.setState({\n fullscreenState\n }); // if we're leaving fullscreen, remove event listeners on the fullscreen element\n\n if (!document[FS_ELEMENT] && this.state.fullscreenElem) {\n this.state.fullscreenElem.removeEventListener('fullscreenchange', this._toggleFullscreen);\n this.state.fullscreenElem.removeEventListener('webkitfullscreenchange', this._toggleFullscreen);\n this.setState({\n fullscreenState: {\n fullscreenElem: null\n }\n });\n } // if we don't defer setState, the pretty editor's height isn't correct\n // when entering fullscreen\n\n\n window.setTimeout(() => {\n if (document[FS_ELEMENT]) {\n this.setState(state => {\n return {\n fullscreenState: { ...state.fullscreenState,\n fullscreenElem: document[FS_ELEMENT]\n }\n };\n });\n } else {\n this.forceUpdate();\n }\n\n this.focusCurrentView();\n }, 0);\n };\n\n this._forceCloseFloatingToolbar = () => {\n if (this._elementRef.current) {\n const moreButton = this._elementRef.current.querySelector('.tox-toolbar-overlord .tox-toolbar__group:last-child button:last-child');\n\n if (moreButton !== null && moreButton !== void 0 && moreButton.getAttribute('aria-owns')) {\n // the floating toolbar is open\n moreButton.click(); // close the floating toolbar\n\n const editor = this.mceInstance(); // return focus to the editor\n\n editor === null || editor === void 0 ? void 0 : editor.focus();\n }\n }\n };\n\n this.announcing = 0;\n\n this.initAutoSave = editor => {\n this.storage = window.localStorage;\n\n if (this.storage) {\n editor.on('change Undo Redo', this.doAutoSave);\n editor.on('blur', this.doAutoSave);\n this.cleanupAutoSave();\n\n try {\n const autosaved = this.getAutoSaved(this.autoSaveKey);\n\n if (autosaved && autosaved.content) {\n // We'll compare just the text of the autosave content, since\n // Canvas is prone to swizzling images and iframes which will\n // make the editor content and autosave content never match up\n const editorContent = this.patchAutosavedContent(editor.getContent({\n no_events: true\n }), true);\n const autosavedContent = this.patchAutosavedContent(autosaved.content, true);\n\n if (autosavedContent !== editorContent) {\n this.setState({\n confirmAutoSave: true,\n autoSavedContent: this.patchAutosavedContent(autosaved.content)\n });\n } else {\n this.storage.removeItem(this.autoSaveKey);\n }\n }\n } catch (ex) {\n // log and ignore\n // eslint-disable-next-line no-console\n console.error('Failed initializing rce autosave', ex);\n }\n }\n };\n\n this.cleanupAutoSave = function () {\n let deleteAll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (_this.storage) {\n const expiry = deleteAll ? Date.now() : Date.now() - _this.props.autosave.maxAge;\n let i = 0;\n let key;\n\n while (key = _this.storage.key(i++)) {\n if (/^rceautosave:/.test(key)) {\n const autosaved = _this.getAutoSaved(key);\n\n if (autosaved && autosaved.autosaveTimestamp < expiry) {\n _this.storage.removeItem(key);\n }\n }\n }\n }\n };\n\n this.restoreAutoSave = ans => {\n this.setState({\n confirmAutoSave: false\n }, () => {\n const editor = this.mceInstance();\n\n if (ans) {\n editor.setContent(this.state.autoSavedContent, {});\n }\n\n this.storage.removeItem(this.autoSaveKey);\n });\n this.checkAccessibility();\n };\n\n this.doAutoSave = function (e) {\n let retry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (_this.storage) {\n const editor = _this.mceInstance(); // if the editor is empty don't save\n\n\n if (editor.dom.isEmpty(editor.getBody())) {\n return;\n }\n\n const content = editor.getContent({\n no_events: true\n });\n\n try {\n _this.storage.setItem(_this.autoSaveKey, JSON.stringify({\n autosaveTimestamp: Date.now(),\n content\n }));\n } catch (ex) {\n if (!retry) {\n // probably failed because there's not enough space\n // delete up all the other entries and try again\n _this.cleanupAutoSave(true);\n\n _this.doAutoSave(e, true);\n } else {\n console.error('Autosave failed:', ex); // eslint-disable-line no-console\n }\n }\n }\n };\n\n this.onWordCountUpdate = e => {\n this.setState(state => {\n if (e.wordCount.words !== state.wordCount) {\n return {\n wordCount: e.wordCount.words\n };\n } else return null;\n });\n };\n\n this.onNodeChange = e => {\n // This is basically copied out of the tinymce silver theme code for the status bar\n const path = e.parents.filter(p => p.nodeName !== 'BR' && !p.getAttribute('data-mce-bogus') && p.getAttribute('data-mce-type') !== 'bookmark').map(p => p.nodeName.toLowerCase()).reverse();\n this.setState({\n path\n });\n };\n\n this.onEditorChange = (content, _editor) => {\n var _this$props$onContent, _this$props2;\n\n (_this$props$onContent = (_this$props2 = this.props).onContentChange) === null || _this$props$onContent === void 0 ? void 0 : _this$props$onContent.call(_this$props2, content);\n };\n\n this.onResize = (_e, coordinates) => {\n const editor = this.mceInstance();\n\n if (editor) {\n const container = editor.getContainer();\n if (!container) return;\n const currentContainerHeight = Number.parseInt(container.style.height, 10);\n if (isNaN(currentContainerHeight)) return; // eslint-disable-line no-restricted-globals\n\n const modifiedHeight = currentContainerHeight + coordinates.deltaY;\n const newHeight = `${modifiedHeight}px`;\n container.style.height = newHeight;\n this.getTextarea().style.height = newHeight;\n this.setState({\n height: newHeight\n }); // play nice and send the same event that the silver theme would send\n\n editor.fire('ResizeEditor');\n }\n };\n\n this.onA11yChecker = () => {\n // eslint-disable-next-line promise/catch-or-return\n this.a11yCheckerReady.then(() => {\n this.onTinyMCEInstance('openAccessibilityChecker', {\n skip_focus: true\n });\n });\n };\n\n this.checkAccessibility = () => {\n const editor = this.mceInstance();\n editor.execCommand('checkAccessibility', false, {\n done: errors => {\n this.setState({\n a11yErrorsCount: errors.length\n });\n }\n }, {\n skip_focus: true\n });\n };\n\n this.openKBShortcutModal = () => {\n this.setState({\n KBShortcutModalOpen: true,\n KBShortcutFocusReturn: document.activeElement\n });\n };\n\n this.closeKBShortcutModal = () => {\n this.setState({\n KBShortcutModalOpen: false\n });\n };\n\n this.KBShortcutModalExited = () => {\n if (this.state.KBShortcutFocusReturn === this.iframe) {\n // if the iframe has focus, we need to forward it on to tinymce\n this.editor.focus(false);\n } else if (this._showOnFocusButton && document.activeElement === document.body) {\n // when the modal is opened from the showOnFocus button, focus doesn't\n // get automatically returned to the button like it should.\n this._showOnFocusButton.focus();\n } else {\n var _this$_showOnFocusBut;\n\n (_this$_showOnFocusBut = this._showOnFocusButton) === null || _this$_showOnFocusBut === void 0 ? void 0 : _this$_showOnFocusBut.focus();\n }\n };\n\n this.setFocusAbilityForHeader = focusable => {\n // Sets aria-hidden to prevent screen readers focus in RCE menus and toolbar\n const header = this._elementRef.current.querySelector('.tox-editor-header');\n\n if (header) {\n header.setAttribute('aria-hidden', focusable ? 'false' : 'true');\n }\n };\n\n this.handleTextareaChange = () => {\n if (this.isHidden()) {\n this.setCode(this.textareaValue());\n this.doAutoSave();\n }\n };\n\n this.addAlert = alert => {\n alert.id = alertIdValue++;\n this.setState(state => {\n let messages = state.messages.concat(alert);\n messages = lodash__WEBPACK_IMPORTED_MODULE_5___default.a.uniqBy(messages, 'text'); // Don't show the same message twice\n\n return {\n messages\n };\n });\n };\n\n this.removeAlert = messageId => {\n this.setState(state => {\n const messages = state.messages.filter(message => message.id !== messageId);\n return {\n messages\n };\n });\n };\n\n this.resetAlertId = () => {\n if (this.state.messages.length > 0) {\n throw new Error('There are messages currently, you cannot reset when they are non-zero');\n }\n\n alertIdValue = 0;\n };\n\n // Set up some limited global state that can be referenced\n // as needed in RCE's components and function / plugin definitions\n // Not intended to be dynamically changed!\n _RCEGlobals__WEBPACK_IMPORTED_MODULE_19__[\"default\"].setFeatures(this.getRequiredFeatureStatuses());\n _RCEGlobals__WEBPACK_IMPORTED_MODULE_19__[\"default\"].setConfig(this.getRequiredConfigValues());\n this.editor = null; // my tinymce editor instance\n\n this.language = Object(_normalizeLocale__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(this.props.language); // interface consistent with editorBox\n\n this.get_code = this.getCode;\n this.set_code = this.setCode;\n this.insert_code = this.insertCode; // test override points\n\n this.indicator = false;\n this._elementRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createRef();\n this._editorPlaceholderRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createRef();\n this._prettyHtmlEditorRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createRef();\n this._showOnFocusButton = null;\n injectTinySkin();\n let ht = ((_props$editorOptions = props.editorOptions) === null || _props$editorOptions === void 0 ? void 0 : _props$editorOptions.height) || DEFAULT_RCE_HEIGHT;\n\n if (!Number.isNaN(ht)) {\n ht = `${ht}px`;\n }\n\n const currentRCECount = document.querySelectorAll('.rce-wrapper').length;\n const maxInitRenderedRCEs = Number.isNaN(props.maxInitRenderedRCEs) ? RCEWrapper.defaultProps.maxInitRenderedRCEs : props.maxInitRenderedRCEs;\n this.state = {\n path: [],\n wordCount: 0,\n editorView: props.editorView || _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"],\n shouldShowOnFocusButton: props.renderKBShortcutModal === undefined ? true : props.renderKBShortcutModal,\n KBShortcutModalOpen: false,\n messages: [],\n announcement: null,\n confirmAutoSave: false,\n autoSavedContent: '',\n id: this.props.id || this.props.textareaId || `${Date.now()}`,\n height: ht,\n fullscreenState: {\n headerDisp: 'static',\n isTinyFullscreen: false\n },\n a11yErrorsCount: 0,\n shouldShowEditor: typeof IntersectionObserver === 'undefined' || maxInitRenderedRCEs <= 0 || currentRCECount < maxInitRenderedRCEs\n };\n this.pendingEventHandlers = []; // Get top 2 favorited LTI Tools\n\n this.ltiToolFavorites = this.props.ltiTools.filter(e => e.favorite).map(e => `instructure_external_button_${e.id}`).slice(0, 2) || [];\n this.tinymceInitOptions = this.wrapOptions(props.editorOptions);\n _alertHandler__WEBPACK_IMPORTED_MODULE_31__[\"default\"].alertFunc = this.addAlert;\n this.handleContentTrayClosing = this.handleContentTrayClosing.bind(this);\n this.a11yCheckerReady = Promise.all(/*! import() */[__webpack_require__.e(4), __webpack_require__.e(7), __webpack_require__.e(37)]).then(__webpack_require__.bind(null, /*! ./initA11yChecker */ \"./src/rce/initA11yChecker.js\")).then(initA11yChecker => {\n initA11yChecker.default(this.language);\n this.checkAccessibility();\n }).catch(err => {\n // eslint-disable-next-line no-console\n console.error('Failed initializing a11y checker', err);\n });\n }\n\n getRequiredFeatureStatuses() {\n const {\n new_equation_editor = false,\n new_math_equation_handling = false,\n rce_ux_improvements = false\n } = this.props.features;\n return {\n new_equation_editor,\n new_math_equation_handling,\n rce_ux_improvements\n };\n }\n\n getRequiredConfigValues() {\n return {\n locale: Object(_normalizeLocale__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(this.props.language),\n flashAlertTimeout: this.props.flashAlertTimeout,\n timezone: this.props.timezone\n };\n }\n\n getCanvasUrl() {\n return this.props.canvasOrigin;\n } // getCode and setCode naming comes from tinyMCE\n // kind of strange but want to be consistent\n\n\n getCode() {\n return this.isHidden() ? this.textareaValue() : this.mceInstance().getContent();\n }\n\n checkReadyToGetCode(promptFunc) {\n let status = true; // Check for remaining placeholders\n\n if (this.mceInstance().dom.doc.querySelector(`[data-placeholder-for]`)) {\n status = promptFunc(Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Content is still being uploaded, if you continue it will not be embedded properly.'));\n }\n\n return status;\n }\n\n setCode(newContent) {\n var _this$mceInstance;\n\n (_this$mceInstance = this.mceInstance()) === null || _this$mceInstance === void 0 ? void 0 : _this$mceInstance.setContent(newContent);\n } // This function is called imperatively by the page that renders the RCE.\n // It should be called when the RCE content is done being edited.\n\n\n RCEClosed() {\n // We want to clear the autosaved content, since the page was legitimately closed.\n if (this.storage) {\n this.storage.removeItem(this.autoSaveKey);\n }\n }\n\n indicateEditor(element) {\n if (document.querySelector('[role=\"dialog\"][data-mce-component]')) {\n // there is a modal open, which zeros out the vertical scroll\n // so the indicator is in the wrong place. Give it a chance to close\n window.setTimeout(() => {\n this.indicateEditor(element);\n }, 100);\n return;\n }\n\n const editor = this.mceInstance();\n\n if (this.indicator) {\n this.indicator(editor, element);\n } else if (!this.isHidden()) {\n Object(_common_indicate__WEBPACK_IMPORTED_MODULE_21__[\"default\"])(Object(_indicatorRegion__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(editor, element));\n }\n }\n\n contentInserted(element) {\n this.indicateEditor(element);\n this.checkImageLoadError(element);\n this.sizeEditorForContent(element);\n } // make a attempt at sizing the editor so that the new content fits.\n // works under the assumptions the body's box-sizing is not content-box\n // and that the content is w/in a <p> whose margin is 12px top and bottom\n // (which, in canvas, is set in app/stylesheets/components/_ic-typography.scss)\n\n\n sizeEditorForContent(elem) {\n let height;\n\n if (elem && elem.nodeType === 1) {\n height = elem.clientHeight;\n }\n\n if (height) {\n const ifr = this.iframe;\n\n if (ifr) {\n const editor_body_style = ifr.contentWindow.getComputedStyle(this.iframe.contentDocument.body);\n const editor_ht = ifr.contentDocument.body.clientHeight - parseInt(editor_body_style['padding-top'], 10) - parseInt(editor_body_style['padding-bottom'], 10);\n const para_margin_ht = 24;\n const reserve_ht = Math.ceil(height + para_margin_ht);\n\n if (reserve_ht > editor_ht) {\n this.onResize(null, {\n deltaY: reserve_ht - editor_ht\n });\n }\n }\n }\n }\n\n checkImageLoadError(element) {\n if (!element || element.tagName !== 'IMG') {\n return;\n }\n\n if (!element.complete) {\n element.onload = () => this.checkImageLoadError(element);\n\n return;\n } // checking naturalWidth in a future event loop run prevents a race\n // condition between the onload callback and naturalWidth being set.\n\n\n setTimeout(() => {\n if (element.naturalWidth === 0) {\n element.style.border = '1px solid #000';\n element.style.padding = '2px';\n }\n }, 0);\n }\n\n insertCode(code) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertContent\"](editor, code);\n this.contentInserted(element);\n }\n\n insertEmbedCode(code) {\n const editor = this.mceInstance(); // don't replace selected text, but embed after\n\n editor.selection.collapse(); // tinymce treats iframes uniquely, and doesn't like adding attributes\n // once it's in the editor, and I'd rather not parse the incomming html\n // string with a regex, so let's create a temp copy, then add a title\n // attribute if one doesn't exist. This will let screenreaders announce\n // that there's some embedded content helper\n // From what I've read, \"title\" is more reliable than \"aria-label\" for\n // elements like iframes and embeds.\n\n const temp = document.createElement('div');\n temp.innerHTML = code;\n const code_elem = temp.firstElementChild;\n\n if (code_elem) {\n if (!code_elem.hasAttribute('title') && !code_elem.hasAttribute('aria-label')) {\n code_elem.setAttribute('title', Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('embedded content'));\n }\n\n code = code_elem.outerHTML;\n } // inserting an iframe in tinymce (as is often the case with\n // embedded content) causes it to wrap it in a span\n // and it's often inserted into a <p> on top of that. Find the\n // iframe and use it to flash the indicator.\n\n\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertContent\"](editor, code);\n const ifr = element && element.querySelector && element.querySelector('iframe');\n\n if (ifr) {\n this.contentInserted(ifr);\n } else {\n this.contentInserted(element);\n }\n }\n\n insertImage(image) {\n var _element$nextSibling, _element$nextSibling$;\n\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertImage\"](editor, image, this.getCanvasUrl()); // Removes TinyMCE's caret &nbsp; text if exists.\n\n if ((element === null || element === void 0 ? void 0 : (_element$nextSibling = element.nextSibling) === null || _element$nextSibling === void 0 ? void 0 : (_element$nextSibling$ = _element$nextSibling.data) === null || _element$nextSibling$ === void 0 ? void 0 : _element$nextSibling$.trim()) === '') {\n element.nextSibling.remove();\n }\n\n if (element && element.complete) {\n this.contentInserted(element);\n } else if (element) {\n element.onload = () => this.contentInserted(element);\n\n element.onerror = () => this.checkImageLoadError(element);\n }\n }\n\n insertImagePlaceholder(fileMetaProps) {\n let width, height;\n let align = 'middle';\n\n if (Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__[\"isImage\"])(fileMetaProps.contentType) && fileMetaProps.displayAs !== 'link') {\n const image = new Image();\n image.src = fileMetaProps.domObject.preview;\n width = image.width;\n height = image.height; // we constrain the <img> to max-width: 100%, so scale the size down if necessary\n\n const maxWidth = this.iframe.contentDocument.body.clientWidth;\n\n if (width > maxWidth) {\n height = Math.round(maxWidth / width * height);\n width = maxWidth;\n }\n\n width = `${width}px`;\n height = `${height}px`;\n } else if (Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__[\"isVideo\"])(fileMetaProps.contentType || fileMetaProps.type)) {\n width = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"VIDEO_SIZE_DEFAULT\"].width;\n height = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"VIDEO_SIZE_DEFAULT\"].height;\n align = 'bottom';\n } else if (Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_28__[\"isAudio\"])(fileMetaProps.contentType || fileMetaProps.type)) {\n width = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"AUDIO_PLAYER_SIZE\"].width;\n height = _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_33__[\"AUDIO_PLAYER_SIZE\"].height;\n align = 'bottom';\n } else {\n width = `${fileMetaProps.name.length}rem`;\n height = '1rem';\n } // if you're wondering, the &nbsp; scatter about in the svg\n // is because tinymce will strip empty elements\n\n\n const markup = `\n <span\n aria-label=\"${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Loading')}\"\n data-placeholder-for=\"${encodeURIComponent(fileMetaProps.name)}\"\n style=\"width: ${width}; height: ${height}; vertical-align: ${align};\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" height=\"100px\" width=\"100px\">\n <g style=\"stroke-width:.5rem;fill:none;stroke-linecap:round;\">&nbsp;\n <circle class=\"c1\" cx=\"50%\" cy=\"50%\" r=\"28px\">&nbsp;</circle>\n <circle class=\"c2\" cx=\"50%\" cy=\"50%\" r=\"28px\">&nbsp;</circle>\n &nbsp;\n </g>\n &nbsp;\n </svg>\n </span>`;\n const editor = this.mceInstance();\n editor.undoManager.ignore(() => {\n editor.execCommand('mceInsertContent', false, markup);\n });\n }\n\n insertVideo(video) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertVideo\"](editor, video, this.getCanvasUrl());\n this.contentInserted(element);\n }\n\n insertAudio(audio) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertAudio\"](editor, audio, this.getCanvasUrl());\n this.contentInserted(element);\n }\n\n insertMathEquation(tex) {\n const editor = this.mceInstance();\n _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertEquation\"](editor, tex);\n }\n\n removePlaceholders(name) {\n const placeholder = this.mceInstance().dom.doc.querySelector(`[data-placeholder-for=\"${encodeURIComponent(name)}\"]`);\n\n if (placeholder) {\n const editor = this.mceInstance();\n editor.undoManager.ignore(() => {\n editor.dom.remove(placeholder);\n });\n }\n }\n\n insertLink(link) {\n const editor = this.mceInstance();\n const element = _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"insertLink\"](editor, link, this.getCanvasUrl());\n this.contentInserted(element);\n }\n\n existingContentToLink() {\n const editor = this.mceInstance();\n return _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"existingContentToLink\"](editor);\n }\n\n existingContentToLinkIsImg() {\n const editor = this.mceInstance();\n return _contentInsertion__WEBPACK_IMPORTED_MODULE_14__[\"existingContentToLinkIsImg\"](editor);\n } // since we may defer rendering tinymce, queue up any tinymce event handlers\n\n\n tinymceOn(tinymceEventName, handler) {\n if (this.state.shouldShowEditor) {\n this.mceInstance().on(tinymceEventName, handler);\n } else {\n this.pendingEventHandlers.push({\n name: tinymceEventName,\n handler\n });\n }\n }\n\n mceInstance() {\n if (this.editor) {\n return this.editor;\n }\n\n const editors = this.props.tinymce.editors || [];\n return editors.filter(ed => ed.id === this.props.textareaId)[0];\n }\n\n onTinyMCEInstance(command) {\n const editor = this.mceInstance();\n\n if (editor) {\n if (command === 'mceRemoveEditor') {\n editor.execCommand('mceNewDocument');\n } // makes sure content can't persist past removal\n\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n editor.execCommand(command, false, ...args);\n }\n }\n\n destroy() {\n this._destroyCalled = true;\n this.unhandleTextareaChange();\n this.props.handleUnmount && this.props.handleUnmount();\n }\n\n getTextarea() {\n return document.getElementById(this.props.textareaId);\n }\n\n textareaValue() {\n return this.getTextarea().value;\n }\n\n get id() {\n return this.state.id;\n }\n\n _isFullscreen() {\n return this.state.fullscreenState.isTinyFullscreen || document[FS_ELEMENT];\n }\n\n _enterFullscreen() {\n switch (this.state.editorView) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n this._prettyHtmlEditorRef.current.addEventListener('fullscreenchange', this._toggleFullscreen);\n\n this._prettyHtmlEditorRef.current.addEventListener('webkitfullscreenchange', this._toggleFullscreen); // if I don't focus first, FF complains that the element\n // is not in the active browser tab and requestFullscreen fails\n\n\n this._prettyHtmlEditorRef.current.focus();\n\n this._prettyHtmlEditorRef.current[FS_REQUEST]();\n\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n this.getTextarea().addEventListener('fullscreenchange', this._toggleFullscreen);\n this.getTextarea().addEventListener('webkitfullscreenchange', this._toggleFullscreen);\n this.getTextarea()[FS_REQUEST]();\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n this.mceInstance().execCommand('mceFullScreen');\n break;\n }\n }\n\n _exitFullscreen() {\n if (this.state.fullscreenState.isTinyFullscreen) {\n this.mceInstance().execCommand('mceFullScreen');\n } else if (document[FS_ELEMENT]) {\n document[FS_ELEMENT][FS_EXIT]();\n }\n }\n\n focus() {\n this.onTinyMCEInstance('mceFocus'); // tinymce doesn't always call the focus handler.\n\n this.handleFocusEditor(new Event('focus', {\n target: this.mceInstance()\n }));\n }\n\n focusCurrentView() {\n switch (this.state.editorView) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n this.mceInstance().focus();\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n {\n const cmta = this._elementRef.current.querySelector('.CodeMirror textarea');\n\n if (cmta) {\n cmta.focus();\n } else {\n window.setTimeout(() => {\n var _this$_elementRef$cur2;\n\n (_this$_elementRef$cur2 = this._elementRef.current.querySelector('.CodeMirror textarea')) === null || _this$_elementRef$cur2 === void 0 ? void 0 : _this$_elementRef$cur2.focus();\n }, 200);\n }\n }\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n this.getTextarea().focus();\n break;\n }\n }\n\n is_dirty() {\n var _this$mceInstance2;\n\n if (this.mceInstance().isDirty()) {\n return true;\n }\n\n const content = this.isHidden() ? this.textareaValue() : (_this$mceInstance2 = this.mceInstance()) === null || _this$mceInstance2 === void 0 ? void 0 : _this$mceInstance2.getContent();\n return content !== this.cleanInitialContent();\n }\n\n cleanInitialContent() {\n if (!this._cleanInitialContent) {\n const el = window.document.createElement('div');\n el.innerHTML = this.props.defaultContent;\n const serializer = this.mceInstance().serializer;\n this._cleanInitialContent = serializer.serialize(el, {\n getInner: true\n });\n }\n\n return this._cleanInitialContent;\n }\n\n isHtmlView() {\n return this.state.editorView !== _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"];\n }\n\n isHidden() {\n return this.mceInstance().isHidden();\n }\n\n get iframe() {\n return document.getElementById(`${this.props.textareaId}_ifr`);\n } // these focus and blur event handlers work together so that RCEWrapper\n // can report focus and blur events from the RCE at-large\n\n\n get focused() {\n return this === _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].getEditor();\n }\n\n handleFocus(_event) {\n if (!this.focused) {\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].focusEditor(this);\n this.props.onFocus && this.props.onFocus(this);\n }\n }\n\n handleContentTrayClosing(isClosing) {\n this.contentTrayClosing = isClosing;\n }\n\n handleBlur(event) {\n if (this.blurTimer) return;\n\n if (this.focused) {\n // because the old active element fires blur before the next element gets focus\n // we often need a moment to see if focus comes back\n event && event.persist && event.persist();\n this.blurTimer = window.setTimeout(() => {\n var _this$_elementRef$cur3, _event$focusedEditor, _event$relatedTarget, _event$relatedTarget$;\n\n this.blurTimer = 0;\n\n if (this.contentTrayClosing) {\n // the CanvasContentTray is in the process of closing\n // wait until it finishes\n return;\n }\n\n if ((_this$_elementRef$cur3 = this._elementRef.current) !== null && _this$_elementRef$cur3 !== void 0 && _this$_elementRef$cur3.contains(document.activeElement)) {\n // focus is still somewhere w/in me\n return;\n }\n\n const activeClass = document.activeElement && document.activeElement.getAttribute('class');\n\n if ((event.focusedEditor === undefined || event.target.id === ((_event$focusedEditor = event.focusedEditor) === null || _event$focusedEditor === void 0 ? void 0 : _event$focusedEditor.id)) && activeClass !== null && activeClass !== void 0 && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1___default()(activeClass).call(activeClass, 'tox-')) {\n // if a toolbar button has focus, then the user clicks on the \"more\" button\n // focus jumps to the body, then eventually to the popped up toolbar. This\n // catches that case.\n return;\n }\n\n if (event !== null && event !== void 0 && (_event$relatedTarget = event.relatedTarget) !== null && _event$relatedTarget !== void 0 && (_event$relatedTarget$ = _event$relatedTarget.getAttribute('class')) !== null && _event$relatedTarget$ !== void 0 && _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_1___default()(_event$relatedTarget$).call(_event$relatedTarget$, 'tox-')) {\n // a tinymce popup has focus\n return;\n }\n\n const popups = document.querySelectorAll('[data-mce-component]');\n\n for (const popup of popups) {\n if (popup.contains(document.activeElement)) {\n // one of our popups has focus\n return;\n }\n }\n\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].blurEditor(this);\n this.props.onBlur && this.props.onBlur(event);\n }, ASYNC_FOCUS_TIMEOUT);\n }\n }\n\n call(methodName) {\n // since exists? has a ? and cant be a regular function just return true\n // rather than calling as a fn on the editor\n if (methodName === 'exists?') {\n return true;\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return this[methodName](...args);\n }\n\n announceContextToolbars(editor) {\n editor.on('NodeChange', () => {\n const node = editor.selection.getNode();\n\n if (Object(_plugins_shared_ContentSelection__WEBPACK_IMPORTED_MODULE_32__[\"isImageEmbed\"])(node, editor)) {\n if (this.announcing !== 1) {\n this.setState({\n announcement: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('type Control F9 to access image options. {text}', {\n text: node.getAttribute('alt')\n })\n });\n this.announcing = 1;\n }\n } else if (Object(_plugins_shared_ContentSelection__WEBPACK_IMPORTED_MODULE_32__[\"isFileLink\"])(node, editor)) {\n if (this.announcing !== 2) {\n this.setState({\n announcement: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('type Control F9 to access link options. {text}', {\n text: node.textContent\n })\n });\n this.announcing = 2;\n }\n } else if (isElementWithinTable(node, editor)) {\n if (this.announcing !== 3) {\n this.setState({\n announcement: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('type Control F9 to access table options. {text}', {\n text: node.textContent\n })\n });\n this.announcing = 3;\n }\n } else {\n this.setState({\n announcement: null\n });\n this.announcing = 0;\n }\n });\n }\n /* ********** autosave support *************** */\n\n\n // if a placeholder image shows up in autosaved content, we have to remove it\n // because the data url gets converted to a blob, which is not valid when restored.\n // besides, the placeholder is intended to be temporary while the file\n // is being uploaded\n patchAutosavedContent(content, asText) {\n const temp = document.createElement('div');\n temp.innerHTML = content;\n temp.querySelectorAll('[data-placeholder-for]').forEach(placeholder => {\n placeholder.parentElement.removeChild(placeholder);\n });\n if (asText) return temp.textContent;\n return temp.innerHTML;\n }\n\n getAutoSaved(key) {\n let autosaved = null;\n\n try {\n autosaved = this.storage && JSON.parse(this.storage.getItem(key));\n } catch (_ex) {\n this.storage.removeItem(this.autoSaveKey);\n }\n\n return autosaved;\n } // only autosave if the feature flag is set, and there is only 1 RCE on the page\n // the latter condition is necessary because the popup RestoreAutoSaveModal\n // is lousey UX when there are >1\n\n\n get isAutoSaving() {\n // If the editor is invisible for some reason, don't show the autosave modal\n // This doesn't apply if the editor is off-screen or has visibility:hidden;\n // only if it isn't rendered or has display:none;\n const editorVisible = this.editor.getContainer().offsetParent;\n return this.props.autosave.enabled && editorVisible && document.querySelectorAll('.rce-wrapper').length === 1 && storageAvailable();\n }\n\n get autoSaveKey() {\n var _this$props$trayProps;\n\n const userId = (_this$props$trayProps = this.props.trayProps) === null || _this$props$trayProps === void 0 ? void 0 : _this$props$trayProps.containingContext.userId;\n return `rceautosave:${userId}${window.location.href}:${this.props.textareaId}`;\n }\n\n componentWillUnmount() {\n if (this.state.shouldShowEditor) {\n var _this$mutationObserve, _this$intersectionObs;\n\n window.clearTimeout(this.blurTimer);\n\n if (!this._destroyCalled) {\n this.destroy();\n }\n\n this._elementRef.current.removeEventListener('keydown', this.handleKey, true);\n\n (_this$mutationObserve = this.mutationObserver) === null || _this$mutationObserve === void 0 ? void 0 : _this$mutationObserve.disconnect();\n (_this$intersectionObs = this.intersectionObserver) === null || _this$intersectionObs === void 0 ? void 0 : _this$intersectionObs.disconnect();\n }\n }\n\n wrapOptions() {\n var _this$props$trayProps2, _this$props$trayProps3, _this$props$trayProps4;\n\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const rcsExists = !!((_this$props$trayProps2 = this.props.trayProps) !== null && _this$props$trayProps2 !== void 0 && _this$props$trayProps2.host && (_this$props$trayProps3 = this.props.trayProps) !== null && _this$props$trayProps3 !== void 0 && _this$props$trayProps3.jwt);\n const userLocale = _editorLanguage__WEBPACK_IMPORTED_MODULE_16___default()(this.language);\n const setupCallback = options.setup;\n const canvasPlugins = rcsExists ? ['instructure_links', 'instructure_image', 'instructure_documents', 'instructure_equation', 'instructure_external_tools'] : ['instructure_links'];\n\n if (rcsExists && !this.props.instRecordDisabled) {\n canvasPlugins.splice(2, 0, 'instructure_record');\n }\n\n if (rcsExists && this.props.use_rce_icon_maker && ((_this$props$trayProps4 = this.props.trayProps) === null || _this$props$trayProps4 === void 0 ? void 0 : _this$props$trayProps4.contextType) === 'course') {\n canvasPlugins.push('instructure_icon_maker');\n }\n\n const possibleNewMenubarItems = this.props.editorOptions.menu ? Object.keys(this.props.editorOptions.menu).join(' ') : undefined;\n const wrappedOpts = { ..._defaultTinymceConfig__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n ...options,\n readonly: this.props.readOnly,\n theme: 'silver',\n // some older code specified 'modern', which doesn't exist any more\n height: options.height || DEFAULT_RCE_HEIGHT,\n language: userLocale,\n document_base_url: this.props.canvasOrigin,\n block_formats: options.block_formats || [`${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Heading 2')}=h2`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Heading 3')}=h3`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Heading 4')}=h4`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Preformatted')}=pre`, `${Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Paragraph')}=p`].join('; '),\n setup: editor => {\n var _bridge$trayProps;\n\n addKebabIcon(editor);\n editorWrappers.set(editor, this);\n const trayPropsWithColor = {\n brandColor: this.theme.canvasBrandColor,\n ...this.props.trayProps\n };\n (_bridge$trayProps = _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].trayProps) === null || _bridge$trayProps === void 0 ? void 0 : _bridge$trayProps.set(editor, trayPropsWithColor);\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].userLocale = userLocale;\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].canvasOrigin = this.props.canvasOrigin;\n\n if (typeof setupCallback === 'function') {\n setupCallback(editor);\n }\n },\n // Consumers can, and should!, still pass a content_css prop so that the content\n // in the editor matches the styles of the app it will be displayed in when saved.\n // This is just so we inject the helper class names that tinyMCE uses for\n // things like table resizing and stuff.\n content_css: options.content_css || [],\n content_style: contentCSS,\n menubar: mergeMenuItems('edit view insert format tools table', possibleNewMenubarItems),\n // default menu options listed at https://www.tiny.cloud/docs/configure/editor-appearance/#menu\n // tinymce's default edit and table menus are fine\n // we include all the canvas specific items in the menu and toolbar\n // and rely on tinymce only showing them if the plugin is provided.\n menu: mergeMenu({\n format: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Format'),\n items: 'bold italic underline strikethrough superscript subscript codeformat | formats blockformats fontformats fontsizes align directionality | forecolor backcolor | removeformat'\n },\n insert: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Insert'),\n items: 'instructure_links instructure_image instructure_media instructure_document instructure_icon_maker | instructure_equation inserttable instructure_media_embed | hr'\n },\n tools: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Tools'),\n items: 'wordcount lti_tools_menuitem'\n },\n view: {\n title: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('View'),\n items: 'fullscreen instructure_html_view'\n }\n }, options.menu),\n toolbar: mergeToolbar([{\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Styles'),\n items: ['fontsizeselect', 'formatselect']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Formatting'),\n items: ['bold', 'italic', 'underline', 'forecolor', 'backcolor', 'inst_subscript', 'inst_superscript']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Content'),\n items: ['instructure_links', 'instructure_image', 'instructure_record', 'instructure_documents', 'instructure_icon_maker']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('External Tools'),\n items: [...this.ltiToolFavorites, 'lti_tool_dropdown', 'lti_mru_button']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Alignment and Lists'),\n items: ['align', 'bullist', 'inst_indent', 'inst_outdent']\n }, {\n name: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('Miscellaneous'),\n items: ['removeformat', 'table', 'instructure_equation', 'instructure_media_embed']\n }], options.toolbar),\n contextmenu: '',\n // show the browser's native context menu\n toolbar_mode: 'floating',\n toolbar_sticky: true,\n plugins: mergePlugins(['autolink', 'media', 'paste', 'table', 'link', 'directionality', 'lists', 'textpattern', 'hr', 'fullscreen', 'instructure-ui-icons', 'instructure_condensed_buttons', 'instructure_links', 'instructure_html_view', 'instructure_media_embed', 'instructure_external_tools', 'a11y_checker', 'wordcount', ...canvasPlugins], Object(_sanitizePlugins__WEBPACK_IMPORTED_MODULE_18__[\"sanitizePlugins\"])(options.plugins)),\n textpattern_patterns: [{\n start: '* ',\n cmd: 'InsertUnorderedList'\n }, {\n start: '- ',\n cmd: 'InsertUnorderedList'\n }]\n };\n\n if (this.props.trayProps) {\n wrappedOpts.canvas_rce_user_context = {\n type: this.props.trayProps.contextType,\n id: this.props.trayProps.contextId\n };\n wrappedOpts.canvas_rce_containing_context = {\n type: this.props.trayProps.containingContext.contextType,\n id: this.props.trayProps.containingContext.contextId\n };\n }\n\n return wrappedOpts;\n }\n\n unhandleTextareaChange() {\n if (this._textareaEl) {\n this._textareaEl.removeEventListener('input', this.handleTextareaChange);\n }\n }\n\n registerTextareaChange() {\n const el = this.getTextarea();\n\n if (this._textareaEl !== el) {\n this.unhandleTextareaChange();\n\n if (el) {\n el.addEventListener('input', this.handleTextareaChange);\n\n if (this.props.textareaClassName) {\n // split the string on whitespace because classList doesn't let you add multiple\n // space seperated classes at a time but does let you add an array of them\n el.classList.add(...this.props.textareaClassName.split(/\\s+/));\n }\n\n this._textareaEl = el;\n }\n }\n }\n\n componentDidMount() {\n if (this.state.shouldShowEditor) {\n this.editorReallyDidMount();\n } else {\n this.intersectionObserver = new IntersectionObserver(entries => {\n const entry = entries[0];\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n this.setState({\n shouldShowEditor: true\n });\n }\n }, // initialize the RCE when it gets close to entering the viewport\n {\n root: null,\n rootMargin: '200px 0px',\n threshold: 0.0\n });\n this.intersectionObserver.observe(this._editorPlaceholderRef.current);\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.state.shouldShowEditor) {\n if (!prevState.shouldShowEditor) {\n var _this$intersectionObs2;\n\n this.editorReallyDidMount();\n (_this$intersectionObs2 = this.intersectionObserver) === null || _this$intersectionObs2 === void 0 ? void 0 : _this$intersectionObs2.disconnect();\n } else {\n this.registerTextareaChange();\n\n if (prevState.editorView !== this.state.editorView) {\n this.setEditorView(this.state.editorView);\n this.focusCurrentView();\n }\n\n if (prevProps.readOnly !== this.props.readOnly) {\n this.mceInstance().mode.set(this.props.readOnly ? 'readonly' : 'design');\n }\n }\n }\n }\n\n editorReallyDidMount() {\n const myTiny = this.mceInstance();\n this.pendingEventHandlers.forEach(e => {\n myTiny.on(e.name, e.handler);\n });\n this.registerTextareaChange();\n\n this._elementRef.current.addEventListener('keydown', this.handleKey, true); // give the textarea its initial size\n\n\n this.onResize(null, {\n deltaY: 0\n }); // Preload the LTI Tools modal\n // This helps with loading the favorited external tools\n\n if (this.ltiToolFavorites.length > 0) {\n __webpack_require__.e(/*! import() */ 10).then(__webpack_require__.bind(null, /*! ./plugins/instructure_external_tools/components/LtiToolsModal */ \"./src/rce/plugins/instructure_external_tools/components/LtiToolsModal/index.js\"));\n } // .tox-tinymce-aux is where tinymce puts the floating toolbar when\n // the user clicks the More... button\n // Tinymce doesn't fire onFocus when the user clicks More... from somewhere\n // outside, so we'll handle that here by watching for the floating toolbar\n // to come and go.\n\n\n const portals = document.querySelectorAll('.tox-tinymce-aux'); // my portal will be the last one in the doc because tinyumce appends them\n\n const tinymce_floating_toolbar_portal = portals[portals.length - 1];\n\n if (tinymce_floating_toolbar_portal) {\n this.mutationObserver = new MutationObserver((mutationList, _observer) => {\n mutationList.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n this.handleFocusEditor(new Event('focus', {\n target: mutation.target\n }));\n }\n });\n });\n this.mutationObserver.observe(tinymce_floating_toolbar_portal, {\n childList: true\n });\n }\n\n _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"].renderEditor(this);\n }\n\n setEditorView(view) {\n var _this$getTextarea$lab, _this$getTextarea$lab2, _this$getTextarea$lab3, _this$getTextarea$lab4, _this$_elementRef$cur4, _this$getTextarea$lab5, _this$getTextarea$lab6;\n\n switch (view) {\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]:\n this.getTextarea().removeAttribute('aria-hidden');\n (_this$getTextarea$lab = this.getTextarea().labels) === null || _this$getTextarea$lab === void 0 ? void 0 : (_this$getTextarea$lab2 = _this$getTextarea$lab[0]) === null || _this$getTextarea$lab2 === void 0 ? void 0 : _this$getTextarea$lab2.removeAttribute('aria-hidden');\n this.mceInstance().hide();\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"]:\n this.getTextarea().setAttribute('aria-hidden', true);\n (_this$getTextarea$lab3 = this.getTextarea().labels) === null || _this$getTextarea$lab3 === void 0 ? void 0 : (_this$getTextarea$lab4 = _this$getTextarea$lab3[0]) === null || _this$getTextarea$lab4 === void 0 ? void 0 : _this$getTextarea$lab4.setAttribute('aria-hidden', true);\n this.mceInstance().hide();\n (_this$_elementRef$cur4 = this._elementRef.current.querySelector('.CodeMirror')) === null || _this$_elementRef$cur4 === void 0 ? void 0 : _this$_elementRef$cur4.CodeMirror.setCursor(0, 0);\n break;\n\n case _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"]:\n this.setCode(this.textareaValue());\n this.getTextarea().setAttribute('aria-hidden', true);\n (_this$getTextarea$lab5 = this.getTextarea().labels) === null || _this$getTextarea$lab5 === void 0 ? void 0 : (_this$getTextarea$lab6 = _this$getTextarea$lab5[0]) === null || _this$getTextarea$lab6 === void 0 ? void 0 : _this$getTextarea$lab6.setAttribute('aria-hidden', true);\n this.mceInstance().show();\n }\n }\n\n renderHtmlEditor() {\n // the div keeps the editor from collapsing while the code editor is downloaded\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_3__[\"Suspense\"], {\n fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n style: {\n height: this.state.height,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], {\n renderTitle: renderLoading,\n size: \"medium\"\n }))\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_view__WEBPACK_IMPORTED_MODULE_10__[\"View\"], {\n as: \"div\",\n borderRadius: \"medium\",\n borderWidth: \"small\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(RceHtmlEditor, {\n ref: this._prettyHtmlEditorRef,\n height: document[FS_ELEMENT] ? `${window.screen.height}px` : this.state.height,\n code: this.getCode(),\n onChange: value => {\n this.getTextarea().value = value;\n this.handleTextareaChange();\n },\n onFocus: this.handleFocusHtmlEditor\n })));\n }\n\n render() {\n const {\n trayProps,\n ...mceProps\n } = this.props;\n\n if (!this.state.shouldShowEditor) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n ref: this._editorPlaceholderRef,\n style: {\n height: `${this.props.editorOptions.height}px`,\n border: '1px solid grey'\n }\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n key: this.id,\n className: `${styles.root} rce-wrapper`,\n ref: this._elementRef,\n onFocus: this.handleFocusRCE,\n onBlur: this.handleBlurRCE\n }, this.state.shouldShowOnFocusButton && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_ShowOnFocusButton__WEBPACK_IMPORTED_MODULE_26__[\"default\"], {\n onClick: this.openKBShortcutModal,\n margin: \"xx-small\",\n screenReaderLabel: Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])('View keyboard shortcuts'),\n ref: el => this._showOnFocusButton = el\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_icons__WEBPACK_IMPORTED_MODULE_7__[\"IconKeyboardShortcutsLine\"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_AlertMessageArea__WEBPACK_IMPORTED_MODULE_30__[\"default\"], {\n messages: this.state.messages,\n liveRegion: this.props.liveRegion,\n afterDismiss: this.removeAlert\n }), this.state.editorView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] && this.renderHtmlEditor(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n style: {\n display: this.state.editorView === _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"] ? 'none' : 'block'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_tinymce_tinymce_react__WEBPACK_IMPORTED_MODULE_4__[\"Editor\"], {\n id: mceProps.textareaId,\n textareaName: mceProps.name,\n init: this.tinymceInitOptions,\n initialValue: mceProps.defaultContent,\n onInit: this.onInit,\n onClick: this.handleFocusEditor,\n onKeypress: this.handleFocusEditor,\n onActivate: this.handleFocusEditor,\n onRemove: this.onRemove,\n onFocus: this.handleFocusEditor,\n onBlur: this.handleBlurEditor,\n onNodeChange: this.onNodeChange,\n onEditorChange: this.onEditorChange\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n readOnly: this.props.readOnly,\n onChangeView: newView => this.toggleView(newView),\n path: this.state.path,\n wordCount: this.state.wordCount,\n editorView: this.state.editorView,\n preferredHtmlEditor: getHtmlEditorCookie(),\n onResize: this.onResize,\n onKBShortcutModalOpen: this.openKBShortcutModal,\n onA11yChecker: this.onA11yChecker,\n onFullscreen: this.handleClickFullscreen,\n a11yBadgeColor: this.theme.canvasBadgeBackgroundColor,\n a11yErrorsCount: this.state.a11yErrorsCount\n }), this.props.trayProps && this.props.trayProps.containingContext && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_plugins_shared_CanvasContentTray__WEBPACK_IMPORTED_MODULE_23__[\"default\"], Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n key: this.id,\n canvasOrigin: this.getCanvasUrl(),\n bridge: _bridge__WEBPACK_IMPORTED_MODULE_22__[\"default\"],\n editor: this,\n onTrayClosing: this.handleContentTrayClosing,\n use_rce_icon_maker: this.props.use_rce_icon_maker\n }, trayProps)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_KeyboardShortcutModal__WEBPACK_IMPORTED_MODULE_29__[\"default\"], {\n onExited: this.KBShortcutModalExited,\n onDismiss: this.closeKBShortcutModal,\n open: this.state.KBShortcutModalOpen\n }), this.state.confirmAutoSave ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_3__[\"Suspense\"], {\n fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_9__[\"Spinner\"], {\n renderTitle: renderLoading,\n size: \"small\"\n })\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(RestoreAutoSaveModal, {\n savedContent: this.state.autoSavedContent,\n open: this.state.confirmAutoSave,\n onNo: () => this.restoreAutoSave(false),\n onYes: () => this.restoreAutoSave(true)\n })) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_instructure_ui_alerts__WEBPACK_IMPORTED_MODULE_8__[\"Alert\"], {\n screenReaderOnly: true,\n liveRegion: this.props.liveRegion\n }, this.state.announcement));\n }\n\n}, _class2.propTypes = {\n autosave: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({\n enabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n maxAge: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number\n }),\n canvasOrigin: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n defaultContent: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n editorOptions: editorOptionsPropType,\n handleUnmount: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n editorView: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOf([_StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"WYSIWYG_VIEW\"], _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"PRETTY_HTML_EDITOR_VIEW\"], _StatusBar__WEBPACK_IMPORTED_MODULE_24__[\"RAW_HTML_EDITOR_VIEW\"]]),\n renderKBShortcutModal: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n language: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n liveRegion: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,\n ltiTools: ltiToolsPropType,\n onContentChange: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onBlur: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onInitted: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n onRemove: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n textareaClassName: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,\n textareaId: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired,\n readOnly: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n tinymce: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object,\n trayProps: _plugins_shared_CanvasContentTray__WEBPACK_IMPORTED_MODULE_23__[\"trayPropTypes\"],\n toolbar: toolbarPropType,\n menu: menuPropType,\n plugins: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string),\n instRecordDisabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n highContrastCSS: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string),\n maxInitRenderedRCEs: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n use_rce_icon_maker: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n features: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.objectOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool),\n flashAlertTimeout: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,\n timezone: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string\n}, _class2.defaultProps = {\n trayProps: null,\n autosave: {\n enabled: false\n },\n highContrastCSS: [],\n ltiTools: [],\n maxInitRenderedRCEs: -1,\n features: {},\n timezone: (_Intl = Intl) === null || _Intl === void 0 ? void 0 : (_Intl$DateTimeFormat = _Intl.DateTimeFormat()) === null || _Intl$DateTimeFormat === void 0 ? void 0 : (_Intl$DateTimeFormat$ = _Intl$DateTimeFormat.resolvedOptions()) === null || _Intl$DateTimeFormat$ === void 0 ? void 0 : _Intl$DateTimeFormat$.timeZone,\n canvasOrigin: ''\n}, _class2.skinCssInjected = false, _class2)) || _class); // standard: string of tinymce menu commands\n// e.g. 'instructure_links | inserttable instructure_media_embed | hr'\n// custom: a string of tinymce menu commands\n// returns: standard + custom with any duplicate commands removed from custom\n\nfunction mergeMenuItems(standard, custom) {\n var _custom$trim;\n\n let c = custom === null || custom === void 0 ? void 0 : (_custom$trim = custom.trim) === null || _custom$trim === void 0 ? void 0 : _custom$trim.call(custom);\n if (!c) return standard;\n const s = new Set(standard.split(/[\\s|]+/)); // remove any duplicates\n\n c = c.split(/\\s+/).filter(m => !s.has(m));\n c = c.join(' ').replace(/^\\s*\\|\\s*/, '').replace(/\\s*\\|\\s*$/, '');\n return `${standard} | ${c}`;\n} // standard: the incoming tinymce menu object\n// custom: tinymce menu object to merge into standard\n// returns: the merged result by mutating incoming standard arg.\n// It will add commands to existing menus, or add a new menu\n// if the custom one does not exist\n\n\nfunction mergeMenu(standard, custom) {\n if (!custom) return standard;\n Object.keys(custom).forEach(k => {\n const curr_m = standard[k];\n\n if (curr_m) {\n curr_m.items = mergeMenuItems(curr_m.items, custom[k].items);\n } else {\n standard[k] = { ...custom[k]\n };\n }\n });\n return standard;\n} // standard: incoming tinymce toolbar array\n// custom: tinymce toolbar array to merge into standard\n// returns: the merged result by mutating the incoming standard arg.\n// It will add commands to existing toolbars, or add a new toolbar\n// if the custom one does not exist\n\n\nfunction mergeToolbar(standard, custom) {\n if (!custom) return standard; // merge given toolbar data into the default toolbar\n\n custom.forEach(tb => {\n const curr_tb = standard.find(t => tb.name && Object(_format_message__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(tb.name) === t.name);\n\n if (curr_tb) {\n curr_tb.items.splice(curr_tb.items.length, 0, ...tb.items);\n } else {\n standard.push(tb);\n }\n });\n return standard;\n} // standard: incoming array of plugin names\n// custom: array of plugin names to merge\n// returns: the merged result, duplicates removed\n\n\nfunction mergePlugins(standard, custom) {\n if (!custom) return standard;\n const union = new Set(standard);\n\n for (const p of custom) {\n union.add(p);\n }\n\n return [...union];\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RCEWrapper);\n\n\n//# sourceURL=webpack:///./src/rce/RCEWrapper.js?");
17631
17631
 
17632
17632
  /***/ }),
17633
17633
 
@@ -17711,7 +17711,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
17711
17711
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17712
17712
 
17713
17713
  "use strict";
17714
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderLink\", function() { return renderLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderLinkedImage\", function() { return renderLinkedImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"constructJSXImageElement\", function() { return constructJSXImageElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderImage\", function() { return renderImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderVideo\", function() { return renderVideo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderAudio\", function() { return renderAudio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMediaId\", function() { return getMediaId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateImage\", function() { return updateImage; });\n/* harmony import */ var _babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/esm/extends */ \"../../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom_server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom/server */ \"../../node_modules/react-dom/server.browser.js\");\n/* harmony import */ var react_dom_server__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_server__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _contentInsertionUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./contentInsertionUtils */ \"./src/rce/contentInsertionUtils.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./plugins/instructure_record/VideoOptionsTray/TrayController */ \"./src/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js\");\n/* harmony import */ var _plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./plugins/shared/fileTypeUtils */ \"./src/rce/plugins/shared/fileTypeUtils.js\");\n/* harmony import */ var _common_fileUrl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/fileUrl */ \"./src/common/fileUrl.js\");\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\nfunction renderLink(data, contents, canvasOrigin) {\n const linkAttrs = { ...data\n };\n linkAttrs.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"prepLinkedSrc\"])(linkAttrs.href || linkAttrs.url);\n delete linkAttrs.url;\n\n if (linkAttrs.href) {\n linkAttrs.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(Object(_contentInsertionUtils__WEBPACK_IMPORTED_MODULE_3__[\"cleanUrl\"])(linkAttrs.href), canvasOrigin);\n }\n\n linkAttrs.title = linkAttrs.title || Object(_format_message__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('Link');\n const children = contents || linkAttrs.text || linkAttrs.title;\n delete linkAttrs.selectionDetails;\n delete linkAttrs.text;\n linkAttrs.className = linkAttrs.class;\n delete linkAttrs.class; // renderToStaticMarkup isn't happy with bool attributes\n\n Object.keys(linkAttrs).forEach(attr => {\n if (typeof linkAttrs[attr] === 'boolean') linkAttrs[attr] = linkAttrs[attr].toString();\n });\n return Object(react_dom_server__WEBPACK_IMPORTED_MODULE_2__[\"renderToStaticMarkup\"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"a\", linkAttrs, children));\n}\nfunction renderLinkedImage(linkElem, image, canvasOrigin) {\n const linkHref = linkElem.getAttribute('href');\n image.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"prepEmbedSrc\"])(image.href);\n return Object(react_dom_server__WEBPACK_IMPORTED_MODULE_2__[\"renderToStaticMarkup\"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"a\", {\n href: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(linkHref, canvasOrigin),\n \"data-mce-href\": linkHref\n }, constructJSXImageElement(image, canvasOrigin, {\n doNotLink: true\n })));\n}\nfunction constructJSXImageElement(image, canvasOrigin) {\n let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n href,\n url,\n src,\n title,\n display_name,\n alt_text,\n isDecorativeImage,\n link,\n ...otherAttributes\n } = image;\n const imageSrc = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(href || url || src, canvasOrigin);\n let altText = alt_text || title || display_name || '';\n\n if (isDecorativeImage) {\n altText = '';\n otherAttributes.role = 'presentation';\n }\n\n const ret = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"img\", Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n alt: altText,\n src: imageSrc,\n width: image.width,\n height: image.height\n }, otherAttributes));\n\n if (link && !opts.doNotLink) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"a\", {\n href: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(link, canvasOrigin),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, ret);\n }\n\n return ret;\n}\nfunction renderImage(image, canvasOrigin, opts) {\n image.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"prepEmbedSrc\"])(image.href);\n return Object(react_dom_server__WEBPACK_IMPORTED_MODULE_2__[\"renderToStaticMarkup\"])(constructJSXImageElement(image, canvasOrigin, opts));\n}\nfunction renderVideo(video, canvasOrigin) {\n const src = Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_6__[\"mediaPlayerURLFromFile\"])(video, canvasOrigin);\n return `\n <iframe\n allow=\"fullscreen\"\n allowfullscreen\n data-media-id=\"${getMediaId(video)}\"\n data-media-type=\"video\"\n src=\"${src}\"\n style=\"width:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"VIDEO_SIZE_DEFAULT\"].width};height:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"VIDEO_SIZE_DEFAULT\"].height};display:inline-block;\"\n title=\"${Object(_format_message__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('Video player for {title}', {\n title: video.title || video.name || video.text\n })}\"></iframe>\n `.trim().replace(/\\s+/g, ' ');\n}\nfunction renderAudio(audio, canvasOrigin) {\n const src = Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_6__[\"mediaPlayerURLFromFile\"])(audio, canvasOrigin);\n return `\n <iframe\n data-media-id=\"${getMediaId(audio)}\"\n data-media-type=\"audio\"\n src=\"${src}\"\n style=\"width:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"AUDIO_PLAYER_SIZE\"].width};height:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"AUDIO_PLAYER_SIZE\"].height};display:inline-block;\"\n title=\"${Object(_format_message__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('Audio player for {title}', {\n title: audio.title || audio.name || audio.text\n })}\"></iframe>\n `.trim().replace(/\\s+/g, ' ');\n}\nfunction getMediaId(media) {\n if (!media) return;\n return media.media_id || media.media_entry_id || media.id || media.file_id;\n}\nfunction updateImage(editor, img, attrs) {\n var _editor$rceWrapper;\n\n // Workaround: When passing empty string to editor.dom.setAttribs it removes the attribute\n img.setAttribute('alt', attrs.altText);\n editor.dom.setAttribs(img, {\n src: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(attrs.url, (_editor$rceWrapper = editor.rceWrapper) === null || _editor$rceWrapper === void 0 ? void 0 : _editor$rceWrapper.getCanvasUrl()),\n role: attrs.isDecorativeImage ? 'presentation' : null,\n width: attrs.appliedWidth,\n height: attrs.appliedHeight\n });\n}\n\n//# sourceURL=webpack:///./src/rce/contentRendering.js?");
17714
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderLink\", function() { return renderLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderLinkedImage\", function() { return renderLinkedImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"constructJSXImageElement\", function() { return constructJSXImageElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderImage\", function() { return renderImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderVideo\", function() { return renderVideo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderAudio\", function() { return renderAudio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMediaId\", function() { return getMediaId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateImage\", function() { return updateImage; });\n/* harmony import */ var _babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/esm/extends */ \"../../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom_server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom/server */ \"../../node_modules/react-dom/server.browser.js\");\n/* harmony import */ var react_dom_server__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_server__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _contentInsertionUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./contentInsertionUtils */ \"./src/rce/contentInsertionUtils.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./plugins/instructure_record/VideoOptionsTray/TrayController */ \"./src/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js\");\n/* harmony import */ var _plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./plugins/shared/fileTypeUtils */ \"./src/rce/plugins/shared/fileTypeUtils.js\");\n/* harmony import */ var _common_fileUrl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/fileUrl */ \"./src/common/fileUrl.js\");\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\nfunction renderLink(data, contents, canvasOrigin) {\n const linkAttrs = { ...data\n };\n linkAttrs.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"prepLinkedSrc\"])(linkAttrs.href || linkAttrs.url);\n delete linkAttrs.url;\n\n if (linkAttrs.href) {\n linkAttrs.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(Object(_contentInsertionUtils__WEBPACK_IMPORTED_MODULE_3__[\"cleanUrl\"])(linkAttrs.href), canvasOrigin);\n }\n\n linkAttrs.title = linkAttrs.title || Object(_format_message__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('Link');\n const children = contents || linkAttrs.text || linkAttrs.title;\n delete linkAttrs.selectionDetails;\n delete linkAttrs.text;\n linkAttrs.className = linkAttrs.class;\n delete linkAttrs.class; // renderToStaticMarkup isn't happy with bool attributes\n\n Object.keys(linkAttrs).forEach(attr => {\n if (typeof linkAttrs[attr] === 'boolean') linkAttrs[attr] = linkAttrs[attr].toString();\n });\n return Object(react_dom_server__WEBPACK_IMPORTED_MODULE_2__[\"renderToStaticMarkup\"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"a\", linkAttrs, children));\n}\nfunction renderLinkedImage(linkElem, image, canvasOrigin) {\n const linkHref = linkElem.getAttribute('href');\n image.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"prepEmbedSrc\"])(image.href, canvasOrigin);\n return Object(react_dom_server__WEBPACK_IMPORTED_MODULE_2__[\"renderToStaticMarkup\"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"a\", {\n href: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(linkHref, canvasOrigin),\n \"data-mce-href\": linkHref\n }, constructJSXImageElement(image, canvasOrigin, {\n doNotLink: true\n })));\n}\nfunction constructJSXImageElement(image, canvasOrigin) {\n let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n href,\n url,\n src,\n title,\n display_name,\n alt_text,\n isDecorativeImage,\n link,\n ...otherAttributes\n } = image;\n const imageSrc = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(href || url || src, canvasOrigin);\n let altText = alt_text || title || display_name || '';\n\n if (isDecorativeImage) {\n altText = '';\n otherAttributes.role = 'presentation';\n }\n\n const ret = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"img\", Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n alt: altText,\n src: imageSrc,\n width: image.width,\n height: image.height\n }, otherAttributes));\n\n if (link && !opts.doNotLink) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"a\", {\n href: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(link, canvasOrigin),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, ret);\n }\n\n return ret;\n}\nfunction renderImage(image, canvasOrigin, opts) {\n image.href = Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"prepEmbedSrc\"])(image.href, canvasOrigin);\n return Object(react_dom_server__WEBPACK_IMPORTED_MODULE_2__[\"renderToStaticMarkup\"])(constructJSXImageElement(image, canvasOrigin, opts));\n}\nfunction renderVideo(video, canvasOrigin) {\n const src = Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_6__[\"mediaPlayerURLFromFile\"])(video, canvasOrigin);\n return `\n <iframe\n allow=\"fullscreen\"\n allowfullscreen\n data-media-id=\"${getMediaId(video)}\"\n data-media-type=\"video\"\n src=\"${src}\"\n style=\"width:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"VIDEO_SIZE_DEFAULT\"].width};height:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"VIDEO_SIZE_DEFAULT\"].height};display:inline-block;\"\n title=\"${Object(_format_message__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('Video player for {title}', {\n title: video.title || video.name || video.text\n })}\"></iframe>\n `.trim().replace(/\\s+/g, ' ');\n}\nfunction renderAudio(audio, canvasOrigin) {\n const src = Object(_plugins_shared_fileTypeUtils__WEBPACK_IMPORTED_MODULE_6__[\"mediaPlayerURLFromFile\"])(audio, canvasOrigin);\n return `\n <iframe\n data-media-id=\"${getMediaId(audio)}\"\n data-media-type=\"audio\"\n src=\"${src}\"\n style=\"width:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"AUDIO_PLAYER_SIZE\"].width};height:${_plugins_instructure_record_VideoOptionsTray_TrayController__WEBPACK_IMPORTED_MODULE_5__[\"AUDIO_PLAYER_SIZE\"].height};display:inline-block;\"\n title=\"${Object(_format_message__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('Audio player for {title}', {\n title: audio.title || audio.name || audio.text\n })}\"></iframe>\n `.trim().replace(/\\s+/g, ' ');\n}\nfunction getMediaId(media) {\n if (!media) return;\n return media.media_id || media.media_entry_id || media.id || media.file_id;\n}\nfunction updateImage(editor, img, attrs) {\n var _editor$rceWrapper;\n\n // Workaround: When passing empty string to editor.dom.setAttribs it removes the attribute\n img.setAttribute('alt', attrs.altText);\n editor.dom.setAttribs(img, {\n src: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_7__[\"absoluteToRelativeUrl\"])(attrs.url, (_editor$rceWrapper = editor.rceWrapper) === null || _editor$rceWrapper === void 0 ? void 0 : _editor$rceWrapper.getCanvasUrl()),\n role: attrs.isDecorativeImage ? 'presentation' : null,\n width: attrs.appliedWidth,\n height: attrs.appliedHeight\n });\n}\n\n//# sourceURL=webpack:///./src/rce/contentRendering.js?");
17715
17715
 
17716
17716
  /***/ }),
17717
17717
 
@@ -17834,18 +17834,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _for
17834
17834
 
17835
17835
  /***/ }),
17836
17836
 
17837
- /***/ "./src/rce/plugins/instructure_wordcount/utils/countContent.ts":
17838
- /*!*********************************************************************!*\
17839
- !*** ./src/rce/plugins/instructure_wordcount/utils/countContent.ts ***!
17840
- \*********************************************************************/
17841
- /*! exports provided: IGNORE_ATTRIBUTE, countWords, countCharsNoSpaces, countChars, callbackForCategory, countShouldIgnore, getTinymceCount, countContent */
17842
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
17843
-
17844
- "use strict";
17845
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IGNORE_ATTRIBUTE\", function() { return IGNORE_ATTRIBUTE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countWords\", function() { return countWords; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countCharsNoSpaces\", function() { return countCharsNoSpaces; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countChars\", function() { return countChars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"callbackForCategory\", function() { return callbackForCategory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countShouldIgnore\", function() { return countShouldIgnore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTinymceCount\", function() { return getTinymceCount; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countContent\", function() { return countContent; });\n/*\n * Copyright (C) 2022 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nconst IGNORE_ATTRIBUTE = 'data-ignore-wordcount';\nconst countWords = node => {\n if (node.getAttribute(IGNORE_ATTRIBUTE) === 'chars-only') return 0;\n const textContent = (node === null || node === void 0 ? void 0 : node.innerText) || '';\n const trimmedTextContent = textContent.trim();\n if (trimmedTextContent.length === 0) return 0;\n return trimmedTextContent.split(/\\s+/).length;\n};\nconst countCharsNoSpaces = node => {\n const textContent = (node === null || node === void 0 ? void 0 : node.innerText) || '';\n const matches = textContent.match(/ /g); // a single space\n\n const spaces = matches ? matches.length : 0;\n return countChars(node) - spaces;\n};\nconst countChars = node => {\n const textContent = (node === null || node === void 0 ? void 0 : node.innerText) || '';\n const iterator = textContent[Symbol.iterator]();\n let count = 0;\n\n while (!iterator.next().done) {\n count++;\n }\n\n return count;\n};\nconst callbackForCategory = category => {\n switch (category) {\n case 'words':\n return countWords;\n\n case 'chars-no-spaces':\n return countCharsNoSpaces;\n\n case 'chars':\n return countChars;\n }\n};\nconst countShouldIgnore = (ed, scope, category) => {\n if (scope === 'selection') return 0;\n const nodesToCount = Array.from(ed.getBody().querySelectorAll(`[${IGNORE_ATTRIBUTE}]`));\n const callback = callbackForCategory(category);\n return nodesToCount.reduce((total, node) => total + callback(node), 0);\n};\nconst getTinymceCount = (ed, scope, category) => {\n const wc = ed.plugins.wordcount[scope];\n\n switch (category) {\n case 'words':\n return wc.getWordCount();\n\n case 'chars-no-spaces':\n return wc.getCharacterCountWithoutSpaces();\n\n case 'chars':\n return wc.getCharacterCount();\n }\n};\nconst countContent = (ed, scope, category) => {\n return getTinymceCount(ed, scope, category) - countShouldIgnore(ed, scope, category);\n};\n\n//# sourceURL=webpack:///./src/rce/plugins/instructure_wordcount/utils/countContent.ts?");
17846
-
17847
- /***/ }),
17848
-
17849
17837
  /***/ "./src/rce/plugins/shared/CanvasContentTray.js":
17850
17838
  /*!*****************************************************!*\
17851
17839
  !*** ./src/rce/plugins/shared/CanvasContentTray.js ***!
@@ -17854,7 +17842,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
17854
17842
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
17855
17843
 
17856
17844
  "use strict";
17857
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CanvasContentTray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trayPropTypes\", function() { return trayPropTypes; });\n/* harmony import */ var _babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/esm/extends */ \"../../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"../../node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _instructure_ui_tray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @instructure/ui-tray */ \"../../node_modules/@instructure/ui-tray/es/index.js\");\n/* harmony import */ var _instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @instructure/ui-buttons */ \"../../node_modules/@instructure/ui-buttons/es/index.js\");\n/* harmony import */ var _instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @instructure/ui-heading */ \"../../node_modules/@instructure/ui-heading/es/index.js\");\n/* harmony import */ var _instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @instructure/ui-spinner */ \"../../node_modules/@instructure/ui-spinner/es/index.js\");\n/* harmony import */ var _instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @instructure/ui-flex */ \"../../node_modules/@instructure/ui-flex/es/index.js\");\n/* harmony import */ var _ErrorBoundary__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ErrorBoundary */ \"./src/rce/plugins/shared/ErrorBoundary.js\");\n/* harmony import */ var _bridge_Bridge__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../bridge/Bridge */ \"./src/bridge/Bridge.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _Filter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Filter */ \"./src/rce/plugins/shared/Filter.js\");\n/* harmony import */ var _StoreContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./StoreContext */ \"./src/rce/plugins/shared/StoreContext.js\");\n/* harmony import */ var _trayUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./trayUtils */ \"./src/rce/plugins/shared/trayUtils.js\");\n/* harmony import */ var _instructure_icon_maker_svg_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../instructure_icon_maker/svg/constants */ \"./src/rce/plugins/instructure_icon_maker/svg/constants.js\");\n/* harmony import */ var _ContentSelection__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ContentSelection */ \"./src/rce/plugins/shared/ContentSelection.js\");\n/* harmony import */ var _linkUtils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./linkUtils */ \"./src/rce/plugins/shared/linkUtils.js\");\n/* harmony import */ var _LinkDisplay__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./LinkDisplay */ \"./src/rce/plugins/shared/LinkDisplay.js\");\n\n\n/*\n * Copyright (C) 2019 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Returns the translated tray label\n * @param {string} contentType - The type of content showing on tray\n * @param {string} contentSubtype - The current subtype of content loaded in the tray\n * @param {string} contextType - The user's context\n * @returns {string}\n */\n\nfunction getTrayLabel(contentType, contentSubtype, contextType) {\n if (contentType === 'links' && contextType === 'course') {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Links');\n } else if (contentType === 'links' && contextType === 'group') {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Links');\n }\n\n switch (contentSubtype) {\n case _instructure_icon_maker_svg_constants__WEBPACK_IMPORTED_MODULE_14__[\"ICON_MAKER_ICONS\"]:\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Icon Maker Icons');\n\n case 'images':\n if (contentType === 'course_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Images');\n if (contentType === 'group_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Images');\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('User Images');\n\n case 'media':\n if (contentType === 'course_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Media');\n if (contentType === 'group_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Media');\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('User Media');\n\n case 'documents':\n if (contentType === 'course_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Documents');\n if (contentType === 'group_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Documents');\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('User Documents');\n\n default:\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Tray');\n // Shouldn't ever get here\n }\n}\n\nconst thePanels = {\n icon_maker_icons: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(1), __webpack_require__.e(32)]).then(__webpack_require__.bind(null, /*! ../instructure_icon_maker/components/SavedIconMakerList */ \"./src/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js\"))),\n links: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(2), __webpack_require__.e(28)]).then(__webpack_require__.bind(null, /*! ../instructure_links/components/LinksPanel */ \"./src/rce/plugins/instructure_links/components/LinksPanel.js\"))),\n images: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(1), __webpack_require__.e(35)]).then(__webpack_require__.bind(null, /*! ../instructure_image/Images */ \"./src/rce/plugins/instructure_image/Images/index.js\"))),\n documents: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(1), __webpack_require__.e(33)]).then(__webpack_require__.bind(null, /*! ../instructure_documents/components/DocumentsPanel */ \"./src/rce/plugins/instructure_documents/components/DocumentsPanel.js\"))),\n media: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(1), __webpack_require__.e(34)]).then(__webpack_require__.bind(null, /*! ../instructure_record/MediaPanel */ \"./src/rce/plugins/instructure_record/MediaPanel/index.js\"))),\n all: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(29), __webpack_require__.e(36)]).then(__webpack_require__.bind(null, /*! ./RceFileBrowser */ \"./src/rce/plugins/shared/RceFileBrowser.js\"))),\n unknown: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => __webpack_require__.e(/*! import() */ 75).then(__webpack_require__.bind(null, /*! ./UnknownFileTypePanel */ \"./src/rce/plugins/shared/UnknownFileTypePanel.js\")))\n}; // Returns a Suspense wrapped lazy loaded component\n// pulled from useLazy's cache\n\nfunction DynamicPanel(props) {\n let key = '';\n\n if (props.contentType === 'links') {\n key = 'links';\n } else {\n key = props.contentSubtype in thePanels ? props.contentSubtype : 'unknown';\n }\n\n const Component = thePanels[key];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_6__[\"Spinner\"], {\n renderTitle: renderLoading,\n size: \"large\"\n })\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Component, props));\n}\n\nfunction renderLoading() {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Loading');\n}\n\nconst FILTER_SETTINGS_BY_PLUGIN = {\n user_documents: {\n contextType: 'user',\n contentType: 'user_files',\n contentSubtype: 'documents',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_documents: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'documents',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_documents: {\n contextType: 'group',\n contentType: 'group_files',\n contentSubtype: 'documents',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n user_images: {\n contextType: 'user',\n contentType: 'user_files',\n contentSubtype: 'images',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_images: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'images',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_images: {\n contextType: 'group',\n contentType: 'group_files',\n contentSubtype: 'images',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n user_media: {\n contextType: 'user',\n contentType: 'user_files',\n contentSubtype: 'media',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_media: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'media',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_media: {\n contextType: 'group',\n contentType: 'group_files',\n contentSubtype: 'media',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_links: {\n contextType: 'course',\n contentType: 'links',\n contentSubtype: 'all',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_link_edit: {\n contextType: 'course',\n contentType: 'links',\n contentSubtype: 'edit',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_links: {\n contextType: 'group',\n contentType: 'links',\n contentSubtype: 'all',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n list_icon_maker_icons: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: _instructure_icon_maker_svg_constants__WEBPACK_IMPORTED_MODULE_14__[\"ICON_MAKER_ICONS\"],\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n all: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'all',\n sortValue: 'alphabetical',\n sortDir: 'asc',\n searchString: ''\n }\n};\n\nfunction isLoading(cprops) {\n var _cprops$collections$a, _cprops$collections$a2, _cprops$collections$d, _cprops$collections$m, _cprops$collections$q, _cprops$collections$w, _cprops$documents$cou, _cprops$documents$use, _cprops$documents$gro, _cprops$media$course, _cprops$media$user, _cprops$media$group, _cprops$all_files;\n\n return ((_cprops$collections$a = cprops.collections.announcements) === null || _cprops$collections$a === void 0 ? void 0 : _cprops$collections$a.isLoading) || ((_cprops$collections$a2 = cprops.collections.assignments) === null || _cprops$collections$a2 === void 0 ? void 0 : _cprops$collections$a2.isLoading) || ((_cprops$collections$d = cprops.collections.discussions) === null || _cprops$collections$d === void 0 ? void 0 : _cprops$collections$d.isLoading) || ((_cprops$collections$m = cprops.collections.modules) === null || _cprops$collections$m === void 0 ? void 0 : _cprops$collections$m.isLoading) || ((_cprops$collections$q = cprops.collections.quizzes) === null || _cprops$collections$q === void 0 ? void 0 : _cprops$collections$q.isLoading) || ((_cprops$collections$w = cprops.collections.wikiPages) === null || _cprops$collections$w === void 0 ? void 0 : _cprops$collections$w.isLoading) || ((_cprops$documents$cou = cprops.documents.course) === null || _cprops$documents$cou === void 0 ? void 0 : _cprops$documents$cou.isLoading) || ((_cprops$documents$use = cprops.documents.user) === null || _cprops$documents$use === void 0 ? void 0 : _cprops$documents$use.isLoading) || ((_cprops$documents$gro = cprops.documents.group) === null || _cprops$documents$gro === void 0 ? void 0 : _cprops$documents$gro.isLoading) || ((_cprops$media$course = cprops.media.course) === null || _cprops$media$course === void 0 ? void 0 : _cprops$media$course.isLoading) || ((_cprops$media$user = cprops.media.user) === null || _cprops$media$user === void 0 ? void 0 : _cprops$media$user.isLoading) || ((_cprops$media$group = cprops.media.group) === null || _cprops$media$group === void 0 ? void 0 : _cprops$media$group.isLoading) || ((_cprops$all_files = cprops.all_files) === null || _cprops$all_files === void 0 ? void 0 : _cprops$all_files.isLoading);\n}\n/**\n * This component is used within various plugins to handle loading in content\n * from Canvas. It is essentially the main component.\n */\n\n\nfunction CanvasContentTray(props) {\n // should the tray be rendered open?\n const [isOpen, setIsOpen] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false); // has the tray fully opened. we use this to defer rendering the content\n // until the tray is open.\n\n const [hasOpened, setHasOpened] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false); // should we close the tray after the user clicks on something in it?\n\n const [hidingTrayOnAction, setHidingTrayOnAction] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(true);\n const trayRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(null);\n const scrollingAreaRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(null);\n const [filterSettings, setFilterSettings] = Object(_Filter__WEBPACK_IMPORTED_MODULE_11__[\"useFilterSettings\"])();\n const [isEditTray, setIsEditTray] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false);\n const [link, setLink] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(null);\n const [linkText, setLinkText] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(null);\n const [placeholderText, setPlaceholderText] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(null);\n const Icon = Object(_linkUtils__WEBPACK_IMPORTED_MODULE_16__[\"getIcon\"])(link === null || link === void 0 ? void 0 : link.type);\n const {\n bridge,\n editor,\n onTrayClosing\n } = { ...props\n };\n const handleDismissTray = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useCallback\"])(() => {\n // return focus to the RCE if focus was on this tray\n if (trayRef.current && trayRef.current.contains(document.activeElement)) {\n bridge.focusActiveEditor(false);\n }\n\n onTrayClosing && onTrayClosing(CanvasContentTray.globalOpenCount); // tell RCEWrapper we're closing if we're open\n\n setIsOpen(false);\n }, [bridge, onTrayClosing]);\n Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(() => {\n const controller = {\n showTrayForPlugin(plugin) {\n // increment a counter that's used as the key when rendering\n // this gets us a new instance everytime, which is necessary\n // to get the queries run so we have up to date data.\n ++CanvasContentTray.globalOpenCount;\n setFilterSettings(FILTER_SETTINGS_BY_PLUGIN[plugin]);\n setIsOpen(true);\n\n if (plugin === 'course_link_edit') {\n setIsEditTray(true);\n const {\n fileName,\n contentType,\n url,\n published,\n text\n } = Object(_ContentSelection__WEBPACK_IMPORTED_MODULE_15__[\"getLinkContentFromEditor\"])(editor.editor);\n setLink({\n title: fileName,\n type: contentType,\n href: url,\n published\n });\n setLinkText(text);\n setPlaceholderText(text);\n } else {\n setIsEditTray(false);\n }\n },\n\n hideTray(forceClose) {\n if (forceClose || hidingTrayOnAction) {\n handleDismissTray();\n }\n }\n\n };\n bridge.attachController(controller, editor.id);\n return () => {\n bridge.detachController(editor.id);\n }; // it's OK the setFilterSettings is not a dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor.id, bridge, handleDismissTray, hidingTrayOnAction]);\n Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(() => {\n if (hasOpened && scrollingAreaRef.current && !scrollingAreaRef.current.style.overscrollBehaviorY) {\n scrollingAreaRef.current.style.overscrollBehaviorY = 'contain';\n }\n }, [hasOpened]);\n\n function handleOpenTray() {\n bridge.focusEditor(editor);\n setHasOpened(true);\n }\n\n function handleExitTray() {\n onTrayClosing && onTrayClosing(true); // tell RCEWrapper we're closing\n }\n\n function handleCloseTray() {\n setHasOpened(false);\n onTrayClosing && onTrayClosing(false); // tell RCEWrapper we're closed\n }\n\n function handleReplaceButton() {\n handleDismissTray();\n const newLink = { ...link,\n forceRename: true,\n text: linkText || placeholderText\n };\n bridge.insertLink(newLink);\n }\n\n function renderFooter() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n background: \"secondary\",\n borderWidth: \"small none none none\",\n padding: \"small medium\",\n textAlign: \"end\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n onClick: handleDismissTray\n }, Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Cancel')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n margin: \"0 0 0 x-small\",\n color: \"primary\",\n onClick: handleReplaceButton,\n \"data-testid\": \"replace-link-button\"\n }, Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Replace')));\n }\n\n function handleFilterChange(newFilter, onChangeContext, onChangeSearchString, onChangeSortBy) {\n const newFilterSettings = { ...newFilter\n };\n\n if (newFilterSettings.sortValue) {\n newFilterSettings.sortDir = newFilterSettings.sortValue === 'alphabetical' ? 'asc' : 'desc';\n onChangeSortBy({\n sort: newFilterSettings.sortValue,\n dir: newFilterSettings.sortDir\n });\n }\n\n if ('searchString' in newFilterSettings && filterSettings.searchString !== newFilterSettings.searchString) {\n onChangeSearchString(newFilterSettings.searchString);\n }\n\n setFilterSettings(newFilterSettings);\n\n if (newFilterSettings.contentType) {\n let contextType, contextId;\n\n switch (newFilterSettings.contentType) {\n case 'user_files':\n contextType = 'user';\n contextId = props.containingContext.userId;\n break;\n\n case 'group_files':\n contextType = 'group';\n contextId = props.containingContext.contextId;\n break;\n\n case 'course_files':\n contextType = props.contextType;\n contextId = props.containingContext.contextId;\n break;\n\n case 'links':\n contextType = props.containingContext.contextType;\n contextId = props.containingContext.contextId;\n }\n\n onChangeContext({\n contextType,\n contextId\n });\n }\n }\n\n function getHeader() {\n return isEditTray ? Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Edit Course Link') : Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Add');\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_StoreContext__WEBPACK_IMPORTED_MODULE_12__[\"StoreProvider\"], Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props, {\n key: CanvasContentTray.globalOpenCount,\n contextType: filterSettings.contextType || props.contextType\n }), contentProps => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tray__WEBPACK_IMPORTED_MODULE_3__[\"Tray\"], {\n \"data-mce-component\": true,\n \"data-testid\": \"CanvasContentTray\",\n label: getTrayLabel(filterSettings.contentType, filterSettings.contentSubtype, contentProps.contextType),\n open: isOpen,\n placement: \"end\",\n size: \"regular\",\n shouldContainFocus: true,\n shouldReturnFocus: false,\n shouldCloseOnDocumentClick: false,\n onDismiss: handleDismissTray,\n onClose: handleCloseTray,\n onExit: handleExitTray,\n onOpen: handleOpenTray,\n onEntered: () => {\n const c = document.querySelector('[role=\"main\"]');\n let target_w = 0;\n\n if (c) {\n var _trayRef$current;\n\n const margin = window.getComputedStyle(c).direction === 'ltr' ? document.body.getBoundingClientRect().right - c.getBoundingClientRect().right : c.getBoundingClientRect().left;\n target_w = c.offsetWidth - ((_trayRef$current = trayRef.current) === null || _trayRef$current === void 0 ? void 0 : _trayRef$current.offsetWidth) + margin;\n\n if (target_w >= 320 && target_w < c.offsetWidth) {\n c.style.boxSizing = 'border-box';\n c.style.width = `${target_w}px`;\n }\n }\n\n setHidingTrayOnAction(target_w < 320);\n },\n onExiting: () => {\n const c = document.querySelector('[role=\"main\"]');\n if (c) c.style.width = '';\n },\n onExited: () => console.log('exited'),\n contentRef: el => trayRef.current = el\n }, isOpen && hasOpened ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"], {\n direction: \"column\",\n as: \"div\",\n height: Object(_trayUtils__WEBPACK_IMPORTED_MODULE_13__[\"getTrayHeight\"])(),\n overflowY: \"hidden\",\n tabIndex: \"-1\",\n \"data-canvascontenttray-content\": true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n padding: \"medium\",\n shadow: \"above\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"], {\n margin: \"none none medium none\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n shouldgrow: true,\n shouldshrink: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__[\"Heading\"], {\n level: \"h2\"\n }, getHeader())), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"CloseButton\"], {\n placement: \"end\",\n onClick: handleDismissTray,\n \"data-testid\": \"CloseButton_ContentTray\",\n screenReaderLabel: Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Close')\n }))), isEditTray && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_LinkDisplay__WEBPACK_IMPORTED_MODULE_17__[\"LinkDisplay\"], {\n linkText: linkText,\n Icon: Icon,\n placeholderText: placeholderText,\n linkFileName: (link === null || link === void 0 ? void 0 : link.title) || '',\n published: (link === null || link === void 0 ? void 0 : link.published) || false,\n handleTextChange: setLinkText\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Filter__WEBPACK_IMPORTED_MODULE_11__[\"default\"], Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, filterSettings, {\n userContextType: props.contextType,\n containingContextType: props.containingContext.contextType,\n onChange: newFilter => {\n handleFilterChange(newFilter, contentProps.onChangeContext, contentProps.onChangeSearchString, contentProps.onChangeSortBy);\n },\n isContentLoading: isLoading(contentProps),\n use_rce_icon_maker: props.use_rce_icon_maker\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n grow: true,\n shrink: true,\n margin: \"xx-small xxx-small 0\",\n elementRef: el => scrollingAreaRef.current = el\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"], {\n justifyItems: \"space-between\",\n direction: \"column\",\n height: \"100%\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n shouldGrow: true,\n shouldShrink: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_ErrorBoundary__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DynamicPanel, Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n contentType: filterSettings.contentType,\n contentSubtype: filterSettings.contentSubtype,\n sortBy: {\n sort: filterSettings.sortValue,\n order: filterSettings.sortDir\n },\n searchString: filterSettings.searchString,\n source: props.source,\n canvasOrigin: props.canvasOrigin,\n jwt: props.jwt,\n host: props.host,\n refreshToken: props.refreshToken,\n context: {\n type: props.contextType,\n id: props.contextId\n },\n editing: isEditTray,\n onEditClick: setLink\n }, contentProps)))), isEditTray && renderFooter()))) : null));\n}\nCanvasContentTray.globalOpenCount = 0;\n\nfunction requiredWithoutSource(props, propName, componentName) {\n if (props.source == null && props[propName] == null) {\n throw new Error(`The prop \\`${propName}\\` is marked as required in \\`${componentName}\\`, but its value is \\`${props[propName]}\\`.`);\n }\n}\n\nconst trayPropsMap = {\n canUploadFiles: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"bool\"].isRequired,\n contextId: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n // initial value indicating the user's context (e.g. student v teacher), not the tray's\n contextType: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n // initial value indicating the user's context, not the tray's\n containingContext: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])({\n contextType: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n contextId: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n userId: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired\n }),\n filesTabDisabled: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"bool\"],\n host: requiredWithoutSource,\n jwt: requiredWithoutSource,\n refreshToken: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"],\n source: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])({\n fetchImages: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"].isRequired\n }),\n themeUrl: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"]\n};\nconst trayPropTypes = Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])(trayPropsMap);\nCanvasContentTray.propTypes = {\n bridge: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"instanceOf\"])(_bridge_Bridge__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n editor: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])({\n id: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"]\n }).isRequired,\n onTrayClosing: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"],\n // called with true when the tray starts closing, false once closed\n onEditClick: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"],\n ...trayPropsMap\n}; // the way we define trayProps, eslint doesn't recognize the following as props\n\n/* eslint-disable react/default-props-match-prop-types */\n\nCanvasContentTray.defaultProps = {\n canUploadFiles: false,\n filesTabDisabled: false,\n refreshToken: null,\n source: null,\n themeUrl: null\n};\n/* eslint-enable react/default-props-match-prop-types */\n\n//# sourceURL=webpack:///./src/rce/plugins/shared/CanvasContentTray.js?");
17845
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CanvasContentTray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"trayPropTypes\", function() { return trayPropTypes; });\n/* harmony import */ var _babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/esm/extends */ \"../../node_modules/@babel/runtime-corejs3/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"../../node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _instructure_ui_tray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @instructure/ui-tray */ \"../../node_modules/@instructure/ui-tray/es/index.js\");\n/* harmony import */ var _instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @instructure/ui-buttons */ \"../../node_modules/@instructure/ui-buttons/es/index.js\");\n/* harmony import */ var _instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @instructure/ui-heading */ \"../../node_modules/@instructure/ui-heading/es/index.js\");\n/* harmony import */ var _instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @instructure/ui-spinner */ \"../../node_modules/@instructure/ui-spinner/es/index.js\");\n/* harmony import */ var _instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @instructure/ui-flex */ \"../../node_modules/@instructure/ui-flex/es/index.js\");\n/* harmony import */ var _ErrorBoundary__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ErrorBoundary */ \"./src/rce/plugins/shared/ErrorBoundary.js\");\n/* harmony import */ var _bridge_Bridge__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../bridge/Bridge */ \"./src/bridge/Bridge.js\");\n/* harmony import */ var _format_message__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../format-message */ \"./src/format-message.js\");\n/* harmony import */ var _Filter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Filter */ \"./src/rce/plugins/shared/Filter.js\");\n/* harmony import */ var _StoreContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./StoreContext */ \"./src/rce/plugins/shared/StoreContext.js\");\n/* harmony import */ var _trayUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./trayUtils */ \"./src/rce/plugins/shared/trayUtils.js\");\n/* harmony import */ var _instructure_icon_maker_svg_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../instructure_icon_maker/svg/constants */ \"./src/rce/plugins/instructure_icon_maker/svg/constants.js\");\n/* harmony import */ var _ContentSelection__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ContentSelection */ \"./src/rce/plugins/shared/ContentSelection.js\");\n/* harmony import */ var _linkUtils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./linkUtils */ \"./src/rce/plugins/shared/linkUtils.js\");\n/* harmony import */ var _LinkDisplay__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./LinkDisplay */ \"./src/rce/plugins/shared/LinkDisplay.js\");\n\n\n/*\n * Copyright (C) 2019 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Returns the translated tray label\n * @param {string} contentType - The type of content showing on tray\n * @param {string} contentSubtype - The current subtype of content loaded in the tray\n * @param {string} contextType - The user's context\n * @returns {string}\n */\n\nfunction getTrayLabel(contentType, contentSubtype, contextType) {\n if (contentType === 'links' && contextType === 'course') {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Links');\n } else if (contentType === 'links' && contextType === 'group') {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Links');\n }\n\n switch (contentSubtype) {\n case _instructure_icon_maker_svg_constants__WEBPACK_IMPORTED_MODULE_14__[\"ICON_MAKER_ICONS\"]:\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Icon Maker Icons');\n\n case 'images':\n if (contentType === 'course_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Images');\n if (contentType === 'group_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Images');\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('User Images');\n\n case 'media':\n if (contentType === 'course_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Media');\n if (contentType === 'group_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Media');\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('User Media');\n\n case 'documents':\n if (contentType === 'course_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Course Documents');\n if (contentType === 'group_files') return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Group Documents');\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('User Documents');\n\n default:\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Tray');\n // Shouldn't ever get here\n }\n}\n\nconst thePanels = {\n icon_maker_icons: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(1), __webpack_require__.e(31)]).then(__webpack_require__.bind(null, /*! ../instructure_icon_maker/components/SavedIconMakerList */ \"./src/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js\"))),\n links: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(2), __webpack_require__.e(27)]).then(__webpack_require__.bind(null, /*! ../instructure_links/components/LinksPanel */ \"./src/rce/plugins/instructure_links/components/LinksPanel.js\"))),\n images: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(1), __webpack_require__.e(34)]).then(__webpack_require__.bind(null, /*! ../instructure_image/Images */ \"./src/rce/plugins/instructure_image/Images/index.js\"))),\n documents: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(1), __webpack_require__.e(32)]).then(__webpack_require__.bind(null, /*! ../instructure_documents/components/DocumentsPanel */ \"./src/rce/plugins/instructure_documents/components/DocumentsPanel.js\"))),\n media: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(1), __webpack_require__.e(33)]).then(__webpack_require__.bind(null, /*! ../instructure_record/MediaPanel */ \"./src/rce/plugins/instructure_record/MediaPanel/index.js\"))),\n all: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(28), __webpack_require__.e(35)]).then(__webpack_require__.bind(null, /*! ./RceFileBrowser */ \"./src/rce/plugins/shared/RceFileBrowser.js\"))),\n unknown: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.lazy(() => __webpack_require__.e(/*! import() */ 73).then(__webpack_require__.bind(null, /*! ./UnknownFileTypePanel */ \"./src/rce/plugins/shared/UnknownFileTypePanel.js\")))\n}; // Returns a Suspense wrapped lazy loaded component\n// pulled from useLazy's cache\n\nfunction DynamicPanel(props) {\n let key = '';\n\n if (props.contentType === 'links') {\n key = 'links';\n } else {\n key = props.contentSubtype in thePanels ? props.contentSubtype : 'unknown';\n }\n\n const Component = thePanels[key];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_spinner__WEBPACK_IMPORTED_MODULE_6__[\"Spinner\"], {\n renderTitle: renderLoading,\n size: \"large\"\n })\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Component, props));\n}\n\nfunction renderLoading() {\n return Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Loading');\n}\n\nconst FILTER_SETTINGS_BY_PLUGIN = {\n user_documents: {\n contextType: 'user',\n contentType: 'user_files',\n contentSubtype: 'documents',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_documents: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'documents',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_documents: {\n contextType: 'group',\n contentType: 'group_files',\n contentSubtype: 'documents',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n user_images: {\n contextType: 'user',\n contentType: 'user_files',\n contentSubtype: 'images',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_images: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'images',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_images: {\n contextType: 'group',\n contentType: 'group_files',\n contentSubtype: 'images',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n user_media: {\n contextType: 'user',\n contentType: 'user_files',\n contentSubtype: 'media',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_media: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'media',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_media: {\n contextType: 'group',\n contentType: 'group_files',\n contentSubtype: 'media',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_links: {\n contextType: 'course',\n contentType: 'links',\n contentSubtype: 'all',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n course_link_edit: {\n contextType: 'course',\n contentType: 'links',\n contentSubtype: 'edit',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n group_links: {\n contextType: 'group',\n contentType: 'links',\n contentSubtype: 'all',\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n list_icon_maker_icons: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: _instructure_icon_maker_svg_constants__WEBPACK_IMPORTED_MODULE_14__[\"ICON_MAKER_ICONS\"],\n sortValue: 'date_added',\n sortDir: 'desc',\n searchString: ''\n },\n all: {\n contextType: 'course',\n contentType: 'course_files',\n contentSubtype: 'all',\n sortValue: 'alphabetical',\n sortDir: 'asc',\n searchString: ''\n }\n};\n\nfunction isLoading(cprops) {\n var _cprops$collections$a, _cprops$collections$a2, _cprops$collections$d, _cprops$collections$m, _cprops$collections$q, _cprops$collections$w, _cprops$documents$cou, _cprops$documents$use, _cprops$documents$gro, _cprops$media$course, _cprops$media$user, _cprops$media$group, _cprops$all_files;\n\n return ((_cprops$collections$a = cprops.collections.announcements) === null || _cprops$collections$a === void 0 ? void 0 : _cprops$collections$a.isLoading) || ((_cprops$collections$a2 = cprops.collections.assignments) === null || _cprops$collections$a2 === void 0 ? void 0 : _cprops$collections$a2.isLoading) || ((_cprops$collections$d = cprops.collections.discussions) === null || _cprops$collections$d === void 0 ? void 0 : _cprops$collections$d.isLoading) || ((_cprops$collections$m = cprops.collections.modules) === null || _cprops$collections$m === void 0 ? void 0 : _cprops$collections$m.isLoading) || ((_cprops$collections$q = cprops.collections.quizzes) === null || _cprops$collections$q === void 0 ? void 0 : _cprops$collections$q.isLoading) || ((_cprops$collections$w = cprops.collections.wikiPages) === null || _cprops$collections$w === void 0 ? void 0 : _cprops$collections$w.isLoading) || ((_cprops$documents$cou = cprops.documents.course) === null || _cprops$documents$cou === void 0 ? void 0 : _cprops$documents$cou.isLoading) || ((_cprops$documents$use = cprops.documents.user) === null || _cprops$documents$use === void 0 ? void 0 : _cprops$documents$use.isLoading) || ((_cprops$documents$gro = cprops.documents.group) === null || _cprops$documents$gro === void 0 ? void 0 : _cprops$documents$gro.isLoading) || ((_cprops$media$course = cprops.media.course) === null || _cprops$media$course === void 0 ? void 0 : _cprops$media$course.isLoading) || ((_cprops$media$user = cprops.media.user) === null || _cprops$media$user === void 0 ? void 0 : _cprops$media$user.isLoading) || ((_cprops$media$group = cprops.media.group) === null || _cprops$media$group === void 0 ? void 0 : _cprops$media$group.isLoading) || ((_cprops$all_files = cprops.all_files) === null || _cprops$all_files === void 0 ? void 0 : _cprops$all_files.isLoading);\n}\n/**\n * This component is used within various plugins to handle loading in content\n * from Canvas. It is essentially the main component.\n */\n\n\nfunction CanvasContentTray(props) {\n // should the tray be rendered open?\n const [isOpen, setIsOpen] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false); // has the tray fully opened. we use this to defer rendering the content\n // until the tray is open.\n\n const [hasOpened, setHasOpened] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false); // should we close the tray after the user clicks on something in it?\n\n const [hidingTrayOnAction, setHidingTrayOnAction] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(true);\n const trayRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(null);\n const scrollingAreaRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(null);\n const [filterSettings, setFilterSettings] = Object(_Filter__WEBPACK_IMPORTED_MODULE_11__[\"useFilterSettings\"])();\n const [isEditTray, setIsEditTray] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false);\n const [link, setLink] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(null);\n const [linkText, setLinkText] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(null);\n const [placeholderText, setPlaceholderText] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(null);\n const Icon = Object(_linkUtils__WEBPACK_IMPORTED_MODULE_16__[\"getIcon\"])(link === null || link === void 0 ? void 0 : link.type);\n const {\n bridge,\n editor,\n onTrayClosing\n } = { ...props\n };\n const handleDismissTray = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useCallback\"])(() => {\n // return focus to the RCE if focus was on this tray\n if (trayRef.current && trayRef.current.contains(document.activeElement)) {\n bridge.focusActiveEditor(false);\n }\n\n onTrayClosing && onTrayClosing(CanvasContentTray.globalOpenCount); // tell RCEWrapper we're closing if we're open\n\n setIsOpen(false);\n }, [bridge, onTrayClosing]);\n Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(() => {\n const controller = {\n showTrayForPlugin(plugin) {\n // increment a counter that's used as the key when rendering\n // this gets us a new instance everytime, which is necessary\n // to get the queries run so we have up to date data.\n ++CanvasContentTray.globalOpenCount;\n setFilterSettings(FILTER_SETTINGS_BY_PLUGIN[plugin]);\n setIsOpen(true);\n\n if (plugin === 'course_link_edit') {\n setIsEditTray(true);\n const {\n fileName,\n contentType,\n url,\n published,\n text\n } = Object(_ContentSelection__WEBPACK_IMPORTED_MODULE_15__[\"getLinkContentFromEditor\"])(editor.editor);\n setLink({\n title: fileName,\n type: contentType,\n href: url,\n published\n });\n setLinkText(text);\n setPlaceholderText(text);\n } else {\n setIsEditTray(false);\n }\n },\n\n hideTray(forceClose) {\n if (forceClose || hidingTrayOnAction) {\n handleDismissTray();\n }\n }\n\n };\n bridge.attachController(controller, editor.id);\n return () => {\n bridge.detachController(editor.id);\n }; // it's OK the setFilterSettings is not a dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor.id, bridge, handleDismissTray, hidingTrayOnAction]);\n Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(() => {\n if (hasOpened && scrollingAreaRef.current && !scrollingAreaRef.current.style.overscrollBehaviorY) {\n scrollingAreaRef.current.style.overscrollBehaviorY = 'contain';\n }\n }, [hasOpened]);\n Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(() => {\n var _trayRef$current;\n\n if (!hasOpened) return;\n let c = document.querySelector('[role=\"main\"]');\n let target_w = 0;\n if (!c) return;\n const margin = window.getComputedStyle(c).direction === 'ltr' ? document.body.getBoundingClientRect().right - c.getBoundingClientRect().right : c.getBoundingClientRect().left;\n target_w = c.offsetWidth - ((_trayRef$current = trayRef.current) === null || _trayRef$current === void 0 ? void 0 : _trayRef$current.offsetWidth) + margin;\n\n if (target_w >= 320 && target_w < c.offsetWidth) {\n c.style.boxSizing = 'border-box';\n c.style.width = `${target_w}px`;\n }\n\n setHidingTrayOnAction(target_w < 320);\n return () => {\n c = document.querySelector('[role=\"main\"]');\n if (!c) return;\n c.style.width = '';\n };\n }, [hasOpened]);\n\n function handleOpenTray() {\n bridge.focusEditor(editor);\n setHasOpened(true);\n }\n\n function handleExitTray() {\n onTrayClosing && onTrayClosing(true); // tell RCEWrapper we're closing\n }\n\n function handleCloseTray() {\n setHasOpened(false);\n onTrayClosing && onTrayClosing(false); // tell RCEWrapper we're closed\n }\n\n function handleReplaceButton() {\n handleDismissTray();\n const newLink = { ...link,\n forceRename: true,\n text: linkText || placeholderText\n };\n bridge.insertLink(newLink);\n }\n\n function renderFooter() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n background: \"secondary\",\n borderWidth: \"small none none none\",\n padding: \"small medium\",\n textAlign: \"end\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n onClick: handleDismissTray\n }, Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Cancel')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"Button\"], {\n margin: \"0 0 0 x-small\",\n color: \"primary\",\n onClick: handleReplaceButton,\n \"data-testid\": \"replace-link-button\"\n }, Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Replace')));\n }\n\n function handleFilterChange(newFilter, onChangeContext, onChangeSearchString, onChangeSortBy) {\n const newFilterSettings = { ...newFilter\n };\n\n if (newFilterSettings.sortValue) {\n newFilterSettings.sortDir = newFilterSettings.sortValue === 'alphabetical' ? 'asc' : 'desc';\n onChangeSortBy({\n sort: newFilterSettings.sortValue,\n dir: newFilterSettings.sortDir\n });\n }\n\n if ('searchString' in newFilterSettings && filterSettings.searchString !== newFilterSettings.searchString) {\n onChangeSearchString(newFilterSettings.searchString);\n }\n\n setFilterSettings(newFilterSettings);\n\n if (newFilterSettings.contentType) {\n let contextType, contextId;\n\n switch (newFilterSettings.contentType) {\n case 'user_files':\n contextType = 'user';\n contextId = props.containingContext.userId;\n break;\n\n case 'group_files':\n contextType = 'group';\n contextId = props.containingContext.contextId;\n break;\n\n case 'course_files':\n contextType = props.contextType;\n contextId = props.containingContext.contextId;\n break;\n\n case 'links':\n contextType = props.containingContext.contextType;\n contextId = props.containingContext.contextId;\n }\n\n onChangeContext({\n contextType,\n contextId\n });\n }\n }\n\n function getHeader() {\n return isEditTray ? Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Edit Course Link') : Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Add');\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_StoreContext__WEBPACK_IMPORTED_MODULE_12__[\"StoreProvider\"], Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props, {\n key: CanvasContentTray.globalOpenCount,\n contextType: filterSettings.contextType || props.contextType\n }), contentProps => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_tray__WEBPACK_IMPORTED_MODULE_3__[\"Tray\"], {\n \"data-mce-component\": true,\n \"data-testid\": \"CanvasContentTray\",\n label: getTrayLabel(filterSettings.contentType, filterSettings.contentSubtype, contentProps.contextType),\n open: isOpen,\n placement: \"end\",\n size: \"regular\",\n shouldContainFocus: true,\n shouldReturnFocus: false,\n shouldCloseOnDocumentClick: false,\n onDismiss: handleDismissTray,\n onClose: handleCloseTray,\n onExit: handleExitTray,\n onOpen: handleOpenTray,\n contentRef: el => trayRef.current = el\n }, isOpen && hasOpened ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"], {\n direction: \"column\",\n as: \"div\",\n height: Object(_trayUtils__WEBPACK_IMPORTED_MODULE_13__[\"getTrayHeight\"])(),\n overflowY: \"hidden\",\n tabIndex: \"-1\",\n \"data-canvascontenttray-content\": true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n padding: \"medium\",\n shadow: \"above\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"], {\n margin: \"none none medium none\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n shouldgrow: true,\n shouldshrink: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_heading__WEBPACK_IMPORTED_MODULE_5__[\"Heading\"], {\n level: \"h2\"\n }, getHeader())), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_buttons__WEBPACK_IMPORTED_MODULE_4__[\"CloseButton\"], {\n placement: \"end\",\n onClick: handleDismissTray,\n \"data-testid\": \"CloseButton_ContentTray\",\n screenReaderLabel: Object(_format_message__WEBPACK_IMPORTED_MODULE_10__[\"default\"])('Close')\n }))), isEditTray && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_LinkDisplay__WEBPACK_IMPORTED_MODULE_17__[\"LinkDisplay\"], {\n linkText: linkText,\n Icon: Icon,\n placeholderText: placeholderText,\n linkFileName: (link === null || link === void 0 ? void 0 : link.title) || '',\n published: (link === null || link === void 0 ? void 0 : link.published) || false,\n handleTextChange: setLinkText\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Filter__WEBPACK_IMPORTED_MODULE_11__[\"default\"], Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, filterSettings, {\n userContextType: props.contextType,\n containingContextType: props.containingContext.contextType,\n onChange: newFilter => {\n handleFilterChange(newFilter, contentProps.onChangeContext, contentProps.onChangeSearchString, contentProps.onChangeSortBy);\n },\n isContentLoading: isLoading(contentProps),\n use_rce_icon_maker: props.use_rce_icon_maker\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n grow: true,\n shrink: true,\n margin: \"xx-small xxx-small 0\",\n elementRef: el => scrollingAreaRef.current = el\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"], {\n justifyItems: \"space-between\",\n direction: \"column\",\n height: \"100%\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_instructure_ui_flex__WEBPACK_IMPORTED_MODULE_7__[\"Flex\"].Item, {\n shouldGrow: true,\n shouldShrink: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_ErrorBoundary__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DynamicPanel, Object(_babel_runtime_corejs3_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n contentType: filterSettings.contentType,\n contentSubtype: filterSettings.contentSubtype,\n sortBy: {\n sort: filterSettings.sortValue,\n order: filterSettings.sortDir\n },\n searchString: filterSettings.searchString,\n source: props.source,\n canvasOrigin: props.canvasOrigin,\n jwt: props.jwt,\n host: props.host,\n refreshToken: props.refreshToken,\n context: {\n type: props.contextType,\n id: props.contextId\n },\n editing: isEditTray,\n onEditClick: setLink\n }, contentProps)))), isEditTray && renderFooter()))) : null));\n}\nCanvasContentTray.globalOpenCount = 0;\n\nfunction requiredWithoutSource(props, propName, componentName) {\n if (props.source == null && props[propName] == null) {\n throw new Error(`The prop \\`${propName}\\` is marked as required in \\`${componentName}\\`, but its value is \\`${props[propName]}\\`.`);\n }\n}\n\nconst trayPropsMap = {\n canUploadFiles: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"bool\"].isRequired,\n contextId: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n // initial value indicating the user's context (e.g. student v teacher), not the tray's\n contextType: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n // initial value indicating the user's context, not the tray's\n containingContext: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])({\n contextType: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n contextId: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired,\n userId: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"].isRequired\n }),\n filesTabDisabled: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"bool\"],\n host: requiredWithoutSource,\n jwt: requiredWithoutSource,\n refreshToken: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"],\n source: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])({\n fetchImages: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"].isRequired\n }),\n themeUrl: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"]\n};\nconst trayPropTypes = Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])(trayPropsMap);\nCanvasContentTray.propTypes = {\n bridge: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"instanceOf\"])(_bridge_Bridge__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n editor: Object(prop_types__WEBPACK_IMPORTED_MODULE_2__[\"shape\"])({\n id: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"string\"]\n }).isRequired,\n onTrayClosing: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"],\n // called with true when the tray starts closing, false once closed\n onEditClick: prop_types__WEBPACK_IMPORTED_MODULE_2__[\"func\"],\n ...trayPropsMap\n}; // the way we define trayProps, eslint doesn't recognize the following as props\n\n/* eslint-disable react/default-props-match-prop-types */\n\nCanvasContentTray.defaultProps = {\n canUploadFiles: false,\n filesTabDisabled: false,\n refreshToken: null,\n source: null,\n themeUrl: null\n};\n/* eslint-enable react/default-props-match-prop-types */\n\n//# sourceURL=webpack:///./src/rce/plugins/shared/CanvasContentTray.js?");
17858
17846
 
17859
17847
  /***/ }),
17860
17848
 
@@ -18106,7 +18094,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
18106
18094
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
18107
18095
 
18108
18096
  "use strict";
18109
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"headerFor\", function() { return headerFor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"originFromHost\", function() { return originFromHost; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSearchParam\", function() { return getSearchParam; });\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var isomorphic_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! isomorphic-fetch */ \"../../node_modules/isomorphic-fetch/fetch-npm-browserify.js\");\n/* harmony import */ var isomorphic_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(isomorphic_fetch__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! url */ \"../../node_modules/url/url.js\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _instructure_canvas_media__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @instructure/canvas-media */ \"../canvas-media/es/index.js\");\n/* harmony import */ var _common_fileUrl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/fileUrl */ \"./src/common/fileUrl.js\");\n/* harmony import */ var _rce_alertHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../rce/alertHandler */ \"./src/rce/alertHandler.js\");\n/* harmony import */ var _buildError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildError */ \"./src/rcs/buildError.js\");\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\nfunction headerFor(jwt) {\n return {\n Authorization: 'Bearer ' + jwt\n };\n}\nfunction originFromHost(host, windowOverride) {\n let origin = host;\n\n if (typeof origin !== 'string') {\n origin = '';\n } else if (origin && origin.substr(0, 4) !== 'http') {\n var _windowHandle$locatio;\n\n origin = `//${origin}`;\n const windowHandle = windowOverride || (typeof window !== 'undefined' ? window : undefined);\n\n if (origin.length > 0 && windowHandle !== null && windowHandle !== void 0 && (_windowHandle$locatio = windowHandle.location) !== null && _windowHandle$locatio !== void 0 && _windowHandle$locatio.protocol) {\n origin = `${windowHandle.location.protocol}${origin}`;\n }\n }\n\n return origin;\n} // filter a response to raise an error on a 400+ status\n\nfunction checkStatus(response) {\n if (response.status < 400) {\n return response;\n } else {\n const error = new Error(response.statusText);\n error.response = response;\n throw error;\n }\n}\n\nfunction defaultRefreshTokenHandler() {\n throw new Error('Token expired, no refresh function provided');\n}\n\nfunction normalizeFileData(file) {\n return {\n // copy the name to the default display name if none provided\n display_name: file.name,\n ...file,\n // wrap the url\n href: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_4__[\"downloadToWrap\"])(file.href || file.url)\n };\n}\n\nfunction throwConnectionError(error) {\n if (error.name === 'TypeError') {\n // eslint-disable-next-line no-console\n console.error(`Failed to fetch from the canvas-rce-api.\n Did you forget to start it or configure it?\n Details can be found at https://github.com/instructure/canvas-rce-api\n `);\n }\n\n throw error;\n}\n\nclass RceApiSource {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.jwt = options.jwt;\n this.host = options.host;\n this.refreshToken = options.refreshToken || defaultRefreshTokenHandler;\n this.hasSession = false;\n this.alertFunc = options.alertFunc || _rce_alertHandler__WEBPACK_IMPORTED_MODULE_5__[\"default\"].handleAlert;\n }\n\n getSession() {\n const headers = headerFor(this.jwt);\n const uri = this.baseUri('session');\n return this.apiReallyFetch(uri, headers).then(data => {\n this.hasSession = true;\n return data;\n }).catch(throwConnectionError);\n } // initial state of a collection is empty, not loading, with bookmark set to\n // uri for initial page fetch\n\n\n initializeCollection(endpoint, props) {\n return {\n links: [],\n bookmark: this.uriFor(endpoint, props),\n isLoading: false,\n hasMore: true,\n searchString: props.searchString\n };\n }\n\n initializeUpload() {\n return {\n uploading: false,\n folders: {},\n formExpanded: false\n };\n }\n\n initializeImages(props) {\n return this.initializeDocuments(props);\n }\n\n initializeDocuments(props) {\n return {\n [props.contextType]: {\n files: [],\n bookmark: null,\n isLoading: false,\n hasMore: true\n },\n searchString: ''\n };\n }\n\n initializeMedia(props) {\n return this.initializeDocuments(props);\n }\n\n initializeFlickr() {\n return {\n searchResults: [],\n searching: false,\n formExpanded: false\n };\n } // fetches the given URI and filters it to either an error or parsed response\n\n\n fetchPage(uri) {\n return this.apiFetch(uri, headerFor(this.jwt));\n }\n\n fetchBookmarkedData(fetchFunction, properties, onSuccess, onError, bookmark) {\n return fetchFunction(properties, bookmark).then(result => {\n onSuccess(result);\n\n if (result.bookmark) {\n this.fetchBookmarkedData(fetchFunction, properties, onSuccess, onError, result.bookmark);\n }\n }).catch(error => {\n onError(error);\n });\n }\n\n fetchDocs(props) {\n const documents = props.documents[props.contextType];\n const uri = documents.bookmark || this.uriFor('documents', props);\n return this.apiFetch(uri, headerFor(this.jwt)).then(_ref => {\n let {\n bookmark,\n files\n } = _ref;\n return {\n bookmark,\n files: files.map(f => Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_4__[\"fixupFileUrl\"])(props.contextType, props.contextId, f))\n };\n });\n }\n\n fetchMedia(props) {\n const media = props.media[props.contextType];\n const uri = media.bookmark || this.uriFor('media', props);\n return this.apiFetch(uri, headerFor(this.jwt));\n }\n\n fetchFiles(uri) {\n return this.fetchPage(uri).then(_ref2 => {\n let {\n bookmark,\n files\n } = _ref2;\n return {\n bookmark,\n files: files.map(normalizeFileData)\n };\n });\n }\n\n fetchLinks(key, props) {\n const {\n collections\n } = props;\n const bookmark = collections[key].bookmark || this.uriFor(key, props);\n return this.fetchPage(bookmark);\n }\n\n fetchRootFolder(props) {\n return this.fetchPage(this.uriFor('folders', props), this.jwt);\n }\n\n mediaServerSession() {\n return this.apiPost(this.baseUri('v1/services/kaltura_session'), headerFor(this.jwt), {});\n }\n\n uploadMediaToCanvas(mediaObject) {\n var _context;\n\n const body = {\n id: mediaObject.entryId,\n type: {\n 2: 'image',\n 5: 'audio'\n }[mediaObject.mediaType] || _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(_context = mediaObject.type).call(_context, 'audio') ? 'audio' : 'video',\n context_code: mediaObject.contextCode,\n title: mediaObject.title,\n user_entered_title: mediaObject.userTitle\n };\n return this.apiPost(this.baseUri('media_objects'), headerFor(this.jwt), body);\n }\n\n updateMediaObject(apiProps, _ref3) {\n let {\n media_object_id,\n title\n } = _ref3;\n const uri = `${this.baseUri('media_objects', apiProps.host)}/${media_object_id}?user_entered_title=${encodeURIComponent(title)}`;\n return this.apiPost(uri, headerFor(this.jwt), null, 'PUT');\n } // PUT to //RCS/api/media_objects/:mediaId/media_tracks [{locale, content}, ...]\n // receive back a 200 with the new subtitles, or a 4xx error\n\n\n updateClosedCaptions(apiProps, _ref4, maxBytes) {\n let {\n media_object_id,\n subtitles\n } = _ref4;\n return Object(_instructure_canvas_media__WEBPACK_IMPORTED_MODULE_3__[\"saveClosedCaptions\"])(media_object_id, subtitles, {\n origin: originFromHost(apiProps.host),\n headers: headerFor(apiProps.jwt)\n }, maxBytes || _instructure_canvas_media__WEBPACK_IMPORTED_MODULE_3__[\"CONSTANTS\"].CC_FILE_MAX_BYTES).catch(e => {\n console.error('Failed saving CC', e);\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({\n message: 'failed to save captions'\n }, e));\n });\n } // GET /media_objects/:mediaId/media_tracks\n // receive back the current list of media_tracks\n\n\n fetchClosedCaptions(_mediaId) {\n return Promise.resolve([{\n locale: 'af',\n content: '1\\r\\n00:00:00,000 --> 00:00:01,251\\r\\nThis is the content\\r\\n'\n }, {\n locale: 'es',\n content: '1\\r\\n00:00:00,000 --> 00:00:01,251\\r\\nThis is the content\\r\\n'\n }]);\n } // fetches folders for the given context to upload files to\n\n\n fetchFolders(props, bookmark) {\n const headers = headerFor(this.jwt);\n const uri = bookmark || this.uriFor('folders/all', props);\n return this.apiFetch(uri, headers);\n } // Fetches all files for a given folder\n\n\n fetchFilesForFolder(props, bookmark) {\n let uri;\n\n if (!bookmark) {\n const perPageQuery = props.perPage ? `per_page=${props.perPage}` : '';\n const searchParam = getSearchParam(props.searchString);\n uri = `${props.filesUrl}`;\n uri += perPageQuery ? `?${perPageQuery}` : '';\n\n if (searchParam) {\n uri += perPageQuery ? `${searchParam}` : `?${searchParam}`;\n }\n\n if (props.sortBy) {\n uri += `${getSortParams(props.sortBy.sort, props.sortBy.order)}`;\n }\n }\n\n return this.fetchPage(uri || bookmark, this.jwt);\n }\n\n fetchSubFolders(props, bookmark) {\n const uri = bookmark || `${this.baseUri('folders', props.host)}/${props.folderId}`;\n return this.apiFetch(uri, headerFor(this.jwt));\n }\n\n fetchIconMakerFolder(_ref5) {\n let {\n contextId,\n contextType\n } = _ref5;\n const uri = this.uriFor('folders/icon_maker', {\n contextId,\n contextType,\n host: this.host,\n jwt: this.jwt\n });\n return this.fetchPage(uri);\n }\n\n fetchMediaFolder(props) {\n let uri;\n\n if (props.contextType === 'user') {\n uri = this.uriFor('folders', props);\n } else {\n uri = this.uriFor('folders/media', props);\n }\n\n return this.fetchPage(uri);\n }\n\n fetchMediaObjectIframe(mediaObjectId) {\n return this.fetchPage(this.uriFor(`media_objects_iframe/${mediaObjectId}`));\n }\n\n fetchImages(props) {\n const images = props.images[props.contextType];\n const uri = images.bookmark || this.uriFor('images', props);\n const headers = headerFor(this.jwt);\n return this.apiFetch(uri, headers).then(_ref6 => {\n let {\n bookmark,\n files\n } = _ref6;\n return {\n bookmark,\n files: files.map(f => Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_4__[\"fixupFileUrl\"])(props.contextType, props.contextId, f)),\n searchString: props.searchString\n };\n });\n }\n\n preflightUpload(fileProps, apiProps) {\n const headers = headerFor(this.jwt);\n const uri = this.baseUri('upload', apiProps.host);\n const body = {\n contextId: apiProps.contextId,\n contextType: apiProps.contextType,\n file: fileProps,\n no_redirect: true,\n onDuplicate: apiProps.onDuplicate,\n category: apiProps.category\n };\n return this.apiPost(uri, headers, body);\n }\n\n uploadFRD(fileDomObject, preflightProps) {\n var _context2;\n\n const data = new window.FormData();\n Object.keys(preflightProps.upload_params).forEach(uploadProp => {\n data.append(uploadProp, preflightProps.upload_params[uploadProp]);\n });\n data.append('file', fileDomObject);\n const fetchOptions = {\n method: 'POST',\n body: data\n };\n\n if (!preflightProps.upload_params['x-amz-signature'] && !_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(_context2 = preflightProps.upload_url).call(_context2, 'files_api')) {\n // _not_ an S3 upload, include the credentials in the upload POST\n // local uploads can include crendentials for same-origin requests\n fetchOptions.credentials = 'include';\n }\n\n return fetch(preflightProps.upload_url, fetchOptions).then(checkStatus).then(res => res.json()).then(uploadResults => {\n return this.finalizeUpload(preflightProps, uploadResults);\n }).catch(e => {\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({}, e));\n });\n }\n\n finalizeUpload(preflightProps, uploadResults) {\n if (preflightProps.upload_params.success_url) {\n // s3 upload, follow-up at success_url to finalize. the success_url doesn't\n // require authentication\n return fetch(preflightProps.upload_params.success_url).then(checkStatus).then(res => res.json());\n } else if (uploadResults.location) {\n // inst-fs upload, follow-up by fetching file identified by location in\n // response. we can't just fetch the location as would be intended because\n // it requires Canvas authentication. we also don't have an RCE API\n // endpoint to forward it through.\n const {\n pathname\n } = Object(url__WEBPACK_IMPORTED_MODULE_2__[\"parse\"])(uploadResults.location);\n const matchData = pathname.match(/^\\/api\\/v1\\/files\\/((?:\\d+~)?\\d+)$/);\n\n if (!matchData) {\n const error = new Error('cannot determine file ID from location');\n error.location = uploadResults.location;\n throw error;\n }\n\n const fileId = matchData[1];\n return this.getFile(fileId).then(fileResults => {\n fileResults.uuid = uploadResults.uuid; // if present, we'll need the uuid for the file verifier downstream\n\n return fileResults;\n });\n } else {\n // local-storage upload, this _is_ the attachment information\n return Promise.resolve(uploadResults);\n }\n }\n\n setUsageRights(fileId, usageRights) {\n const headers = headerFor(this.jwt);\n const uri = this.baseUri('usage_rights');\n const body = {\n fileId,\n ...usageRights\n };\n return this.apiPost(uri, headers, body);\n }\n\n searchFlickr(term, apiProps) {\n const headers = headerFor(this.jwt);\n const base = this.baseUri('flickr_search', apiProps.host);\n const uri = `${base}?term=${encodeURIComponent(term)}`;\n return this.apiFetch(uri, headers);\n }\n\n searchUnsplash(term, page) {\n const headers = headerFor(this.jwt);\n const base = this.baseUri('unsplash/search');\n const uri = `${base}?term=${encodeURIComponent(term)}&page=${page}&per_page=12`;\n return this.apiFetch(uri, headers);\n }\n\n pingbackUnsplash(id) {\n const headers = headerFor(this.jwt);\n const base = this.baseUri('unsplash/pingback');\n const uri = `${base}?id=${id}`;\n return this.apiFetch(uri, headers, {\n skipParse: true\n });\n }\n\n getFile(id) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const headers = headerFor(this.jwt);\n const base = this.baseUri('file'); // Valid query parameters for getFile\n\n const {\n replacement_chain_context_type,\n replacement_chain_context_id\n } = options;\n const uri = this.addParamsIfPresent(`${base}/${id}`, {\n replacement_chain_context_type,\n replacement_chain_context_id\n });\n return this.apiFetch(uri, headers).then(normalizeFileData);\n } // @private\n\n\n addParamsIfPresent(uri, params) {\n let url;\n\n try {\n url = new URL(uri);\n } catch (e) {\n // Just return the URI if it was invalid\n return uri;\n } // Add all truthy parameters to the URL\n\n\n for (const [name, value] of Object.entries(params)) {\n if (!value) continue;\n url.searchParams.append(name, value);\n }\n\n return url.toString();\n } // @private\n\n\n async apiFetch(uri, headers, options) {\n if (!this.hasSession) {\n await this.getSession();\n }\n\n return this.apiReallyFetch(uri, headers, options);\n }\n\n apiReallyFetch(uri, headers) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n uri = this.normalizeUriProtocol(uri);\n return fetch(uri, {\n headers\n }).then(response => {\n if (response.status === 401) {\n // retry once with fresh token\n return this.buildRetryHeaders(headers).then(newHeaders => {\n return fetch(uri, {\n headers: newHeaders\n });\n });\n } else {\n return response;\n }\n }).then(checkStatus).then(options.skipParse ? () => {} : res => res.json()).catch(throwConnectionError).catch(e => {\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(e));\n throw e;\n });\n } // @private\n\n\n apiPost(uri, headers, body) {\n let method = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'POST';\n headers = { ...headers,\n 'Content-Type': 'application/json'\n };\n const fetchOptions = {\n method,\n headers\n };\n\n if (body) {\n fetchOptions.body = JSON.stringify(body);\n } else {\n fetchOptions.form = body;\n }\n\n uri = this.normalizeUriProtocol(uri);\n return fetch(uri, fetchOptions).then(response => {\n if (response.status === 401) {\n // retry once with fresh token\n return this.buildRetryHeaders(fetchOptions.headers).then(newHeaders => {\n const newOptions = { ...fetchOptions,\n headers: newHeaders\n };\n return fetch(uri, newOptions);\n });\n } else {\n return response;\n }\n }).then(checkStatus).then(res => res.json()).catch(throwConnectionError).catch(e => e.response.json().then(body => {\n console.error(e); // eslint-disable-line no-console\n\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(body));\n throw e;\n }));\n } // @private\n\n\n normalizeUriProtocol(uri, windowOverride) {\n const windowHandle = windowOverride || (typeof window !== 'undefined' ? window : undefined);\n\n if (windowHandle && windowHandle.location && windowHandle.location.protocol === 'https:') {\n return uri.replace('http://', 'https://');\n }\n\n return uri;\n } // @private\n\n\n buildRetryHeaders(headers) {\n return new Promise(resolve => {\n this.refreshToken(freshToken => {\n this.jwt = freshToken;\n const freshHeader = headerFor(freshToken);\n const mergedHeaders = { ...headers,\n ...freshHeader\n };\n resolve(mergedHeaders);\n });\n });\n }\n\n baseUri(endpoint, host, windowOverride) {\n if (!host && this.host) {\n host = this.host;\n }\n\n host = originFromHost(host, windowOverride);\n const sharedEndpoints = ['images', 'media', 'documents', 'all']; // 'all' will eventually be something different\n\n const endpt = _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(sharedEndpoints).call(sharedEndpoints, endpoint) ? 'documents' : endpoint;\n return `${host}/api/${endpt}`;\n } // returns the URI to use with the fetchPage method to fetch the first page of\n // the given endpoint. e.g. for wikiPages it might return:\n //\n // //rce.docker/api/wikiPages?context_type=course&context_id=42\n //\n\n\n uriFor(endpoint, props) {\n const {\n host,\n contextType,\n contextId,\n sortBy,\n searchString,\n perPage\n } = props;\n let extra = '';\n const pageSizeParam = perPage ? `&per_page=${perPage}` : '';\n\n switch (endpoint) {\n case 'images':\n extra = `&content_types=image${getSortParams(sortBy.sort, sortBy.dir)}${getSearchParam(searchString)}${optionalQuery(props, 'category')}`;\n break;\n\n case 'media':\n // when requesting media files via the documents endpoint\n extra = `&content_types=video,audio${getSortParams(sortBy.sort, sortBy.dir)}${getSearchParam(searchString)}`;\n break;\n\n case 'documents':\n extra = `&exclude_content_types=image,video,audio${getSortParams(sortBy.sort, sortBy.dir)}${getSearchParam(searchString)}`;\n break;\n\n case 'media_objects':\n // when requesting media objects (this is the currently used branch)\n extra = `${getSortParams(sortBy.sort === 'alphabetical' ? 'title' : 'date', sortBy.dir)}${getSearchParam(searchString)}`;\n break;\n\n default:\n extra = getSearchParam(searchString);\n }\n\n return `${this.baseUri(endpoint, host)}?contextType=${contextType}&contextId=${contextId}${pageSizeParam}${extra}`;\n }\n\n}\n\nfunction getSortParams(sort, dir) {\n let sortBy = sort;\n\n if (sortBy === 'date_added') {\n sortBy = 'created_at';\n } else if (sortBy === 'alphabetical') {\n sortBy = 'name';\n }\n\n return `&sort=${sortBy}&order=${dir}`;\n}\n\nfunction optionalQuery(props, name) {\n return props[name] ? `&${name}=${props[name]}` : '';\n}\n\nfunction getSearchParam(searchString) {\n return (searchString === null || searchString === void 0 ? void 0 : searchString.length) >= 3 ? `&search_term=${encodeURIComponent(searchString)}` : '';\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (RceApiSource);\n\n//# sourceURL=webpack:///./src/rcs/api.js?");
18097
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"headerFor\", function() { return headerFor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"originFromHost\", function() { return originFromHost; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSearchParam\", function() { return getSearchParam; });\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/includes */ \"../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js\");\n/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var isomorphic_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! isomorphic-fetch */ \"../../node_modules/isomorphic-fetch/fetch-npm-browserify.js\");\n/* harmony import */ var isomorphic_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(isomorphic_fetch__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! url */ \"../../node_modules/url/url.js\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _instructure_canvas_media__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @instructure/canvas-media */ \"../canvas-media/es/index.js\");\n/* harmony import */ var _common_fileUrl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/fileUrl */ \"./src/common/fileUrl.js\");\n/* harmony import */ var _rce_alertHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../rce/alertHandler */ \"./src/rce/alertHandler.js\");\n/* harmony import */ var _buildError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildError */ \"./src/rcs/buildError.js\");\n\n\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n\n\n\n\n\nfunction headerFor(jwt) {\n return {\n Authorization: 'Bearer ' + jwt\n };\n}\nfunction originFromHost(host, windowOverride) {\n let origin = host;\n\n if (typeof origin !== 'string') {\n origin = '';\n } else if (origin && origin.substr(0, 4) !== 'http') {\n var _windowHandle$locatio;\n\n origin = `//${origin}`;\n const windowHandle = windowOverride || (typeof window !== 'undefined' ? window : undefined);\n\n if (origin.length > 0 && windowHandle !== null && windowHandle !== void 0 && (_windowHandle$locatio = windowHandle.location) !== null && _windowHandle$locatio !== void 0 && _windowHandle$locatio.protocol) {\n origin = `${windowHandle.location.protocol}${origin}`;\n }\n }\n\n return origin;\n} // filter a response to raise an error on a 400+ status\n\nfunction checkStatus(response) {\n if (response.status < 400) {\n return response;\n } else {\n const error = new Error(response.statusText);\n error.response = response;\n throw error;\n }\n}\n\nfunction defaultRefreshTokenHandler() {\n throw new Error('Token expired, no refresh function provided');\n}\n\nfunction normalizeFileData(file) {\n return {\n // copy the name to the default display name if none provided\n display_name: file.name,\n ...file,\n // wrap the url\n href: Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_4__[\"downloadToWrap\"])(file.href || file.url)\n };\n}\n\nfunction throwConnectionError(error) {\n if (error.name === 'TypeError') {\n // eslint-disable-next-line no-console\n console.error(`Failed to fetch from the canvas-rce-api.\n Did you forget to start it or configure it?\n Details can be found at https://github.com/instructure/canvas-rce-api\n `);\n }\n\n throw error;\n}\n\nclass RceApiSource {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.jwt = options.jwt;\n this.host = options.host;\n this.refreshToken = options.refreshToken || defaultRefreshTokenHandler;\n this.hasSession = false;\n this.alertFunc = options.alertFunc || _rce_alertHandler__WEBPACK_IMPORTED_MODULE_5__[\"default\"].handleAlert;\n this.canvasOrigin = options.canvasOrigin || window.origin;\n }\n\n getSession() {\n const headers = headerFor(this.jwt);\n const uri = this.baseUri('session');\n return this.apiReallyFetch(uri, headers).then(data => {\n this.hasSession = true;\n return data;\n }).catch(throwConnectionError);\n } // initial state of a collection is empty, not loading, with bookmark set to\n // uri for initial page fetch\n\n\n initializeCollection(endpoint, props) {\n return {\n links: [],\n bookmark: this.uriFor(endpoint, props),\n isLoading: false,\n hasMore: true,\n searchString: props.searchString\n };\n }\n\n initializeUpload() {\n return {\n uploading: false,\n folders: {},\n formExpanded: false\n };\n }\n\n initializeImages(props) {\n return this.initializeDocuments(props);\n }\n\n initializeDocuments(props) {\n return {\n [props.contextType]: {\n files: [],\n bookmark: null,\n isLoading: false,\n hasMore: true\n },\n searchString: ''\n };\n }\n\n initializeMedia(props) {\n return this.initializeDocuments(props);\n }\n\n initializeFlickr() {\n return {\n searchResults: [],\n searching: false,\n formExpanded: false\n };\n } // fetches the given URI and filters it to either an error or parsed response\n\n\n fetchPage(uri) {\n return this.apiFetch(uri, headerFor(this.jwt));\n }\n\n fetchBookmarkedData(fetchFunction, properties, onSuccess, onError, bookmark) {\n return fetchFunction(properties, bookmark).then(result => {\n onSuccess(result);\n\n if (result.bookmark) {\n this.fetchBookmarkedData(fetchFunction, properties, onSuccess, onError, result.bookmark);\n }\n }).catch(error => {\n onError(error);\n });\n }\n\n fetchDocs(props) {\n const documents = props.documents[props.contextType];\n const uri = documents.bookmark || this.uriFor('documents', props);\n return this.apiFetch(uri, headerFor(this.jwt)).then(_ref => {\n let {\n bookmark,\n files\n } = _ref;\n return {\n bookmark,\n files: files.map(f => Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_4__[\"fixupFileUrl\"])(props.contextType, props.contextId, f, this.canvasOrigin))\n };\n });\n }\n\n fetchMedia(props) {\n const media = props.media[props.contextType];\n const uri = media.bookmark || this.uriFor('media', props);\n return this.apiFetch(uri, headerFor(this.jwt));\n }\n\n fetchFiles(uri) {\n return this.fetchPage(uri).then(_ref2 => {\n let {\n bookmark,\n files\n } = _ref2;\n return {\n bookmark,\n files: files.map(normalizeFileData)\n };\n });\n }\n\n fetchLinks(key, props) {\n const {\n collections\n } = props;\n const bookmark = collections[key].bookmark || this.uriFor(key, props);\n return this.fetchPage(bookmark);\n }\n\n fetchRootFolder(props) {\n return this.fetchPage(this.uriFor('folders', props), this.jwt);\n }\n\n mediaServerSession() {\n return this.apiPost(this.baseUri('v1/services/kaltura_session'), headerFor(this.jwt), {});\n }\n\n uploadMediaToCanvas(mediaObject) {\n var _context;\n\n const body = {\n id: mediaObject.entryId,\n type: {\n 2: 'image',\n 5: 'audio'\n }[mediaObject.mediaType] || _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(_context = mediaObject.type).call(_context, 'audio') ? 'audio' : 'video',\n context_code: mediaObject.contextCode,\n title: mediaObject.title,\n user_entered_title: mediaObject.userTitle\n };\n return this.apiPost(this.baseUri('media_objects'), headerFor(this.jwt), body);\n }\n\n updateMediaObject(apiProps, _ref3) {\n let {\n media_object_id,\n title\n } = _ref3;\n const uri = `${this.baseUri('media_objects', apiProps.host)}/${media_object_id}?user_entered_title=${encodeURIComponent(title)}`;\n return this.apiPost(uri, headerFor(this.jwt), null, 'PUT');\n } // PUT to //RCS/api/media_objects/:mediaId/media_tracks [{locale, content}, ...]\n // receive back a 200 with the new subtitles, or a 4xx error\n\n\n updateClosedCaptions(apiProps, _ref4, maxBytes) {\n let {\n media_object_id,\n subtitles\n } = _ref4;\n return Object(_instructure_canvas_media__WEBPACK_IMPORTED_MODULE_3__[\"saveClosedCaptions\"])(media_object_id, subtitles, {\n origin: originFromHost(apiProps.host),\n headers: headerFor(apiProps.jwt)\n }, maxBytes || _instructure_canvas_media__WEBPACK_IMPORTED_MODULE_3__[\"CONSTANTS\"].CC_FILE_MAX_BYTES).catch(e => {\n console.error('Failed saving CC', e);\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({\n message: 'failed to save captions'\n }, e));\n });\n } // GET /media_objects/:mediaId/media_tracks\n // receive back the current list of media_tracks\n\n\n fetchClosedCaptions(_mediaId) {\n return Promise.resolve([{\n locale: 'af',\n content: '1\\r\\n00:00:00,000 --> 00:00:01,251\\r\\nThis is the content\\r\\n'\n }, {\n locale: 'es',\n content: '1\\r\\n00:00:00,000 --> 00:00:01,251\\r\\nThis is the content\\r\\n'\n }]);\n } // fetches folders for the given context to upload files to\n\n\n fetchFolders(props, bookmark) {\n const headers = headerFor(this.jwt);\n const uri = bookmark || this.uriFor('folders/all', props);\n return this.apiFetch(uri, headers);\n } // Fetches all files for a given folder\n\n\n fetchFilesForFolder(props, bookmark) {\n let uri;\n\n if (!bookmark) {\n const perPageQuery = props.perPage ? `per_page=${props.perPage}` : '';\n const searchParam = getSearchParam(props.searchString);\n uri = `${props.filesUrl}`;\n uri += perPageQuery ? `?${perPageQuery}` : '';\n\n if (searchParam) {\n uri += perPageQuery ? `${searchParam}` : `?${searchParam}`;\n }\n\n if (props.sortBy) {\n uri += `${getSortParams(props.sortBy.sort, props.sortBy.order)}`;\n }\n }\n\n return this.fetchPage(uri || bookmark, this.jwt);\n }\n\n fetchSubFolders(props, bookmark) {\n const uri = bookmark || `${this.baseUri('folders', props.host)}/${props.folderId}`;\n return this.apiFetch(uri, headerFor(this.jwt));\n }\n\n fetchIconMakerFolder(_ref5) {\n let {\n contextId,\n contextType\n } = _ref5;\n const uri = this.uriFor('folders/icon_maker', {\n contextId,\n contextType,\n host: this.host,\n jwt: this.jwt\n });\n return this.fetchPage(uri);\n }\n\n fetchMediaFolder(props) {\n let uri;\n\n if (props.contextType === 'user') {\n uri = this.uriFor('folders', props);\n } else {\n uri = this.uriFor('folders/media', props);\n }\n\n return this.fetchPage(uri);\n }\n\n fetchMediaObjectIframe(mediaObjectId) {\n return this.fetchPage(this.uriFor(`media_objects_iframe/${mediaObjectId}`));\n }\n\n fetchImages(props) {\n const images = props.images[props.contextType];\n const uri = images.bookmark || this.uriFor('images', props);\n const headers = headerFor(this.jwt);\n return this.apiFetch(uri, headers).then(_ref6 => {\n let {\n bookmark,\n files\n } = _ref6;\n return {\n bookmark,\n files: files.map(f => Object(_common_fileUrl__WEBPACK_IMPORTED_MODULE_4__[\"fixupFileUrl\"])(props.contextType, props.contextId, f, this.canvasOrigin)),\n searchString: props.searchString\n };\n });\n }\n\n preflightUpload(fileProps, apiProps) {\n const headers = headerFor(this.jwt);\n const uri = this.baseUri('upload', apiProps.host);\n const body = {\n contextId: apiProps.contextId,\n contextType: apiProps.contextType,\n file: fileProps,\n no_redirect: true,\n onDuplicate: apiProps.onDuplicate,\n category: apiProps.category\n };\n return this.apiPost(uri, headers, body);\n }\n\n uploadFRD(fileDomObject, preflightProps) {\n var _context2;\n\n const data = new window.FormData();\n Object.keys(preflightProps.upload_params).forEach(uploadProp => {\n data.append(uploadProp, preflightProps.upload_params[uploadProp]);\n });\n data.append('file', fileDomObject);\n const fetchOptions = {\n method: 'POST',\n body: data\n };\n\n if (!preflightProps.upload_params['x-amz-signature'] && !_babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(_context2 = preflightProps.upload_url).call(_context2, 'files_api')) {\n // _not_ an S3 upload, include the credentials in the upload POST\n // local uploads can include crendentials for same-origin requests\n fetchOptions.credentials = 'include';\n }\n\n return fetch(preflightProps.upload_url, fetchOptions).then(checkStatus).then(res => res.json()).then(uploadResults => {\n return this.finalizeUpload(preflightProps, uploadResults);\n }).catch(e => {\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({}, e));\n });\n }\n\n finalizeUpload(preflightProps, uploadResults) {\n if (preflightProps.upload_params.success_url) {\n // s3 upload, follow-up at success_url to finalize. the success_url doesn't\n // require authentication\n return fetch(preflightProps.upload_params.success_url).then(checkStatus).then(res => res.json());\n } else if (uploadResults.location) {\n // inst-fs upload, follow-up by fetching file identified by location in\n // response. we can't just fetch the location as would be intended because\n // it requires Canvas authentication. we also don't have an RCE API\n // endpoint to forward it through.\n const {\n pathname\n } = Object(url__WEBPACK_IMPORTED_MODULE_2__[\"parse\"])(uploadResults.location);\n const matchData = pathname.match(/^\\/api\\/v1\\/files\\/((?:\\d+~)?\\d+)$/);\n\n if (!matchData) {\n const error = new Error('cannot determine file ID from location');\n error.location = uploadResults.location;\n throw error;\n }\n\n const fileId = matchData[1];\n return this.getFile(fileId).then(fileResults => {\n fileResults.uuid = uploadResults.uuid; // if present, we'll need the uuid for the file verifier downstream\n\n return fileResults;\n });\n } else {\n // local-storage upload, this _is_ the attachment information\n return Promise.resolve(uploadResults);\n }\n }\n\n setUsageRights(fileId, usageRights) {\n const headers = headerFor(this.jwt);\n const uri = this.baseUri('usage_rights');\n const body = {\n fileId,\n ...usageRights\n };\n return this.apiPost(uri, headers, body);\n }\n\n searchFlickr(term, apiProps) {\n const headers = headerFor(this.jwt);\n const base = this.baseUri('flickr_search', apiProps.host);\n const uri = `${base}?term=${encodeURIComponent(term)}`;\n return this.apiFetch(uri, headers);\n }\n\n searchUnsplash(term, page) {\n const headers = headerFor(this.jwt);\n const base = this.baseUri('unsplash/search');\n const uri = `${base}?term=${encodeURIComponent(term)}&page=${page}&per_page=12`;\n return this.apiFetch(uri, headers);\n }\n\n pingbackUnsplash(id) {\n const headers = headerFor(this.jwt);\n const base = this.baseUri('unsplash/pingback');\n const uri = `${base}?id=${id}`;\n return this.apiFetch(uri, headers, {\n skipParse: true\n });\n }\n\n getFile(id) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const headers = headerFor(this.jwt);\n const base = this.baseUri('file'); // Valid query parameters for getFile\n\n const {\n replacement_chain_context_type,\n replacement_chain_context_id\n } = options;\n const uri = this.addParamsIfPresent(`${base}/${id}`, {\n replacement_chain_context_type,\n replacement_chain_context_id\n });\n return this.apiFetch(uri, headers).then(normalizeFileData);\n } // @private\n\n\n addParamsIfPresent(uri, params) {\n let url;\n\n try {\n url = new URL(uri);\n } catch (e) {\n // Just return the URI if it was invalid\n return uri;\n } // Add all truthy parameters to the URL\n\n\n for (const [name, value] of Object.entries(params)) {\n if (!value) continue;\n url.searchParams.append(name, value);\n }\n\n return url.toString();\n } // @private\n\n\n async apiFetch(uri, headers, options) {\n if (!this.hasSession) {\n await this.getSession();\n }\n\n return this.apiReallyFetch(uri, headers, options);\n }\n\n apiReallyFetch(uri, headers) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n uri = this.normalizeUriProtocol(uri);\n return fetch(uri, {\n headers\n }).then(response => {\n if (response.status === 401) {\n // retry once with fresh token\n return this.buildRetryHeaders(headers).then(newHeaders => {\n return fetch(uri, {\n headers: newHeaders\n });\n });\n } else {\n return response;\n }\n }).then(checkStatus).then(options.skipParse ? () => {} : res => res.json()).catch(throwConnectionError).catch(e => {\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(e));\n throw e;\n });\n } // @private\n\n\n apiPost(uri, headers, body) {\n let method = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'POST';\n headers = { ...headers,\n 'Content-Type': 'application/json'\n };\n const fetchOptions = {\n method,\n headers\n };\n\n if (body) {\n fetchOptions.body = JSON.stringify(body);\n } else {\n fetchOptions.form = body;\n }\n\n uri = this.normalizeUriProtocol(uri);\n return fetch(uri, fetchOptions).then(response => {\n if (response.status === 401) {\n // retry once with fresh token\n return this.buildRetryHeaders(fetchOptions.headers).then(newHeaders => {\n const newOptions = { ...fetchOptions,\n headers: newHeaders\n };\n return fetch(uri, newOptions);\n });\n } else {\n return response;\n }\n }).then(checkStatus).then(res => res.json()).catch(throwConnectionError).catch(e => e.response.json().then(body => {\n console.error(e); // eslint-disable-line no-console\n\n this.alertFunc(Object(_buildError__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(body));\n throw e;\n }));\n } // @private\n\n\n normalizeUriProtocol(uri, windowOverride) {\n const windowHandle = windowOverride || (typeof window !== 'undefined' ? window : undefined);\n\n if (windowHandle && windowHandle.location && windowHandle.location.protocol === 'https:') {\n return uri.replace('http://', 'https://');\n }\n\n return uri;\n } // @private\n\n\n buildRetryHeaders(headers) {\n return new Promise(resolve => {\n this.refreshToken(freshToken => {\n this.jwt = freshToken;\n const freshHeader = headerFor(freshToken);\n const mergedHeaders = { ...headers,\n ...freshHeader\n };\n resolve(mergedHeaders);\n });\n });\n }\n\n baseUri(endpoint, host, windowOverride) {\n if (!host && this.host) {\n host = this.host;\n }\n\n host = originFromHost(host, windowOverride);\n const sharedEndpoints = ['images', 'media', 'documents', 'all']; // 'all' will eventually be something different\n\n const endpt = _babel_runtime_corejs3_core_js_stable_instance_includes__WEBPACK_IMPORTED_MODULE_0___default()(sharedEndpoints).call(sharedEndpoints, endpoint) ? 'documents' : endpoint;\n return `${host}/api/${endpt}`;\n } // returns the URI to use with the fetchPage method to fetch the first page of\n // the given endpoint. e.g. for wikiPages it might return:\n //\n // //rce.docker/api/wikiPages?context_type=course&context_id=42\n //\n\n\n uriFor(endpoint, props) {\n const {\n host,\n contextType,\n contextId,\n sortBy,\n searchString,\n perPage\n } = props;\n let extra = '';\n const pageSizeParam = perPage ? `&per_page=${perPage}` : '';\n\n switch (endpoint) {\n case 'images':\n extra = `&content_types=image${getSortParams(sortBy.sort, sortBy.dir)}${getSearchParam(searchString)}${optionalQuery(props, 'category')}`;\n break;\n\n case 'media':\n // when requesting media files via the documents endpoint\n extra = `&content_types=video,audio${getSortParams(sortBy.sort, sortBy.dir)}${getSearchParam(searchString)}`;\n break;\n\n case 'documents':\n extra = `&exclude_content_types=image,video,audio${getSortParams(sortBy.sort, sortBy.dir)}${getSearchParam(searchString)}`;\n break;\n\n case 'media_objects':\n // when requesting media objects (this is the currently used branch)\n extra = `${getSortParams(sortBy.sort === 'alphabetical' ? 'title' : 'date', sortBy.dir)}${getSearchParam(searchString)}`;\n break;\n\n default:\n extra = getSearchParam(searchString);\n }\n\n return `${this.baseUri(endpoint, host)}?contextType=${contextType}&contextId=${contextId}${pageSizeParam}${extra}`;\n }\n\n}\n\nfunction getSortParams(sort, dir) {\n let sortBy = sort;\n\n if (sortBy === 'date_added') {\n sortBy = 'created_at';\n } else if (sortBy === 'alphabetical') {\n sortBy = 'name';\n }\n\n return `&sort=${sortBy}&order=${dir}`;\n}\n\nfunction optionalQuery(props, name) {\n return props[name] ? `&${name}=${props[name]}` : '';\n}\n\nfunction getSearchParam(searchString) {\n return (searchString === null || searchString === void 0 ? void 0 : searchString.length) >= 3 ? `&search_term=${encodeURIComponent(searchString)}` : '';\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (RceApiSource);\n\n//# sourceURL=webpack:///./src/rcs/api.js?");
18110
18098
 
18111
18099
  /***/ }),
18112
18100
 
@@ -18526,7 +18514,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var redu
18526
18514
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
18527
18515
 
18528
18516
  "use strict";
18529
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rcs_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../rcs/api */ \"./src/rcs/api.js\");\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n // normalize contextType. e.g. accept either of 'course' or 'courses', but\n// only store 'course'\n\nfunction normalizeContextType(contextType) {\n switch (contextType) {\n case 'course':\n case 'courses':\n return 'course';\n\n case 'group':\n case 'groups':\n return 'group';\n\n case 'user':\n case 'users':\n return 'user';\n\n default:\n return undefined;\n }\n}\n/* eslint-disable prefer-const */\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let {\n source,\n jwt,\n refreshToken,\n host,\n contextType,\n contextId,\n collections,\n files,\n folders,\n upload,\n images,\n documents,\n media,\n flickr,\n newPageLinkExpanded,\n searchString,\n sortBy,\n all_files\n } = props;\n /* eslint-enable prefer-const */\n // normalize contextType (including in props)\n\n contextType = normalizeContextType(contextType);\n props = { ...props,\n contextType\n };\n\n if (searchString === undefined) {\n searchString = '';\n }\n\n if (all_files === undefined) {\n all_files = {\n isLoading: false\n };\n }\n\n if (!sortBy) sortBy = {};\n sortBy = {\n sort: 'date_added',\n dir: 'desc',\n ...sortBy\n }; // default to API source\n\n if (source == null) {\n source = new _rcs_api__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n jwt,\n refreshToken,\n host\n });\n } // create collections in default state if none provided\n\n\n if (collections === undefined) {\n collections = {\n announcements: source.initializeCollection('announcements', props),\n assignments: source.initializeCollection('assignments', props),\n discussions: source.initializeCollection('discussions', props),\n modules: source.initializeCollection('modules', props),\n quizzes: source.initializeCollection('quizzes', props),\n wikiPages: source.initializeCollection('wikiPages', props)\n };\n }\n\n if (upload === undefined) {\n upload = source.initializeUpload(props);\n }\n\n if (flickr === undefined) {\n flickr = source.initializeFlickr(props);\n }\n\n if (images === undefined) {\n images = source.initializeImages(props);\n }\n\n if (documents === undefined) {\n documents = source.initializeDocuments(props);\n }\n\n if (media === undefined) {\n media = source.initializeMedia(props);\n }\n\n if (newPageLinkExpanded === undefined) {\n newPageLinkExpanded = false;\n }\n\n function getAccordionIndex() {\n try {\n return window.sessionStorage.getItem('canvas_rce_links_accordion_index');\n } catch (err) {\n // If there is an error accessing session storage, just ignore it.\n // We are likely in a test environment\n return undefined;\n }\n }\n\n const ui = {\n selectedAccordionIndex: getAccordionIndex()\n };\n return {\n ui,\n source,\n jwt,\n host,\n contextType,\n contextId,\n collections,\n files,\n folders,\n upload,\n images,\n documents,\n media,\n flickr,\n newPageLinkExpanded,\n searchString,\n sortBy,\n all_files\n };\n});\n\n//# sourceURL=webpack:///./src/sidebar/store/initialState.js?");
18517
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rcs_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../rcs/api */ \"./src/rcs/api.js\");\n/*\n * Copyright (C) 2018 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n // normalize contextType. e.g. accept either of 'course' or 'courses', but\n// only store 'course'\n\nfunction normalizeContextType(contextType) {\n switch (contextType) {\n case 'course':\n case 'courses':\n return 'course';\n\n case 'group':\n case 'groups':\n return 'group';\n\n case 'user':\n case 'users':\n return 'user';\n\n default:\n return undefined;\n }\n}\n/* eslint-disable prefer-const */\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let {\n source,\n jwt,\n refreshToken,\n host,\n contextType,\n contextId,\n collections,\n files,\n folders,\n upload,\n images,\n documents,\n media,\n flickr,\n newPageLinkExpanded,\n searchString,\n sortBy,\n all_files,\n canvasOrigin\n } = props;\n /* eslint-enable prefer-const */\n // normalize contextType (including in props)\n\n contextType = normalizeContextType(contextType);\n props = { ...props,\n contextType\n };\n\n if (searchString === undefined) {\n searchString = '';\n }\n\n if (all_files === undefined) {\n all_files = {\n isLoading: false\n };\n }\n\n if (!sortBy) sortBy = {};\n sortBy = {\n sort: 'date_added',\n dir: 'desc',\n ...sortBy\n }; // default to API source\n\n if (source == null) {\n source = new _rcs_api__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n jwt,\n refreshToken,\n host,\n canvasOrigin\n });\n } // create collections in default state if none provided\n\n\n if (collections === undefined) {\n collections = {\n announcements: source.initializeCollection('announcements', props),\n assignments: source.initializeCollection('assignments', props),\n discussions: source.initializeCollection('discussions', props),\n modules: source.initializeCollection('modules', props),\n quizzes: source.initializeCollection('quizzes', props),\n wikiPages: source.initializeCollection('wikiPages', props)\n };\n }\n\n if (upload === undefined) {\n upload = source.initializeUpload(props);\n }\n\n if (flickr === undefined) {\n flickr = source.initializeFlickr(props);\n }\n\n if (images === undefined) {\n images = source.initializeImages(props);\n }\n\n if (documents === undefined) {\n documents = source.initializeDocuments(props);\n }\n\n if (media === undefined) {\n media = source.initializeMedia(props);\n }\n\n if (newPageLinkExpanded === undefined) {\n newPageLinkExpanded = false;\n }\n\n function getAccordionIndex() {\n try {\n return window.sessionStorage.getItem('canvas_rce_links_accordion_index');\n } catch (err) {\n // If there is an error accessing session storage, just ignore it.\n // We are likely in a test environment\n return undefined;\n }\n }\n\n const ui = {\n selectedAccordionIndex: getAccordionIndex()\n };\n return {\n ui,\n source,\n jwt,\n host,\n contextType,\n contextId,\n collections,\n files,\n folders,\n upload,\n images,\n documents,\n media,\n flickr,\n newPageLinkExpanded,\n searchString,\n sortBy,\n all_files\n };\n});\n\n//# sourceURL=webpack:///./src/sidebar/store/initialState.js?");
18530
18518
 
18531
18519
  /***/ }),
18532
18520