@digabi/exam-engine-core 23.0.4 → 23.1.1-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (785) hide show
  1. package/dist/__tests__/playwright/DNDAnswerContainer.test.d.ts +2 -0
  2. package/dist/__tests__/playwright/DNDAnswerContainer.test.d.ts.map +1 -0
  3. package/dist/__tests__/playwright/DNDAnswerContainer.test.js +77 -0
  4. package/dist/__tests__/playwright/DNDAnswerContainer.test.js.map +1 -0
  5. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.d.ts +2 -0
  6. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.d.ts.map +1 -0
  7. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.js +77 -0
  8. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.js.map +1 -0
  9. package/dist/__tests__/playwright/stories/DNDAnswerContainer.story.d.ts +10 -0
  10. package/dist/__tests__/playwright/stories/DNDAnswerContainer.story.d.ts.map +1 -0
  11. package/dist/__tests__/playwright/stories/DNDAnswerContainer.story.js +21 -0
  12. package/dist/__tests__/playwright/stories/DNDAnswerContainer.story.js.map +1 -0
  13. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.d.ts +10 -0
  14. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.d.ts.map +1 -0
  15. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.js +21 -0
  16. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.js.map +1 -0
  17. package/dist/__tests__/playwright/template/index.d.ts +0 -1
  18. package/dist/__tests__/playwright/template/index.d.ts.map +1 -1
  19. package/dist/__tests__/playwright/template/index.js +3 -2
  20. package/dist/__tests__/playwright/template/index.js.map +1 -1
  21. package/dist/__tests__/playwright/utils/ComponentWrapper.d.ts +9 -0
  22. package/dist/__tests__/playwright/utils/ComponentWrapper.d.ts.map +1 -0
  23. package/dist/__tests__/playwright/utils/ComponentWrapper.js +26 -0
  24. package/dist/__tests__/playwright/utils/ComponentWrapper.js.map +1 -0
  25. package/dist/__tests__/playwright/utils/ExamComponentWrapper.d.ts +9 -0
  26. package/dist/__tests__/playwright/utils/ExamComponentWrapper.d.ts.map +1 -0
  27. package/dist/__tests__/playwright/utils/ExamComponentWrapper.js +26 -0
  28. package/dist/__tests__/playwright/utils/ExamComponentWrapper.js.map +1 -0
  29. package/dist/__tests__/results/ResultsContext.test.js +1 -1
  30. package/dist/__tests__/results/ResultsContext.test.js.map +1 -1
  31. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  32. package/dist/components/context/QuestionContext.js +1 -1
  33. package/dist/components/context/QuestionContext.js.map +1 -1
  34. package/dist/components/exam/AllDNDOptions.d.ts +9 -0
  35. package/dist/components/exam/AllDNDOptions.d.ts.map +1 -0
  36. package/dist/components/exam/AllDNDOptions.js +12 -0
  37. package/dist/components/exam/AllDNDOptions.js.map +1 -0
  38. package/dist/components/exam/DNDAllOptions.d.ts +9 -0
  39. package/dist/components/exam/DNDAllOptions.d.ts.map +1 -0
  40. package/dist/components/exam/DNDAllOptions.js +14 -0
  41. package/dist/components/exam/DNDAllOptions.js.map +1 -0
  42. package/dist/components/exam/DNDAnswer.d.ts +20 -0
  43. package/dist/components/exam/DNDAnswer.d.ts.map +1 -0
  44. package/dist/components/exam/DNDAnswer.js +7 -0
  45. package/dist/components/exam/DNDAnswer.js.map +1 -0
  46. package/dist/components/exam/DNDAnswerContainer.d.ts +9 -0
  47. package/dist/components/exam/DNDAnswerContainer.d.ts.map +1 -0
  48. package/dist/components/exam/DNDAnswerContainer.js +128 -0
  49. package/dist/components/exam/DNDAnswerContainer.js.map +1 -0
  50. package/dist/components/exam/DNDAnswerOption.d.ts +4 -0
  51. package/dist/components/exam/DNDAnswerOption.d.ts.map +1 -0
  52. package/dist/components/exam/DNDAnswerOption.js +18 -0
  53. package/dist/components/exam/DNDAnswerOption.js.map +1 -0
  54. package/dist/components/exam/DNDAnswerOptionDraggable.d.ts +4 -0
  55. package/dist/components/exam/DNDAnswerOptionDraggable.d.ts.map +1 -0
  56. package/dist/components/exam/DNDAnswerOptionDraggable.js +18 -0
  57. package/dist/components/exam/DNDAnswerOptionDraggable.js.map +1 -0
  58. package/dist/components/exam/Exam.d.ts +1 -0
  59. package/dist/components/exam/Exam.d.ts.map +1 -1
  60. package/dist/components/exam/Exam.js +3 -1
  61. package/dist/components/exam/Exam.js.map +1 -1
  62. package/dist/components/results/AudioPlaceholder.d.ts +4 -0
  63. package/dist/components/results/AudioPlaceholder.d.ts.map +1 -0
  64. package/dist/components/results/AudioPlaceholder.js +25 -0
  65. package/dist/components/results/AudioPlaceholder.js.map +1 -0
  66. package/dist/components/results/CorrectDNDAnswers.d.ts +7 -0
  67. package/dist/components/results/CorrectDNDAnswers.d.ts.map +1 -0
  68. package/dist/components/results/CorrectDNDAnswers.js +19 -0
  69. package/dist/components/results/CorrectDNDAnswers.js.map +1 -0
  70. package/dist/components/results/DNDAnswer.d.ts +12 -0
  71. package/dist/components/results/DNDAnswer.d.ts.map +1 -0
  72. package/dist/components/results/DNDAnswer.js +21 -0
  73. package/dist/components/results/DNDAnswer.js.map +1 -0
  74. package/dist/components/results/DNDAnswerContainer.d.ts +4 -0
  75. package/dist/components/results/DNDAnswerContainer.d.ts.map +1 -0
  76. package/dist/components/results/DNDAnswerContainer.js +35 -0
  77. package/dist/components/results/DNDAnswerContainer.js.map +1 -0
  78. package/dist/components/results/DNDAnswerOption.d.ts +7 -0
  79. package/dist/components/results/DNDAnswerOption.d.ts.map +1 -0
  80. package/dist/components/results/DNDAnswerOption.js +9 -0
  81. package/dist/components/results/DNDAnswerOption.js.map +1 -0
  82. package/dist/components/results/Results.d.ts.map +1 -1
  83. package/dist/components/results/Results.js +5 -1
  84. package/dist/components/results/Results.js.map +1 -1
  85. package/dist/components/results/internal/QuestionScoresContainer.d.ts.map +1 -1
  86. package/dist/components/results/internal/QuestionScoresContainer.js +2 -1
  87. package/dist/components/results/internal/QuestionScoresContainer.js.map +1 -1
  88. package/dist/components/shared/DNDAnswerCommon.d.ts +13 -0
  89. package/dist/components/shared/DNDAnswerCommon.d.ts.map +1 -0
  90. package/dist/components/shared/DNDAnswerCommon.js +30 -0
  91. package/dist/components/shared/DNDAnswerCommon.js.map +1 -0
  92. package/dist/components/shared/DNDAnswerDroppable.d.ts +13 -0
  93. package/dist/components/shared/DNDAnswerDroppable.d.ts.map +1 -0
  94. package/dist/components/shared/DNDAnswerDroppable.js +30 -0
  95. package/dist/components/shared/DNDAnswerDroppable.js.map +1 -0
  96. package/dist/components/shared/DNDAnswerOptionCommon.d.ts +7 -0
  97. package/dist/components/shared/DNDAnswerOptionCommon.d.ts.map +1 -0
  98. package/dist/components/shared/DNDAnswerOptionCommon.js +14 -0
  99. package/dist/components/shared/DNDAnswerOptionCommon.js.map +1 -0
  100. package/dist/components/shared/DNDDroppable.d.ts +12 -0
  101. package/dist/components/shared/DNDDroppable.d.ts.map +1 -0
  102. package/dist/components/shared/DNDDroppable.js +27 -0
  103. package/dist/components/shared/DNDDroppable.js.map +1 -0
  104. package/dist/components/shared/DNDTitleAndAnswerCommon.d.ts +13 -0
  105. package/dist/components/shared/DNDTitleAndAnswerCommon.d.ts.map +1 -0
  106. package/dist/components/shared/DNDTitleAndAnswerCommon.js +27 -0
  107. package/dist/components/shared/DNDTitleAndAnswerCommon.js.map +1 -0
  108. package/dist/components/shared/DNDTitleAndDroppable.d.ts +11 -0
  109. package/dist/components/shared/DNDTitleAndDroppable.d.ts.map +1 -0
  110. package/dist/components/shared/DNDTitleAndDroppable.js +55 -0
  111. package/dist/components/shared/DNDTitleAndDroppable.js.map +1 -0
  112. package/dist/components/shared/internal/RestrictedAudioPlayer.d.ts +1 -0
  113. package/dist/components/shared/internal/RestrictedAudioPlayer.d.ts.map +1 -1
  114. package/dist/components/shared/internal/RestrictedAudioPlayer.js +1 -1
  115. package/dist/components/shared/internal/RestrictedAudioPlayer.js.map +1 -1
  116. package/dist/dom-utils.d.ts.map +1 -1
  117. package/dist/dom-utils.js +1 -1
  118. package/dist/dom-utils.js.map +1 -1
  119. package/dist/i18n/fi-FI.d.ts +8 -0
  120. package/dist/i18n/fi-FI.d.ts.map +1 -1
  121. package/dist/i18n/fi-FI.js +8 -0
  122. package/dist/i18n/fi-FI.js.map +1 -1
  123. package/dist/i18n/sv-FI.d.ts.map +1 -1
  124. package/dist/i18n/sv-FI.js +8 -0
  125. package/dist/i18n/sv-FI.js.map +1 -1
  126. package/dist/main-bundle.js +10 -10
  127. package/dist/main.css +1 -1
  128. package/dist/parser/parseExam.js +1 -1
  129. package/dist/parser/parseExam.js.map +1 -1
  130. package/dist/parser/parseExamStructure.d.ts +8 -1
  131. package/dist/parser/parseExamStructure.d.ts.map +1 -1
  132. package/dist/parser/parseExamStructure.js +1 -1
  133. package/dist/parser/parseExamStructure.js.map +1 -1
  134. package/dist/validateAnswers.js +1 -0
  135. package/dist/validateAnswers.js.map +1 -1
  136. package/package.json +3 -3
  137. package/dist/components/exam/ExamineExam.d.ts +0 -5
  138. package/dist/components/exam/ExamineExam.d.ts.map +0 -1
  139. package/dist/components/exam/ExamineExam.js +0 -20
  140. package/dist/components/exam/ExamineExam.js.map +0 -1
  141. package/dist/src/components/AnswerToolbar.d.ts +0 -18
  142. package/dist/src/components/AnswerToolbar.d.ts.map +0 -1
  143. package/dist/src/components/AnswerToolbar.js +0 -36
  144. package/dist/src/components/AnswerToolbar.js.map +0 -1
  145. package/dist/src/components/AnsweringInstructions.d.ts +0 -12
  146. package/dist/src/components/AnsweringInstructions.d.ts.map +0 -1
  147. package/dist/src/components/AnsweringInstructions.js +0 -24
  148. package/dist/src/components/AnsweringInstructions.js.map +0 -1
  149. package/dist/src/components/DocumentTitle.d.ts +0 -5
  150. package/dist/src/components/DocumentTitle.d.ts.map +0 -1
  151. package/dist/src/components/DocumentTitle.js +0 -13
  152. package/dist/src/components/DocumentTitle.js.map +0 -1
  153. package/dist/src/components/NotificationIcon.d.ts +0 -4
  154. package/dist/src/components/NotificationIcon.d.ts.map +0 -1
  155. package/dist/src/components/NotificationIcon.js +0 -6
  156. package/dist/src/components/NotificationIcon.js.map +0 -1
  157. package/dist/src/components/RenderChildNodes.d.ts +0 -5
  158. package/dist/src/components/RenderChildNodes.d.ts.map +0 -1
  159. package/dist/src/components/RenderChildNodes.js +0 -7
  160. package/dist/src/components/RenderChildNodes.js.map +0 -1
  161. package/dist/src/components/RenderExamElements.d.ts +0 -6
  162. package/dist/src/components/RenderExamElements.d.ts.map +0 -1
  163. package/dist/src/components/RenderExamElements.js +0 -6
  164. package/dist/src/components/RenderExamElements.js.map +0 -1
  165. package/dist/src/components/RenderIf.d.ts +0 -4
  166. package/dist/src/components/RenderIf.d.ts.map +0 -1
  167. package/dist/src/components/RenderIf.js +0 -8
  168. package/dist/src/components/RenderIf.js.map +0 -1
  169. package/dist/src/components/ScreenReaderOnly.d.ts +0 -5
  170. package/dist/src/components/ScreenReaderOnly.d.ts.map +0 -1
  171. package/dist/src/components/ScreenReaderOnly.js +0 -3
  172. package/dist/src/components/ScreenReaderOnly.js.map +0 -1
  173. package/dist/src/components/SectionElement.d.ts +0 -4
  174. package/dist/src/components/SectionElement.d.ts.map +0 -1
  175. package/dist/src/components/SectionElement.js +0 -8
  176. package/dist/src/components/SectionElement.js.map +0 -1
  177. package/dist/src/components/attachments/Attachment.d.ts +0 -4
  178. package/dist/src/components/attachments/Attachment.d.ts.map +0 -1
  179. package/dist/src/components/attachments/Attachment.js +0 -8
  180. package/dist/src/components/attachments/Attachment.js.map +0 -1
  181. package/dist/src/components/attachments/AttachmentTitle.d.ts +0 -6
  182. package/dist/src/components/attachments/AttachmentTitle.d.ts.map +0 -1
  183. package/dist/src/components/attachments/AttachmentTitle.js +0 -12
  184. package/dist/src/components/attachments/AttachmentTitle.js.map +0 -1
  185. package/dist/src/components/attachments/Attachments.d.ts +0 -5
  186. package/dist/src/components/attachments/Attachments.d.ts.map +0 -1
  187. package/dist/src/components/attachments/Attachments.js +0 -55
  188. package/dist/src/components/attachments/Attachments.js.map +0 -1
  189. package/dist/src/components/attachments/ExternalMaterial.d.ts +0 -9
  190. package/dist/src/components/attachments/ExternalMaterial.d.ts.map +0 -1
  191. package/dist/src/components/attachments/ExternalMaterial.js +0 -46
  192. package/dist/src/components/attachments/ExternalMaterial.js.map +0 -1
  193. package/dist/src/components/attachments/Question.d.ts +0 -4
  194. package/dist/src/components/attachments/Question.d.ts.map +0 -1
  195. package/dist/src/components/attachments/Question.js +0 -16
  196. package/dist/src/components/attachments/Question.js.map +0 -1
  197. package/dist/src/components/attachments/QuestionTitle.d.ts +0 -6
  198. package/dist/src/components/attachments/QuestionTitle.d.ts.map +0 -1
  199. package/dist/src/components/attachments/QuestionTitle.js +0 -15
  200. package/dist/src/components/attachments/QuestionTitle.js.map +0 -1
  201. package/dist/src/components/context/AnnotationProvider.d.ts +0 -16
  202. package/dist/src/components/context/AnnotationProvider.d.ts.map +0 -1
  203. package/dist/src/components/context/AnnotationProvider.js +0 -35
  204. package/dist/src/components/context/AnnotationProvider.js.map +0 -1
  205. package/dist/src/components/context/AttachmentContext.d.ts +0 -13
  206. package/dist/src/components/context/AttachmentContext.d.ts.map +0 -1
  207. package/dist/src/components/context/AttachmentContext.js +0 -12
  208. package/dist/src/components/context/AttachmentContext.js.map +0 -1
  209. package/dist/src/components/context/CommonExamContext.d.ts +0 -22
  210. package/dist/src/components/context/CommonExamContext.d.ts.map +0 -1
  211. package/dist/src/components/context/CommonExamContext.js +0 -28
  212. package/dist/src/components/context/CommonExamContext.js.map +0 -1
  213. package/dist/src/components/context/ExamContext.d.ts +0 -9
  214. package/dist/src/components/context/ExamContext.d.ts.map +0 -1
  215. package/dist/src/components/context/ExamContext.js +0 -11
  216. package/dist/src/components/context/ExamContext.js.map +0 -1
  217. package/dist/src/components/context/IsInSidebarContext.d.ts +0 -6
  218. package/dist/src/components/context/IsInSidebarContext.d.ts.map +0 -1
  219. package/dist/src/components/context/IsInSidebarContext.js +0 -3
  220. package/dist/src/components/context/IsInSidebarContext.js.map +0 -1
  221. package/dist/src/components/context/QuestionContext.d.ts +0 -14
  222. package/dist/src/components/context/QuestionContext.d.ts.map +0 -1
  223. package/dist/src/components/context/QuestionContext.js +0 -27
  224. package/dist/src/components/context/QuestionContext.js.map +0 -1
  225. package/dist/src/components/context/ResultsContext.d.ts +0 -17
  226. package/dist/src/components/context/ResultsContext.d.ts.map +0 -1
  227. package/dist/src/components/context/ResultsContext.js +0 -69
  228. package/dist/src/components/context/ResultsContext.js.map +0 -1
  229. package/dist/src/components/context/SectionContext.d.ts +0 -12
  230. package/dist/src/components/context/SectionContext.d.ts.map +0 -1
  231. package/dist/src/components/context/SectionContext.js +0 -21
  232. package/dist/src/components/context/SectionContext.js.map +0 -1
  233. package/dist/src/components/context/TOCContext.d.ts +0 -7
  234. package/dist/src/components/context/TOCContext.d.ts.map +0 -1
  235. package/dist/src/components/context/TOCContext.js +0 -3
  236. package/dist/src/components/context/TOCContext.js.map +0 -1
  237. package/dist/src/components/context/withContext.d.ts +0 -3
  238. package/dist/src/components/context/withContext.d.ts.map +0 -1
  239. package/dist/src/components/context/withContext.js +0 -12
  240. package/dist/src/components/context/withContext.js.map +0 -1
  241. package/dist/src/components/exam/Attachment.d.ts +0 -4
  242. package/dist/src/components/exam/Attachment.d.ts.map +0 -1
  243. package/dist/src/components/exam/Attachment.js +0 -8
  244. package/dist/src/components/exam/Attachment.js.map +0 -1
  245. package/dist/src/components/exam/ChoiceAnswer.d.ts +0 -5
  246. package/dist/src/components/exam/ChoiceAnswer.d.ts.map +0 -1
  247. package/dist/src/components/exam/ChoiceAnswer.js +0 -53
  248. package/dist/src/components/exam/ChoiceAnswer.js.map +0 -1
  249. package/dist/src/components/exam/DropdownAnswer.d.ts +0 -5
  250. package/dist/src/components/exam/DropdownAnswer.d.ts.map +0 -1
  251. package/dist/src/components/exam/DropdownAnswer.js +0 -101
  252. package/dist/src/components/exam/DropdownAnswer.js.map +0 -1
  253. package/dist/src/components/exam/Exam.d.ts +0 -48
  254. package/dist/src/components/exam/Exam.d.ts.map +0 -1
  255. package/dist/src/components/exam/Exam.js +0 -195
  256. package/dist/src/components/exam/Exam.js.map +0 -1
  257. package/dist/src/components/exam/ExamFooter.d.ts +0 -6
  258. package/dist/src/components/exam/ExamFooter.d.ts.map +0 -1
  259. package/dist/src/components/exam/ExamFooter.js +0 -6
  260. package/dist/src/components/exam/ExamFooter.js.map +0 -1
  261. package/dist/src/components/exam/ExamInstruction.d.ts +0 -6
  262. package/dist/src/components/exam/ExamInstruction.d.ts.map +0 -1
  263. package/dist/src/components/exam/ExamInstruction.js +0 -6
  264. package/dist/src/components/exam/ExamInstruction.js.map +0 -1
  265. package/dist/src/components/exam/ExternalMaterial.d.ts +0 -10
  266. package/dist/src/components/exam/ExternalMaterial.d.ts.map +0 -1
  267. package/dist/src/components/exam/ExternalMaterial.js +0 -33
  268. package/dist/src/components/exam/ExternalMaterial.js.map +0 -1
  269. package/dist/src/components/exam/GoToExamineAnswersButton.d.ts +0 -5
  270. package/dist/src/components/exam/GoToExamineAnswersButton.d.ts.map +0 -1
  271. package/dist/src/components/exam/GoToExamineAnswersButton.js +0 -18
  272. package/dist/src/components/exam/GoToExamineAnswersButton.js.map +0 -1
  273. package/dist/src/components/exam/Hints.d.ts +0 -5
  274. package/dist/src/components/exam/Hints.d.ts.map +0 -1
  275. package/dist/src/components/exam/Hints.js +0 -31
  276. package/dist/src/components/exam/Hints.js.map +0 -1
  277. package/dist/src/components/exam/Question.d.ts +0 -8
  278. package/dist/src/components/exam/Question.d.ts.map +0 -1
  279. package/dist/src/components/exam/Question.js +0 -75
  280. package/dist/src/components/exam/Question.js.map +0 -1
  281. package/dist/src/components/exam/QuestionInstruction.d.ts +0 -6
  282. package/dist/src/components/exam/QuestionInstruction.d.ts.map +0 -1
  283. package/dist/src/components/exam/QuestionInstruction.js +0 -8
  284. package/dist/src/components/exam/QuestionInstruction.js.map +0 -1
  285. package/dist/src/components/exam/QuestionTitle.d.ts +0 -5
  286. package/dist/src/components/exam/QuestionTitle.d.ts.map +0 -1
  287. package/dist/src/components/exam/QuestionTitle.js +0 -26
  288. package/dist/src/components/exam/QuestionTitle.js.map +0 -1
  289. package/dist/src/components/exam/RichTextAnswer.d.ts +0 -41
  290. package/dist/src/components/exam/RichTextAnswer.d.ts.map +0 -1
  291. package/dist/src/components/exam/RichTextAnswer.js +0 -79
  292. package/dist/src/components/exam/RichTextAnswer.js.map +0 -1
  293. package/dist/src/components/exam/Section.d.ts +0 -4
  294. package/dist/src/components/exam/Section.d.ts.map +0 -1
  295. package/dist/src/components/exam/Section.js +0 -49
  296. package/dist/src/components/exam/Section.js.map +0 -1
  297. package/dist/src/components/exam/SectionInstruction.d.ts +0 -6
  298. package/dist/src/components/exam/SectionInstruction.d.ts.map +0 -1
  299. package/dist/src/components/exam/SectionInstruction.js +0 -6
  300. package/dist/src/components/exam/SectionInstruction.js.map +0 -1
  301. package/dist/src/components/exam/SectionTitle.d.ts +0 -6
  302. package/dist/src/components/exam/SectionTitle.d.ts.map +0 -1
  303. package/dist/src/components/exam/SectionTitle.js +0 -30
  304. package/dist/src/components/exam/SectionTitle.js.map +0 -1
  305. package/dist/src/components/exam/StudentNameHeader.d.ts +0 -8
  306. package/dist/src/components/exam/StudentNameHeader.d.ts.map +0 -1
  307. package/dist/src/components/exam/StudentNameHeader.js +0 -3
  308. package/dist/src/components/exam/StudentNameHeader.js.map +0 -1
  309. package/dist/src/components/exam/TextAnswer.d.ts +0 -6
  310. package/dist/src/components/exam/TextAnswer.d.ts.map +0 -1
  311. package/dist/src/components/exam/TextAnswer.js +0 -20
  312. package/dist/src/components/exam/TextAnswer.js.map +0 -1
  313. package/dist/src/components/exam/UndoHistoryEntry.d.ts +0 -19
  314. package/dist/src/components/exam/UndoHistoryEntry.d.ts.map +0 -1
  315. package/dist/src/components/exam/UndoHistoryEntry.js +0 -39
  316. package/dist/src/components/exam/UndoHistoryEntry.js.map +0 -1
  317. package/dist/src/components/exam/UndoView.d.ts +0 -35
  318. package/dist/src/components/exam/UndoView.d.ts.map +0 -1
  319. package/dist/src/components/exam/UndoView.js +0 -162
  320. package/dist/src/components/exam/UndoView.js.map +0 -1
  321. package/dist/src/components/exam/internal/ErrorIndicator.d.ts +0 -9
  322. package/dist/src/components/exam/internal/ErrorIndicator.d.ts.map +0 -1
  323. package/dist/src/components/exam/internal/ErrorIndicator.js +0 -63
  324. package/dist/src/components/exam/internal/ErrorIndicator.js.map +0 -1
  325. package/dist/src/components/exam/internal/ProgressBar.d.ts +0 -8
  326. package/dist/src/components/exam/internal/ProgressBar.d.ts.map +0 -1
  327. package/dist/src/components/exam/internal/ProgressBar.js +0 -19
  328. package/dist/src/components/exam/internal/ProgressBar.js.map +0 -1
  329. package/dist/src/components/exam/internal/SaveIndicator.d.ts +0 -5
  330. package/dist/src/components/exam/internal/SaveIndicator.d.ts.map +0 -1
  331. package/dist/src/components/exam/internal/SaveIndicator.js +0 -16
  332. package/dist/src/components/exam/internal/SaveIndicator.js.map +0 -1
  333. package/dist/src/components/exam/internal/TextAnswerInput.d.ts +0 -6
  334. package/dist/src/components/exam/internal/TextAnswerInput.d.ts.map +0 -1
  335. package/dist/src/components/exam/internal/TextAnswerInput.js +0 -128
  336. package/dist/src/components/exam/internal/TextAnswerInput.js.map +0 -1
  337. package/dist/src/components/grading/AnswerCharacterCounter.d.ts +0 -6
  338. package/dist/src/components/grading/AnswerCharacterCounter.d.ts.map +0 -1
  339. package/dist/src/components/grading/AnswerCharacterCounter.js +0 -21
  340. package/dist/src/components/grading/AnswerCharacterCounter.js.map +0 -1
  341. package/dist/src/components/grading/GradingAnswer.d.ts +0 -24
  342. package/dist/src/components/grading/GradingAnswer.d.ts.map +0 -1
  343. package/dist/src/components/grading/GradingAnswer.js +0 -306
  344. package/dist/src/components/grading/GradingAnswer.js.map +0 -1
  345. package/dist/src/components/grading/GradingAnswerAnnotationList.d.ts +0 -9
  346. package/dist/src/components/grading/GradingAnswerAnnotationList.d.ts.map +0 -1
  347. package/dist/src/components/grading/GradingAnswerAnnotationList.js +0 -19
  348. package/dist/src/components/grading/GradingAnswerAnnotationList.js.map +0 -1
  349. package/dist/src/components/grading/editAnnotations.d.ts +0 -29
  350. package/dist/src/components/grading/editAnnotations.d.ts.map +0 -1
  351. package/dist/src/components/grading/editAnnotations.js +0 -190
  352. package/dist/src/components/grading/editAnnotations.js.map +0 -1
  353. package/dist/src/components/grading/examAnnotationUtils.d.ts +0 -3
  354. package/dist/src/components/grading/examAnnotationUtils.d.ts.map +0 -1
  355. package/dist/src/components/grading/examAnnotationUtils.js +0 -44
  356. package/dist/src/components/grading/examAnnotationUtils.js.map +0 -1
  357. package/dist/src/components/grading/largeImageDetector.d.ts +0 -3
  358. package/dist/src/components/grading/largeImageDetector.d.ts.map +0 -1
  359. package/dist/src/components/grading/largeImageDetector.js +0 -45
  360. package/dist/src/components/grading/largeImageDetector.js.map +0 -1
  361. package/dist/src/components/grading-instructions/AnswerGradingInstruction.d.ts +0 -5
  362. package/dist/src/components/grading-instructions/AnswerGradingInstruction.d.ts.map +0 -1
  363. package/dist/src/components/grading-instructions/AnswerGradingInstruction.js +0 -4
  364. package/dist/src/components/grading-instructions/AnswerGradingInstruction.js.map +0 -1
  365. package/dist/src/components/grading-instructions/AutogradedAnswer.d.ts +0 -5
  366. package/dist/src/components/grading-instructions/AutogradedAnswer.d.ts.map +0 -1
  367. package/dist/src/components/grading-instructions/AutogradedAnswer.js +0 -34
  368. package/dist/src/components/grading-instructions/AutogradedAnswer.js.map +0 -1
  369. package/dist/src/components/grading-instructions/AutogradedAnswerOption.d.ts +0 -5
  370. package/dist/src/components/grading-instructions/AutogradedAnswerOption.d.ts.map +0 -1
  371. package/dist/src/components/grading-instructions/AutogradedAnswerOption.js +0 -17
  372. package/dist/src/components/grading-instructions/AutogradedAnswerOption.js.map +0 -1
  373. package/dist/src/components/grading-instructions/ExamGradingInstruction.d.ts +0 -5
  374. package/dist/src/components/grading-instructions/ExamGradingInstruction.d.ts.map +0 -1
  375. package/dist/src/components/grading-instructions/ExamGradingInstruction.js +0 -4
  376. package/dist/src/components/grading-instructions/ExamGradingInstruction.js.map +0 -1
  377. package/dist/src/components/grading-instructions/GradingInstructions.d.ts +0 -6
  378. package/dist/src/components/grading-instructions/GradingInstructions.d.ts.map +0 -1
  379. package/dist/src/components/grading-instructions/GradingInstructions.js +0 -109
  380. package/dist/src/components/grading-instructions/GradingInstructions.js.map +0 -1
  381. package/dist/src/components/grading-instructions/Question.d.ts +0 -4
  382. package/dist/src/components/grading-instructions/Question.d.ts.map +0 -1
  383. package/dist/src/components/grading-instructions/Question.js +0 -14
  384. package/dist/src/components/grading-instructions/Question.js.map +0 -1
  385. package/dist/src/components/grading-instructions/QuestionTitle.d.ts +0 -5
  386. package/dist/src/components/grading-instructions/QuestionTitle.d.ts.map +0 -1
  387. package/dist/src/components/grading-instructions/QuestionTitle.js +0 -19
  388. package/dist/src/components/grading-instructions/QuestionTitle.js.map +0 -1
  389. package/dist/src/components/grading-instructions/Recording.d.ts +0 -5
  390. package/dist/src/components/grading-instructions/Recording.d.ts.map +0 -1
  391. package/dist/src/components/grading-instructions/Recording.js +0 -19
  392. package/dist/src/components/grading-instructions/Recording.js.map +0 -1
  393. package/dist/src/components/grading-instructions/Section.d.ts +0 -4
  394. package/dist/src/components/grading-instructions/Section.d.ts.map +0 -1
  395. package/dist/src/components/grading-instructions/Section.js +0 -10
  396. package/dist/src/components/grading-instructions/Section.js.map +0 -1
  397. package/dist/src/components/grading-instructions/SectionTitle.d.ts +0 -5
  398. package/dist/src/components/grading-instructions/SectionTitle.d.ts.map +0 -1
  399. package/dist/src/components/grading-instructions/SectionTitle.js +0 -16
  400. package/dist/src/components/grading-instructions/SectionTitle.js.map +0 -1
  401. package/dist/src/components/results/ChoiceAnswer.d.ts +0 -6
  402. package/dist/src/components/results/ChoiceAnswer.d.ts.map +0 -1
  403. package/dist/src/components/results/ChoiceAnswer.js +0 -57
  404. package/dist/src/components/results/ChoiceAnswer.js.map +0 -1
  405. package/dist/src/components/results/DropdownAnswer.d.ts +0 -6
  406. package/dist/src/components/results/DropdownAnswer.d.ts.map +0 -1
  407. package/dist/src/components/results/DropdownAnswer.js +0 -43
  408. package/dist/src/components/results/DropdownAnswer.js.map +0 -1
  409. package/dist/src/components/results/EndExamSession.d.ts +0 -8
  410. package/dist/src/components/results/EndExamSession.d.ts.map +0 -1
  411. package/dist/src/components/results/EndExamSession.js +0 -20
  412. package/dist/src/components/results/EndExamSession.js.map +0 -1
  413. package/dist/src/components/results/MultiLineAnswer.d.ts +0 -8
  414. package/dist/src/components/results/MultiLineAnswer.d.ts.map +0 -1
  415. package/dist/src/components/results/MultiLineAnswer.js +0 -22
  416. package/dist/src/components/results/MultiLineAnswer.js.map +0 -1
  417. package/dist/src/components/results/Question.d.ts +0 -4
  418. package/dist/src/components/results/Question.d.ts.map +0 -1
  419. package/dist/src/components/results/Question.js +0 -31
  420. package/dist/src/components/results/Question.js.map +0 -1
  421. package/dist/src/components/results/QuestionTitle.d.ts +0 -6
  422. package/dist/src/components/results/QuestionTitle.d.ts.map +0 -1
  423. package/dist/src/components/results/QuestionTitle.js +0 -26
  424. package/dist/src/components/results/QuestionTitle.js.map +0 -1
  425. package/dist/src/components/results/Results.d.ts +0 -19
  426. package/dist/src/components/results/Results.d.ts.map +0 -1
  427. package/dist/src/components/results/Results.js +0 -136
  428. package/dist/src/components/results/Results.js.map +0 -1
  429. package/dist/src/components/results/ScoredTextAnswer.d.ts +0 -6
  430. package/dist/src/components/results/ScoredTextAnswer.d.ts.map +0 -1
  431. package/dist/src/components/results/ScoredTextAnswer.js +0 -22
  432. package/dist/src/components/results/ScoredTextAnswer.js.map +0 -1
  433. package/dist/src/components/results/Section.d.ts +0 -4
  434. package/dist/src/components/results/Section.d.ts.map +0 -1
  435. package/dist/src/components/results/Section.js +0 -11
  436. package/dist/src/components/results/Section.js.map +0 -1
  437. package/dist/src/components/results/SingleLineAnswer.d.ts +0 -12
  438. package/dist/src/components/results/SingleLineAnswer.d.ts.map +0 -1
  439. package/dist/src/components/results/SingleLineAnswer.js +0 -26
  440. package/dist/src/components/results/SingleLineAnswer.js.map +0 -1
  441. package/dist/src/components/results/TextAnswer.d.ts +0 -7
  442. package/dist/src/components/results/TextAnswer.d.ts.map +0 -1
  443. package/dist/src/components/results/TextAnswer.js +0 -48
  444. package/dist/src/components/results/TextAnswer.js.map +0 -1
  445. package/dist/src/components/results/internal/AnnotationList.d.ts +0 -5
  446. package/dist/src/components/results/internal/AnnotationList.d.ts.map +0 -1
  447. package/dist/src/components/results/internal/AnnotationList.js +0 -32
  448. package/dist/src/components/results/internal/AnnotationList.js.map +0 -1
  449. package/dist/src/components/results/internal/QuestionAutoScore.d.ts +0 -11
  450. package/dist/src/components/results/internal/QuestionAutoScore.d.ts.map +0 -1
  451. package/dist/src/components/results/internal/QuestionAutoScore.js +0 -17
  452. package/dist/src/components/results/internal/QuestionAutoScore.js.map +0 -1
  453. package/dist/src/components/results/internal/QuestionManualScore.d.ts +0 -13
  454. package/dist/src/components/results/internal/QuestionManualScore.d.ts.map +0 -1
  455. package/dist/src/components/results/internal/QuestionManualScore.js +0 -66
  456. package/dist/src/components/results/internal/QuestionManualScore.js.map +0 -1
  457. package/dist/src/components/results/internal/QuestionScoresContainer.d.ts +0 -11
  458. package/dist/src/components/results/internal/QuestionScoresContainer.d.ts.map +0 -1
  459. package/dist/src/components/results/internal/QuestionScoresContainer.js +0 -27
  460. package/dist/src/components/results/internal/QuestionScoresContainer.js.map +0 -1
  461. package/dist/src/components/results/isExamineExamPageHook.d.ts +0 -2
  462. package/dist/src/components/results/isExamineExamPageHook.d.ts.map +0 -1
  463. package/dist/src/components/results/isExamineExamPageHook.js +0 -7
  464. package/dist/src/components/results/isExamineExamPageHook.js.map +0 -1
  465. package/dist/src/components/shared/AnnotatableText.d.ts +0 -5
  466. package/dist/src/components/shared/AnnotatableText.d.ts.map +0 -1
  467. package/dist/src/components/shared/AnnotatableText.js +0 -73
  468. package/dist/src/components/shared/AnnotatableText.js.map +0 -1
  469. package/dist/src/components/shared/AnnotationLists.d.ts +0 -13
  470. package/dist/src/components/shared/AnnotationLists.d.ts.map +0 -1
  471. package/dist/src/components/shared/AnnotationLists.js +0 -17
  472. package/dist/src/components/shared/AnnotationLists.js.map +0 -1
  473. package/dist/src/components/shared/AnnotationPopup.d.ts +0 -3
  474. package/dist/src/components/shared/AnnotationPopup.d.ts.map +0 -1
  475. package/dist/src/components/shared/AnnotationPopup.js +0 -74
  476. package/dist/src/components/shared/AnnotationPopup.js.map +0 -1
  477. package/dist/src/components/shared/AnswerIndicator.d.ts +0 -12
  478. package/dist/src/components/shared/AnswerIndicator.d.ts.map +0 -1
  479. package/dist/src/components/shared/AnswerIndicator.js +0 -27
  480. package/dist/src/components/shared/AnswerIndicator.js.map +0 -1
  481. package/dist/src/components/shared/AnswerLengthInfo.d.ts +0 -7
  482. package/dist/src/components/shared/AnswerLengthInfo.d.ts.map +0 -1
  483. package/dist/src/components/shared/AnswerLengthInfo.js +0 -11
  484. package/dist/src/components/shared/AnswerLengthInfo.js.map +0 -1
  485. package/dist/src/components/shared/AttachmentLink.d.ts +0 -5
  486. package/dist/src/components/shared/AttachmentLink.d.ts.map +0 -1
  487. package/dist/src/components/shared/AttachmentLink.js +0 -28
  488. package/dist/src/components/shared/AttachmentLink.js.map +0 -1
  489. package/dist/src/components/shared/AttachmentLinks.d.ts +0 -5
  490. package/dist/src/components/shared/AttachmentLinks.d.ts.map +0 -1
  491. package/dist/src/components/shared/AttachmentLinks.js +0 -58
  492. package/dist/src/components/shared/AttachmentLinks.js.map +0 -1
  493. package/dist/src/components/shared/Audio.d.ts +0 -6
  494. package/dist/src/components/shared/Audio.d.ts.map +0 -1
  495. package/dist/src/components/shared/Audio.js +0 -31
  496. package/dist/src/components/shared/Audio.js.map +0 -1
  497. package/dist/src/components/shared/AudioGroup.d.ts +0 -6
  498. package/dist/src/components/shared/AudioGroup.d.ts.map +0 -1
  499. package/dist/src/components/shared/AudioGroup.js +0 -9
  500. package/dist/src/components/shared/AudioGroup.js.map +0 -1
  501. package/dist/src/components/shared/AudioTest.d.ts +0 -6
  502. package/dist/src/components/shared/AudioTest.d.ts.map +0 -1
  503. package/dist/src/components/shared/AudioTest.js +0 -34
  504. package/dist/src/components/shared/AudioTest.js.map +0 -1
  505. package/dist/src/components/shared/ExamTranslation.d.ts +0 -6
  506. package/dist/src/components/shared/ExamTranslation.d.ts.map +0 -1
  507. package/dist/src/components/shared/ExamTranslation.js +0 -9
  508. package/dist/src/components/shared/ExamTranslation.js.map +0 -1
  509. package/dist/src/components/shared/File.d.ts +0 -6
  510. package/dist/src/components/shared/File.d.ts.map +0 -1
  511. package/dist/src/components/shared/File.js +0 -15
  512. package/dist/src/components/shared/File.js.map +0 -1
  513. package/dist/src/components/shared/Footer.d.ts +0 -5
  514. package/dist/src/components/shared/Footer.d.ts.map +0 -1
  515. package/dist/src/components/shared/Footer.js +0 -3
  516. package/dist/src/components/shared/Footer.js.map +0 -1
  517. package/dist/src/components/shared/Formula.d.ts +0 -6
  518. package/dist/src/components/shared/Formula.d.ts.map +0 -1
  519. package/dist/src/components/shared/Formula.js +0 -13
  520. package/dist/src/components/shared/Formula.js.map +0 -1
  521. package/dist/src/components/shared/Image.d.ts +0 -6
  522. package/dist/src/components/shared/Image.d.ts.map +0 -1
  523. package/dist/src/components/shared/Image.js +0 -30
  524. package/dist/src/components/shared/Image.js.map +0 -1
  525. package/dist/src/components/shared/ImageOverlay.d.ts +0 -6
  526. package/dist/src/components/shared/ImageOverlay.d.ts.map +0 -1
  527. package/dist/src/components/shared/ImageOverlay.js +0 -43
  528. package/dist/src/components/shared/ImageOverlay.js.map +0 -1
  529. package/dist/src/components/shared/QuestionNumber.d.ts +0 -4
  530. package/dist/src/components/shared/QuestionNumber.d.ts.map +0 -1
  531. package/dist/src/components/shared/QuestionNumber.js +0 -12
  532. package/dist/src/components/shared/QuestionNumber.js.map +0 -1
  533. package/dist/src/components/shared/Reference.d.ts +0 -6
  534. package/dist/src/components/shared/Reference.d.ts.map +0 -1
  535. package/dist/src/components/shared/Reference.js +0 -72
  536. package/dist/src/components/shared/Reference.js.map +0 -1
  537. package/dist/src/components/shared/References.d.ts +0 -6
  538. package/dist/src/components/shared/References.d.ts.map +0 -1
  539. package/dist/src/components/shared/References.js +0 -26
  540. package/dist/src/components/shared/References.js.map +0 -1
  541. package/dist/src/components/shared/Score.d.ts +0 -8
  542. package/dist/src/components/shared/Score.d.ts.map +0 -1
  543. package/dist/src/components/shared/Score.js +0 -13
  544. package/dist/src/components/shared/Score.js.map +0 -1
  545. package/dist/src/components/shared/TOCQuestion.d.ts +0 -4
  546. package/dist/src/components/shared/TOCQuestion.d.ts.map +0 -1
  547. package/dist/src/components/shared/TOCQuestion.js +0 -77
  548. package/dist/src/components/shared/TOCQuestion.js.map +0 -1
  549. package/dist/src/components/shared/TOCSection.d.ts +0 -7
  550. package/dist/src/components/shared/TOCSection.d.ts.map +0 -1
  551. package/dist/src/components/shared/TOCSection.js +0 -15
  552. package/dist/src/components/shared/TOCSection.js.map +0 -1
  553. package/dist/src/components/shared/TOCSectionTitle.d.ts +0 -4
  554. package/dist/src/components/shared/TOCSectionTitle.d.ts.map +0 -1
  555. package/dist/src/components/shared/TOCSectionTitle.js +0 -34
  556. package/dist/src/components/shared/TOCSectionTitle.js.map +0 -1
  557. package/dist/src/components/shared/TableOfContents.d.ts +0 -8
  558. package/dist/src/components/shared/TableOfContents.d.ts.map +0 -1
  559. package/dist/src/components/shared/TableOfContents.js +0 -61
  560. package/dist/src/components/shared/TableOfContents.js.map +0 -1
  561. package/dist/src/components/shared/VersionNumber.d.ts +0 -3
  562. package/dist/src/components/shared/VersionNumber.d.ts.map +0 -1
  563. package/dist/src/components/shared/VersionNumber.js +0 -10
  564. package/dist/src/components/shared/VersionNumber.js.map +0 -1
  565. package/dist/src/components/shared/Video.d.ts +0 -6
  566. package/dist/src/components/shared/Video.d.ts.map +0 -1
  567. package/dist/src/components/shared/Video.js +0 -22
  568. package/dist/src/components/shared/Video.js.map +0 -1
  569. package/dist/src/components/shared/internal/AttachmentLinkAnchor.d.ts +0 -8
  570. package/dist/src/components/shared/internal/AttachmentLinkAnchor.d.ts.map +0 -1
  571. package/dist/src/components/shared/internal/AttachmentLinkAnchor.js +0 -4
  572. package/dist/src/components/shared/internal/AttachmentLinkAnchor.js.map +0 -1
  573. package/dist/src/components/shared/internal/AudioPlaybackError.d.ts +0 -8
  574. package/dist/src/components/shared/internal/AudioPlaybackError.d.ts.map +0 -1
  575. package/dist/src/components/shared/internal/AudioPlaybackError.js +0 -17
  576. package/dist/src/components/shared/internal/AudioPlaybackError.js.map +0 -1
  577. package/dist/src/components/shared/internal/ResponsiveMediaContainer.d.ts +0 -18
  578. package/dist/src/components/shared/internal/ResponsiveMediaContainer.d.ts.map +0 -1
  579. package/dist/src/components/shared/internal/ResponsiveMediaContainer.js +0 -21
  580. package/dist/src/components/shared/internal/ResponsiveMediaContainer.js.map +0 -1
  581. package/dist/src/components/shared/internal/RestrictedAudioPlayer.d.ts +0 -12
  582. package/dist/src/components/shared/internal/RestrictedAudioPlayer.d.ts.map +0 -1
  583. package/dist/src/components/shared/internal/RestrictedAudioPlayer.js +0 -46
  584. package/dist/src/components/shared/internal/RestrictedAudioPlayer.js.map +0 -1
  585. package/dist/src/components/surround.d.ts +0 -8
  586. package/dist/src/components/surround.d.ts.map +0 -1
  587. package/dist/src/components/surround.js +0 -19
  588. package/dist/src/components/surround.js.map +0 -1
  589. package/dist/src/createRenderChildNodes.d.ts +0 -17
  590. package/dist/src/createRenderChildNodes.d.ts.map +0 -1
  591. package/dist/src/createRenderChildNodes.js +0 -64
  592. package/dist/src/createRenderChildNodes.js.map +0 -1
  593. package/dist/src/dom-utils.d.ts +0 -20
  594. package/dist/src/dom-utils.d.ts.map +0 -1
  595. package/dist/src/dom-utils.js +0 -164
  596. package/dist/src/dom-utils.js.map +0 -1
  597. package/dist/src/fonts.d.ts +0 -5
  598. package/dist/src/fonts.d.ts.map +0 -1
  599. package/dist/src/fonts.js +0 -16
  600. package/dist/src/fonts.js.map +0 -1
  601. package/dist/src/formatting.d.ts +0 -2
  602. package/dist/src/formatting.d.ts.map +0 -1
  603. package/dist/src/formatting.js +0 -4
  604. package/dist/src/formatting.js.map +0 -1
  605. package/dist/src/getDisplayName.d.ts +0 -4
  606. package/dist/src/getDisplayName.d.ts.map +0 -1
  607. package/dist/src/getDisplayName.js +0 -5
  608. package/dist/src/getDisplayName.js.map +0 -1
  609. package/dist/src/i18n/A_E.d.ts +0 -3
  610. package/dist/src/i18n/A_E.d.ts.map +0 -1
  611. package/dist/src/i18n/A_E.js +0 -8
  612. package/dist/src/i18n/A_E.js.map +0 -1
  613. package/dist/src/i18n/BA.d.ts +0 -3
  614. package/dist/src/i18n/BA.d.ts.map +0 -1
  615. package/dist/src/i18n/BA.js +0 -11
  616. package/dist/src/i18n/BA.js.map +0 -1
  617. package/dist/src/i18n/CA.d.ts +0 -3
  618. package/dist/src/i18n/CA.d.ts.map +0 -1
  619. package/dist/src/i18n/CA.js +0 -11
  620. package/dist/src/i18n/CA.js.map +0 -1
  621. package/dist/src/i18n/EA.d.ts +0 -3
  622. package/dist/src/i18n/EA.d.ts.map +0 -1
  623. package/dist/src/i18n/EA.js +0 -16
  624. package/dist/src/i18n/EA.js.map +0 -1
  625. package/dist/src/i18n/FA.d.ts +0 -3
  626. package/dist/src/i18n/FA.d.ts.map +0 -1
  627. package/dist/src/i18n/FA.js +0 -17
  628. package/dist/src/i18n/FA.js.map +0 -1
  629. package/dist/src/i18n/GC.d.ts +0 -3
  630. package/dist/src/i18n/GC.d.ts.map +0 -1
  631. package/dist/src/i18n/GC.js +0 -16
  632. package/dist/src/i18n/GC.js.map +0 -1
  633. package/dist/src/i18n/I.d.ts +0 -3
  634. package/dist/src/i18n/I.d.ts.map +0 -1
  635. package/dist/src/i18n/I.js +0 -21
  636. package/dist/src/i18n/I.js.map +0 -1
  637. package/dist/src/i18n/M.d.ts +0 -3
  638. package/dist/src/i18n/M.d.ts.map +0 -1
  639. package/dist/src/i18n/M.js +0 -4
  640. package/dist/src/i18n/M.js.map +0 -1
  641. package/dist/src/i18n/O_E.d.ts +0 -3
  642. package/dist/src/i18n/O_E.d.ts.map +0 -1
  643. package/dist/src/i18n/O_E.js +0 -7
  644. package/dist/src/i18n/O_E.js.map +0 -1
  645. package/dist/src/i18n/PA.d.ts +0 -3
  646. package/dist/src/i18n/PA.d.ts.map +0 -1
  647. package/dist/src/i18n/PA.js +0 -16
  648. package/dist/src/i18n/PA.js.map +0 -1
  649. package/dist/src/i18n/SA.d.ts +0 -3
  650. package/dist/src/i18n/SA.d.ts.map +0 -1
  651. package/dist/src/i18n/SA.js +0 -16
  652. package/dist/src/i18n/SA.js.map +0 -1
  653. package/dist/src/i18n/TC.d.ts +0 -3
  654. package/dist/src/i18n/TC.d.ts.map +0 -1
  655. package/dist/src/i18n/TC.js +0 -16
  656. package/dist/src/i18n/TC.js.map +0 -1
  657. package/dist/src/i18n/VA.d.ts +0 -3
  658. package/dist/src/i18n/VA.d.ts.map +0 -1
  659. package/dist/src/i18n/VA.js +0 -16
  660. package/dist/src/i18n/VA.js.map +0 -1
  661. package/dist/src/i18n/Z.d.ts +0 -3
  662. package/dist/src/i18n/Z.d.ts.map +0 -1
  663. package/dist/src/i18n/Z.js +0 -22
  664. package/dist/src/i18n/Z.js.map +0 -1
  665. package/dist/src/i18n/fi-FI.d.ts +0 -192
  666. package/dist/src/i18n/fi-FI.d.ts.map +0 -1
  667. package/dist/src/i18n/fi-FI.js +0 -182
  668. package/dist/src/i18n/fi-FI.js.map +0 -1
  669. package/dist/src/i18n/index.d.ts +0 -20
  670. package/dist/src/i18n/index.d.ts.map +0 -1
  671. package/dist/src/i18n/index.js +0 -128
  672. package/dist/src/i18n/index.js.map +0 -1
  673. package/dist/src/i18n/sv-FI.d.ts +0 -3
  674. package/dist/src/i18n/sv-FI.d.ts.map +0 -1
  675. package/dist/src/i18n/sv-FI.js +0 -181
  676. package/dist/src/i18n/sv-FI.js.map +0 -1
  677. package/dist/src/ids.d.ts +0 -14
  678. package/dist/src/ids.d.ts.map +0 -1
  679. package/dist/src/ids.js +0 -28
  680. package/dist/src/ids.js.map +0 -1
  681. package/dist/src/index.d.ts +0 -19
  682. package/dist/src/index.d.ts.map +0 -1
  683. package/dist/src/index.js +0 -12
  684. package/dist/src/index.js.map +0 -1
  685. package/dist/src/parser/parseExam.d.ts +0 -2
  686. package/dist/src/parser/parseExam.d.ts.map +0 -1
  687. package/dist/src/parser/parseExam.js +0 -54
  688. package/dist/src/parser/parseExam.js.map +0 -1
  689. package/dist/src/parser/parseExamStructure.d.ts +0 -58
  690. package/dist/src/parser/parseExamStructure.d.ts.map +0 -1
  691. package/dist/src/parser/parseExamStructure.js +0 -40
  692. package/dist/src/parser/parseExamStructure.js.map +0 -1
  693. package/dist/src/renderAnnotations.d.ts +0 -7
  694. package/dist/src/renderAnnotations.d.ts.map +0 -1
  695. package/dist/src/renderAnnotations.js +0 -193
  696. package/dist/src/renderAnnotations.js.map +0 -1
  697. package/dist/src/scrollToHash.d.ts +0 -2
  698. package/dist/src/scrollToHash.d.ts.map +0 -1
  699. package/dist/src/scrollToHash.js +0 -24
  700. package/dist/src/scrollToHash.js.map +0 -1
  701. package/dist/src/shortDisplayNumber.d.ts +0 -2
  702. package/dist/src/shortDisplayNumber.d.ts.map +0 -1
  703. package/dist/src/shortDisplayNumber.js +0 -5
  704. package/dist/src/shortDisplayNumber.js.map +0 -1
  705. package/dist/src/store/answers/actions.d.ts +0 -33
  706. package/dist/src/store/answers/actions.d.ts.map +0 -1
  707. package/dist/src/store/answers/actions.js +0 -9
  708. package/dist/src/store/answers/actions.js.map +0 -1
  709. package/dist/src/store/answers/reducer.d.ts +0 -39
  710. package/dist/src/store/answers/reducer.d.ts.map +0 -1
  711. package/dist/src/store/answers/reducer.js +0 -55
  712. package/dist/src/store/answers/reducer.js.map +0 -1
  713. package/dist/src/store/answers/sagas.d.ts +0 -8
  714. package/dist/src/store/answers/sagas.d.ts.map +0 -1
  715. package/dist/src/store/answers/sagas.js +0 -60
  716. package/dist/src/store/answers/sagas.js.map +0 -1
  717. package/dist/src/store/audio/actions.d.ts +0 -29
  718. package/dist/src/store/audio/actions.d.ts.map +0 -1
  719. package/dist/src/store/audio/actions.js +0 -9
  720. package/dist/src/store/audio/actions.js.map +0 -1
  721. package/dist/src/store/audio/reducer.d.ts +0 -27
  722. package/dist/src/store/audio/reducer.d.ts.map +0 -1
  723. package/dist/src/store/audio/reducer.js +0 -55
  724. package/dist/src/store/audio/reducer.js.map +0 -1
  725. package/dist/src/store/audio/sagas.d.ts +0 -3
  726. package/dist/src/store/audio/sagas.d.ts.map +0 -1
  727. package/dist/src/store/audio/sagas.js +0 -68
  728. package/dist/src/store/audio/sagas.js.map +0 -1
  729. package/dist/src/store/cas/actions.d.ts +0 -19
  730. package/dist/src/store/cas/actions.d.ts.map +0 -1
  731. package/dist/src/store/cas/actions.js +0 -9
  732. package/dist/src/store/cas/actions.js.map +0 -1
  733. package/dist/src/store/cas/reducer.d.ts +0 -14
  734. package/dist/src/store/cas/reducer.d.ts.map +0 -1
  735. package/dist/src/store/cas/reducer.js +0 -24
  736. package/dist/src/store/cas/reducer.js.map +0 -1
  737. package/dist/src/store/cas/sagas.d.ts +0 -18
  738. package/dist/src/store/cas/sagas.d.ts.map +0 -1
  739. package/dist/src/store/cas/sagas.js +0 -36
  740. package/dist/src/store/cas/sagas.js.map +0 -1
  741. package/dist/src/store/countdown.d.ts +0 -4
  742. package/dist/src/store/countdown.d.ts.map +0 -1
  743. package/dist/src/store/countdown.js +0 -33
  744. package/dist/src/store/countdown.js.map +0 -1
  745. package/dist/src/store/index.d.ts +0 -78
  746. package/dist/src/store/index.d.ts.map +0 -1
  747. package/dist/src/store/index.js +0 -53
  748. package/dist/src/store/index.js.map +0 -1
  749. package/dist/src/store/selectors.d.ts +0 -9
  750. package/dist/src/store/selectors.d.ts.map +0 -1
  751. package/dist/src/store/selectors.js +0 -35
  752. package/dist/src/store/selectors.js.map +0 -1
  753. package/dist/src/types/ExamAnswer.d.ts +0 -22
  754. package/dist/src/types/ExamAnswer.d.ts.map +0 -1
  755. package/dist/src/types/ExamAnswer.js +0 -2
  756. package/dist/src/types/ExamAnswer.js.map +0 -1
  757. package/dist/src/types/ExamServerAPI.d.ts +0 -78
  758. package/dist/src/types/ExamServerAPI.d.ts.map +0 -1
  759. package/dist/src/types/ExamServerAPI.js +0 -2
  760. package/dist/src/types/ExamServerAPI.js.map +0 -1
  761. package/dist/src/types/GradingStructure.d.ts +0 -40
  762. package/dist/src/types/GradingStructure.d.ts.map +0 -1
  763. package/dist/src/types/GradingStructure.js +0 -2
  764. package/dist/src/types/GradingStructure.js.map +0 -1
  765. package/dist/src/types/Score.d.ts +0 -92
  766. package/dist/src/types/Score.d.ts.map +0 -1
  767. package/dist/src/types/Score.js +0 -2
  768. package/dist/src/types/Score.js.map +0 -1
  769. package/dist/src/url.d.ts +0 -7
  770. package/dist/src/url.d.ts.map +0 -1
  771. package/dist/src/url.js +0 -12
  772. package/dist/src/url.js.map +0 -1
  773. package/dist/src/useCached.d.ts +0 -3
  774. package/dist/src/useCached.d.ts.map +0 -1
  775. package/dist/src/useCached.js +0 -6
  776. package/dist/src/useCached.js.map +0 -1
  777. package/dist/src/utils.d.ts +0 -15
  778. package/dist/src/utils.d.ts.map +0 -1
  779. package/dist/src/utils.js +0 -35
  780. package/dist/src/utils.js.map +0 -1
  781. package/dist/src/validateAnswers.d.ts +0 -16
  782. package/dist/src/validateAnswers.d.ts.map +0 -1
  783. package/dist/src/validateAnswers.js +0 -89
  784. package/dist/src/validateAnswers.js.map +0 -1
  785. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,53 +0,0 @@
