@windward/core 0.17.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 (370) 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 +5 -18
  12. package/components/Content/Blocks/Accordion.vue +10 -1
  13. package/components/Content/Blocks/BlockQuote.vue +10 -1
  14. package/components/Content/Blocks/ClickableIcons.vue +55 -39
  15. package/components/Content/Blocks/Email.vue +17 -3
  16. package/components/Content/Blocks/FileDownload.vue +9 -1
  17. package/components/Content/Blocks/OpenResponse.vue +10 -1
  18. package/components/Content/Blocks/ScenarioChoice.vue +14 -5
  19. package/components/Content/Blocks/Tab.vue +15 -2
  20. package/components/Content/Blocks/UserUpload.vue +10 -1
  21. package/components/Content/Blocks/Video.vue +13 -4
  22. package/components/Settings/AccordionSettings.vue +16 -30
  23. package/components/Settings/BlockQuoteSettings.vue +35 -48
  24. package/components/Settings/ClickableIconsSettings.vue +14 -27
  25. package/components/Settings/EmailSettings.vue +18 -28
  26. package/components/Settings/FileDownloadSettings.vue +14 -21
  27. package/components/Settings/OpenResponseSettings.vue +13 -27
  28. package/components/Settings/ScenarioChoiceSettings.vue +19 -29
  29. package/components/Settings/TabSettings.vue +22 -30
  30. package/components/Settings/UserUploadSettings.vue +12 -22
  31. package/components/Settings/VideoSettings.vue +12 -19
  32. package/components/utils/GenerateAIQuestionButton.vue +88 -16
  33. package/config/menu.config.json +475 -0
  34. package/coverage/clover.xml +1474 -0
  35. package/coverage/coverage-final.json +199 -0
  36. package/coverage/lcov-report/base.css +224 -0
  37. package/coverage/lcov-report/block-navigation.js +87 -0
  38. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +772 -0
  39. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +625 -0
  40. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +979 -0
  41. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +1171 -0
  42. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +1075 -0
  43. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +331 -0
  44. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +403 -0
  45. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +131 -0
  46. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +514 -0
  47. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +211 -0
  48. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +352 -0
  49. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +667 -0
  50. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +643 -0
  51. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +295 -0
  52. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +976 -0
  53. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +445 -0
  54. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +667 -0
  55. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +562 -0
  56. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +116 -0
  57. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +844 -0
  58. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +1225 -0
  59. package/coverage/lcov-report/components/Content/Blocks/index.html +311 -0
  60. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +961 -0
  61. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +673 -0
  62. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +1144 -0
  63. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +901 -0
  64. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +373 -0
  65. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +607 -0
  66. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +310 -0
  67. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +337 -0
  68. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +586 -0
  69. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +415 -0
  70. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +1183 -0
  71. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +751 -0
  72. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +535 -0
  73. package/coverage/lcov-report/components/Settings/index.html +296 -0
  74. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +199 -0
  75. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +1120 -0
  76. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +415 -0
  77. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +271 -0
  78. package/coverage/lcov-report/components/utils/index.html +131 -0
  79. package/coverage/lcov-report/config/index.html +116 -0
  80. package/coverage/lcov-report/config/tinymce.config.js.html +493 -0
  81. package/coverage/lcov-report/config/tinymce.config.ts.html +1051 -0
  82. package/coverage/lcov-report/favicon.png +0 -0
  83. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +577 -0
  84. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +178 -0
  85. package/coverage/lcov-report/helpers/MathHelper.ts.html +1033 -0
  86. package/coverage/lcov-report/helpers/index.html +146 -0
  87. package/coverage/lcov-report/helpers/tinymce/index.html +116 -0
  88. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +334 -0
  89. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +94 -0
  90. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +127 -0
  91. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +178 -0
  92. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +100 -0
  93. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +100 -0
  94. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +100 -0
  95. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +296 -0
  96. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +166 -0
  97. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +100 -0
  98. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +106 -0
  99. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +100 -0
  100. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +97 -0
  101. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +115 -0
  102. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +97 -0
  103. package/coverage/lcov-report/i18n/en-US/components/content/index.html +116 -0
  104. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +100 -0
  105. package/coverage/lcov-report/i18n/en-US/components/index.html +116 -0
  106. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +118 -0
  107. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +118 -0
  108. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +97 -0
  109. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +161 -0
  110. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +112 -0
  111. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +94 -0
  112. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +106 -0
  113. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +130 -0
  114. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +142 -0
  115. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +115 -0
  116. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +109 -0
  117. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +94 -0
  118. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +142 -0
  119. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +326 -0
  120. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +178 -0
  121. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +100 -0
  122. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +103 -0
  123. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +145 -0
  124. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +109 -0
  125. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +115 -0
  126. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +121 -0
  127. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +277 -0
  128. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  129. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  130. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +146 -0
  131. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +103 -0
  132. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +146 -0
  133. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +109 -0
  134. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +130 -0
  135. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +175 -0
  136. package/coverage/lcov-report/i18n/en-US/index.html +116 -0
  137. package/coverage/lcov-report/i18n/en-US/index.ts.html +133 -0
  138. package/coverage/lcov-report/i18n/en-US/modules/index.html +116 -0
  139. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +100 -0
  140. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +106 -0
  141. package/coverage/lcov-report/i18n/en-US/pages/index.html +146 -0
  142. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +112 -0
  143. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +112 -0
  144. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +131 -0
  145. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +100 -0
  146. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +94 -0
  147. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +163 -0
  148. package/coverage/lcov-report/i18n/en-US/shared/index.html +176 -0
  149. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +118 -0
  150. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +97 -0
  151. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +130 -0
  152. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +172 -0
  153. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +94 -0
  154. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +127 -0
  155. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +178 -0
  156. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +100 -0
  157. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +100 -0
  158. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +100 -0
  159. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +296 -0
  160. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +166 -0
  161. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +103 -0
  162. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +106 -0
  163. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +103 -0
  164. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +97 -0
  165. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +118 -0
  166. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +100 -0
  167. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +116 -0
  168. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +100 -0
  169. package/coverage/lcov-report/i18n/es-ES/components/index.html +116 -0
  170. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +121 -0
  171. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +118 -0
  172. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +97 -0
  173. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +161 -0
  174. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +112 -0
  175. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +94 -0
  176. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +106 -0
  177. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +130 -0
  178. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +145 -0
  179. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +115 -0
  180. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +109 -0
  181. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +94 -0
  182. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +148 -0
  183. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +326 -0
  184. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +178 -0
  185. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +100 -0
  186. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +106 -0
  187. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +145 -0
  188. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +112 -0
  189. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +115 -0
  190. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +121 -0
  191. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +283 -0
  192. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  193. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  194. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +146 -0
  195. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +103 -0
  196. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +146 -0
  197. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +109 -0
  198. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +130 -0
  199. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +178 -0
  200. package/coverage/lcov-report/i18n/es-ES/index.html +116 -0
  201. package/coverage/lcov-report/i18n/es-ES/index.ts.html +133 -0
  202. package/coverage/lcov-report/i18n/es-ES/modules/index.html +116 -0
  203. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +100 -0
  204. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +106 -0
  205. package/coverage/lcov-report/i18n/es-ES/pages/index.html +146 -0
  206. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +112 -0
  207. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +112 -0
  208. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +131 -0
  209. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +100 -0
  210. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +94 -0
  211. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +163 -0
  212. package/coverage/lcov-report/i18n/es-ES/shared/index.html +176 -0
  213. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +118 -0
  214. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +97 -0
  215. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +130 -0
  216. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +178 -0
  217. package/coverage/lcov-report/i18n/index.html +116 -0
  218. package/coverage/lcov-report/i18n/index.ts.html +118 -0
  219. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +94 -0
  220. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +127 -0
  221. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +178 -0
  222. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +100 -0
  223. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +100 -0
  224. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +100 -0
  225. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +296 -0
  226. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +166 -0
  227. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +103 -0
  228. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +106 -0
  229. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +100 -0
  230. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +97 -0
  231. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +118 -0
  232. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +97 -0
  233. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +116 -0
  234. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +100 -0
  235. package/coverage/lcov-report/i18n/sv-SE/components/index.html +116 -0
  236. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +121 -0
  237. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +118 -0
  238. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +97 -0
  239. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +161 -0
  240. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +112 -0
  241. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +94 -0
  242. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +109 -0
  243. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +130 -0
  244. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +145 -0
  245. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +115 -0
  246. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +109 -0
  247. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +94 -0
  248. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +142 -0
  249. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +326 -0
  250. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +178 -0
  251. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +100 -0
  252. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +103 -0
  253. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +145 -0
  254. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +109 -0
  255. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +115 -0
  256. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +121 -0
  257. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +277 -0
  258. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  259. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  260. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +146 -0
  261. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +103 -0
  262. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +146 -0
  263. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +109 -0
  264. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +130 -0
  265. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +178 -0
  266. package/coverage/lcov-report/i18n/sv-SE/index.html +116 -0
  267. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +133 -0
  268. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +116 -0
  269. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +100 -0
  270. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +106 -0
  271. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +146 -0
  272. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +112 -0
  273. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +109 -0
  274. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +131 -0
  275. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +100 -0
  276. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +94 -0
  277. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +163 -0
  278. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +176 -0
  279. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +118 -0
  280. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +97 -0
  281. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +130 -0
  282. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +172 -0
  283. package/coverage/lcov-report/index.html +806 -0
  284. package/coverage/lcov-report/models/SurveyResult.ts.html +109 -0
  285. package/coverage/lcov-report/models/SurveyTemplate.ts.html +109 -0
  286. package/coverage/lcov-report/models/index.html +131 -0
  287. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +322 -0
  288. package/coverage/lcov-report/pages/plugins/tinymce/index.html +116 -0
  289. package/coverage/lcov-report/prettify.css +1 -0
  290. package/coverage/lcov-report/prettify.js +2 -0
  291. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  292. package/coverage/lcov-report/sorter.js +196 -0
  293. package/coverage/lcov-report/test/index.html +131 -0
  294. package/coverage/lcov-report/test/locales.js.html +370 -0
  295. package/coverage/lcov-report/test/mocks.js.html +532 -0
  296. package/coverage/lcov.info +2753 -0
  297. package/i18n/en-US/components/content/blocks/generate_questions.ts +4 -0
  298. package/i18n/es-ES/components/content/blocks/generate_questions.ts +4 -0
  299. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +4 -0
  300. package/lib/helpers/GlossaryHelper.d.ts +9 -0
  301. package/lib/helpers/GlossaryHelper.js +118 -0
  302. package/lib/helpers/GlossaryTerm.d.ts +10 -0
  303. package/lib/helpers/GlossaryTerm.js +22 -0
  304. package/lib/helpers/MathHelper.d.ts +99 -0
  305. package/lib/helpers/MathHelper.js +194 -0
  306. package/lib/helpers/tinymce/plugin.d.ts +2 -0
  307. package/lib/helpers/tinymce/plugin.js +86 -0
  308. package/lib/i18n/en-US/components/content/blocks/image.d.ts +6 -0
  309. package/lib/i18n/en-US/components/content/blocks/image.js +7 -0
  310. package/lib/i18n/en-US/components/content/blocks/index.d.ts +75 -0
  311. package/lib/i18n/en-US/components/content/blocks/index.js +14 -0
  312. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +5 -0
  313. package/lib/i18n/en-US/components/content/blocks/tab.js +6 -0
  314. package/lib/i18n/en-US/components/content/blocks/table.d.ts +5 -0
  315. package/lib/i18n/en-US/components/content/blocks/table.js +6 -0
  316. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +13 -0
  317. package/lib/i18n/en-US/components/content/blocks/user_upload.js +14 -0
  318. package/lib/i18n/en-US/components/content/blocks/video.d.ts +48 -0
  319. package/lib/i18n/en-US/components/content/blocks/video.js +49 -0
  320. package/lib/i18n/en-US/components/content/index.d.ts +77 -0
  321. package/lib/i18n/en-US/components/content/index.js +6 -0
  322. package/lib/i18n/en-US/components/index.d.ts +140 -0
  323. package/lib/i18n/en-US/components/index.js +12 -0
  324. package/lib/i18n/en-US/components/navigation/image.d.ts +5 -0
  325. package/lib/i18n/en-US/components/navigation/image.js +6 -0
  326. package/lib/i18n/en-US/components/navigation/index.d.ts +10 -0
  327. package/lib/i18n/en-US/components/navigation/index.js +8 -0
  328. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +4 -0
  329. package/lib/i18n/en-US/components/navigation/user_upload.js +5 -0
  330. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +6 -0
  331. package/lib/i18n/en-US/components/settings/clickable_icon.js +7 -0
  332. package/lib/i18n/en-US/components/settings/image.d.ts +2 -0
  333. package/lib/i18n/en-US/components/settings/image.js +3 -0
  334. package/lib/i18n/en-US/components/settings/index.d.ts +39 -0
  335. package/lib/i18n/en-US/components/settings/index.js +14 -0
  336. package/lib/i18n/en-US/components/settings/text_editor.d.ts +8 -0
  337. package/lib/i18n/en-US/components/settings/text_editor.js +9 -0
  338. package/lib/i18n/en-US/components/settings/user_upload.d.ts +12 -0
  339. package/lib/i18n/en-US/components/settings/user_upload.js +13 -0
  340. package/lib/i18n/en-US/components/settings/video.d.ts +13 -0
  341. package/lib/i18n/en-US/components/settings/video.js +14 -0
  342. package/lib/i18n/en-US/components/utils/index.d.ts +15 -0
  343. package/lib/i18n/en-US/components/utils/index.js +6 -0
  344. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +13 -0
  345. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +14 -0
  346. package/lib/i18n/en-US/index.d.ts +197 -0
  347. package/lib/i18n/en-US/index.js +16 -0
  348. package/lib/i18n/en-US/modules/index.d.ts +2 -0
  349. package/lib/i18n/en-US/modules/index.js +6 -0
  350. package/lib/i18n/en-US/pages/glossary.d.ts +8 -0
  351. package/lib/i18n/en-US/pages/glossary.js +9 -0
  352. package/lib/i18n/en-US/pages/index.d.ts +13 -0
  353. package/lib/i18n/en-US/pages/index.js +8 -0
  354. package/lib/i18n/en-US/pages/user_upload.d.ts +4 -0
  355. package/lib/i18n/en-US/pages/user_upload.js +5 -0
  356. package/lib/i18n/en-US/shared/content_blocks.d.ts +20 -0
  357. package/lib/i18n/en-US/shared/content_blocks.js +21 -0
  358. package/lib/i18n/en-US/shared/index.d.ts +39 -0
  359. package/lib/i18n/en-US/shared/index.js +10 -0
  360. package/lib/i18n/en-US/shared/menu.d.ts +4 -0
  361. package/lib/i18n/en-US/shared/menu.js +5 -0
  362. package/lib/i18n/en-US/shared/settings.d.ts +15 -0
  363. package/lib/i18n/en-US/shared/settings.js +16 -0
  364. package/lib/i18n/en-US.d.ts +197 -0
  365. package/lib/i18n/en-US.js +15 -0
  366. package/lib/models/UserFileAsset.d.ts +5 -0
  367. package/lib/models/UserFileAsset.js +37 -0
  368. package/package.json +1 -1
  369. package/table_styling.scss +58 -0
  370. package/test/__mocks__/componentsMock.js +1 -0
