@windward/core 0.18.0 → 0.19.0

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 (350) hide show
  1. package/.idea/codeStyles/Project.xml +58 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/php-docker-settings.xml +24 -0
  7. package/.idea/php.xml +19 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/.idea/watcherTasks.xml +4 -0
  10. package/.idea/windward-ui-plugin-core.iml +8 -0
  11. package/CHANGELOG.md +3 -19
  12. package/components/Content/Blocks/Email.vue +6 -1
  13. package/components/utils/GenerateAIQuestionButton.vue +88 -16
  14. package/config/menu.config.json +475 -0
  15. package/coverage/clover.xml +1474 -0
  16. package/coverage/coverage-final.json +199 -0
  17. package/coverage/lcov-report/base.css +224 -0
  18. package/coverage/lcov-report/block-navigation.js +87 -0
  19. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +772 -0
  20. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +625 -0
  21. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +979 -0
  22. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +1171 -0
  23. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +1075 -0
  24. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +331 -0
  25. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +403 -0
  26. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +131 -0
  27. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +514 -0
  28. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +211 -0
  29. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +352 -0
  30. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +667 -0
  31. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +643 -0
  32. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +295 -0
  33. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +976 -0
  34. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +445 -0
  35. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +667 -0
  36. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +562 -0
  37. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +116 -0
  38. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +844 -0
  39. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +1225 -0
  40. package/coverage/lcov-report/components/Content/Blocks/index.html +311 -0
  41. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +961 -0
  42. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +673 -0
  43. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +1144 -0
  44. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +901 -0
  45. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +373 -0
  46. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +607 -0
  47. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +310 -0
  48. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +337 -0
  49. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +586 -0
  50. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +415 -0
  51. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +1183 -0
  52. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +751 -0
  53. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +535 -0
  54. package/coverage/lcov-report/components/Settings/index.html +296 -0
  55. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +199 -0
  56. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +1120 -0
  57. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +415 -0
  58. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +271 -0
  59. package/coverage/lcov-report/components/utils/index.html +131 -0
  60. package/coverage/lcov-report/config/index.html +116 -0
  61. package/coverage/lcov-report/config/tinymce.config.js.html +493 -0
  62. package/coverage/lcov-report/config/tinymce.config.ts.html +1051 -0
  63. package/coverage/lcov-report/favicon.png +0 -0
  64. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +577 -0
  65. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +178 -0
  66. package/coverage/lcov-report/helpers/MathHelper.ts.html +1033 -0
  67. package/coverage/lcov-report/helpers/index.html +146 -0
  68. package/coverage/lcov-report/helpers/tinymce/index.html +116 -0
  69. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +334 -0
  70. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +94 -0
  71. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +127 -0
  72. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +178 -0
  73. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +100 -0
  74. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +100 -0
  75. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +100 -0
  76. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +296 -0
  77. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +166 -0
  78. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +100 -0
  79. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +106 -0
  80. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +100 -0
  81. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +97 -0
  82. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +115 -0
  83. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +97 -0
  84. package/coverage/lcov-report/i18n/en-US/components/content/index.html +116 -0
  85. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +100 -0
  86. package/coverage/lcov-report/i18n/en-US/components/index.html +116 -0
  87. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +118 -0
  88. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +118 -0
  89. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +97 -0
  90. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +161 -0
  91. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +112 -0
  92. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +94 -0
  93. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +106 -0
  94. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +130 -0
  95. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +142 -0
  96. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +115 -0
  97. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +109 -0
  98. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +94 -0
  99. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +142 -0
  100. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +326 -0
  101. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +178 -0
  102. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +100 -0
  103. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +103 -0
  104. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +145 -0
  105. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +109 -0
  106. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +115 -0
  107. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +121 -0
  108. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +277 -0
  109. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  110. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  111. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +146 -0
  112. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +103 -0
  113. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +146 -0
  114. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +109 -0
  115. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +130 -0
  116. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +175 -0
  117. package/coverage/lcov-report/i18n/en-US/index.html +116 -0
  118. package/coverage/lcov-report/i18n/en-US/index.ts.html +133 -0
  119. package/coverage/lcov-report/i18n/en-US/modules/index.html +116 -0
  120. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +100 -0
  121. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +106 -0
  122. package/coverage/lcov-report/i18n/en-US/pages/index.html +146 -0
  123. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +112 -0
  124. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +112 -0
  125. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +131 -0
  126. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +100 -0
  127. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +94 -0
  128. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +163 -0
  129. package/coverage/lcov-report/i18n/en-US/shared/index.html +176 -0
  130. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +118 -0
  131. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +97 -0
  132. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +130 -0
  133. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +172 -0
  134. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +94 -0
  135. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +127 -0
  136. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +178 -0
  137. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +100 -0
  138. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +100 -0
  139. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +100 -0
  140. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +296 -0
  141. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +166 -0
  142. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +103 -0
  143. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +106 -0
  144. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +103 -0
  145. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +97 -0
  146. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +118 -0
  147. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +100 -0
  148. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +116 -0
  149. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +100 -0
  150. package/coverage/lcov-report/i18n/es-ES/components/index.html +116 -0
  151. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +121 -0
  152. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +118 -0
  153. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +97 -0
  154. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +161 -0
  155. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +112 -0
  156. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +94 -0
  157. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +106 -0
  158. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +130 -0
  159. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +145 -0
  160. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +115 -0
  161. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +109 -0
  162. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +94 -0
  163. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +148 -0
  164. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +326 -0
  165. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +178 -0
  166. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +100 -0
  167. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +106 -0
  168. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +145 -0
  169. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +112 -0
  170. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +115 -0
  171. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +121 -0
  172. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +283 -0
  173. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  174. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  175. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +146 -0
  176. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +103 -0
  177. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +146 -0
  178. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +109 -0
  179. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +130 -0
  180. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +178 -0
  181. package/coverage/lcov-report/i18n/es-ES/index.html +116 -0
  182. package/coverage/lcov-report/i18n/es-ES/index.ts.html +133 -0
  183. package/coverage/lcov-report/i18n/es-ES/modules/index.html +116 -0
  184. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +100 -0
  185. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +106 -0
  186. package/coverage/lcov-report/i18n/es-ES/pages/index.html +146 -0
  187. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +112 -0
  188. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +112 -0
  189. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +131 -0
  190. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +100 -0
  191. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +94 -0
  192. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +163 -0
  193. package/coverage/lcov-report/i18n/es-ES/shared/index.html +176 -0
  194. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +118 -0
  195. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +97 -0
  196. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +130 -0
  197. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +178 -0
  198. package/coverage/lcov-report/i18n/index.html +116 -0
  199. package/coverage/lcov-report/i18n/index.ts.html +118 -0
  200. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +94 -0
  201. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +127 -0
  202. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +178 -0
  203. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +100 -0
  204. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +100 -0
  205. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +100 -0
  206. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +296 -0
  207. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +166 -0
  208. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +103 -0
  209. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +106 -0
  210. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +100 -0
  211. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +97 -0
  212. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +118 -0
  213. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +97 -0
  214. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +116 -0
  215. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +100 -0
  216. package/coverage/lcov-report/i18n/sv-SE/components/index.html +116 -0
  217. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +121 -0
  218. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +118 -0
  219. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +97 -0
  220. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +161 -0
  221. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +112 -0
  222. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +94 -0
  223. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +109 -0
  224. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +130 -0
  225. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +145 -0
  226. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +115 -0
  227. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +109 -0
  228. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +94 -0
  229. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +142 -0
  230. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +326 -0
  231. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +178 -0
  232. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +100 -0
  233. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +103 -0
  234. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +145 -0
  235. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +109 -0
  236. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +115 -0
  237. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +121 -0
  238. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +277 -0
  239. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  240. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  241. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +146 -0
  242. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +103 -0
  243. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +146 -0
  244. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +109 -0
  245. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +130 -0
  246. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +178 -0
  247. package/coverage/lcov-report/i18n/sv-SE/index.html +116 -0
  248. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +133 -0
  249. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +116 -0
  250. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +100 -0
  251. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +106 -0
  252. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +146 -0
  253. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +112 -0
  254. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +109 -0
  255. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +131 -0
  256. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +100 -0
  257. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +94 -0
  258. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +163 -0
  259. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +176 -0
  260. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +118 -0
  261. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +97 -0
  262. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +130 -0
  263. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +172 -0
  264. package/coverage/lcov-report/index.html +806 -0
  265. package/coverage/lcov-report/models/SurveyResult.ts.html +109 -0
  266. package/coverage/lcov-report/models/SurveyTemplate.ts.html +109 -0
  267. package/coverage/lcov-report/models/index.html +131 -0
  268. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +322 -0
  269. package/coverage/lcov-report/pages/plugins/tinymce/index.html +116 -0
  270. package/coverage/lcov-report/prettify.css +1 -0
  271. package/coverage/lcov-report/prettify.js +2 -0
  272. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  273. package/coverage/lcov-report/sorter.js +196 -0
  274. package/coverage/lcov-report/test/index.html +131 -0
  275. package/coverage/lcov-report/test/locales.js.html +370 -0
  276. package/coverage/lcov-report/test/mocks.js.html +532 -0
  277. package/coverage/lcov.info +2753 -0
  278. package/i18n/en-US/components/content/blocks/generate_questions.ts +4 -0
  279. package/i18n/es-ES/components/content/blocks/generate_questions.ts +4 -0
  280. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +4 -0
  281. package/lib/helpers/GlossaryHelper.d.ts +9 -0
  282. package/lib/helpers/GlossaryHelper.js +118 -0
  283. package/lib/helpers/GlossaryTerm.d.ts +10 -0
  284. package/lib/helpers/GlossaryTerm.js +22 -0
  285. package/lib/helpers/MathHelper.d.ts +99 -0
  286. package/lib/helpers/MathHelper.js +194 -0
  287. package/lib/helpers/tinymce/plugin.d.ts +2 -0
  288. package/lib/helpers/tinymce/plugin.js +86 -0
  289. package/lib/i18n/en-US/components/content/blocks/image.d.ts +6 -0
  290. package/lib/i18n/en-US/components/content/blocks/image.js +7 -0
  291. package/lib/i18n/en-US/components/content/blocks/index.d.ts +75 -0
  292. package/lib/i18n/en-US/components/content/blocks/index.js +14 -0
  293. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +5 -0
  294. package/lib/i18n/en-US/components/content/blocks/tab.js +6 -0
  295. package/lib/i18n/en-US/components/content/blocks/table.d.ts +5 -0
  296. package/lib/i18n/en-US/components/content/blocks/table.js +6 -0
  297. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +13 -0
  298. package/lib/i18n/en-US/components/content/blocks/user_upload.js +14 -0
  299. package/lib/i18n/en-US/components/content/blocks/video.d.ts +48 -0
  300. package/lib/i18n/en-US/components/content/blocks/video.js +49 -0
  301. package/lib/i18n/en-US/components/content/index.d.ts +77 -0
  302. package/lib/i18n/en-US/components/content/index.js +6 -0
  303. package/lib/i18n/en-US/components/index.d.ts +140 -0
  304. package/lib/i18n/en-US/components/index.js +12 -0
  305. package/lib/i18n/en-US/components/navigation/image.d.ts +5 -0
  306. package/lib/i18n/en-US/components/navigation/image.js +6 -0
  307. package/lib/i18n/en-US/components/navigation/index.d.ts +10 -0
  308. package/lib/i18n/en-US/components/navigation/index.js +8 -0
  309. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +4 -0
  310. package/lib/i18n/en-US/components/navigation/user_upload.js +5 -0
  311. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +6 -0
  312. package/lib/i18n/en-US/components/settings/clickable_icon.js +7 -0
  313. package/lib/i18n/en-US/components/settings/image.d.ts +2 -0
  314. package/lib/i18n/en-US/components/settings/image.js +3 -0
  315. package/lib/i18n/en-US/components/settings/index.d.ts +39 -0
  316. package/lib/i18n/en-US/components/settings/index.js +14 -0
  317. package/lib/i18n/en-US/components/settings/text_editor.d.ts +8 -0
  318. package/lib/i18n/en-US/components/settings/text_editor.js +9 -0
  319. package/lib/i18n/en-US/components/settings/user_upload.d.ts +12 -0
  320. package/lib/i18n/en-US/components/settings/user_upload.js +13 -0
  321. package/lib/i18n/en-US/components/settings/video.d.ts +13 -0
  322. package/lib/i18n/en-US/components/settings/video.js +14 -0
  323. package/lib/i18n/en-US/components/utils/index.d.ts +15 -0
  324. package/lib/i18n/en-US/components/utils/index.js +6 -0
  325. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +13 -0
  326. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +14 -0
  327. package/lib/i18n/en-US/index.d.ts +197 -0
  328. package/lib/i18n/en-US/index.js +16 -0
  329. package/lib/i18n/en-US/modules/index.d.ts +2 -0
  330. package/lib/i18n/en-US/modules/index.js +6 -0
  331. package/lib/i18n/en-US/pages/glossary.d.ts +8 -0
  332. package/lib/i18n/en-US/pages/glossary.js +9 -0
  333. package/lib/i18n/en-US/pages/index.d.ts +13 -0
  334. package/lib/i18n/en-US/pages/index.js +8 -0
  335. package/lib/i18n/en-US/pages/user_upload.d.ts +4 -0
  336. package/lib/i18n/en-US/pages/user_upload.js +5 -0
  337. package/lib/i18n/en-US/shared/content_blocks.d.ts +20 -0
  338. package/lib/i18n/en-US/shared/content_blocks.js +21 -0
  339. package/lib/i18n/en-US/shared/index.d.ts +39 -0
  340. package/lib/i18n/en-US/shared/index.js +10 -0
  341. package/lib/i18n/en-US/shared/menu.d.ts +4 -0
  342. package/lib/i18n/en-US/shared/menu.js +5 -0
  343. package/lib/i18n/en-US/shared/settings.d.ts +15 -0
  344. package/lib/i18n/en-US/shared/settings.js +16 -0
  345. package/lib/i18n/en-US.d.ts +197 -0
  346. package/lib/i18n/en-US.js +15 -0
  347. package/lib/models/UserFileAsset.d.ts +5 -0
  348. package/lib/models/UserFileAsset.js +37 -0
  349. package/package.json +1 -1
  350. package/table_styling.scss +58 -0