1
- import * as _ from 'lodash-es';
2
- import { applyMiddleware, combineReducers, compose, createStore } from 'redux';
3
- import createSagaMiddleware from 'redux-saga';
4
- import { fork } from 'redux-saga/effects';
5
- import answersReducer from './answers/reducer';
6
- import answersSaga from './answers/sagas';
7
- import audioReducer from './audio/reducer';
8
- import audioSaga from './audio/sagas';
9
- import casReducer from './cas/reducer';
10
- import casSaga from './cas/sagas';
11
- import { validateAnswers } from '../validateAnswers';
12
- const rootReducer = combineReducers({
13
- answers: answersReducer,
14
- audio: audioReducer,
15
- cas: casReducer
16
- });
17
- function* rootSaga(examServerApi) {
18
- yield fork(answersSaga, examServerApi);
19
- yield fork(audioSaga, examServerApi);
20
- yield fork(casSaga, examServerApi);
21
- }
22
- export function initializeExamStore(examStructure, casStatus, initialAnswers, restrictedAudioPlaybackStats, examServerApi) {
23
- const initialQuestionIds = new Set(_.map(initialAnswers, 'questionId'));
24
- const playbackTimes = _.mapValues(_.keyBy(restrictedAudioPlaybackStats, 'restrictedAudioId'), 'times');
25
- const answersById = _.keyBy(initialAnswers, 'questionId');
26
- const initialState = {
27
- answers: {
28
- answersById,
29
- focusedQuestionId: null,
30
- serverQuestionIds: initialQuestionIds,
31
- supportsAnswerHistory: typeof examServerApi.selectAnswerVersion === 'function',
32
- savedQuestionIds: initialQuestionIds,
33
- examStructure,
34
- validationErrors: validateAnswers(examStructure, answersById)
35
- },
36
- audio: {
37
- errors: {},
38
- nowPlaying: null,
39
- playbackTimes
40
- },
41
- cas: { casStatus }
42
- };
43
- const sagaMiddleware = createSagaMiddleware();
44
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access
45
- const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
46
- const enhancers = composeEnhancers(applyMiddleware(sagaMiddleware));
47
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
48
- // @ts-ignore
49
- const store = createStore(rootReducer, initialState, enhancers);
50
- sagaMiddleware.run(rootSaga, examServerApi);
51
- return store;
52
- }
53
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAS,MAAM,OAAO,CAAA;AACrF,OAAO,oBAAoB,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,WAAW,MAAM,iBAAiB,CAAA;AACzC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,OAAO,MAAM,aAAa,CAAA;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,GAAG,eAAe,CAAC;IAClC,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU;CAChB,CAAC,CAAA;AAEF,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAA4B;IAC7C,MAAM,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IACtC,MAAM,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACpC,MAAM,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;AACpC,CAAC;AAgBD,MAAM,UAAU,mBAAmB,CACjC,aAA0B,EAC1B,SAA2B,EAC3B,cAA4B,EAC5B,4BAA4D,EAC5D,aAA4B;IAE5B,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAA;IACtG,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACzD,MAAM,YAAY,GAAa;QAC7B,OAAO,EAAE;YACP,WAAW;YACX,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,kBAAkB;YACrC,qBAAqB,EAAE,OAAO,aAAa,CAAC,mBAAmB,KAAK,UAAU;YAC9E,gBAAgB,EAAE,kBAAkB;YACpC,aAAa;YACb,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,WAAW,CAAC;SAC9D;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,IAAI;YAChB,aAAa;SACd;QACD,GAAG,EAAE,EAAE,SAAS,EAAE;KACnB,CAAA;IACD,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAA;IAC7C,8GAA8G;IAC9G,MAAM,gBAAgB,GAAK,MAAc,CAAC,oCAAuD,IAAI,OAAO,CAAA;IAC5G,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;IACnE,6DAA6D;IAC7D,aAAa;IACb,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IAC/D,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAE3C,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,9 +0,0 @@
1
- import { AppState } from '.';
2
- import { AudioPlaybackError, RestrictedAudioId, SaveState } from '..';
3
- export declare const getAudioState: (src: string, restrictedAudioId?: RestrictedAudioId) => (state: AppState) => "stopped" | "playing" | "other-playing";
4
- export declare const getAudioPlaybackError: (src: string, restrictedAudioId?: RestrictedAudioId) => (state: AppState) => AudioPlaybackError | undefined;
5
- export declare const getDurationRemaining: (src: string, restrictedAudioId?: RestrictedAudioId) => (state: AppState) => number | undefined;
6
- export declare const getPlaybackTimes: (restrictedAudioId: RestrictedAudioId) => (state: AppState) => number;
7
- export declare const getPlaybackTimesRemaining: (restrictedAudioId: RestrictedAudioId, times: number) => (state: AppState) => number;
8
- export declare const getSaveState: (state: AppState) => SaveState;
9
- //# sourceMappingURL=selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/store/selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAA0B,iBAAiB,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE7F,eAAO,MAAM,aAAa,QAClB,MAAM,sBAAsB,iBAAiB,aAC3C,QAAQ,KAAG,SAAS,GAAG,SAAS,GAAG,eAQ1C,CAAA;AAEH,eAAO,MAAM,qBAAqB,QAC1B,MAAM,sBAAsB,iBAAiB,aAC3C,QAAQ,KAAG,kBAAkB,GAAG,SACiC,CAAA;AAE3E,eAAO,MAAM,oBAAoB,QACzB,MAAM,sBAAsB,iBAAiB,aAC3C,QAAQ,KAAG,MAAM,GAAG,SACwF,CAAA;AAEtH,eAAO,MAAM,gBAAgB,sBACP,iBAAiB,aAC7B,QAAQ,KAAG,MACqC,CAAA;AAE1D,eAAO,MAAM,yBAAyB,sBAChB,iBAAiB,SAAS,MAAM,aAC5C,QAAQ,KAAG,MACiC,CAAA;AAEtD,eAAO,MAAM,YAAY,UAAW,QAAQ,KAAG,SAa9C,CAAA"}
@@ -1,35 +0,0 @@
1
- import * as _ from 'lodash-es';
2
- export const getAudioState = (src, restrictedAudioId) => (state) => {
3
- const { nowPlaying } = state.audio;
4
- return nowPlaying == null
5
- ? 'stopped'
6
- : nowPlaying.audio.restrictedAudioId === restrictedAudioId && nowPlaying.audio.src === src
7
- ? 'playing'
8
- : 'other-playing';
9
- };
10
- export const getAudioPlaybackError = (src, restrictedAudioId) => (state) => state.audio.errors[restrictedAudioId != null ? restrictedAudioId : src];
11
- export const getDurationRemaining = (src, restrictedAudioId) => (state) => getAudioState(src, restrictedAudioId)(state) === 'playing' ? state.audio.nowPlaying.durationRemaining : undefined;
12
- export const getPlaybackTimes = (restrictedAudioId) => (state) => _.get(state.audio.playbackTimes, restrictedAudioId, 0);
13
- export const getPlaybackTimesRemaining = (restrictedAudioId, times) => (state) => times - getPlaybackTimes(restrictedAudioId)(state);
14
- export const getSaveState = (state) => {
15
- const { serverQuestionIds, savedQuestionIds, answersById } = state.answers;
16
- if (serverQuestionIds.size === 0) {
17
- return 'initial';
18
- }
19
- else if (serverQuestionIds.size !== savedQuestionIds.size ||
20
- containsAnswerNotYetSavedInServer(serverQuestionIds, answersById)) {
21
- return 'saving';
22
- }
23
- else {
24
- return 'saved';
25
- }
26
- };
27
- function containsAnswerNotYetSavedInServer(serverIds, answersById) {
28
- for (const questionId in answersById) {
29
- if (!serverIds.has(Number(questionId))) {
30
- return true;
31
- }
32
- }
33
- return false;
34
- }
35
- //# sourceMappingURL=selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../src/store/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAI9B,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,GAAW,EAAE,iBAAqC,EAAE,EAAE,CACvD,CAAC,KAAe,EAA2C,EAAE;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,KAAK,CAAA;IAElC,OAAO,UAAU,IAAI,IAAI;QACvB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,KAAK,iBAAiB,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG;YACxF,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAA;AACvB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,GAAW,EAAE,iBAAqC,EAAE,EAAE,CACvD,CAAC,KAAe,EAAkC,EAAE,CAClD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,oBAAoB,GAC/B,CAAC,GAAW,EAAE,iBAAqC,EAAE,EAAE,CACvD,CAAC,KAAe,EAAsB,EAAE,CACtC,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;AAEtH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,iBAAoC,EAAE,EAAE,CACzC,CAAC,KAAe,EAAU,EAAE,CAC1B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,yBAAyB,GACpC,CAAC,iBAAoC,EAAE,KAAa,EAAE,EAAE,CACxD,CAAC,KAAe,EAAU,EAAE,CAC1B,KAAK,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAa,EAAE;IACzD,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;IAE1E,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IACL,iBAAiB,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI;QAChD,iCAAiC,CAAC,iBAAiB,EAAE,WAAW,CAAC,EACjE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,SAAS,iCAAiC,CACxC,SAA0B,EAC1B,WAA2C;IAE3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,22 +0,0 @@
1
- export type QuestionId = number;
2
- interface AnswerCommon {
3
- questionId: QuestionId;
4
- value: string;
5
- /** This field is undefined in older exams that were packaged before this change. */
6
- displayNumber?: string;
7
- answerNonAnswer?: boolean;
8
- }
9
- export interface TextAnswer extends AnswerCommon {
10
- type: 'text';
11
- characterCount: number;
12
- }
13
- export interface RichTextAnswer extends AnswerCommon {
14
- type: 'richText';
15
- characterCount: number;
16
- }
17
- export interface ChoiceAnswer extends AnswerCommon {
18
- type: 'choice';
19
- }
20
- export type ExamAnswer = TextAnswer | RichTextAnswer | ChoiceAnswer;
21
- export {};
22
- //# sourceMappingURL=ExamAnswer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExamAnswer.d.ts","sourceRoot":"","sources":["../../../src/types/ExamAnswer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,UAAU,YAAY;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,UAAU,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ExamAnswer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExamAnswer.js","sourceRoot":"","sources":["../../../src/types/ExamAnswer.ts"],"names":[],"mappings":""}
@@ -1,78 +0,0 @@
1
- import { ExamAnswer, QuestionId } from './ExamAnswer';
2
- export type SaveState = 'initial' | 'saving' | 'saved';
3
- /**
4
- * CAS status is a state machine with three states.
5
- *
6
- * ```
7
- * +---------+ +--------+ +-------+
8
- * |forbidden| <---> |allowing| ---> |allowed|
9
- * +---------+ +--------+ +-------+
10
- * ```
11
- *
12
- * When the user clicks the "Palauta A-osa" button, we start a 60s countdown
13
- * and transition the state from `'forbidden'` to `'allowing'`. When the timer reaches
14
- * zero, we transition the state from from `'allowing'` to `'allowed'`. Cancelling
15
- * the countdown transitions the state back from `'allowing'` to `'forbidden'`.
16
- */
17
- export type CasStatus = InitialCasStatus | 'allowing';
18
- export type InitialCasStatus = 'allowed' | 'forbidden';
19
- export type RestrictedAudioId = number;
20
- export type AudioPlaybackError =
21
- /** The user has already accessed this restricted audio */
22
- 'already-accessed'
23
- /** There already is an audio file playing */
24
- | 'already-playing'
25
- /** Other error, e.g. a network issue */
26
- | 'other-error';
27
- export type AudioPlaybackResponse = 'ok' | AudioPlaybackError;
28
- export interface RestrictedAudioPlaybackStats {
29
- /** An unique identifier for each restricted audio element */
30
- restrictedAudioId: RestrictedAudioId;
31
- /** Number of times it has been listened to. */
32
- times: number;
33
- }
34
- export interface ExamServerAPI {
35
- /**
36
- * Setting CAS status to allowed will lock the answers for each section where
37
- * the use of CAS software is forbidden.
38
- *
39
- * All state transitions are not legal (for example, you may not disable CAS
40
- * software after they have been allowed), so the function returns the CAS
41
- * status that the server decided upon.
42
- */
43
- setCasStatus: (casStatus: CasStatus) => Promise<CasStatus>;
44
- /** Retrieve the latest answer for each question */
45
- getAnswers: () => Promise<ExamAnswer[]>;
46
- /** Save a new answer to the server */
47
- saveAnswer: (answer: ExamAnswer) => Promise<void>;
48
- /**
49
- * Play a non-restricted audio file. Right now, this is only used by the
50
- * audio test. The Promise should be resolved with `'ok'` when playback starts
51
- * or with an error response if an error occurs.
52
- */
53
- playAudio: (src: string) => Promise<AudioPlaybackResponse>;
54
- /**
55
- * Play a restricted audio file. The promise should be resolved with `'ok'`
56
- * when the playback starts or with an error response if an error occurs.
57
- *
58
- * @param restrictedAudioId A number that uniquely identifies each restricted audio element.
59
- * @param playbackTimes How many times this audio has been listened to already.
60
- */
61
- playRestrictedAudio: (src: string, restrictedAudioId: number, playbackTimes: number) => Promise<AudioPlaybackResponse>;
62
- /**
63
- * Get restricted audio file in a blob. The promise should be resolved with blob
64
- * when the audio file has be loaded or rejected with an error response if an error occurs.
65
- *
66
- * @param restrictedAudioId A number that uniquely identifies each restricted audio element.
67
- * @param playbackTimes How many times this audio has been listened to already.
68
- */
69
- getRestrictedAudio: (src: string, restrictedAudioId: number, playbackTimes: number) => Promise<Blob>;
70
- /** Select another answer version from answer history. Return undefined to cancel. Optional feature. */
71
- selectAnswerVersion?: (questionId: QuestionId, questionTitle: string) => Promise<ExamAnswer | undefined>;
72
- /** Save screenshot to server. Should return the URL to the saved screenshot. */
73
- saveScreenshot: (questionId: QuestionId, screenshot: Blob) => Promise<string>;
74
- examineExam?: () => void;
75
- /** Log client activity to server. Message format is free. Optional feature. */
76
- logActivity?: (message: string) => void;
77
- }
78
- //# sourceMappingURL=ExamServerAPI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExamServerAPI.d.ts","sourceRoot":"","sources":["../../../src/types/ExamServerAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,UAAU,CAAA;AACrD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,CAAA;AACtD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACtC,MAAM,MAAM,kBAAkB;AAC5B,0DAA0D;AACxD,kBAAkB;AACpB,6CAA6C;GAC3C,iBAAiB;AACnB,wCAAwC;GACtC,aAAa,CAAA;AACjB,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,kBAAkB,CAAA;AAE7D,MAAM,WAAW,4BAA4B;IAC3C,6DAA6D;IAC7D,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1D,mDAAmD;IACnD,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACvC,sCAAsC;IACtC,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD;;;;OAIG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC1D;;;;;;OAMG;IACH,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAEtH;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpG,uGAAuG;IACvG,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IACxG,gFAAgF;IAChF,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ExamServerAPI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExamServerAPI.js","sourceRoot":"","sources":["../../../src/types/ExamServerAPI.ts"],"names":[],"mappings":""}
@@ -1,40 +0,0 @@
1
- export interface GradingStructure {
2
- questions: GradingStructureQuestion[];
3
- }
4
- export type GradingStructureQuestion = TextQuestion | ChoiceGroupQuestion;
5
- export interface TextQuestion {
6
- type: 'text';
7
- id: number;
8
- displayNumber: string;
9
- maxScore: number;
10
- maxLength?: number;
11
- /**
12
- * A tentative list of answers that will be accepted. Usually this is not the
13
- * final list, since additional answers will be accepted during grading.
14
- *
15
- * If omitted, the question will be graded manually.
16
- */
17
- correctAnswers?: CorrectAnswer[];
18
- }
19
- export interface CorrectAnswer {
20
- text: string;
21
- score: number;
22
- }
23
- export interface ChoiceGroupQuestion {
24
- type: 'choicegroup';
25
- id: number;
26
- displayNumber: string;
27
- choices: ChoiceGroupChoice[];
28
- }
29
- export interface ChoiceGroupChoice {
30
- id: number;
31
- displayNumber: string;
32
- type: 'choice';
33
- options: ChoiceGroupOption[];
34
- }
35
- export interface ChoiceGroupOption {
36
- id: number;
37
- correct: boolean;
38
- score: number;
39
- }
40
- //# sourceMappingURL=GradingStructure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GradingStructure.d.ts","sourceRoot":"","sources":["../../../src/types/GradingStructure.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,wBAAwB,EAAE,CAAA;CACtC;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,mBAAmB,CAAA;AAEzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=GradingStructure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GradingStructure.js","sourceRoot":"","sources":["../../../src/types/GradingStructure.ts"],"names":[],"mappings":""}
@@ -1,92 +0,0 @@
1
- import { QuestionId } from './ExamAnswer';
2
- export type AnswerId = number;
3
- export interface Score {
4
- questionId: QuestionId;
5
- answerId: AnswerId;
6
- pregrading?: PregradingScore;
7
- censoring?: CensoringScore;
8
- inspection?: InspectionScore;
9
- autograding?: AutogradedScore;
10
- }
11
- export interface AutogradedScore {
12
- score: number;
13
- }
14
- export interface PregradingScore {
15
- score?: number;
16
- comment?: string;
17
- annotations?: Annotation[];
18
- }
19
- export interface CensoringScore {
20
- scores: Array<{
21
- score: number;
22
- shortCode: string;
23
- }>;
24
- annotations?: Annotation[];
25
- nonAnswerDetails?: {
26
- shortCode?: string;
27
- };
28
- comment?: string;
29
- }
30
- export interface InspectionScore {
31
- score: number;
32
- shortCodes: [string, string] | [string, string, string];
33
- }
34
- interface BaseAnnotation {
35
- /** The message attached to the annotation */
36
- message: string;
37
- showPopup?: boolean;
38
- markNumber?: string;
39
- }
40
- export interface TextAnnotation extends BaseAnnotation {
41
- /** Legacy exams don't have this property, so it's marked as optional. */
42
- type?: 'text';
43
- /** A zero-indexed index of the character where the annotation starts at. Images are counted as 1 character. */
44
- startIndex: number;
45
- /** The length of the annotation in characters. Images are counted as 1 character. */
46
- length: number;
47
- }
48
- export interface NewExamAnnotation extends TextAnnotation {
49
- displayNumber: string;
50
- annotationAnchor: string;
51
- hidden: boolean;
52
- selectedText: string;
53
- }
54
- export interface ExamAnnotation extends NewExamAnnotation {
55
- annotationId: number;
56
- }
57
- interface ShapeAnnotation extends BaseAnnotation {
58
- /** A 0-indexed number describing which <img /> in the answer the annotation is attached to. */
59
- attachmentIndex: number;
60
- }
61
- export interface LineAnnotation extends ShapeAnnotation {
62
- type: 'line';
63
- /** Relative x-coordinate between 0 and 1. */
64
- x1: number;
65
- /** Relative y-coordinate between 0 and 1. */
66
- y1: number;
67
- /** Relative x-coordinate between 0 and 1. */
68
- x2: number;
69
- /** Relative y-coordinate between 0 and 1. */
70
- y2: number;
71
- }
72
- export interface RectAnnotation extends ShapeAnnotation {
73
- type: 'rect';
74
- /** Relative x-coordinate between 0 and 1. */
75
- x: number;
76
- /** Relative y-coordinate between 0 and 1. */
77
- y: number;
78
- /** Relative width between 0 and 1. Note that `x + width` should be less or equal than 1. */
79
- width: number;
80
- /** Relative height between 0 and 1. Note that `y + height` should be less or equal than 1.*/
81
- height: number;
82
- }
83
- /**
84
- * Image annotations are annotations attached to a screenshot or a formula.
85
- * They are described with relative `x` and `y`-coordinates, with `(0, 0)` being
86
- * in the top left corner of the image and `(1, 1)` being in the bottom right
87
- * corner of the image.
88
- */
89
- export type ImageAnnotation = LineAnnotation | RectAnnotation;
90
- export type Annotation = TextAnnotation | ImageAnnotation;
91
- export {};
92
- //# sourceMappingURL=Score.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Score.d.ts","sourceRoot":"","sources":["../../../src/types/Score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,gBAAgB,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACxD;AAED,UAAU,cAAc;IACtB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+GAA+G;IAC/G,UAAU,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;CACrB;AACD,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,eAAgB,SAAQ,cAAc;IAC9C,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAA;IACT,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAA;IACT,4FAA4F;IAC5F,KAAK,EAAE,MAAM,CAAA;IACb,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Score.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Score.js","sourceRoot":"","sources":["../../../src/types/Score.ts"],"names":[],"mappings":""}
package/dist/src/url.d.ts DELETED
@@ -1,7 +0,0 @@
1
- type URLOptions = Partial<Omit<URL, 'origin' | 'searchParams' | 'toJSON'>>;
2
- /**
3
- * A helper function for constructing relative URLs for links within the exam
4
- */
5
- export declare function url(path: string, options?: URLOptions): string;
6
- export {};
7
- //# sourceMappingURL=url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/url.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAA;AAE1E;;GAEG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAM9D"}
package/dist/src/url.js DELETED
@@ -1,12 +0,0 @@
1
- import * as _ from 'lodash-es';
2
- /**
3
- * A helper function for constructing relative URLs for links within the exam
4
- */
5
- export function url(path, options) {
6
- const u = new URL(path, 'http://example.com'); // hostname doesn't matter but it is required for URL constructor
7
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
8
- _.forEach(options, (v, k) => (u[k] = v));
9
- const constructedPath = u.pathname + u.search + u.hash;
10
- return path.startsWith('/') ? constructedPath : constructedPath.substr(1);
11
- }
12
- //# sourceMappingURL=url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAI9B;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAoB;IACpD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA,CAAC,iEAAiE;IAC/G,sEAAsE;IACtE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,CAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjD,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAA;IACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC"}
@@ -1,3 +0,0 @@
1
- /** Like `useMemo`, but guaranteed never to be reinitialized. Doesn't support dependencies. */
2
- export declare function useCached<T>(fn: () => T): T;
3
- //# sourceMappingURL=useCached.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCached.d.ts","sourceRoot":"","sources":["../../src/useCached.ts"],"names":[],"mappings":"AAEA,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3C"}
@@ -1,6 +0,0 @@
1
- import { useState } from 'react';
2
- /** Like `useMemo`, but guaranteed never to be reinitialized. Doesn't support dependencies. */
3
- export function useCached(fn) {
4
- return useState(fn)[0];
5
- }
6
- //# sourceMappingURL=useCached.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCached.js","sourceRoot":"","sources":["../../src/useCached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAI,EAAW;IACtC,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC"}
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Maps an array, skipping the value if `fn` returns `undefined`.
4
- *
5
- * @example mapMaybe(array, fn) ≡ array.map(fn).filter(v => v !== undefined)
6
- */
7
- export declare function mapMaybe<T, U>(array: T[], fn: (value: T, index: number) => U | undefined): U[];
8
- /**
9
- * Insert a separator between each element of the array.
10
- *
11
- * @example intersperse(',', ['a', 'b', 'c']) ≡ ['a', ',', 'b', ',' 'c']
12
- */
13
- export declare function intersperse<T>(separator: T, array: T[]): T[];
14
- export declare function isWhitespace(node: React.ReactNode): boolean;
15
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAW9F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAW5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,WAEjD"}
package/dist/src/utils.js DELETED
@@ -1,35 +0,0 @@
1
- /**
2
- * Maps an array, skipping the value if `fn` returns `undefined`.
3
- *
4
- * @example mapMaybe(array, fn) ≡ array.map(fn).filter(v => v !== undefined)
5
- */
6
- export function mapMaybe(array, fn) {
7
- const result = [];
8
- for (let i = 0; i < array.length; i++) {
9
- const value = fn(array[i], i);
10
- if (value !== undefined) {
11
- result.push(value);
12
- }
13
- }
14
- return result;
15
- }
16
- /**
17
- * Insert a separator between each element of the array.
18
- *
19
- * @example intersperse(',', ['a', 'b', 'c']) ≡ ['a', ',', 'b', ',' 'c']
20
- */
21
- export function intersperse(separator, array) {
22
- if (array.length === 0)
23
- return [];
24
- const result = new Array(array.length * 2 - 1);
25
- for (let i = 0; i < array.length - 1; i++) {
26
- result[i * 2] = array[i];
27
- result[i * 2 + 1] = separator;
28
- }
29
- result[result.length - 1] = array[array.length - 1];
30
- return result;
31
- }
32
- export function isWhitespace(node) {
33
- return typeof node === 'string' && node.trim().length === 0;
34
- }
35
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAO,KAAU,EAAE,EAA8C;IACvF,MAAM,MAAM,GAAQ,EAAE,CAAA;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAI,SAAY,EAAE,KAAU;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACjC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAqB;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAA;AAC7D,CAAC"}
@@ -1,16 +0,0 @@
1
- import { RootElement } from './parser/parseExamStructure';
2
- import { ExamAnswer, QuestionId } from './types/ExamAnswer';
3
- import { AnsweringInstructionProps } from './components/AnsweringInstructions';
4
- export type ValidationError = ExtraAnswer | AnswerTooLong;
5
- export interface AnswerTooLong {
6
- type: 'AnswerTooLong';
7
- displayNumber: string;
8
- characterCount: number;
9
- elementType: 'exam' | 'section' | 'question';
10
- }
11
- export interface ExtraAnswer extends AnsweringInstructionProps {
12
- type: 'ExtraAnswer';
13
- displayNumber: string;
14
- }
15
- export declare function validateAnswers(examStructure: RootElement, answersById: Record<QuestionId, ExamAnswer>): ValidationError[];
16
- //# sourceMappingURL=validateAnswers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateAnswers.d.ts","sourceRoot":"","sources":["../../src/validateAnswers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAE9E,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,aAAa,CAAA;AAEzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,eAAe,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;CAC7C;AAED,MAAM,WAAW,WAAY,SAAQ,yBAAyB;IAC5D,IAAI,EAAE,aAAa,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB;AA2GD,wBAAgB,eAAe,CAC7B,aAAa,EAAE,WAAW,EAC1B,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAC1C,eAAe,EAAE,CAInB"}
@@ -1,89 +0,0 @@
1
- import * as _ from 'lodash-es';
2
- function reduceExam(examStructure, reducer, initialValue) {
3
- function go(accumulator, element) {
4
- return element.childNodes.reduce(go, reducer(accumulator, element));
5
- }
6
- return go(initialValue, examStructure);
7
- }
8
- function validateAnswerLength(examStructure, answersById) {
9
- return reduceExam(examStructure, (errors, element) => {
10
- if (element.name === 'text-answer' && element.attributes.maxLength != null) {
11
- const maybeAnswer = answersById[element.attributes.questionId];
12
- if ((maybeAnswer === null || maybeAnswer === void 0 ? void 0 : maybeAnswer.type) === 'richText' || (maybeAnswer === null || maybeAnswer === void 0 ? void 0 : maybeAnswer.type) === 'text') {
13
- return maybeAnswer.characterCount > element.attributes.maxLength
14
- ? [
15
- ...errors,
16
- {
17
- type: 'AnswerTooLong',
18
- displayNumber: element.attributes.displayNumber,
19
- characterCount: maybeAnswer.characterCount,
20
- elementType: 'question'
21
- }
22
- ]
23
- : errors;
24
- }
25
- return errors;
26
- }
27
- else {
28
- return errors;
29
- }
30
- }, []);
31
- }
32
- function validateExtraAnswers(examStructure, answersById) {
33
- // A recursive function that that calculates the answer count at each level
34
- // (answerCount) and carries around an array of extra answers
35
- function go(element) {
36
- var _a;
37
- const displayNumber = element.name === 'exam' ? '' : element.attributes.displayNumber;
38
- switch (element.name) {
39
- case 'exam':
40
- case 'section':
41
- case 'question': {
42
- const children = element.childNodes.map(go);
43
- const childrenWithAnswers = children.filter(v => v.answerCount > 0);
44
- const maxAnswers = (_a = element.attributes.maxAnswers) !== null && _a !== void 0 ? _a : Infinity;
45
- // Currently, min-answers exists only at section level.
46
- const minAnswers = element.name === 'section' ? element.attributes.minAnswers : undefined;
47
- // At exam level, answer count is the sum of answer counts of each
48
- // section. At section and question levels, answer count is the number
49
- // of child questions that have _any_ answers.
50
- const answerCount = element.name === 'exam'
51
- ? childrenWithAnswers.reduce((acc, section) => acc + section.answerCount, 0)
52
- : childrenWithAnswers.length;
53
- const childExtraAnswers = _.flatMap(children, v => v.extraAnswers);
54
- // If there are extra answers on the current level, we prepend them to
55
- // the extra answers array, so it is ordered naturally in document
56
- // order.
57
- const extraAnswers = answerCount > maxAnswers
58
- ? [
59
- {
60
- type: 'ExtraAnswer',
61
- elementType: element.name,
62
- displayNumber,
63
- childQuestions: children.map(v => v.displayNumber),
64
- maxAnswers,
65
- minAnswers
66
- },
67
- ...childExtraAnswers
68
- ]
69
- : childExtraAnswers;
70
- return { answerCount, displayNumber, extraAnswers };
71
- }
72
- case 'text-answer':
73
- case 'scored-text-answer':
74
- case 'choice-answer':
75
- case 'dropdown-answer': {
76
- const maybeAnswer = answersById[element.attributes.questionId];
77
- // An answer whose value is '' is considered to be empty, so we ignore
78
- // them.
79
- const isValidAnswer = (maybeAnswer === null || maybeAnswer === void 0 ? void 0 : maybeAnswer.value.length) > 0;
80
- return { answerCount: isValidAnswer ? 1 : 0, displayNumber, extraAnswers: [] };
81
- }
82
- }
83
- }
84
- return go(examStructure).extraAnswers;
85
- }
86
- export function validateAnswers(examStructure, answersById) {
87
- return _.flatMap([validateAnswerLength, validateExtraAnswers], validationFn => validationFn(examStructure, answersById));
88
- }
89
- //# sourceMappingURL=validateAnswers.js.map