@@ -1,27 +1,10 @@
1
1
  <template>
2
2
  <div>
3
3
  <v-row class="pl-3 pr-3">
4
- <v-text-field
5
- id="block-settings-title"
6
- v-model="block.metadata.config.title"
7
- :autofocus="true"
8
- :rules="$Validation.getRule('block.title')"
9
- :counter="$Validation.getLimit('block.title')"
10
- outlined
11
- :label="
12
- $t('windward.core.components.settings.clickable_icon.title')
13
- "
4
+ <BaseContentBlockSettings
5
+ v-model="block.metadata.config"
14
6
  :disabled="render"
15
- ></v-text-field>
16
- <v-textarea
17
- id="block-settings-instructions"
18
- v-model="block.metadata.config.instructions"
19
- :rules="$Validation.getRule('block.instructions')"
20
- :counter="$Validation.getLimit('block.instructions')"
21
- outlined
22
- :label="$t('components.content.settings.base.instructions')"
23
- :disabled="render"
24
- ></v-textarea>
7
+ ></BaseContentBlockSettings>
25
8
  </v-row>
26
9
  <v-divider class="my-4 primary"></v-divider>
27
10
  <p>{{ $t('windward.core.components.settings.tab.tabs') }}</p>
@@ -130,16 +113,30 @@
130
113
  <script>