@@ -12,6 +12,10 @@ export default {
12
12
  content_mismatch_support:
13
13
  "The current content isn't suitable for this type of question. Consider adding more specific examples, numerical data, or comparable items depending on your desired question type.",
14
14
 
15
+ content_mismatch_bucket_game: "Content not suitable for bucket games.",
16
+ content_mismatch_bucket_game_support:
17
+ "Consider adding content with clear categories and multiple sortable items that can be grouped into 2-4 distinct buckets.",
18
+
15
19
  llm_unavailable: 'Question generation temporarily unavailable.',
16
20
  llm_unavailable_support:
17
21
  "We're unable to connect to our AI service at the moment. Please try again in a few minutes or contact support if the issue persists.",
@@ -14,6 +14,10 @@ export default {
14
14
  content_mismatch_support:
15
15
  'Por favor, añada más texto, ejemplos o explicaciones a esta sección. Recomendamos al menos 50 palabras de contenido relevante para generar preguntas apropiadas.',
16
16
 
17
+ content_mismatch_bucket_game: 'El contenido no es adecuado para juegos de categorías.',
18
+ content_mismatch_bucket_game_support:
19
+ 'Considera agregar contenido con categorías claras y múltiples elementos clasificables que se puedan agrupar en 2-4 categorías distintas.',
20
+
17
21
  llm_unavailable:
18
22
  'La generación de preguntas no está disponible temporalmente.',
19
23
  llm_unavailable_support:
@@ -12,6 +12,10 @@ export default {
12
12
  content_mismatch_support:
13
13
  'Vänligen lägg till mer text, exempel eller förklaringar till detta avsnitt. Vi rekommenderar minst 50 ord av relevant innehåll för att generera lämpliga frågor.',
14
14
 
15
+ content_mismatch_bucket_game: 'Innehållet är inte lämpligt för kategorispel.',
16
+ content_mismatch_bucket_game_support:
17
+ 'Överväg att lägga till innehåll med tydliga kategorier och flera sorterbara objekt som kan grupperas i 2-4 distinkta kategorier.',
18
+
15
19
  llm_unavailable: 'Frågegenerering tillfälligt otillgänglig.',
16
20
  llm_unavailable_support:
17
21
  'Vi kan inte ansluta till vår AI-tjänst för tillfället. Försök igen om några minuter.',
@@ -0,0 +1,9 @@
1
+ import GlossaryTerm from "../helpers/GlossaryTerm";
2
+ export default class GlossaryHelper {
3
+ private static glossaryRegex;
4
+ static makeToolTip(term: GlossaryTerm, text: String): string;
5
+ static containsGlossaryTerms(content: string): boolean;
6
+ static getContentVerifiedGlossaryTerms(content: string, glossary: any): GlossaryTerm[];
7
+ static getContentUnVerifiedGlossaryTerms(content: string, glossary: any): GlossaryTerm[];
8
+ static renderGlossaryWordsHtml(content: string, glossary: any): string;
9
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var GlossaryTerm_1 = require("../helpers/GlossaryTerm");
4
+ var _ = require("lodash");
5
+ var GlossaryHelper = /** @class */ (function () {
6
+ function GlossaryHelper() {
7
+ }
8
+ GlossaryHelper.makeToolTip = function (term, text) {
9
+ var word = _.isString(term.term) ?
10
+ '<template v-slot:term>' +
11
+ text +
12
+ '</template>' : '';
13
+ var definition = _.isString(term.definition) ?
14
+ '<template v-slot:definition>' +
15
+ term.definition +
16
+ '</template>' : '';
17
+ var alternate_forms = _.isString(term.alternate_forms) ?
18
+ '<template v-slot:alternate_forms>' +
19
+ term.alternate_forms +
20
+ '</template>' : '';
21
+ var related_terms = _.isString(term.related_term) ?
22
+ '<template v-slot:related_terms>' +
23
+ term.related_term +
24
+ '</template>' : '';
25
+ return ('<plugin-core-glossary-tool-tip>' +
26
+ word
27
+ +
28
+ definition
29
+ +
30
+ alternate_forms
31
+ +
32
+ related_terms
33
+ +
34
+ '</plugin-core-glossary-tool-tip>');
35
+ };
36
+ GlossaryHelper.containsGlossaryTerms = function (content) {
37
+ var regex = this.glossaryRegex;
38
+ return regex.exec(content) !== null;
39
+ };
40
+ GlossaryHelper.getContentVerifiedGlossaryTerms = function (content, glossary) {
41
+ var regex = this.glossaryRegex;
42
+ var currentGlossary = glossary;
43
+ var match;
44
+ var verifiedTerms = [];
45
+ while ((match = regex.exec(content)) !== null) {
46
+ // This is necessary to avoid infinite loops with zero-width matches
47
+ if (match.index === regex.lastIndex) {
48
+ regex.lastIndex++;
49
+ }
50
+ // The result can be accessed through the `m`-variable.
51
+ currentGlossary.forEach(function (term) {
52
+ var addTerm = true;
53
+ verifiedTerms.forEach(function (verifiedTerm) {
54
+ if (_.trim(_.toLower(verifiedTerm.term)) === _.trim(_.toLower(term.term))) {
55
+ addTerm = false;
56
+ }
57
+ });
58
+ if (_.trim(_.toLower(match[1])) === _.trim(_.toLower(term.term)) && addTerm) {
59
+ verifiedTerms.push(new GlossaryTerm_1.default(term));
60
+ }
61
+ });
62
+ }
63
+ return verifiedTerms;
64
+ };
65
+ GlossaryHelper.getContentUnVerifiedGlossaryTerms = function (content, glossary) {
66
+ var regex = this.glossaryRegex;
67
+ var match;
68
+ var verifiedTerms = this.getContentVerifiedGlossaryTerms(content, glossary);
69
+ var unVerifiedTerms = [];
70
+ var _loop_1 = function () {
71
+ // This is necessary to avoid infinite loops with zero-width matches
72
+ if (match.index === regex.lastIndex) {
73
+ regex.lastIndex++;
74
+ }
75
+ var inGlossary = [];
76
+ inGlossary = glossary.filter(function (item) {
77
+ if (_.trim(_.toLower(item.term)) === _.trim(_.toLower(match[1]))) {
78
+ return item;
79
+ }
80
+ });
81
+ var inUnverifiedArray = false;
82
+ unVerifiedTerms.forEach(function (unVerifiedTerm) {
83
+ if (_.trim(_.toLower(unVerifiedTerm.term)) === _.trim(_.toLower(match[1]))) {
84
+ inUnverifiedArray = true;
85
+ }
86
+ });
87
+ if (inGlossary.length === 0 && !inUnverifiedArray) {
88
+ unVerifiedTerms.push(new GlossaryTerm_1.default({ term: _.trim(match[1]), definition: 'n/a' }));
89
+ }
90
+ };
91
+ while ((match = regex.exec(content)) !== null) {
92
+ _loop_1();
93
+ }
94
+ return unVerifiedTerms;
95
+ };
96
+ GlossaryHelper.renderGlossaryWordsHtml = function (content, glossary) {
97
+ var _this = this;
98
+ var regex = this.glossaryRegex;
99
+ var currentGlossary = glossary;
100
+ var match;
101
+ while ((match = regex.exec(content)) !== null) {
102
+ // This is necessary to avoid infinite loops with zero-width matches
103
+ if (match.index === regex.lastIndex) {
104
+ regex.lastIndex++;
105
+ }
106
+ // The result can be accessed through the `m`-variable.
107
+ currentGlossary.forEach(function (term) {
108
+ if (_.trim(_.toLower(match[1])) === _.trim(_.toLower(term.term))) {
109
+ content = content.replace(match[0], _this.makeToolTip(term, match[1]));
110
+ }
111
+ });
112
+ }
113
+ return content;
114
+ };
115
+ GlossaryHelper.glossaryRegex = /<span.*?.class="glossary-word".*?>(.*?)<\/span>/g;
116
+ return GlossaryHelper;
117
+ }());
118
+ exports.default = GlossaryHelper;
@@ -0,0 +1,10 @@
1
+ declare class GlossaryTerm {
2
+ term: string;
3
+ definition: string;
4
+ alternate_forms: any;
5
+ related_term: any;
6
+ private required;
7
+ constructor(params: any);
8
+ static toString(): void;
9
+ }
10
+ export default GlossaryTerm;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var GlossaryTerm = /** @class */ (function () {
4
+ function GlossaryTerm(params) {
5
+ this.alternate_forms = null;
6
+ this.related_term = null;
7
+ this.required = ['term', 'definition'];
8
+ this.required.forEach(function (field) {
9
+ if (!params[field]) {
10
+ throw new Error('Glossary term ' + field + ' is required');
11
+ }
12
+ });
13
+ this.term = params.term;
14
+ this.definition = params.definition;
15
+ this.alternate_forms = params.alternate_forms || null;
16
+ this.related_term = params.related_term || null;
17
+ }
18
+ GlossaryTerm.toString = function () {
19
+ };
20
+ return GlossaryTerm;
21
+ }());
22
+ exports.default = GlossaryTerm;
@@ -0,0 +1,99 @@
1
+ import * as mathLiveObject from 'mathlive';
2
+ export default class MathHelper {
3
+ /**
4
+ * expose mathlive object
5
+ */
6
+ static Mathlive: typeof mathLiveObject;
7
+ /**
8
+ * containsMathML
9
+ * @param content
10
+ * checks is string contains mathml
11
+ * @return boolean
12
+ *
13
+ */
14
+ static containsMathML(content: string): boolean;
15
+ /**
16
+ * containsLatex
17
+ * @param content
18
+ * checks is string contains latex
19
+ * @return boolean
20
+ *
21
+ */
22
+ static containsLatex(content: string): boolean;
23
+ /**
24
+ * containSREnhancedLatex
25
+ * @param content
26
+ * checks is string contains latex
27
+ * @return boolean
28
+ *
29
+ */
30
+ static containSREnhancedLatex(content: string): boolean;
31
+ /**
32
+ * convertMathMLToLatex
33
+ * @param content
34
+ * attempts to find mml in content string and replace it with latex equivalent
35
+ * @return string
36
+ */
37
+ static convertContentMathMLtoLatex(content: string): string;
38
+ /**
39
+ * wrapMathContentForTinyMCE
40
+ * @param content
41
+ * wrap content in span with math class for tinymce
42
+ * @return string
43
+ */
44
+ static wrapMathContentForTinyMCE(content: string): string;
45
+ /**
46
+ * check Math Content Wrapped For TMCE
47
+ * @param content
48
+ * checks all content
49
+ * @return string
50
+ */
51
+ static checkMathContentWrappedForTMCE(content: string): boolean;
52
+ /**
53
+ * convertContentLatexToHtml
54
+ * @param content
55
+ * attempts to find latex in content string and replace it with latex equivalent
56
+ * @return string
57
+ *
58
+ */
59
+ static convertContentLatexToHtml(content: string): string;
60
+ /**
61
+ * convertContentSREnhancedLatexToHtml
62
+ * @param content
63
+ * attempts to find latex in content string and place custom SR text on renderer math div
64
+ * @return string
65
+ *
66
+ */
67
+ static convertContentSREnhancedLatexToHtml(content: string): string;
68
+ /**
69
+ * convertMathContentToHtml
70
+ * @param content
71
+ * attempts to find any math format in content string and convert it to HTML
72
+ * @return string
73
+ *
74
+ */
75
+ static convertMathContentToHtml(content: string): string;
76
+ /**
77
+ * convertMathMLToLatex
78
+ * @param content
79
+ * converts mml to latex
80
+ *
81
+ */
82
+ static convertMathMLToLatex(content: string): string;
83
+ /**
84
+ * parseSREnhancedLatexString
85
+ * @param content
86
+ * parse SR enhanced latex string and return Object
87
+ * @return Object
88
+ *
89
+ */
90
+ static parseSREnhancedLatexString(content: string): object;
91
+ /**
92
+ * parseSRLatex
93
+ * @param content
94
+ * parse latex expression from string
95
+ * @return any
96
+ *
97
+ */
98
+ static parseLatexString(content: string): string;
99
+ }
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mathLiveObject = require("mathlive");
4
+ var _ = require("lodash");
5
+ var Mathml2latex = require('mathml-to-latex');
6
+ var MathHelper = /** @class */ (function () {
7
+ function MathHelper() {
8
+ }
9
+ /**
10
+ * containsMathML
11
+ * @param content
12
+ * checks is string contains mathml
13
+ * @return boolean
14
+ *
15
+ */
16
+ MathHelper.containsMathML = function (content) {
17
+ var regex = /\<math.*?>.*?<\/math>/s;
18
+ return regex.exec(content) !== null;
19
+ };
20
+ /**
21
+ * containsLatex
22
+ * @param content
23
+ * checks is string contains latex
24
+ * @return boolean
25
+ *
26
+ */
27
+ MathHelper.containsLatex = function (content) {
28
+ var regex = /\$\$.*?\$\$/g;
29
+ return regex.exec(content) !== null;
30
+ };
31
+ /**
32
+ * containSREnhancedLatex
33
+ * @param content
34
+ * checks is string contains latex
35
+ * @return boolean
36
+ *
37
+ */
38
+ MathHelper.containSREnhancedLatex = function (content) {
39
+ var regex = /\*\*.*?\*\*/g;
40
+ return regex.exec(content) !== null;
41
+ };
42
+ /**
43
+ * convertMathMLToLatex
44
+ * @param content
45
+ * attempts to find mml in content string and replace it with latex equivalent
46
+ * @return string
47
+ */
48
+ MathHelper.convertContentMathMLtoLatex = function (content) {
49
+ var regex = /\<math.*?>.*?<\/math>/g;
50
+ var matches = content.match(regex);
51
+ if (matches) {
52
+ matches.forEach(function (match) {
53
+ content = content.replace(match, "$$$" + Mathml2latex.convert(match) + '$$$');
54
+ });
55
+ }
56
+ return content;
57
+ };
58
+ /**
59
+ * wrapMathContentForTinyMCE
60
+ * @param content
61
+ * wrap content in span with math class for tinymce
62
+ * @return string
63
+ */
64
+ MathHelper.wrapMathContentForTinyMCE = function (content) {
65
+ var regex = /(\*\*|\$\$)(.*?)\1/g;
66
+ var matches = content.match(regex);
67
+ if (matches) {
68
+ matches.forEach(function (match) {
69
+ var temp = match.replace(/\$\$/g, '');
70
+ if (match.match(/\$\$.*?\$\$/g) !== null) {
71
+ content = content.replace(match, "<span class ='windward-math-content'>$$$" +
72
+ temp +
73
+ '$$$</span>');
74
+ }
75
+ if (match.match(/\*\*(.*?)\*\*/g) !== null) {
76
+ content = content.replace(match, "<span class ='windward-math-content'>" +
77
+ match +
78
+ '</span>');
79
+ }
80
+ });
81
+ }
82
+ return content;
83
+ };
84
+ /**
85
+ * check Math Content Wrapped For TMCE
86
+ * @param content
87
+ * checks all content
88
+ * @return string
89
+ */
90
+ MathHelper.checkMathContentWrappedForTMCE = function (content) {
91
+ var regex = /\<span class ='windward-math-content'>(\*\*|\$\$)(.*?)\1<\/span>/g;
92
+ return regex.exec(content) !== null;
93
+ };
94
+ /**
95
+ * convertContentLatexToHtml
96
+ * @param content
97
+ * attempts to find latex in content string and replace it with latex equivalent
98
+ * @return string
99
+ *
100
+ */
101
+ MathHelper.convertContentLatexToHtml = function (content) {
102
+ var regex = /\$\$.*?\$\$/g;
103
+ var matches = content.match(regex);
104
+ if (matches) {
105
+ matches.forEach(function (match) {
106
+ content = content.replace(match, '<span tabindex="0" aria-label="' +
107
+ // @ts-ignore
108
+ mathLiveObject.convertLatexToSpeakableText(match) +
109
+ '"> <span tabindex="-1" >' +
110
+ mathLiveObject.convertLatexToMarkup(_.unescape(match)) +
111
+ '</span></span>');
112
+ });
113
+ }
114
+ return content;
115
+ };
116
+ /**
117
+ * convertContentSREnhancedLatexToHtml
118
+ * @param content
119
+ * attempts to find latex in content string and place custom SR text on renderer math div
120
+ * @return string
121
+ *
122
+ */
123
+ MathHelper.convertContentSREnhancedLatexToHtml = function (content) {
124
+ var regex = /\*\*.*?\*\*/g;
125
+ var matches = content.match(regex);
126
+ if (matches) {
127
+ matches.forEach(function (match) {
128
+ var mathObject = JSON.parse(match.replace(/\*\*/g, ''));
129
+ content = content.replace(match, '<span tabindex="0" aria-label="' +
130
+ mathObject.sr_text +
131
+ '"> <span tabindex="-1" >' +
132
+ mathLiveObject.convertLatexToMarkup('$$' + _.unescape(mathObject.latex) + '$$') +
133
+ '</span></span>');
134
+ });
135
+ }
136
+ return content;
137
+ };
138
+ /**
139
+ * convertMathContentToHtml
140
+ * @param content
141
+ * attempts to find any math format in content string and convert it to HTML
142
+ * @return string
143
+ *
144
+ */
145
+ MathHelper.convertMathContentToHtml = function (content) {
146
+ return MathHelper.convertContentSREnhancedLatexToHtml(MathHelper.convertContentLatexToHtml(MathHelper.convertContentMathMLtoLatex(content)));
147
+ };
148
+ /**
149
+ * convertMathMLToLatex
150
+ * @param content
151
+ * converts mml to latex
152
+ *
153
+ */
154
+ MathHelper.convertMathMLToLatex = function (content) {
155
+ return Mathml2latex.convert(content);
156
+ };
157
+ /**
158
+ * parseSREnhancedLatexString
159
+ * @param content
160
+ * parse SR enhanced latex string and return Object
161
+ * @return Object
162
+ *
163
+ */
164
+ MathHelper.parseSREnhancedLatexString = function (content) {
165
+ var regex = /\*\*.*?\*\*/g;
166
+ var matches = content.match(regex);
167
+ if (matches) {
168
+ var mathobject = JSON.parse(matches[0].replace(/\*\*/g, ''));
169
+ return mathobject;
170
+ }
171
+ return {};
172
+ };
173
+ /**
174
+ * parseSRLatex
175
+ * @param content
176
+ * parse latex expression from string
177
+ * @return any
178
+ *
179
+ */
180
+ MathHelper.parseLatexString = function (content) {
181
+ var regex = /\$\$.*?\$\$/g;
182
+ var matches = content.match(regex);
183
+ if (matches) {
184
+ return matches[0].replace(/\$\$/g, '');
185
+ }
186
+ return '';
187
+ };
188
+ /**
189
+ * expose mathlive object
190
+ */
191
+ MathHelper.Mathlive = mathLiveObject;
192
+ return MathHelper;
193
+ }());
194
+ exports.default = MathHelper;
@@ -0,0 +1,2 @@
1
+ declare const MathEditorPlugin: (editor: any) => void;
2
+ export { MathEditorPlugin };
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MathEditorPlugin = void 0;
4
+ var MathEditorPlugin = function (editor) {
5
+ var formula;
6
+ // ----- Events ----- //
7
+ editor.ui.registry.addIcon('insertMath', '<svg x="0px" y="0px"width="20px" height="20px" viewBox="0 0 445.878 445.878" style="enable-background:new 0 0 445.878 445.878;">' +
8
+ '<path d="M426.024,86.447H209.705l-84.911,298.911c-2.568,7.967-9.854,13.482-18.22,13.771c-0.236,0-0.464,0.006-0.688,0.006 c-8.092,0-15.41-4.924-18.436-12.478l-34.714-86.782H19.851C8.884,299.876,0,290.986,0,280.022 c0-10.965,8.893-19.854,19.851-19.854H66.18c8.109,0,15.421,4.941,18.436,12.483l19.237,48.09l72.472-260.218 c2.639-8.213,10.279-13.781,18.903-13.781h230.798c10.97,0,19.854,8.89,19.854,19.851S436.988,86.447,426.024,86.447z M436.723,353.227l-78.259-87.904l74.576-82.783c1.318-1.454,1.638-3.547,0.857-5.341c-0.804-1.791-2.577-2.946-4.54-2.946h-47.18 c-1.442,0-2.802,0.629-3.759,1.72l-50.059,58.047l-49.674-58.029c-0.939-1.103-2.317-1.738-3.771-1.738h-49.334 c-1.956,0-3.729,1.149-4.521,2.929c-0.81,1.785 0.479,3.875,0.824,5.332l73.743,82.81l-77.641,87.923 c-1.297,1.465-1.605,3.552 0.813,5.325c0.813,1.785,2.586,2.92,4.528,2.92h48.9c1.472,0,2.867-0.65,3.807-1.785l51.819-62.181 l53.05,62.229c0.951,1.11,2.328,1.743,3.782,1.743h49.97c1.962,0,3.735-1.141,4.527-2.926 C438.354,356.779,438.035,354.692,436.723,353.227z"/>' +
9
+ '</svg>');
10
+ editor.addCommand('equation-window', function (data) {
11
+ return editor.windowManager.openUrl({
12
+ url: '/plugins/tinymce/math',
13
+ title: 'Equation editor',
14
+ width: 800,
15
+ height: 600,
16
+ buttons: [
17
+ {
18
+ type: 'cancel',
19
+ text: 'cancel',
20
+ },
21
+ {
22
+ type: 'custom',
23
+ text: 'submit',
24
+ primary: true,
25
+ },
26
+ ],
27
+ onAction: function () {
28
+ if (data.currentTarget) {
29
+ editor.selection.select(data.currentTarget);
30
+ }
31
+ editor.selection.setContent(" <span class='windward-math-content'>" +
32
+ formula +
33
+ "</span>");
34
+ editor.windowManager.close();
35
+ setOnClickEquationContent(editor);
36
+ },
37
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
+ onMessage: function (instance, message) {
39
+ switch (message.mceAction) {
40
+ case 'equation-insert':
41
+ formula = message.content;
42
+ break;
43
+ case 'math-plugin-mounted':
44
+ window.parent.postMessage({ latex: data.latex }, '*');
45
+ break;
46
+ }
47
+ },
48
+ });
49
+ });
50
+ editor.ui.registry.addButton('mathButton', {
51
+ icon: 'insertMath',
52
+ onAction: function () {
53
+ editor.execCommand('equation-window', true);
54
+ },
55
+ });
56
+ editor.ui.registry.addMenuItem('math', {
57
+ text: 'Math',
58
+ icon: 'insertMath',
59
+ onAction: function () {
60
+ editor.execCommand('equation-window', true);
61
+ },
62
+ });
63
+ editor.on('init', function () {
64
+ setOnClickEquationContent(editor);
65
+ });
66
+ function setOnClickEquationContent(editor) {
67
+ var tinymceDoc = editor.getDoc();
68
+ var mqSpan = tinymceDoc.getElementsByClassName('windward-math-content');
69
+ // Add onclick listener to all equation content
70
+ for (var _i = 0, mqSpan_1 = mqSpan; _i < mqSpan_1.length; _i++) {
71
+ var equationContent = mqSpan_1[_i];
72
+ equationContent.contentEditable = 'true';
73
+ if (equationContent.onclick) {
74
+ continue;
75
+ }
76
+ equationContent.onclick = function (event) {
77
+ event.stopPropagation();
78
+ editor.execCommand('equation-window', {
79
+ latex: event.target.innerText,
80
+ currentTarget: event.target,
81
+ });
82
+ };
83
+ }
84
+ }
85
+ };
86
+ exports.MathEditorPlugin = MathEditorPlugin;
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ title: string;
3
+ description: string;
4
+ no_image_url: string;
5
+ };
6
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ title: 'Pick an image',
5
+ description: 'Pick an image to display',
6
+ no_image_url: 'No Image Selected',
7
+ };
@@ -0,0 +1,75 @@
1
+ declare const _default: {
2
+ user_upload: {
3
+ user_uploads: string;
4
+ dialog_view: string;
5
+ instructions: string;
6
+ instructions_none: string;
7
+ instructions_title: string;
8
+ must_save: string;
9
+ uploaded: string;
10
+ name: string;
11
+ size: string;
12
+ download: string;
13
+ };
14
+ image: {
15
+ title: string;
16
+ description: string;
17
+ no_image_url: string;
18
+ };
19
+ video: {
20
+ tabs: {
21
+ video: string;
22
+ poster: string;
23
+ preroll: string;
24
+ postroll: string;
25
+ };
26
+ forms: {
27
+ unsaved: string;
28
+ cancel: string;
29
+ confirm: string;
30
+ };
31
+ video: {
32
+ title: string;
33
+ configure_blurb: string;
34
+ not_configured_title: string;
35
+ edit_prompt: string;
36
+ autoplay: string;
37
+ controls: string;
38
+ loop: string;
39
+ muted: string;
40
+ disablepictureinpicture: string;
41
+ poster: string;
42
+ playback_rates: string;
43
+ rewind: string;
44
+ playsinline: string;
45
+ captionsmenu: string;
46
+ playlistmenu: string;
47
+ playlistautoadvance: string;
48
+ };
49
+ caption: {
50
+ title: string;
51
+ configure_blurb: string;
52
+ };
53
+ poster: {
54
+ title: string;
55
+ configure_blurb: string;
56
+ };
57
+ preroll: {
58
+ title: string;
59
+ configure_blurb: string;
60
+ };
61
+ postroll: {
62
+ title: string;
63
+ configure_blurb: string;
64
+ };
65
+ };
66
+ table: {
67
+ column: string;
68
+ row: string;
69
+ };
70
+ tab: {
71
+ add_tab: string;
72
+ delete_tab: string;
73
+ };
74
+ };
75
+ export default _default;