@windward/core 0.19.0 → 0.21.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 (383) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/bitbucket/releases/delete-rc-tags.sh +35 -0
  3. package/bitbucket/releases/tag-master-release.sh +48 -0
  4. package/bitbucket-pipelines.yml +3 -1
  5. package/components/Content/Blocks/ClickableIcons.vue +113 -116
  6. package/components/Content/Blocks/Email.vue +21 -16
  7. package/components/Content/Blocks/HorizontalRule.vue +2 -0
  8. package/components/Content/Blocks/OpenResponseCollate.vue +30 -15
  9. package/components/Content/Blocks/UserUpload.vue +33 -38
  10. package/components/Content/Blocks/Video.vue +67 -40
  11. package/components/Navigation/Items/CourseGlossaryToolNav.vue +7 -1
  12. package/components/Settings/EmailSettings.vue +31 -6
  13. package/components/Settings/OpenResponseCollateSettings.vue +48 -16
  14. package/components/Settings/UserUploadSettings.vue +107 -48
  15. package/components/utils/FillInBlank/FillInBlankInput.vue +24 -1
  16. package/components/utils/FillInBlank/FillInTheBlanksManager.vue +5 -0
  17. package/components/utils/GenerateAIQuestionButton.vue +174 -18
  18. package/components/utils/TinyMCEWrapper.vue +8 -3
  19. package/i18n/en-US/components/content/blocks/generate_questions.ts +13 -0
  20. package/i18n/en-US/components/settings/email.ts +3 -0
  21. package/i18n/en-US/components/settings/open_response_collate.ts +2 -2
  22. package/i18n/en-US/components/settings/user_upload.ts +6 -4
  23. package/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts +1 -0
  24. package/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts +1 -0
  25. package/i18n/en-US/shared/settings.ts +2 -0
  26. package/i18n/es-ES/components/content/blocks/generate_questions.ts +13 -0
  27. package/i18n/es-ES/components/settings/email.ts +3 -0
  28. package/i18n/es-ES/components/settings/open_response_collate.ts +1 -0
  29. package/i18n/es-ES/components/settings/user_upload.ts +6 -4
  30. package/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts +4 -3
  31. package/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts +2 -1
  32. package/i18n/es-ES/shared/settings.ts +2 -0
  33. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +13 -0
  34. package/i18n/sv-SE/components/settings/email.ts +5 -2
  35. package/i18n/sv-SE/components/settings/open_response_collate.ts +2 -0
  36. package/i18n/sv-SE/components/settings/user_upload.ts +7 -5
  37. package/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts +6 -5
  38. package/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts +5 -4
  39. package/i18n/sv-SE/shared/settings.ts +2 -0
  40. package/package.json +1 -1
  41. package/.idea/codeStyles/Project.xml +0 -58
  42. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  43. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  44. package/.idea/misc.xml +0 -6
  45. package/.idea/modules.xml +0 -8
  46. package/.idea/php-docker-settings.xml +0 -24
  47. package/.idea/php.xml +0 -19
  48. package/.idea/vcs.xml +0 -6
  49. package/.idea/watcherTasks.xml +0 -4
  50. package/.idea/windward-ui-plugin-core.iml +0 -8
  51. package/config/menu.config.json +0 -475
  52. package/coverage/clover.xml +0 -1474
  53. package/coverage/coverage-final.json +0 -199
  54. package/coverage/lcov-report/base.css +0 -224
  55. package/coverage/lcov-report/block-navigation.js +0 -87
  56. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -772
  57. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +0 -625
  58. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +0 -979
  59. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +0 -1171
  60. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +0 -1075
  61. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +0 -331
  62. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +0 -403
  63. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +0 -131
  64. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +0 -514
  65. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -211
  66. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -352
  67. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +0 -667
  68. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +0 -643
  69. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  70. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +0 -976
  71. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -445
  72. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  73. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +0 -562
  74. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +0 -116
  75. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +0 -844
  76. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -1225
  77. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -311
  78. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +0 -961
  79. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +0 -673
  80. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +0 -1144
  81. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +0 -901
  82. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +0 -373
  83. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +0 -607
  84. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +0 -310
  85. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +0 -337
  86. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +0 -586
  87. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +0 -415
  88. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +0 -1183
  89. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +0 -751
  90. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +0 -535
  91. package/coverage/lcov-report/components/Settings/index.html +0 -296
  92. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  93. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -1120
  94. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -415
  95. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  96. package/coverage/lcov-report/components/utils/index.html +0 -131
  97. package/coverage/lcov-report/config/index.html +0 -116
  98. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  99. package/coverage/lcov-report/config/tinymce.config.ts.html +0 -1051
  100. package/coverage/lcov-report/favicon.png +0 -0
  101. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +0 -577
  102. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +0 -178
  103. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -1033
  104. package/coverage/lcov-report/helpers/index.html +0 -146
  105. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  106. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  107. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +0 -94
  108. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +0 -127
  109. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +0 -178
  110. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +0 -100
  111. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +0 -100
  112. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +0 -100
  113. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +0 -296
  114. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +0 -166
  115. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +0 -100
  116. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +0 -106
  117. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +0 -100
  118. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +0 -97
  119. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +0 -115
  120. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +0 -97
  121. package/coverage/lcov-report/i18n/en-US/components/content/index.html +0 -116
  122. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +0 -100
  123. package/coverage/lcov-report/i18n/en-US/components/index.html +0 -116
  124. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +0 -118
  125. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +0 -118
  126. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +0 -97
  127. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +0 -161
  128. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +0 -112
  129. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +0 -94
  130. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +0 -106
  131. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +0 -130
  132. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +0 -142
  133. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +0 -115
  134. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +0 -109
  135. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +0 -94
  136. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +0 -142
  137. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +0 -326
  138. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +0 -178
  139. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +0 -100
  140. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +0 -103
  141. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +0 -145
  142. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +0 -109
  143. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +0 -115
  144. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +0 -121
  145. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +0 -277
  146. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  147. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  148. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +0 -146
  149. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +0 -103
  150. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +0 -146
  151. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +0 -109
  152. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +0 -130
  153. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +0 -175
  154. package/coverage/lcov-report/i18n/en-US/index.html +0 -116
  155. package/coverage/lcov-report/i18n/en-US/index.ts.html +0 -133
  156. package/coverage/lcov-report/i18n/en-US/modules/index.html +0 -116
  157. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +0 -100
  158. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +0 -106
  159. package/coverage/lcov-report/i18n/en-US/pages/index.html +0 -146
  160. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +0 -112
  161. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +0 -112
  162. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +0 -131
  163. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +0 -100
  164. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +0 -94
  165. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +0 -163
  166. package/coverage/lcov-report/i18n/en-US/shared/index.html +0 -176
  167. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +0 -118
  168. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +0 -97
  169. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +0 -130
  170. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +0 -172
  171. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +0 -94
  172. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +0 -127
  173. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +0 -178
  174. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +0 -100
  175. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +0 -100
  176. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +0 -100
  177. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +0 -296
  178. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +0 -166
  179. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +0 -103
  180. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +0 -106
  181. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +0 -103
  182. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +0 -97
  183. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +0 -118
  184. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +0 -100
  185. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +0 -116
  186. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +0 -100
  187. package/coverage/lcov-report/i18n/es-ES/components/index.html +0 -116
  188. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +0 -121
  189. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +0 -118
  190. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +0 -97
  191. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +0 -161
  192. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +0 -112
  193. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +0 -94
  194. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +0 -106
  195. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +0 -130
  196. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +0 -145
  197. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +0 -115
  198. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +0 -109
  199. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +0 -94
  200. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +0 -148
  201. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +0 -326
  202. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +0 -178
  203. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +0 -100
  204. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +0 -106
  205. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +0 -145
  206. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +0 -112
  207. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +0 -115
  208. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +0 -121
  209. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +0 -283
  210. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  211. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  212. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +0 -146
  213. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +0 -103
  214. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +0 -146
  215. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +0 -109
  216. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +0 -130
  217. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +0 -178
  218. package/coverage/lcov-report/i18n/es-ES/index.html +0 -116
  219. package/coverage/lcov-report/i18n/es-ES/index.ts.html +0 -133
  220. package/coverage/lcov-report/i18n/es-ES/modules/index.html +0 -116
  221. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +0 -100
  222. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +0 -106
  223. package/coverage/lcov-report/i18n/es-ES/pages/index.html +0 -146
  224. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +0 -112
  225. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +0 -112
  226. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +0 -131
  227. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +0 -100
  228. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +0 -94
  229. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +0 -163
  230. package/coverage/lcov-report/i18n/es-ES/shared/index.html +0 -176
  231. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +0 -118
  232. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +0 -97
  233. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +0 -130
  234. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +0 -178
  235. package/coverage/lcov-report/i18n/index.html +0 -116
  236. package/coverage/lcov-report/i18n/index.ts.html +0 -118
  237. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +0 -94
  238. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +0 -127
  239. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +0 -178
  240. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +0 -100
  241. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +0 -100
  242. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +0 -100
  243. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +0 -296
  244. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +0 -166
  245. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +0 -103
  246. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +0 -106
  247. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +0 -100
  248. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +0 -97
  249. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +0 -118
  250. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +0 -97
  251. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +0 -116
  252. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +0 -100
  253. package/coverage/lcov-report/i18n/sv-SE/components/index.html +0 -116
  254. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +0 -121
  255. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +0 -118
  256. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +0 -97
  257. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +0 -161
  258. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +0 -112
  259. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +0 -94
  260. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +0 -109
  261. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +0 -130
  262. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +0 -145
  263. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +0 -115
  264. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +0 -109
  265. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +0 -94
  266. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +0 -142
  267. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +0 -326
  268. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +0 -178
  269. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +0 -100
  270. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +0 -103
  271. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +0 -145
  272. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +0 -109
  273. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +0 -115
  274. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +0 -121
  275. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +0 -277
  276. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  277. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  278. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +0 -146
  279. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +0 -103
  280. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +0 -146
  281. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +0 -109
  282. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +0 -130
  283. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +0 -178
  284. package/coverage/lcov-report/i18n/sv-SE/index.html +0 -116
  285. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +0 -133
  286. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +0 -116
  287. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +0 -100
  288. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +0 -106
  289. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +0 -146
  290. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +0 -112
  291. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +0 -109
  292. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +0 -131
  293. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +0 -100
  294. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +0 -94
  295. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +0 -163
  296. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +0 -176
  297. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +0 -118
  298. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +0 -97
  299. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +0 -130
  300. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +0 -172
  301. package/coverage/lcov-report/index.html +0 -806
  302. package/coverage/lcov-report/models/SurveyResult.ts.html +0 -109
  303. package/coverage/lcov-report/models/SurveyTemplate.ts.html +0 -109
  304. package/coverage/lcov-report/models/index.html +0 -131
  305. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +0 -322
  306. package/coverage/lcov-report/pages/plugins/tinymce/index.html +0 -116
  307. package/coverage/lcov-report/prettify.css +0 -1
  308. package/coverage/lcov-report/prettify.js +0 -2
  309. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  310. package/coverage/lcov-report/sorter.js +0 -196
  311. package/coverage/lcov-report/test/index.html +0 -131
  312. package/coverage/lcov-report/test/locales.js.html +0 -370
  313. package/coverage/lcov-report/test/mocks.js.html +0 -532
  314. package/coverage/lcov.info +0 -2753
  315. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  316. package/lib/helpers/GlossaryHelper.js +0 -118
  317. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  318. package/lib/helpers/GlossaryTerm.js +0 -22
  319. package/lib/helpers/MathHelper.d.ts +0 -99
  320. package/lib/helpers/MathHelper.js +0 -194
  321. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  322. package/lib/helpers/tinymce/plugin.js +0 -86
  323. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  324. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  325. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  326. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  327. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  328. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  329. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  330. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  331. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  332. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  333. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  334. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  335. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  336. package/lib/i18n/en-US/components/content/index.js +0 -6
  337. package/lib/i18n/en-US/components/index.d.ts +0 -140
  338. package/lib/i18n/en-US/components/index.js +0 -12
  339. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  340. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  341. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  342. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  343. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  344. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  345. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  346. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  347. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  348. package/lib/i18n/en-US/components/settings/image.js +0 -3
  349. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  350. package/lib/i18n/en-US/components/settings/index.js +0 -14
  351. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  352. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  353. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  354. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  355. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  356. package/lib/i18n/en-US/components/settings/video.js +0 -14
  357. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  358. package/lib/i18n/en-US/components/utils/index.js +0 -6
  359. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  360. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  361. package/lib/i18n/en-US/index.d.ts +0 -197
  362. package/lib/i18n/en-US/index.js +0 -16
  363. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  364. package/lib/i18n/en-US/modules/index.js +0 -6
  365. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  366. package/lib/i18n/en-US/pages/glossary.js +0 -9
  367. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  368. package/lib/i18n/en-US/pages/index.js +0 -8
  369. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  370. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  371. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  372. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  373. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  374. package/lib/i18n/en-US/shared/index.js +0 -10
  375. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  376. package/lib/i18n/en-US/shared/menu.js +0 -5
  377. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  378. package/lib/i18n/en-US/shared/settings.js +0 -16
  379. package/lib/i18n/en-US.d.ts +0 -197
  380. package/lib/i18n/en-US.js +0 -15
  381. package/lib/models/UserFileAsset.d.ts +0 -5
  382. package/lib/models/UserFileAsset.js +0 -37
  383. package/table_styling.scss +0 -58
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## Release [0.21.0] - 2025-08-01
4
+
5
+ * Merged in feature/LE-2045/lableing-fixes (pull request #414)
6
+ * Merged in feature/LE-2009-organizations-custom-color-palle (pull request #410)
7
+ * Merged in feature/LE-2011-open-response-download-field-to- (pull request #411)
8
+ * Merged in feature/LE-1912/sorting-game-gen-2 (pull request #413)
9
+ * Merged in feature/LE-2029-open-response-block-design (pull request #412)
10
+ * Merged in feature/LE-1912/sorting-game-gen (pull request #409)
11
+ * Merged in feature/LE-2011-open-response-download-field-to- (pull request #408)
12
+ * Merged in feature/LE-1924-clickable-icons-ux (pull request #407)
13
+ * Merged in feature/LE-1913/matching-block (pull request #405)
14
+ * Merged in feature/LE-1924-clickable-icons-ux (pull request #404)
15
+ * Merged in feature/LE-2011-open-response-download-field-to- (pull request #406)
16
+ * Merged in bugfix/LE-1928-user-upload-allowed-file-types (pull request #398)
17
+ * Merged release/0.21.0 into feature/LE-2011-open-response-download-field-to-
18
+ * Merge branch 'release/0.21.0' into feature/LE-1913/matching-block
19
+ * Merged in bugfix/LE-1990-video-black-line-on-left-and-rig (pull request #403)
20
+ * Merged in feature/LE-1900-fill-in-the-blank-formatting-sho (pull request #402)
21
+ * Merged release/0.21.0 into feature/LE-1924-clickable-icons-ux
22
+ * Merge branch 'release/0.20.0' into feature/LE-1913/matching-block
23
+
24
+
25
+ ## Release [0.20.0] - 2025-07-01
26
+
27
+ * Merge remote-tracking branch 'origin/release/0.20.0' into release/0.20.0
28
+ * Merge remote-tracking branch 'origin/release/0.20.0' into release/0.20.0
29
+ * Merged in feature/LE-1948/empty-bucket-localization-fix (pull request #397)
30
+ * Merged in LE-1911-email-block-to-cc-and-subject-te (pull request #395)
31
+ * Merged in bugfix/LE-1928-user-upload-allowed-file-types (pull request #391)
32
+ * Merged in bugfix/LE-1941-divider-dashed-line-renders-soli (pull request #396)
33
+ * Merged in feature/LE-1948/empty-bucket (pull request #393)
34
+ * Merged in feature/LE-1906-ai-assistant-button-text (pull request #394)
35
+ * Merged in bugfix/LE-1739-email-block-to-cc-and-subject-te (pull request #392)
36
+ * Merged in bugfix/LE-1917-student-experience-cleanup (pull request #386)
37
+ * Merged release/0.19.0 into bugfix/LE-1917-student-experience-cleanup
38
+
39
+
3
40
  ### Release [0.19.0] created - 2025-05-30
4
41
 
5
42
  ### Release [0.18.0] created - 2025-05-21
@@ -0,0 +1,35 @@
1
+ #!/bin/bash
2
+
3
+ # Checkout the release branch
4
+ git checkout master || exit 1
5
+ git pull origin master || exit 1
6
+
7
+ # Configure Git user for the current repository
8
+ git config user.email "commits-noreply@bitbucket.org"
9
+ git config user.name "bitbucket-pipelines"
10
+
11
+ # Extract version from the last merge commit message. Expecting `Merged in xx.xx.xx`
12
+ VERSION=$(basename "$(git log -1 --pretty=%B | grep -o -E "Merged in (release|hotfix)\/([0-9]+\.[0-9]+\.[0-9]+)")")
13
+
14
+ if [ -z "$VERSION" ]; then
15
+ echo "Error: Could not extract version from release branch name."
16
+ exit 1
17
+ fi
18
+
19
+ echo "Running auto-rc-tag delete for version $VERSION"
20
+
21
+ # Delete all rc tags for the version
22
+ rc_tags=$(git tag --list "$VERSION-rc*")
23
+
24
+ if [ -n "$rc_tags" ]; then
25
+ echo "Deleting rc tags for version $VERSION..."
26
+ for tag in $rc_tags; do
27
+ git tag -d "$tag"
28
+ git push origin ":refs/tags/$tag"
29
+ done
30
+ echo "All rc tags for version $VERSION have been deleted."
31
+ else
32
+ echo "No rc tags found for version $VERSION."
33
+ fi
34
+
35
+ exit 0
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+
3
+ # Checkout the release branch
4
+ git checkout master || exit 1
5
+ git pull origin master || exit 1
6
+
7
+ # Configure Git user for the current repository
8
+ git config user.email "commits-noreply@bitbucket.org"
9
+ git config user.name "bitbucket-pipelines"
10
+
11
+ # Extract version from the last merge commit message. Expecting `Merged in xx.xx.xx`
12
+ VERSION=$(basename "$(git log -1 --pretty=%B | grep -o -E "Merged in (release|hotfix)\/([0-9]+\.[0-9]+\.[0-9]+)")")
13
+
14
+ if [ -z "$VERSION" ]; then
15
+ echo "Error: Could not extract version from release branch name."
16
+ exit 1
17
+ fi
18
+
19
+ echo "Running auto-tag for version $VERSION"
20
+
21
+
22
+ # Fetch the latest state of the repository
23
+ git fetch origin
24
+
25
+ # Get the latest commit on master branch
26
+ LATEST_MASTER_COMMIT=$(git rev-parse origin/master)
27
+ if [ $? -ne 0 ]; then
28
+ echo "Error: Failed to get the latest commit on master"
29
+ exit 1
30
+ fi
31
+
32
+ # Apply the tag to the latest master commit
33
+ git tag -a "$VERSION" -m "Tagging $VERSION" "$LATEST_MASTER_COMMIT"
34
+ if [ $? -ne 0 ]; then
35
+ echo "Error: Failed to tag the commit $LATEST_MASTER_COMMIT with tag $VERSION"
36
+ exit 1
37
+ fi
38
+
39
+ # Push the tag to the repository
40
+ git push origin "$VERSION"
41
+ if [ $? -ne 0 ]; then
42
+ echo "Error: Failed to push the tag $VERSION"
43
+ exit 1
44
+ fi
45
+
46
+ echo "Tag $VERSION successfully applied to commit $LATEST_MASTER_COMMIT and pushed to repository."
47
+
48
+ exit 0
@@ -19,4 +19,6 @@ pipelines:
19
19
  "release/*":
20
20
  import: infrastructure-automation:master:auto-update
21
21
  "hotfix/*":
22
- import: infrastructure-automation:master:auto-update
22
+ import: infrastructure-automation:master:auto-update
23
+ master:
24
+ import: infrastructure-automation:master:auto-publish-release
@@ -19,71 +19,87 @@
19
19
  </p>
20
20
  </v-container>
21
21
  <v-container class="pa-0">
22
- <v-row
22
+ <v-container
23
23
  v-for="(item, itemIndex) in block.metadata.config.items"
24
24
  :key="itemIndex"
25
25
  no-gutters
26
+ role="button"
27
+ class="flex-nowrap mb-3"
26
28
  :class="rowClass(itemIndex)"
27
- class="pa-0"
29
+ @click="item.active = !item.active"
28
30
  >
29
- <v-col cols="8" v-bind="iconColumnAttrs">
30
- <button
31
- class="mr-1"
32
- :class="activatorButtonClass(itemIndex)"
33
- @click="item.active = !item.active"
34
- >
35
- <v-avatar
36
- v-if="item.iconImage && item.fileConfig"
37
- class="clickable--image"
38
- :rounded="
39
- block.metadata.config.display.round_icon
40
- ? '100%'
41
- : '0'
42
- "
43
- size="100%"
44
- >
45
- <ImageAssetViewer
46
- v-if="
47
- item.fileConfig.asset &&
48
- item.fileConfig.asset.file_asset_id
31
+ <v-row class="mb-0 pb-0" no-gutters>
32
+ <v-col cols="auto" class="flex-shrink-0 ma-2 mr-0">
33
+ <button :class="activatorButtonClass(itemIndex)">
34
+ <v-avatar
35
+ v-if="item.iconImage && item.fileConfig"
36
+ class="clickable--image"
37
+ :rounded="
38
+ block.metadata.config.display.round_icon
39
+ ? '100%'
40
+ : '0'
49
41
  "
50
- v-model="item.fileConfig"
51
- :assets="block.assets"
52
- class="image-asset-viewer"
53
- :inherit-sizing="true"
54
- ></ImageAssetViewer>
55
- </v-avatar>
56
- <v-icon
57
- v-else-if="isIcon(item.icon)"
58
- class="clickable--icon black--text"
59
- >{{ item.icon }}</v-icon
60
- >
61
- <span v-else :class="iconClass + ' black--text'">{{
62
- decode(item.icon)
63
- }}</span>
64
- </button>
65
- </v-col>
66
- <v-col cols="12" v-bind="bodyColumnAttrs">
67
- <v-container :class="bodyClass">
68
- <h4
69
- v-if="
70
- block.metadata.config.display.show_title ||
71
- item.active
72
- "
73
- role="button"
74
- @click="item.active = !item.active"
75
- >
76
- {{ item.title }}
77
- </h4>
78
- <v-expand-transition>
79
- <div v-if="item.active">
80
- <v-divider light class="my-4" />
81
- <TextViewer v-model="item.body"></TextViewer>
82
- </div>
83
- </v-expand-transition>
84
- </v-container>
85
- </v-col>
86
- </v-row>
42
+ size="100%"
43
+ >
44
+ <ImageAssetViewer
45
+ v-if="
46
+ item.fileConfig.asset &&
47
+ item.fileConfig.asset.file_asset_id
48
+ "
49
+ v-model="item.fileConfig"
50
+ :assets="block.assets"
51
+ class="image-asset-viewer"
52
+ :inherit-sizing="true"
53
+ ></ImageAssetViewer>
54
+ </v-avatar>
55
+ <v-icon
56
+ v-else-if="isIcon(item.icon)"
57
+ class="clickable--icon black--text"
58
+ >{{ item.icon }}</v-icon
59
+ >
60
+ <span v-else :class="iconClass + ' black--text'">{{
61
+ decode(item.icon)
62
+ }}</span>
63
+ </button>
64
+ </v-col>
65
+ <v-col style="min-width: 0" class="ma-3 mt-5">
66
+ <v-row :class="clickableContainerClass">
67
+ <v-col style="min-width: 0">
68
+ <h3
69
+ v-if="
70
+ block.metadata.config.display
71
+ .show_title || item.active
72
+ "
73
+ class="wrap-text"
74
+ >
75
+ {{ item.title }}
76
+ </h3>
77
+ </v-col>
78
+ <v-col cols="auto" class="d-flex justify-end">
79
+ <v-icon v-if="!item.active" class="icon-chevron"
80
+ >mdi-chevron-down</v-icon
81
+ >
82
+ <v-icon v-else class="icon-chevron"
83
+ >mdi-chevron-up</v-icon
84
+ >
85
+ </v-col>
86
+ </v-row>
87
+ <div v-if="item.active && !isMobile" class="pr-8">
88
+ <TextViewer
89
+ v-model="item.body"
90
+ class="content-body"
91
+ />
92
+ </div>
93
+ </v-col>
94
+ </v-row>
95
+ <v-row
96
+ v-if="isMobile && item.active"
97
+ cols="12"
98
+ class="px-6 pb-4"
99
+ >
100
+ <TextViewer v-model="item.body" class="content-body" />
101
+ </v-row>
102
+ </v-container>
87
103
  </v-container>
88
104
  </div>
89
105
  </template>
@@ -128,46 +144,9 @@ export default {
128
144
  ) {
129
145
  classes += ' ' + this.itemColor(itemIndex) + ' black--text'
130
146
  }
131
- if (window.innerWidth <= 600) {
132
- classes += 'd-flex justify-center '
133
- }
134
147
  return classes
135
148
  }
136
149
  },
137
- iconColumnAttrs() {
138
- if (this.block.metadata.config.display.large_icon) {
139
- return {
140
- xl: '3',
141
- lg: '3',
142
- md: '4',
143
- sm: '4',
144
- }
145
- } else {
146
- return {
147
- xl: '2',
148
- lg: '3',
149
- md: '3',
150
- sm: '3',
151
- }
152
- }
153
- },
154
- bodyColumnAttrs() {
155
- if (this.block.metadata.config.display.large_icon) {
156
- return {
157
- xl: '9',
158
- lg: '8',
159
- md: '8',
160
- sm: '8',
161
- }
162
- } else {
163
- return {
164
- xl: '10',
165
- lg: '9',
166
- md: '9',
167
- sm: '9',
168
- }
169
- }
170
- },
171
150
  iconClass() {
172
151
  let classes = 'clickable--text'
173
152
  if (
@@ -198,12 +177,12 @@ export default {
198
177
  // If autocolor is enabled then calculate the color on the index
199
178
  if (this.block.metadata.config.display.autocolor) {
200
179
  const colors = [
201
- 'light-blue lighten-4',
202
- 'light-green lighten-4',
203
- 'yellow lighten-4',
204
- 'orange lighten-3',
205
- 'red lighten-3',
206
- 'deep-purple lighten-3',
180
+ 'extended-system-9',
181
+ 'extended-system-7',
182
+ 'extended-system-6',
183
+ 'extended-system-5',
184
+ 'extended-system-4',
185
+ 'extended-system-10',
207
186
  ]
208
187
  let colorIndex = itemIndex
209
188
  // If we exceed the above list of colors loop back around to the beginning
@@ -230,12 +209,15 @@ export default {
230
209
  }
231
210
  }
232
211
  },
233
- bodyClass() {
234
- if (window.innerWidth <= 665) {
235
- return ''
236
- } else {
237
- return 'ml-4'
212
+ isMobile() {
213
+ return window.innerWidth <= 400
214
+ },
215
+ clickableContainerClass() {
216
+ let classList = 'align-start'
217
+ if (window.innerWidth > 400) {
218
+ classList += ' mb-3'
238
219
  }
220
+ return classList
239
221
  },
240
222
  },
241
223
  beforeMount() {
@@ -277,11 +259,6 @@ export default {
277
259
  isIcon(str) {
278
260
  return str && _.isString(str) && str.indexOf('mdi-') === 0
279
261
  },
280
- getImagePublicUrl(asset) {
281
- const foundAsset = this.resolveAsset(asset)
282
-
283
- return _.get(foundAsset, 'asset.public_url', null)
284
- },
285
262
  },
286
263
  }
287
264
  </script>
@@ -291,9 +268,8 @@ export default {
291
268
  }
292
269
  button.button-icon {
293
270
  border-width: 4px;
294
- width: 100% !important;
295
- height: auto !important;
296
271
  aspect-ratio: 1 / 1;
272
+ border-radius: 16px;
297
273
  }
298
274
 
299
275
  button.button-icon.button-icon--outline {
@@ -307,16 +283,20 @@ button.button-icon.button-icon--rounded {
307
283
  }
308
284
 
309
285
  .button-icon--normal {
286
+ width: 5rem;
287
+ height: 5rem;
310
288
  .clickable--icon {
311
- font-size: 5rem;
289
+ font-size: 3rem;
312
290
  }
313
291
  .clickable--text {
314
292
  font-size: 1.5rem;
315
293
  }
316
294
  }
317
295
  .button-icon--large {
296
+ width: 7rem;
297
+ height: 7rem;
318
298
  .clickable--icon {
319
- font-size: 9rem;
299
+ font-size: 5rem;
320
300
  }
321
301
  .clickable--text {
322
302
  font-size: 2.5rem;
@@ -326,4 +306,21 @@ button.button-icon.button-icon--rounded {
326
306
  height: inherit;
327
307
  width: inherit;
328
308
  }
309
+
310
+ .content-body {
311
+ overflow-wrap: break-word;
312
+ word-break: break-word;
313
+ }
314
+ .icon-chevron {
315
+ color: inherit;
316
+ }
317
+ h3 {
318
+ font-size: 1.2rem;
319
+ font-weight: 500;
320
+ }
321
+ .wrap-text {
322
+ word-wrap: break-word;
323
+ overflow-wrap: break-word;
324
+ white-space: normal;
325
+ }
329
326
  </style>
@@ -7,13 +7,7 @@
7
7
  "
8
8
  >
9
9
  <v-col cols="12" class="pa-0">
10
- <h2
11
- v-if="
12
- block.metadata.config.title &&
13
- block.metadata.config.display_title
14
- "
15
- tabindex="0"
16
- >
10
+ <h2 v-if="block.metadata.config.title" tabindex="0">
17
11
  {{ block.metadata.config.title }}
18
12
  </h2>
19
13
  <p
@@ -27,8 +21,8 @@
27
21
  </v-row>
28
22
  <v-row>
29
23
  <v-expansion-panels
30
- :key="expansionPanelKey"
31
24
  v-model="selectedPanels"
25
+ :key="expansionPanelKey"
32
26
  accordion
33
27
  >
34
28
  <v-container
@@ -130,23 +124,24 @@
130
124
  ></v-col>
131
125
  <v-col
132
126
  class="div-details"
133
- v-if="item.to || item.cc"
127
+ :style="{ color: detailsTextColor }"
128
+ v-if="item.to || item.cc || item.subject"
134
129
  >
135
- <div class="div-details-to">
130
+ <div v-if="item.to" class="div-details-to">
136
131
  {{
137
132
  $t(
138
133
  'windward.core.components.content.blocks.email.to'
139
134
  )
140
135
  }}: {{ item.to }}
141
136
  </div>
142
- <div class="div-details-cc">
137
+ <div v-if="item.cc" class="div-details-cc">
143
138
  {{
144
139
  $t(
145
140
  'windward.core.components.content.blocks.email.cc'
146
141
  )
147
142
  }}: {{ item.cc }}
148
143
  </div>
149
- <div class="div-details-cc">
144
+ <div v-if="item.subject" class="div-details-subject">
150
145
  {{
151
146
  $t(
152
147
  'windward.core.components.content.blocks.email.subject'
@@ -279,6 +274,16 @@ export default {
279
274
  selectedPanels: 0,
280
275
  }
281
276
  },
277
+ computed: {
278
+ detailsTextColor() {
279
+ // Use a different AAA compliant color based on the theme
280
+ if (this.$vuetify.theme.dark) {
281
+ return '#A8A8A8'
282
+ } else {
283
+ return '#595959'
284
+ }
285
+ },
286
+ },
282
287
  watch: {
283
288
  render(newValue) {
284
289
  if (newValue) {
@@ -338,12 +343,12 @@ export default {
338
343
  font-size: 12px;
339
344
  }
340
345
  .div-details {
341
- color: grey;
342
- font-size: 10px;
346
+ font-size: 14px;
343
347
  margin-top: -25px;
344
348
  }
345
- .div-details-cc {
346
- margin-top: -9px;
349
+ .div-details-cc,
350
+ .div-details-subject {
351
+ margin-top: -5px;
347
352
  }
348
353
  .span-details {
349
354
  font-weight: bold;
@@ -43,9 +43,11 @@ export default {
43
43
  </script>
44
44
  <style>
45
45
  .solid {
46
+ border: none;
46
47
  border-bottom: solid 1px var(--v-primary-base);
47
48
  }
48
49
  .dashed {
50
+ border: none;
49
51
  border-bottom: dashed 1px var(--v-primary-base);
50
52
  }
51
53
  </style>
@@ -34,13 +34,21 @@ import UserContentBlockState from '~/models/UserContentBlockState'
34
34
 
35
35
  export default {
36
36
  name: 'ContentBlockOpenResponseCollate',
37
- extends: BaseContentBlock,
38
37
  components: {},
38
+ extends: BaseContentBlock,
39
39
  data() {
40
40
  return {
41
41
  saveState: false, // Override the base block to disable state saving
42
42
  }
43
43
  },
44
+ computed: {
45
+ ...mapGetters({
46
+ organization: 'organization/get',
47
+ course: 'course/get',
48
+ enrollment: 'enrollment/get',
49
+ content: 'content/get',
50
+ }),
51
+ },
44
52
  beforeMount() {
45
53
  if (_.isEmpty(this.block.body)) {
46
54
  this.block.body = ''
@@ -59,20 +67,10 @@ export default {
59
67
  this.block.metadata.config.include_prompts = false
60
68
  }
61
69
  },
62
- computed: {
63
- ...mapGetters({
64
- organization: 'organization/get',
65
- course: 'course/get',
66
- enrollment: 'enrollment/get',
67
- content: 'content/get',
68
- }),
69
- },
70
- watch: {},
71
- mounted() {},
72
70
  methods: {
73
71
  async onCollate() {
74
72
  try {
75
- let userState = await UserContentBlockState.where({
73
+ const userState = await UserContentBlockState.where({
76
74
  'metadata->block->tag': 'plugin-core-open-response',
77
75
  course_user_id: this.enrollment.id,
78
76
  })
@@ -98,14 +96,14 @@ export default {
98
96
  '</strong><hr />'
99
97
  }
100
98
  if (!_.isEmpty(state.metadata.response)) {
101
- collated += '\n' + state.metadata.response
99
+ collated += '\n' + state.metadata.response + '<br>'
102
100
  } else {
103
101
  collated +=
104
102
  '\n<p>' +
105
103
  this.$t(
106
104
  'windward.core.components.content.blocks.open_response_collate.no_response'
107
105
  ) +
108
- '</p>'
106
+ '</p><br>'
109
107
  }
110
108
  })
111
109
  let filename = this.block.metadata.config.filename
@@ -123,7 +121,24 @@ export default {
123
121
  filename = filename.replaceAll(/\s+/gi, '_')
124
122
  filename = filename.replaceAll(/[^a-z0-9\-\_]/gi, '')
125
123
  }
126
-
124
+ if (!_.isEmpty(this.block.metadata.config.additional_text)) {
125
+ if (
126
+ this.block.metadata.config.additional_text_alignment ===
127
+ 'top'
128
+ ) {
129
+ collated =
130
+ this.block.metadata.config.additional_text +
131
+ '<br><br><br>' +
132
+ collated
133
+ } else if (
134
+ this.block.metadata.config.additional_text_alignment ===
135
+ 'bottom'
136
+ ) {
137
+ collated +=
138
+ '<br><br><br>' +
139
+ this.block.metadata.config.additional_text
140
+ }
141
+ }
127
142
  this.generateDocument(collated, filename)
128
143
  } catch (e) {
129
144
  // eslint-disable-next-line no-console