131
114
  import _, { get } from 'lodash'
132
115
  import Crypto from '~/helpers/Crypto'
133
- import TextEditor from '~/components/Text/TextEditor'
134
116
  import ImageAssetSettings from '~/components/Content/Settings/ImageAssetSettings.vue'
135
117
  import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
136
118
  import SortableExpansionPanel from '~/components/Core/SortableExpansionPanel.vue'
137
119
  import Uuid from '~/helpers/Uuid'
120
+ import BaseContentBlockSettings from '~/components/Content/Settings/BaseContentBlockSettings.vue'
121
+ import TextEditor from '~/components/Text/TextEditor'
138
122
 
139
123
  export default {
140
124
  name: 'TabSettings',
141
- components: { TextEditor, ImageAssetSettings, SortableExpansionPanel },
125
+ components: {
126
+ TextEditor,
127
+ ImageAssetSettings,
128
+ SortableExpansionPanel,
129
+ BaseContentBlockSettings,
130
+ },
142
131
  extends: BaseContentSettings,
132
+ data() {
133
+ return {
134
+ expansionPanelKey: '0',
135
+ textEditorUpdateKey: Crypto.id(),
136
+ valid: true,
137
+ loading: false,
138
+ }
139
+ },
143
140
  beforeMount() {
144
141
  if (_.isEmpty(this.block)) {
145
142
  this.block = {}
@@ -158,6 +155,9 @@ export default {
158
155
  if (_.isEmpty(this.block.metadata.config.title)) {
159
156
  this.block.metadata.config.title = ''
160
157
  }
158
+ if (!_.isBoolean(this.block.metadata.config.display_title)) {
159
+ this.$set(this.block.metadata.config, 'display_title', true)
160
+ }
161
161
  if (
162
162
  _.isEmpty(this.block.metadata.config.instructions) &&
163
163
  this.block.id &&
@@ -188,14 +188,6 @@ export default {
188
188
  this.block.metadata.config.items.push(defaultObject)
189
189
  }
190
190
  },
191
- data() {
192
- return {
193
- expansionPanelKey: '0',
194
- textEditorUpdateKey: Crypto.id(),
195
- valid: true,
196
- loading: false,
197
- }
198
- },
199
191
  mounted() {
200
192
  if (this.block.metadata.config.items.length <= 0) {
201
193
  this.onAddElement()
@@ -1,24 +1,11 @@
1
1
  <template>
2
2
  <div>
3
- <v-text-field
4
- id="block-settings-title"
5
- v-model="block.metadata.config.title"
6
- outlined
7
- :rules="$Validation.getRule('block.title')"
8
- :counter="$Validation.getLimit('block.title')"
9
- :autofocus="true"
10
- :label="$t('components.content.settings.base.title')"
11
- :disabled="render"
12
- ></v-text-field>
13
- <v-textarea
14
- id="block-settings-instructions"
15
- v-model="block.metadata.config.instructions"
16
- :rules="$Validation.getRule('block.instructions')"
17
- :counter="$Validation.getLimit('block.instructions')"
18
- outlined
19
- :label="$t('components.content.settings.base.instructions')"
20
- :disabled="render"
21
- ></v-textarea>
3
+ <v-container>
4
+ <BaseContentBlockSettings
5
+ v-model="block.metadata.config"
6
+ :disabled="render"
7
+ ></BaseContentBlockSettings>
8
+ </v-container>
22
9
  <v-switch
23
10
  v-model="block.metadata.config.uploadSettings.multiple"
24
11
  :label="
@@ -45,15 +32,15 @@
45
32
  </template>
46
33
  <script>
47
34
  import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
48
- import Crypto from '~/helpers/Crypto'
49
- import TextEditor from '~/components/Text/TextEditor'
50
35
  import _ from 'lodash'
51
36
  import Uuid from '~/helpers/Uuid'
37
+ import BaseContentBlockSettings from '~/components/Content/Settings/BaseContentBlockSettings.vue'
38
+ import TextEditor from '~/components/Text/TextEditor'
52
39
 
53
40
  export default {
54
41
  name: 'UserUploadSettings',
42
+ components: { TextEditor, BaseContentBlockSettings },
55
43
  extends: BaseContentSettings,
56
- components: { TextEditor },
57
44
  beforeMount() {
58
45
  if (_.isEmpty(this.block)) {
59
46
  this.block = {}
@@ -73,6 +60,9 @@ export default {
73
60
  if (_.isEmpty(this.block.metadata.config.title)) {
74
61
  this.block.metadata.config.title = ''
75
62
  }
63
+ if (!_.isBoolean(this.block.metadata.config.display_title)) {
64
+ this.$set(this.block.metadata.config, 'display_title', true)
65
+ }
76
66
  if (
77
67
  _.isEmpty(this.block.metadata.config.instructions) &&
78
68
  this.block.id &&
@@ -2,29 +2,18 @@
2
2
  <div>
3
3
  <v-row>
4
4
  <v-col cols="12">
5
- <v-text-field
6
- id="block-settings-title"
7
- v-model="block.metadata.config.title"
8
- :rules="$Validation.getRule('block.title')"
9
- :counter="$Validation.getLimit('block.title')"
10
- outlined
11
- :label="$t('windward.core.components.settings.video.title')"
5
+ <BaseContentBlockSettings
6
+ v-model="block.metadata.config"
12
7
  :disabled="render"
13
- ></v-text-field>
14
- <v-textarea
15
- id="block-settings-instructions"
16
- v-model="block.metadata.config.description"
17
- outlined
18
- auto-grow
19
- :rules="$Validation.getRule('block.instructions')"
20
- :counter="$Validation.getLimit('block.instructions')"
21
- :label="
8
+ :title-label="
9
+ $t('windward.core.components.settings.video.title')
10
+ "
11
+ :instructions-label="
22
12
  $t(
23
13
  'components.content.settings.base.description_optional'
24
14
  )
25
15
  "
26
- :disabled="render"
27
- ></v-textarea>
16
+ ></BaseContentBlockSettings>
28
17
 
29
18
  <h4 class="mb-3">
30
19
  {{ $t('windward.core.components.settings.video.sources') }}
@@ -404,11 +393,12 @@ import _ from 'lodash'
404
393
  import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
405
394
  import ContentBlockAsset from '~/components/Content/ContentBlockAsset.vue'
406
395
  import SourcePicker from './VideoSettings/SourcePicker.vue'
396
+ import BaseContentBlockSettings from '~/components/Content/Settings/BaseContentBlockSettings.vue'
407
397
 
408
398
  export default {
409
399
  name: 'VideoSettings',
400
+ components: { ContentBlockAsset, SourcePicker, BaseContentBlockSettings },
410
401
  extends: BaseContentSettings,
411
- components: { ContentBlockAsset, SourcePicker },
412
402
  data() {
413
403
  return {
414
404
  fileTab: null,
@@ -450,6 +440,9 @@ export default {
450
440
  this.onAddPlaylistItem()
451
441
  this.playlistPaginator = 1
452
442
  }
443
+ if (!_.isBoolean(this.block.metadata.config.display_title)) {
444
+ this.$set(this.block.metadata.config, 'display_title', true)
445
+ }
453
446
  },
454
447
  mounted() {
455
448
  this.reloadMedia()
@@ -41,9 +41,9 @@
41
41
  ></v-select>
42
42
  </v-col>
43
43
  <v-col
44
+ v-if="isFlashcardType || isBucketGameType"
44
45
  cols="auto"
45
46
  class="d-flex align-center"
46
- v-if="isFlashcardType"
47
47
  >
48
48
  <v-switch
49
49
  v-model="replaceExisting"
@@ -51,11 +51,7 @@
51
51
  dense
52
52
  color="secondary"
53
53
  class="mt-0 pt-0"
54
- :label="
55
- $t(
56
- 'windward.games.components.settings.flashcard.form.replace_existing'
57
- )
58
- "
54
+ :label="replaceExistingLabel"
59
55
  :disabled="isLoading"
60
56
  ></v-switch>
61
57
  </v-col>
@@ -126,6 +122,19 @@ export default {
126
122
  isFlashcardType() {
127
123
  return this.questionType === 'flashcard'
128
124
  },
125
+ isBucketGameType() {
126
+ return this.questionType === 'bucket_game'
127
+ },
128
+ replaceExistingLabel() {
129
+ if (this.isBucketGameType) {
130
+ return this.$t(
131
+ 'windward.games.components.settings.bucket_game.form.replace_existing'
132
+ )
133
+ }
134
+ return this.$t(
135
+ 'windward.games.components.settings.flashcard.form.replace_existing'
136
+ )
137
+ },
129
138
  flattenedContent() {
130
139
  let cloneContentTree = _.cloneDeep(this.contentTree)
131
140
  const homepage = this.$ContentService.getHomepage()
@@ -184,9 +193,10 @@ export default {
184
193
  ]
185
194
 
186
195
  // Only add higher-level Bloom's taxonomy for supported question types
187
- // Flashcards use only basic levels
196
+ // Flashcards and bucket games use only basic levels
188
197
  if (
189
198
  !this.isFlashcardType &&
199
+ !this.isBucketGameType &&
190
200
  (this.questionType === 'multi_choice_single_answer' ||
191
201
  this.questionType === 'ordering' ||
192
202
  this.questionType === 'multi_choice_multi_answer')
@@ -277,6 +287,52 @@ export default {
277
287
  'Invalid response from flashcard generation'
278
288
  )
279
289
  }
290
+ } else if (this.questionType === 'bucket_game') {
291
+ // BUCKET GAME GENERATION
292
+ const activity = new Activity()
293
+
294
+ const endpoint = `suggest/bucket_game${bloomsRequest}`
295
+
296
+ response = await Activity.custom(
297
+ course,
298
+ content,
299
+ activity,
300
+ endpoint
301
+ ).get()
302
+
303
+ let activityData = null
304
+
305
+ if (response && response.activity) {
306
+ activityData = response.activity
307
+ } else if (
308
+ response &&
309
+ response.length > 0 &&
310
+ response[0] &&
311
+ response[0].activity
312
+ ) {
313
+ activityData = response[0].activity
314
+ } else if (Array.isArray(response) && response.length > 0) {
315
+ activityData = response[0]
316
+ }
317
+
318
+ if (
319
+ activityData &&
320
+ activityData.metadata &&
321
+ activityData.metadata.config &&
322
+ activityData.metadata.config.bucket_titles &&
323
+ activityData.metadata.config.bucket_answers
324
+ ) {
325
+ // We pass the activity data and the replace flag to the parent component
326
+ this.$emit(
327
+ 'click:generate',
328
+ activityData,
329
+ this.replaceExisting
330
+ )
331
+ } else {
332
+ throw new Error(
333
+ 'Invalid response from bucket game generation'
334
+ )
335
+ }
280
336
  } else {
281
337
  // ASSESSMENT QUESTION GENERATION
282
338
  const assessment = new Assessment({ id: this.block.id })
@@ -308,16 +364,32 @@ export default {
308
364
  const basePath =
309
365
  'windward.core.components.content.blocks.generate_questions.error'
310
366
 
311
- let errorText =
312
- this.$t(`${basePath}.${errorType}`) +
313
- '\n\n' +
314
- this.$t(`${basePath}.${errorType}_support`)
367
+ let errorText = ''
315
368
 
316
- if (errorType === 'technical') {
317
- const errorCode =
318
- error.response?.data?.error?.details?.error_type ||
319
- 'UNKNOWN'
320
- errorText = errorText.replace('[ERROR_CODE]', errorCode)
369
+ // Check for content mismatch error specifically for bucket games
370
+ if (
371
+ (errorMessage === 'activity.error.content_mismatch' ||
372
+ errorType === 'content_mismatch') &&
373
+ this.questionType === 'bucket_game'
374
+ ) {
375
+ errorText =
376
+ this.$t(`${basePath}.content_mismatch_bucket_game`) +
377
+ '\n\n' +
378
+ this.$t(
379
+ `${basePath}.content_mismatch_bucket_game_support`
380
+ )
381
+ } else {
382
+ errorText =
383
+ this.$t(`${basePath}.${errorType}`) +
384
+ '\n\n' +
385
+ this.$t(`${basePath}.${errorType}_support`)
386
+
387
+ if (errorType === 'technical') {
388
+ const errorCode =
389
+ error.response?.data?.error?.details?.error_type ||
390
+ 'UNKNOWN'
391
+ errorText = errorText.replace('[ERROR_CODE]', errorCode)
392
+ }
321
393
  }
322
394
 
323
395
  this.$dialog.error(errorText, {