@tinyweb_dev/oe-exam-sdk 0.1.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 (2020) hide show
  1. package/README.md +254 -0
  2. package/dist/api/exam-create.d.ts +18 -0
  3. package/dist/api/exam-create.d.ts.map +1 -0
  4. package/dist/api/exam-create.js +180 -0
  5. package/dist/api/exam-create.js.map +1 -0
  6. package/dist/api/exam-create.types.d.ts +149 -0
  7. package/dist/api/exam-create.types.d.ts.map +1 -0
  8. package/dist/api/exam-create.types.js +2 -0
  9. package/dist/api/exam-create.types.js.map +1 -0
  10. package/dist/api/exam-questions.d.ts +10 -0
  11. package/dist/api/exam-questions.d.ts.map +1 -0
  12. package/dist/api/exam-questions.js +99 -0
  13. package/dist/api/exam-questions.js.map +1 -0
  14. package/dist/api/exam-questions.types.d.ts +63 -0
  15. package/dist/api/exam-questions.types.d.ts.map +1 -0
  16. package/dist/api/exam-questions.types.js +2 -0
  17. package/dist/api/exam-questions.types.js.map +1 -0
  18. package/dist/api/exam-taking.d.ts +8 -0
  19. package/dist/api/exam-taking.d.ts.map +1 -0
  20. package/dist/api/exam-taking.js +74 -0
  21. package/dist/api/exam-taking.js.map +1 -0
  22. package/dist/api/exam-taking.types.d.ts +148 -0
  23. package/dist/api/exam-taking.types.d.ts.map +1 -0
  24. package/dist/api/exam-taking.types.js +2 -0
  25. package/dist/api/exam-taking.types.js.map +1 -0
  26. package/dist/api/index.d.ts +8 -0
  27. package/dist/api/index.d.ts.map +1 -0
  28. package/dist/api/index.js +7 -0
  29. package/dist/api/index.js.map +1 -0
  30. package/dist/api/result-review.d.ts +8 -0
  31. package/dist/api/result-review.d.ts.map +1 -0
  32. package/dist/api/result-review.js +51 -0
  33. package/dist/api/result-review.js.map +1 -0
  34. package/dist/api/result-review.types.d.ts +86 -0
  35. package/dist/api/result-review.types.d.ts.map +1 -0
  36. package/dist/api/result-review.types.js +2 -0
  37. package/dist/api/result-review.types.js.map +1 -0
  38. package/dist/components/CueCardEditor.d.ts +8 -0
  39. package/dist/components/CueCardEditor.d.ts.map +1 -0
  40. package/dist/components/CueCardEditor.js +59 -0
  41. package/dist/components/CueCardEditor.js.map +1 -0
  42. package/dist/components/common/ResolvedImage.d.ts +9 -0
  43. package/dist/components/common/ResolvedImage.d.ts.map +1 -0
  44. package/dist/components/common/ResolvedImage.js +16 -0
  45. package/dist/components/common/ResolvedImage.js.map +1 -0
  46. package/dist/components/exams/CreateExamInfoForm.d.ts +9 -0
  47. package/dist/components/exams/CreateExamInfoForm.d.ts.map +1 -0
  48. package/dist/components/exams/CreateExamInfoForm.js +36 -0
  49. package/dist/components/exams/CreateExamInfoForm.js.map +1 -0
  50. package/dist/components/exams/CreateExamPageContainer.d.ts +10 -0
  51. package/dist/components/exams/CreateExamPageContainer.d.ts.map +1 -0
  52. package/dist/components/exams/CreateExamPageContainer.js +104 -0
  53. package/dist/components/exams/CreateExamPageContainer.js.map +1 -0
  54. package/dist/components/exams/ExamCreator.d.ts +17 -0
  55. package/dist/components/exams/ExamCreator.d.ts.map +1 -0
  56. package/dist/components/exams/ExamCreator.js +90 -0
  57. package/dist/components/exams/ExamCreator.js.map +1 -0
  58. package/dist/components/exams/ExamPartTabs.d.ts +10 -0
  59. package/dist/components/exams/ExamPartTabs.d.ts.map +1 -0
  60. package/dist/components/exams/ExamPartTabs.js +41 -0
  61. package/dist/components/exams/ExamPartTabs.js.map +1 -0
  62. package/dist/components/exams/ExamQuestionGrid.d.ts +10 -0
  63. package/dist/components/exams/ExamQuestionGrid.d.ts.map +1 -0
  64. package/dist/components/exams/ExamQuestionGrid.js +19 -0
  65. package/dist/components/exams/ExamQuestionGrid.js.map +1 -0
  66. package/dist/components/exams/ExamQuestionsPageContainer.d.ts +11 -0
  67. package/dist/components/exams/ExamQuestionsPageContainer.d.ts.map +1 -0
  68. package/dist/components/exams/ExamQuestionsPageContainer.js +91 -0
  69. package/dist/components/exams/ExamQuestionsPageContainer.js.map +1 -0
  70. package/dist/components/exams/PartAudioUploader.d.ts +10 -0
  71. package/dist/components/exams/PartAudioUploader.d.ts.map +1 -0
  72. package/dist/components/exams/PartAudioUploader.js +10 -0
  73. package/dist/components/exams/PartAudioUploader.js.map +1 -0
  74. package/dist/components/exams/TemplateSelector.d.ts +9 -0
  75. package/dist/components/exams/TemplateSelector.d.ts.map +1 -0
  76. package/dist/components/exams/TemplateSelector.js +67 -0
  77. package/dist/components/exams/TemplateSelector.js.map +1 -0
  78. package/dist/components/exams/api.d.ts +6 -0
  79. package/dist/components/exams/api.d.ts.map +1 -0
  80. package/dist/components/exams/api.js +4 -0
  81. package/dist/components/exams/api.js.map +1 -0
  82. package/dist/components/exams/create-exam.validation.d.ts +11 -0
  83. package/dist/components/exams/create-exam.validation.d.ts.map +1 -0
  84. package/dist/components/exams/create-exam.validation.js +19 -0
  85. package/dist/components/exams/create-exam.validation.js.map +1 -0
  86. package/dist/components/exams/exam-template.utils.d.ts +59 -0
  87. package/dist/components/exams/exam-template.utils.d.ts.map +1 -0
  88. package/dist/components/exams/exam-template.utils.js +19 -0
  89. package/dist/components/exams/exam-template.utils.js.map +1 -0
  90. package/dist/components/exams/index.d.ts +18 -0
  91. package/dist/components/exams/index.d.ts.map +1 -0
  92. package/dist/components/exams/index.js +11 -0
  93. package/dist/components/exams/index.js.map +1 -0
  94. package/dist/components/exams/take/ExamTakingPageContainer.d.ts +10 -0
  95. package/dist/components/exams/take/ExamTakingPageContainer.d.ts.map +1 -0
  96. package/dist/components/exams/take/ExamTakingPageContainer.js +154 -0
  97. package/dist/components/exams/take/ExamTakingPageContainer.js.map +1 -0
  98. package/dist/components/exams/take/GenericQuestionRenderer.d.ts +8 -0
  99. package/dist/components/exams/take/GenericQuestionRenderer.d.ts.map +1 -0
  100. package/dist/components/exams/take/GenericQuestionRenderer.js +15 -0
  101. package/dist/components/exams/take/GenericQuestionRenderer.js.map +1 -0
  102. package/dist/components/exams/take/exam-taking.utils.d.ts +116 -0
  103. package/dist/components/exams/take/exam-taking.utils.d.ts.map +1 -0
  104. package/dist/components/exams/take/exam-taking.utils.js +89 -0
  105. package/dist/components/exams/take/exam-taking.utils.js.map +1 -0
  106. package/dist/components/exams/take/hooks/useSpeakingRecorder.d.ts +9 -0
  107. package/dist/components/exams/take/hooks/useSpeakingRecorder.d.ts.map +1 -0
  108. package/dist/components/exams/take/hooks/useSpeakingRecorder.js +25 -0
  109. package/dist/components/exams/take/hooks/useSpeakingRecorder.js.map +1 -0
  110. package/dist/components/exams/take/index.d.ts +7 -0
  111. package/dist/components/exams/take/index.d.ts.map +1 -0
  112. package/dist/components/exams/take/index.js +3 -0
  113. package/dist/components/exams/take/index.js.map +1 -0
  114. package/dist/components/exams/take/types.d.ts +2 -0
  115. package/dist/components/exams/take/types.d.ts.map +1 -0
  116. package/dist/components/exams/take/types.js +2 -0
  117. package/dist/components/exams/take/types.js.map +1 -0
  118. package/dist/components/index.d.ts +43 -0
  119. package/dist/components/index.d.ts.map +1 -0
  120. package/dist/components/index.js +43 -0
  121. package/dist/components/index.js.map +1 -0
  122. package/dist/components/questions/_shared/config/question-types.config.d.ts +10 -0
  123. package/dist/components/questions/_shared/config/question-types.config.d.ts.map +1 -0
  124. package/dist/components/questions/_shared/config/question-types.config.js +334 -0
  125. package/dist/components/questions/_shared/config/question-types.config.js.map +1 -0
  126. package/dist/components/questions/_shared/constants/color-palette.d.ts +7 -0
  127. package/dist/components/questions/_shared/constants/color-palette.d.ts.map +1 -0
  128. package/dist/components/questions/_shared/constants/color-palette.js +22 -0
  129. package/dist/components/questions/_shared/constants/color-palette.js.map +1 -0
  130. package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.d.ts +25 -0
  131. package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.d.ts.map +1 -0
  132. package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.js +106 -0
  133. package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.js.map +1 -0
  134. package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.d.ts +57 -0
  135. package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.d.ts.map +1 -0
  136. package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.js +223 -0
  137. package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.js.map +1 -0
  138. package/dist/components/questions/_shared/hooks/useCompareImagesGroup.d.ts +12 -0
  139. package/dist/components/questions/_shared/hooks/useCompareImagesGroup.d.ts.map +1 -0
  140. package/dist/components/questions/_shared/hooks/useCompareImagesGroup.js +141 -0
  141. package/dist/components/questions/_shared/hooks/useCompareImagesGroup.js.map +1 -0
  142. package/dist/components/questions/_shared/hooks/useImageQuestionGroup.d.ts +20 -0
  143. package/dist/components/questions/_shared/hooks/useImageQuestionGroup.d.ts.map +1 -0
  144. package/dist/components/questions/_shared/hooks/useImageQuestionGroup.js +124 -0
  145. package/dist/components/questions/_shared/hooks/useImageQuestionGroup.js.map +1 -0
  146. package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.d.ts +35 -0
  147. package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.d.ts.map +1 -0
  148. package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.js +51 -0
  149. package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.js.map +1 -0
  150. package/dist/components/questions/_shared/hooks/useQuestionFormState.d.ts +90 -0
  151. package/dist/components/questions/_shared/hooks/useQuestionFormState.d.ts.map +1 -0
  152. package/dist/components/questions/_shared/hooks/useQuestionFormState.js +55 -0
  153. package/dist/components/questions/_shared/hooks/useQuestionFormState.js.map +1 -0
  154. package/dist/components/questions/_shared/hooks/useQuestionInitialization.d.ts +13 -0
  155. package/dist/components/questions/_shared/hooks/useQuestionInitialization.d.ts.map +1 -0
  156. package/dist/components/questions/_shared/hooks/useQuestionInitialization.js +124 -0
  157. package/dist/components/questions/_shared/hooks/useQuestionInitialization.js.map +1 -0
  158. package/dist/components/questions/_shared/hooks/useQuestionListGroup.d.ts +20 -0
  159. package/dist/components/questions/_shared/hooks/useQuestionListGroup.d.ts.map +1 -0
  160. package/dist/components/questions/_shared/hooks/useQuestionListGroup.js +122 -0
  161. package/dist/components/questions/_shared/hooks/useQuestionListGroup.js.map +1 -0
  162. package/dist/components/questions/_shared/hooks/useQuestionOnChange.d.ts +13 -0
  163. package/dist/components/questions/_shared/hooks/useQuestionOnChange.d.ts.map +1 -0
  164. package/dist/components/questions/_shared/hooks/useQuestionOnChange.js +71 -0
  165. package/dist/components/questions/_shared/hooks/useQuestionOnChange.js.map +1 -0
  166. package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.d.ts +51 -0
  167. package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.d.ts.map +1 -0
  168. package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.js +195 -0
  169. package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.js.map +1 -0
  170. package/dist/components/questions/_shared/index.d.ts +8 -0
  171. package/dist/components/questions/_shared/index.d.ts.map +1 -0
  172. package/dist/components/questions/_shared/index.js +8 -0
  173. package/dist/components/questions/_shared/index.js.map +1 -0
  174. package/dist/components/questions/_shared/types/answer-the-question.type.d.ts +59 -0
  175. package/dist/components/questions/_shared/types/answer-the-question.type.d.ts.map +1 -0
  176. package/dist/components/questions/_shared/types/answer-the-question.type.js +2 -0
  177. package/dist/components/questions/_shared/types/answer-the-question.type.js.map +1 -0
  178. package/dist/components/questions/_shared/types/arrange-letters-into-words.type.d.ts +24 -0
  179. package/dist/components/questions/_shared/types/arrange-letters-into-words.type.d.ts.map +1 -0
  180. package/dist/components/questions/_shared/types/arrange-letters-into-words.type.js +2 -0
  181. package/dist/components/questions/_shared/types/arrange-letters-into-words.type.js.map +1 -0
  182. package/dist/components/questions/_shared/types/choose-correct-adjective.type.d.ts +22 -0
  183. package/dist/components/questions/_shared/types/choose-correct-adjective.type.d.ts.map +1 -0
  184. package/dist/components/questions/_shared/types/choose-correct-adjective.type.js +4 -0
  185. package/dist/components/questions/_shared/types/choose-correct-adjective.type.js.map +1 -0
  186. package/dist/components/questions/_shared/types/color-region.config.d.ts +34 -0
  187. package/dist/components/questions/_shared/types/color-region.config.d.ts.map +1 -0
  188. package/dist/components/questions/_shared/types/color-region.config.js +2 -0
  189. package/dist/components/questions/_shared/types/color-region.config.js.map +1 -0
  190. package/dist/components/questions/_shared/types/fill-in-blank.type.d.ts +53 -0
  191. package/dist/components/questions/_shared/types/fill-in-blank.type.d.ts.map +1 -0
  192. package/dist/components/questions/_shared/types/fill-in-blank.type.js +2 -0
  193. package/dist/components/questions/_shared/types/fill-in-blank.type.js.map +1 -0
  194. package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.d.ts +48 -0
  195. package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.d.ts.map +1 -0
  196. package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.js +2 -0
  197. package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.js.map +1 -0
  198. package/dist/components/questions/_shared/types/gn-speaking-interview.type.d.ts +33 -0
  199. package/dist/components/questions/_shared/types/gn-speaking-interview.type.d.ts.map +1 -0
  200. package/dist/components/questions/_shared/types/gn-speaking-interview.type.js +2 -0
  201. package/dist/components/questions/_shared/types/gn-speaking-interview.type.js.map +1 -0
  202. package/dist/components/questions/_shared/types/index.d.ts +13 -0
  203. package/dist/components/questions/_shared/types/index.d.ts.map +1 -0
  204. package/dist/components/questions/_shared/types/index.js +13 -0
  205. package/dist/components/questions/_shared/types/index.js.map +1 -0
  206. package/dist/components/questions/_shared/types/label-the-picture.type.d.ts +33 -0
  207. package/dist/components/questions/_shared/types/label-the-picture.type.d.ts.map +1 -0
  208. package/dist/components/questions/_shared/types/label-the-picture.type.js +2 -0
  209. package/dist/components/questions/_shared/types/label-the-picture.type.js.map +1 -0
  210. package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.d.ts +48 -0
  211. package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.d.ts.map +1 -0
  212. package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.js +2 -0
  213. package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.js.map +1 -0
  214. package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.d.ts +56 -0
  215. package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.d.ts.map +1 -0
  216. package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.js +2 -0
  217. package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.js.map +1 -0
  218. package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.d.ts +66 -0
  219. package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.d.ts.map +1 -0
  220. package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.js +2 -0
  221. package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.js.map +1 -0
  222. package/dist/components/questions/_shared/types/listen-and-speak-answer.type.d.ts +32 -0
  223. package/dist/components/questions/_shared/types/listen-and-speak-answer.type.d.ts.map +1 -0
  224. package/dist/components/questions/_shared/types/listen-and-speak-answer.type.js +2 -0
  225. package/dist/components/questions/_shared/types/listen-and-speak-answer.type.js.map +1 -0
  226. package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.d.ts +35 -0
  227. package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.d.ts.map +1 -0
  228. package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.js +2 -0
  229. package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.js.map +1 -0
  230. package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.d.ts +30 -0
  231. package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.d.ts.map +1 -0
  232. package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.js +2 -0
  233. package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.js.map +1 -0
  234. package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.d.ts +39 -0
  235. package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.d.ts.map +1 -0
  236. package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.js +2 -0
  237. package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.js.map +1 -0
  238. package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.d.ts +26 -0
  239. package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.d.ts.map +1 -0
  240. package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.js +4 -0
  241. package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.js.map +1 -0
  242. package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.d.ts +28 -0
  243. package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.d.ts.map +1 -0
  244. package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.js +2 -0
  245. package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.js.map +1 -0
  246. package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.d.ts +25 -0
  247. package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.d.ts.map +1 -0
  248. package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.js +4 -0
  249. package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.js.map +1 -0
  250. package/dist/components/questions/_shared/types/listen-and-tick-answer.type.d.ts +33 -0
  251. package/dist/components/questions/_shared/types/listen-and-tick-answer.type.d.ts.map +1 -0
  252. package/dist/components/questions/_shared/types/listen-and-tick-answer.type.js +2 -0
  253. package/dist/components/questions/_shared/types/listen-and-tick-answer.type.js.map +1 -0
  254. package/dist/components/questions/_shared/types/listening-drawline.type.d.ts +40 -0
  255. package/dist/components/questions/_shared/types/listening-drawline.type.d.ts.map +1 -0
  256. package/dist/components/questions/_shared/types/listening-drawline.type.js +2 -0
  257. package/dist/components/questions/_shared/types/listening-drawline.type.js.map +1 -0
  258. package/dist/components/questions/_shared/types/look-and-choose-answer.type.d.ts +64 -0
  259. package/dist/components/questions/_shared/types/look-and-choose-answer.type.d.ts.map +1 -0
  260. package/dist/components/questions/_shared/types/look-and-choose-answer.type.js +2 -0
  261. package/dist/components/questions/_shared/types/look-and-choose-answer.type.js.map +1 -0
  262. package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.d.ts +48 -0
  263. package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.d.ts.map +1 -0
  264. package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.js +2 -0
  265. package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.js.map +1 -0
  266. package/dist/components/questions/_shared/types/match-by-writing-answer.type.d.ts +52 -0
  267. package/dist/components/questions/_shared/types/match-by-writing-answer.type.d.ts.map +1 -0
  268. package/dist/components/questions/_shared/types/match-by-writing-answer.type.js +2 -0
  269. package/dist/components/questions/_shared/types/match-by-writing-answer.type.js.map +1 -0
  270. package/dist/components/questions/_shared/types/multiple-choice.type.d.ts +39 -0
  271. package/dist/components/questions/_shared/types/multiple-choice.type.d.ts.map +1 -0
  272. package/dist/components/questions/_shared/types/multiple-choice.type.js +2 -0
  273. package/dist/components/questions/_shared/types/multiple-choice.type.js.map +1 -0
  274. package/dist/components/questions/_shared/types/question-group.type.d.ts +45 -0
  275. package/dist/components/questions/_shared/types/question-group.type.d.ts.map +1 -0
  276. package/dist/components/questions/_shared/types/question-group.type.js +12 -0
  277. package/dist/components/questions/_shared/types/question-group.type.js.map +1 -0
  278. package/dist/components/questions/_shared/types/read-and-color-objects.type.d.ts +44 -0
  279. package/dist/components/questions/_shared/types/read-and-color-objects.type.d.ts.map +1 -0
  280. package/dist/components/questions/_shared/types/read-and-color-objects.type.js +2 -0
  281. package/dist/components/questions/_shared/types/read-and-color-objects.type.js.map +1 -0
  282. package/dist/components/questions/_shared/types/read-displayed-content.type.d.ts +19 -0
  283. package/dist/components/questions/_shared/types/read-displayed-content.type.d.ts.map +1 -0
  284. package/dist/components/questions/_shared/types/read-displayed-content.type.js +2 -0
  285. package/dist/components/questions/_shared/types/read-displayed-content.type.js.map +1 -0
  286. package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.d.ts +46 -0
  287. package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.d.ts.map +1 -0
  288. package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.js +2 -0
  289. package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.js.map +1 -0
  290. package/dist/components/questions/_shared/types/speaking-describe-image.type.d.ts +18 -0
  291. package/dist/components/questions/_shared/types/speaking-describe-image.type.d.ts.map +1 -0
  292. package/dist/components/questions/_shared/types/speaking-describe-image.type.js +2 -0
  293. package/dist/components/questions/_shared/types/speaking-describe-image.type.js.map +1 -0
  294. package/dist/components/questions/_shared/types/spontaneous-qa.type.d.ts +25 -0
  295. package/dist/components/questions/_shared/types/spontaneous-qa.type.d.ts.map +1 -0
  296. package/dist/components/questions/_shared/types/spontaneous-qa.type.js +2 -0
  297. package/dist/components/questions/_shared/types/spontaneous-qa.type.js.map +1 -0
  298. package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.d.ts +47 -0
  299. package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.d.ts.map +1 -0
  300. package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.js +2 -0
  301. package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.js.map +1 -0
  302. package/dist/components/questions/_shared/types/word-fill-paragraph.type.d.ts +53 -0
  303. package/dist/components/questions/_shared/types/word-fill-paragraph.type.d.ts.map +1 -0
  304. package/dist/components/questions/_shared/types/word-fill-paragraph.type.js +2 -0
  305. package/dist/components/questions/_shared/types/word-fill-paragraph.type.js.map +1 -0
  306. package/dist/components/questions/_shared/types/word-fill-structured-form.type.d.ts +47 -0
  307. package/dist/components/questions/_shared/types/word-fill-structured-form.type.d.ts.map +1 -0
  308. package/dist/components/questions/_shared/types/word-fill-structured-form.type.js +2 -0
  309. package/dist/components/questions/_shared/types/word-fill-structured-form.type.js.map +1 -0
  310. package/dist/components/questions/_shared/types/word-ordering.type.d.ts +36 -0
  311. package/dist/components/questions/_shared/types/word-ordering.type.d.ts.map +1 -0
  312. package/dist/components/questions/_shared/types/word-ordering.type.js +2 -0
  313. package/dist/components/questions/_shared/types/word-ordering.type.js.map +1 -0
  314. package/dist/components/questions/_shared/types/write-a-short-letter.type.d.ts +36 -0
  315. package/dist/components/questions/_shared/types/write-a-short-letter.type.d.ts.map +1 -0
  316. package/dist/components/questions/_shared/types/write-a-short-letter.type.js +2 -0
  317. package/dist/components/questions/_shared/types/write-a-short-letter.type.js.map +1 -0
  318. package/dist/components/questions/_shared/types/write-correct-verb-form.type.d.ts +29 -0
  319. package/dist/components/questions/_shared/types/write-correct-verb-form.type.d.ts.map +1 -0
  320. package/dist/components/questions/_shared/types/write-correct-verb-form.type.js +4 -0
  321. package/dist/components/questions/_shared/types/write-correct-verb-form.type.js.map +1 -0
  322. package/dist/components/questions/_shared/types/write-sentences.type.d.ts +41 -0
  323. package/dist/components/questions/_shared/types/write-sentences.type.d.ts.map +1 -0
  324. package/dist/components/questions/_shared/types/write-sentences.type.js +2 -0
  325. package/dist/components/questions/_shared/types/write-sentences.type.js.map +1 -0
  326. package/dist/components/questions/_shared/types/write-short-paragraph.type.d.ts +31 -0
  327. package/dist/components/questions/_shared/types/write-short-paragraph.type.d.ts.map +1 -0
  328. package/dist/components/questions/_shared/types/write-short-paragraph.type.js +2 -0
  329. package/dist/components/questions/_shared/types/write-short-paragraph.type.js.map +1 -0
  330. package/dist/components/questions/_shared/utils/answer-builder.d.ts +4 -0
  331. package/dist/components/questions/_shared/utils/answer-builder.d.ts.map +1 -0
  332. package/dist/components/questions/_shared/utils/answer-builder.js +80 -0
  333. package/dist/components/questions/_shared/utils/answer-builder.js.map +1 -0
  334. package/dist/components/questions/_shared/utils/createColorRegionRegistration.d.ts +7 -0
  335. package/dist/components/questions/_shared/utils/createColorRegionRegistration.d.ts.map +1 -0
  336. package/dist/components/questions/_shared/utils/createColorRegionRegistration.js +40 -0
  337. package/dist/components/questions/_shared/utils/createColorRegionRegistration.js.map +1 -0
  338. package/dist/components/questions/_shared/utils/id-generator.d.ts +2 -0
  339. package/dist/components/questions/_shared/utils/id-generator.d.ts.map +1 -0
  340. package/dist/components/questions/_shared/utils/id-generator.js +4 -0
  341. package/dist/components/questions/_shared/utils/id-generator.js.map +1 -0
  342. package/dist/components/questions/_shared/utils/question-validation.d.ts +6 -0
  343. package/dist/components/questions/_shared/utils/question-validation.d.ts.map +1 -0
  344. package/dist/components/questions/_shared/utils/question-validation.js +22 -0
  345. package/dist/components/questions/_shared/utils/question-validation.js.map +1 -0
  346. package/dist/components/questions/components/ColorNode.d.ts +20 -0
  347. package/dist/components/questions/components/ColorNode.d.ts.map +1 -0
  348. package/dist/components/questions/components/ColorNode.js +86 -0
  349. package/dist/components/questions/components/ColorNode.js.map +1 -0
  350. package/dist/components/questions/components/ColorRegionClient.d.ts +12 -0
  351. package/dist/components/questions/components/ColorRegionClient.d.ts.map +1 -0
  352. package/dist/components/questions/components/ColorRegionClient.js +546 -0
  353. package/dist/components/questions/components/ColorRegionClient.js.map +1 -0
  354. package/dist/components/questions/components/ColorRegionCreator.d.ts +8 -0
  355. package/dist/components/questions/components/ColorRegionCreator.d.ts.map +1 -0
  356. package/dist/components/questions/components/ColorRegionCreator.js +421 -0
  357. package/dist/components/questions/components/ColorRegionCreator.js.map +1 -0
  358. package/dist/components/questions/components/ColorRegionNode.d.ts +20 -0
  359. package/dist/components/questions/components/ColorRegionNode.d.ts.map +1 -0
  360. package/dist/components/questions/components/ColorRegionNode.js +60 -0
  361. package/dist/components/questions/components/ColorRegionNode.js.map +1 -0
  362. package/dist/components/questions/components/CreatorGuide.d.ts +103 -0
  363. package/dist/components/questions/components/CreatorGuide.d.ts.map +1 -0
  364. package/dist/components/questions/components/CreatorGuide.js +104 -0
  365. package/dist/components/questions/components/CreatorGuide.js.map +1 -0
  366. package/dist/components/questions/components/NameNode.d.ts +18 -0
  367. package/dist/components/questions/components/NameNode.d.ts.map +1 -0
  368. package/dist/components/questions/components/NameNode.js +27 -0
  369. package/dist/components/questions/components/NameNode.js.map +1 -0
  370. package/dist/components/questions/components/QuestionBankOption.d.ts +33 -0
  371. package/dist/components/questions/components/QuestionBankOption.d.ts.map +1 -0
  372. package/dist/components/questions/components/QuestionBankOption.js +47 -0
  373. package/dist/components/questions/components/QuestionBankOption.js.map +1 -0
  374. package/dist/components/questions/components/QuestionBasicInfoForm.d.ts +20 -0
  375. package/dist/components/questions/components/QuestionBasicInfoForm.d.ts.map +1 -0
  376. package/dist/components/questions/components/QuestionBasicInfoForm.js +10 -0
  377. package/dist/components/questions/components/QuestionBasicInfoForm.js.map +1 -0
  378. package/dist/components/questions/components/QuestionCommonFields.d.ts +23 -0
  379. package/dist/components/questions/components/QuestionCommonFields.d.ts.map +1 -0
  380. package/dist/components/questions/components/QuestionCommonFields.js +34 -0
  381. package/dist/components/questions/components/QuestionCommonFields.js.map +1 -0
  382. package/dist/components/questions/components/QuestionSearchDropdown.d.ts +42 -0
  383. package/dist/components/questions/components/QuestionSearchDropdown.d.ts.map +1 -0
  384. package/dist/components/questions/components/QuestionSearchDropdown.js +259 -0
  385. package/dist/components/questions/components/QuestionSearchDropdown.js.map +1 -0
  386. package/dist/components/questions/components/QuestionTypeSelector.d.ts +9 -0
  387. package/dist/components/questions/components/QuestionTypeSelector.d.ts.map +1 -0
  388. package/dist/components/questions/components/QuestionTypeSelector.js +33 -0
  389. package/dist/components/questions/components/QuestionTypeSelector.js.map +1 -0
  390. package/dist/components/questions/components/QuestionTypeSpecificForms.d.ts +10 -0
  391. package/dist/components/questions/components/QuestionTypeSpecificForms.d.ts.map +1 -0
  392. package/dist/components/questions/components/QuestionTypeSpecificForms.js +7 -0
  393. package/dist/components/questions/components/QuestionTypeSpecificForms.js.map +1 -0
  394. package/dist/components/questions/components/RegionNode.d.ts +20 -0
  395. package/dist/components/questions/components/RegionNode.d.ts.map +1 -0
  396. package/dist/components/questions/components/RegionNode.js +95 -0
  397. package/dist/components/questions/components/RegionNode.js.map +1 -0
  398. package/dist/components/questions/components/index.d.ts +15 -0
  399. package/dist/components/questions/components/index.d.ts.map +1 -0
  400. package/dist/components/questions/components/index.js +15 -0
  401. package/dist/components/questions/components/index.js.map +1 -0
  402. package/dist/components/questions/creator/QuestionCreator.d.ts +35 -0
  403. package/dist/components/questions/creator/QuestionCreator.d.ts.map +1 -0
  404. package/dist/components/questions/creator/QuestionCreator.js +91 -0
  405. package/dist/components/questions/creator/QuestionCreator.js.map +1 -0
  406. package/dist/components/questions/creator/QuestionGroupCreator.d.ts +8 -0
  407. package/dist/components/questions/creator/QuestionGroupCreator.d.ts.map +1 -0
  408. package/dist/components/questions/creator/QuestionGroupCreator.js +120 -0
  409. package/dist/components/questions/creator/QuestionGroupCreator.js.map +1 -0
  410. package/dist/components/questions/creator/dedicated-component-router.d.ts +39 -0
  411. package/dist/components/questions/creator/dedicated-component-router.d.ts.map +1 -0
  412. package/dist/components/questions/creator/dedicated-component-router.js +80 -0
  413. package/dist/components/questions/creator/dedicated-component-router.js.map +1 -0
  414. package/dist/components/questions/creator/index.d.ts +4 -0
  415. package/dist/components/questions/creator/index.d.ts.map +1 -0
  416. package/dist/components/questions/creator/index.js +4 -0
  417. package/dist/components/questions/creator/index.js.map +1 -0
  418. package/dist/components/questions/creator/question-type-registry.d.ts +66 -0
  419. package/dist/components/questions/creator/question-type-registry.d.ts.map +1 -0
  420. package/dist/components/questions/creator/question-type-registry.js +81 -0
  421. package/dist/components/questions/creator/question-type-registry.js.map +1 -0
  422. package/dist/components/questions/groups/ArticlesGroupCard.d.ts +35 -0
  423. package/dist/components/questions/groups/ArticlesGroupCard.d.ts.map +1 -0
  424. package/dist/components/questions/groups/ArticlesGroupCard.js +122 -0
  425. package/dist/components/questions/groups/ArticlesGroupCard.js.map +1 -0
  426. package/dist/components/questions/groups/BasicQuestionGroupCard.d.ts +51 -0
  427. package/dist/components/questions/groups/BasicQuestionGroupCard.d.ts.map +1 -0
  428. package/dist/components/questions/groups/BasicQuestionGroupCard.js +51 -0
  429. package/dist/components/questions/groups/BasicQuestionGroupCard.js.map +1 -0
  430. package/dist/components/questions/groups/DocumentGroupCard.d.ts +35 -0
  431. package/dist/components/questions/groups/DocumentGroupCard.d.ts.map +1 -0
  432. package/dist/components/questions/groups/DocumentGroupCard.js +115 -0
  433. package/dist/components/questions/groups/DocumentGroupCard.js.map +1 -0
  434. package/dist/components/questions/groups/MatchAnswerGroupCard.d.ts +19 -0
  435. package/dist/components/questions/groups/MatchAnswerGroupCard.d.ts.map +1 -0
  436. package/dist/components/questions/groups/MatchAnswerGroupCard.js +26 -0
  437. package/dist/components/questions/groups/MatchAnswerGroupCard.js.map +1 -0
  438. package/dist/components/questions/index.d.ts +11 -0
  439. package/dist/components/questions/index.d.ts.map +1 -0
  440. package/dist/components/questions/index.js +11 -0
  441. package/dist/components/questions/index.js.map +1 -0
  442. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.d.ts +3 -0
  443. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.d.ts.map +1 -0
  444. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.js +38 -0
  445. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.js.map +1 -0
  446. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.d.ts +3 -0
  447. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.d.ts.map +1 -0
  448. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.js +352 -0
  449. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.js.map +1 -0
  450. package/dist/components/questions/types/answer-the-question/register.d.ts +3 -0
  451. package/dist/components/questions/types/answer-the-question/register.d.ts.map +1 -0
  452. package/dist/components/questions/types/answer-the-question/register.js +68 -0
  453. package/dist/components/questions/types/answer-the-question/register.js.map +1 -0
  454. package/dist/components/questions/types/answer-the-question/transform.d.ts +3 -0
  455. package/dist/components/questions/types/answer-the-question/transform.d.ts.map +1 -0
  456. package/dist/components/questions/types/answer-the-question/transform.js +37 -0
  457. package/dist/components/questions/types/answer-the-question/transform.js.map +1 -0
  458. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.d.ts +3 -0
  459. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.d.ts.map +1 -0
  460. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.js +142 -0
  461. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.js.map +1 -0
  462. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.d.ts +3 -0
  463. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.d.ts.map +1 -0
  464. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.js +119 -0
  465. package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.js.map +1 -0
  466. package/dist/components/questions/types/arrange-letters-into-words/index.d.ts +3 -0
  467. package/dist/components/questions/types/arrange-letters-into-words/index.d.ts.map +1 -0
  468. package/dist/components/questions/types/arrange-letters-into-words/index.js +3 -0
  469. package/dist/components/questions/types/arrange-letters-into-words/index.js.map +1 -0
  470. package/dist/components/questions/types/arrange-letters-into-words/register.d.ts +3 -0
  471. package/dist/components/questions/types/arrange-letters-into-words/register.d.ts.map +1 -0
  472. package/dist/components/questions/types/arrange-letters-into-words/register.js +5 -0
  473. package/dist/components/questions/types/arrange-letters-into-words/register.js.map +1 -0
  474. package/dist/components/questions/types/arrange-letters-into-words/transform.d.ts +3 -0
  475. package/dist/components/questions/types/arrange-letters-into-words/transform.d.ts.map +1 -0
  476. package/dist/components/questions/types/arrange-letters-into-words/transform.js +25 -0
  477. package/dist/components/questions/types/arrange-letters-into-words/transform.js.map +1 -0
  478. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.d.ts +3 -0
  479. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.d.ts.map +1 -0
  480. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.js +65 -0
  481. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.js.map +1 -0
  482. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.d.ts +3 -0
  483. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.d.ts.map +1 -0
  484. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.js +170 -0
  485. package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.js.map +1 -0
  486. package/dist/components/questions/types/choose-correct-adjective/index.d.ts +3 -0
  487. package/dist/components/questions/types/choose-correct-adjective/index.d.ts.map +1 -0
  488. package/dist/components/questions/types/choose-correct-adjective/index.js +3 -0
  489. package/dist/components/questions/types/choose-correct-adjective/index.js.map +1 -0
  490. package/dist/components/questions/types/choose-correct-adjective/register.d.ts +3 -0
  491. package/dist/components/questions/types/choose-correct-adjective/register.d.ts.map +1 -0
  492. package/dist/components/questions/types/choose-correct-adjective/register.js +56 -0
  493. package/dist/components/questions/types/choose-correct-adjective/register.js.map +1 -0
  494. package/dist/components/questions/types/choose-correct-adjective/transform.d.ts +3 -0
  495. package/dist/components/questions/types/choose-correct-adjective/transform.d.ts.map +1 -0
  496. package/dist/components/questions/types/choose-correct-adjective/transform.js +17 -0
  497. package/dist/components/questions/types/choose-correct-adjective/transform.js.map +1 -0
  498. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.d.ts +3 -0
  499. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.d.ts.map +1 -0
  500. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.js +132 -0
  501. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.js.map +1 -0
  502. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.d.ts +26 -0
  503. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.d.ts.map +1 -0
  504. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.js +582 -0
  505. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.js.map +1 -0
  506. package/dist/components/questions/types/choose-the-correct-answer/index.d.ts +3 -0
  507. package/dist/components/questions/types/choose-the-correct-answer/index.d.ts.map +1 -0
  508. package/dist/components/questions/types/choose-the-correct-answer/index.js +3 -0
  509. package/dist/components/questions/types/choose-the-correct-answer/index.js.map +1 -0
  510. package/dist/components/questions/types/choose-the-correct-answer/register.d.ts +3 -0
  511. package/dist/components/questions/types/choose-the-correct-answer/register.d.ts.map +1 -0
  512. package/dist/components/questions/types/choose-the-correct-answer/register.js +102 -0
  513. package/dist/components/questions/types/choose-the-correct-answer/register.js.map +1 -0
  514. package/dist/components/questions/types/choose-the-correct-answer/transform.d.ts +3 -0
  515. package/dist/components/questions/types/choose-the-correct-answer/transform.d.ts.map +1 -0
  516. package/dist/components/questions/types/choose-the-correct-answer/transform.js +44 -0
  517. package/dist/components/questions/types/choose-the-correct-answer/transform.js.map +1 -0
  518. package/dist/components/questions/types/fill-in-blank/FillInBlankClient.d.ts +3 -0
  519. package/dist/components/questions/types/fill-in-blank/FillInBlankClient.d.ts.map +1 -0
  520. package/dist/components/questions/types/fill-in-blank/FillInBlankClient.js +276 -0
  521. package/dist/components/questions/types/fill-in-blank/FillInBlankClient.js.map +1 -0
  522. package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.d.ts +3 -0
  523. package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.d.ts.map +1 -0
  524. package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.js +449 -0
  525. package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.js.map +1 -0
  526. package/dist/components/questions/types/fill-in-blank/index.d.ts +3 -0
  527. package/dist/components/questions/types/fill-in-blank/index.d.ts.map +1 -0
  528. package/dist/components/questions/types/fill-in-blank/index.js +3 -0
  529. package/dist/components/questions/types/fill-in-blank/index.js.map +1 -0
  530. package/dist/components/questions/types/fill-in-blank/register.d.ts +3 -0
  531. package/dist/components/questions/types/fill-in-blank/register.d.ts.map +1 -0
  532. package/dist/components/questions/types/fill-in-blank/register.js +139 -0
  533. package/dist/components/questions/types/fill-in-blank/register.js.map +1 -0
  534. package/dist/components/questions/types/fill-in-blank/transform.d.ts +3 -0
  535. package/dist/components/questions/types/fill-in-blank/transform.d.ts.map +1 -0
  536. package/dist/components/questions/types/fill-in-blank/transform.js +60 -0
  537. package/dist/components/questions/types/fill-in-blank/transform.js.map +1 -0
  538. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.d.ts +8 -0
  539. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.d.ts.map +1 -0
  540. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.js +118 -0
  541. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.js.map +1 -0
  542. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.d.ts +4 -0
  543. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.d.ts.map +1 -0
  544. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.js +672 -0
  545. package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.js.map +1 -0
  546. package/dist/components/questions/types/fill-missing-words-in-grid/index.d.ts +3 -0
  547. package/dist/components/questions/types/fill-missing-words-in-grid/index.d.ts.map +1 -0
  548. package/dist/components/questions/types/fill-missing-words-in-grid/index.js +3 -0
  549. package/dist/components/questions/types/fill-missing-words-in-grid/index.js.map +1 -0
  550. package/dist/components/questions/types/fill-missing-words-in-grid/register.d.ts +4 -0
  551. package/dist/components/questions/types/fill-missing-words-in-grid/register.d.ts.map +1 -0
  552. package/dist/components/questions/types/fill-missing-words-in-grid/register.js +38 -0
  553. package/dist/components/questions/types/fill-missing-words-in-grid/register.js.map +1 -0
  554. package/dist/components/questions/types/fill-missing-words-in-grid/transform.d.ts +3 -0
  555. package/dist/components/questions/types/fill-missing-words-in-grid/transform.d.ts.map +1 -0
  556. package/dist/components/questions/types/fill-missing-words-in-grid/transform.js +16 -0
  557. package/dist/components/questions/types/fill-missing-words-in-grid/transform.js.map +1 -0
  558. package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.d.ts +3 -0
  559. package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.d.ts.map +1 -0
  560. package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.js +263 -0
  561. package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.js.map +1 -0
  562. package/dist/components/questions/types/gn-speaking-interview/register.d.ts +3 -0
  563. package/dist/components/questions/types/gn-speaking-interview/register.d.ts.map +1 -0
  564. package/dist/components/questions/types/gn-speaking-interview/register.js +122 -0
  565. package/dist/components/questions/types/gn-speaking-interview/register.js.map +1 -0
  566. package/dist/components/questions/types/gn-speaking-interview/transform.d.ts +3 -0
  567. package/dist/components/questions/types/gn-speaking-interview/transform.d.ts.map +1 -0
  568. package/dist/components/questions/types/gn-speaking-interview/transform.js +49 -0
  569. package/dist/components/questions/types/gn-speaking-interview/transform.js.map +1 -0
  570. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.d.ts +8 -0
  571. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.d.ts.map +1 -0
  572. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.js +17 -0
  573. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.js.map +1 -0
  574. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.d.ts +3 -0
  575. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.d.ts.map +1 -0
  576. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.js +28 -0
  577. package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.js.map +1 -0
  578. package/dist/components/questions/types/image-object-matching/index.d.ts +3 -0
  579. package/dist/components/questions/types/image-object-matching/index.d.ts.map +1 -0
  580. package/dist/components/questions/types/image-object-matching/index.js +3 -0
  581. package/dist/components/questions/types/image-object-matching/index.js.map +1 -0
  582. package/dist/components/questions/types/image-object-matching/register.d.ts +2 -0
  583. package/dist/components/questions/types/image-object-matching/register.d.ts.map +1 -0
  584. package/dist/components/questions/types/image-object-matching/register.js +4 -0
  585. package/dist/components/questions/types/image-object-matching/register.js.map +1 -0
  586. package/dist/components/questions/types/image-object-matching/transform.d.ts +2 -0
  587. package/dist/components/questions/types/image-object-matching/transform.d.ts.map +1 -0
  588. package/dist/components/questions/types/image-object-matching/transform.js +3 -0
  589. package/dist/components/questions/types/image-object-matching/transform.js.map +1 -0
  590. package/dist/components/questions/types/label-the-picture/LabelThePictureClient.d.ts +7 -0
  591. package/dist/components/questions/types/label-the-picture/LabelThePictureClient.d.ts.map +1 -0
  592. package/dist/components/questions/types/label-the-picture/LabelThePictureClient.js +103 -0
  593. package/dist/components/questions/types/label-the-picture/LabelThePictureClient.js.map +1 -0
  594. package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.d.ts +3 -0
  595. package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.d.ts.map +1 -0
  596. package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.js +345 -0
  597. package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.js.map +1 -0
  598. package/dist/components/questions/types/label-the-picture/index.d.ts +3 -0
  599. package/dist/components/questions/types/label-the-picture/index.d.ts.map +1 -0
  600. package/dist/components/questions/types/label-the-picture/index.js +3 -0
  601. package/dist/components/questions/types/label-the-picture/index.js.map +1 -0
  602. package/dist/components/questions/types/label-the-picture/register.d.ts +3 -0
  603. package/dist/components/questions/types/label-the-picture/register.d.ts.map +1 -0
  604. package/dist/components/questions/types/label-the-picture/register.js +55 -0
  605. package/dist/components/questions/types/label-the-picture/register.js.map +1 -0
  606. package/dist/components/questions/types/label-the-picture/transform.d.ts +3 -0
  607. package/dist/components/questions/types/label-the-picture/transform.d.ts.map +1 -0
  608. package/dist/components/questions/types/label-the-picture/transform.js +29 -0
  609. package/dist/components/questions/types/label-the-picture/transform.js.map +1 -0
  610. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.d.ts +3 -0
  611. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.d.ts.map +1 -0
  612. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.js +79 -0
  613. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.js.map +1 -0
  614. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.d.ts +3 -0
  615. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.d.ts.map +1 -0
  616. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.js +233 -0
  617. package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.js.map +1 -0
  618. package/dist/components/questions/types/listen-and-choose-from-answer-group/index.d.ts +3 -0
  619. package/dist/components/questions/types/listen-and-choose-from-answer-group/index.d.ts.map +1 -0
  620. package/dist/components/questions/types/listen-and-choose-from-answer-group/index.js +3 -0
  621. package/dist/components/questions/types/listen-and-choose-from-answer-group/index.js.map +1 -0
  622. package/dist/components/questions/types/listen-and-choose-from-answer-group/register.d.ts +3 -0
  623. package/dist/components/questions/types/listen-and-choose-from-answer-group/register.d.ts.map +1 -0
  624. package/dist/components/questions/types/listen-and-choose-from-answer-group/register.js +83 -0
  625. package/dist/components/questions/types/listen-and-choose-from-answer-group/register.js.map +1 -0
  626. package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.d.ts +3 -0
  627. package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.d.ts.map +1 -0
  628. package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.js +28 -0
  629. package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.js.map +1 -0
  630. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.d.ts +10 -0
  631. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.d.ts.map +1 -0
  632. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.js +71 -0
  633. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.js.map +1 -0
  634. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.d.ts +12 -0
  635. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.d.ts.map +1 -0
  636. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.js +387 -0
  637. package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.js.map +1 -0
  638. package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.d.ts +3 -0
  639. package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.d.ts.map +1 -0
  640. package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.js +3 -0
  641. package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.js.map +1 -0
  642. package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.d.ts +3 -0
  643. package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.d.ts.map +1 -0
  644. package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.js +101 -0
  645. package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.js.map +1 -0
  646. package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.d.ts +3 -0
  647. package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.d.ts.map +1 -0
  648. package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.js +34 -0
  649. package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.js.map +1 -0
  650. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.d.ts +10 -0
  651. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.d.ts.map +1 -0
  652. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.js +107 -0
  653. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.js.map +1 -0
  654. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.d.ts +12 -0
  655. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.d.ts.map +1 -0
  656. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.js +458 -0
  657. package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.js.map +1 -0
  658. package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.d.ts +3 -0
  659. package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.d.ts.map +1 -0
  660. package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.js +3 -0
  661. package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.js.map +1 -0
  662. package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.d.ts +3 -0
  663. package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.d.ts.map +1 -0
  664. package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.js +111 -0
  665. package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.js.map +1 -0
  666. package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.d.ts +3 -0
  667. package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.d.ts.map +1 -0
  668. package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.js +36 -0
  669. package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.js.map +1 -0
  670. package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.d.ts +21 -0
  671. package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.d.ts.map +1 -0
  672. package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.js +9 -0
  673. package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.js.map +1 -0
  674. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.d.ts +3 -0
  675. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.d.ts.map +1 -0
  676. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.js +23 -0
  677. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.js.map +1 -0
  678. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.d.ts +10 -0
  679. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.d.ts.map +1 -0
  680. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.js +292 -0
  681. package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.js.map +1 -0
  682. package/dist/components/questions/types/listen-and-speak-answer/index.d.ts +3 -0
  683. package/dist/components/questions/types/listen-and-speak-answer/index.d.ts.map +1 -0
  684. package/dist/components/questions/types/listen-and-speak-answer/index.js +3 -0
  685. package/dist/components/questions/types/listen-and-speak-answer/index.js.map +1 -0
  686. package/dist/components/questions/types/listen-and-speak-answer/register.d.ts +3 -0
  687. package/dist/components/questions/types/listen-and-speak-answer/register.d.ts.map +1 -0
  688. package/dist/components/questions/types/listen-and-speak-answer/register.js +85 -0
  689. package/dist/components/questions/types/listen-and-speak-answer/register.js.map +1 -0
  690. package/dist/components/questions/types/listen-and-speak-answer/transform.d.ts +3 -0
  691. package/dist/components/questions/types/listen-and-speak-answer/transform.d.ts.map +1 -0
  692. package/dist/components/questions/types/listen-and-speak-answer/transform.js +28 -0
  693. package/dist/components/questions/types/listen-and-speak-answer/transform.js.map +1 -0
  694. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.d.ts +4 -0
  695. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.d.ts.map +1 -0
  696. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.js +33 -0
  697. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.js.map +1 -0
  698. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.d.ts +11 -0
  699. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.d.ts.map +1 -0
  700. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.js +296 -0
  701. package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.js.map +1 -0
  702. package/dist/components/questions/types/listen-and-speak-compare-images/register.d.ts +3 -0
  703. package/dist/components/questions/types/listen-and-speak-compare-images/register.d.ts.map +1 -0
  704. package/dist/components/questions/types/listen-and-speak-compare-images/register.js +80 -0
  705. package/dist/components/questions/types/listen-and-speak-compare-images/register.js.map +1 -0
  706. package/dist/components/questions/types/listen-and-speak-compare-images/transform.d.ts +3 -0
  707. package/dist/components/questions/types/listen-and-speak-compare-images/transform.d.ts.map +1 -0
  708. package/dist/components/questions/types/listen-and-speak-compare-images/transform.js +28 -0
  709. package/dist/components/questions/types/listen-and-speak-compare-images/transform.js.map +1 -0
  710. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.d.ts +4 -0
  711. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.d.ts.map +1 -0
  712. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.js +35 -0
  713. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.js.map +1 -0
  714. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.d.ts +11 -0
  715. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.d.ts.map +1 -0
  716. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.js +286 -0
  717. package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.js.map +1 -0
  718. package/dist/components/questions/types/listen-and-speak-image-group/register.d.ts +3 -0
  719. package/dist/components/questions/types/listen-and-speak-image-group/register.d.ts.map +1 -0
  720. package/dist/components/questions/types/listen-and-speak-image-group/register.js +82 -0
  721. package/dist/components/questions/types/listen-and-speak-image-group/register.js.map +1 -0
  722. package/dist/components/questions/types/listen-and-speak-image-group/transform.d.ts +3 -0
  723. package/dist/components/questions/types/listen-and-speak-image-group/transform.d.ts.map +1 -0
  724. package/dist/components/questions/types/listen-and-speak-image-group/transform.js +27 -0
  725. package/dist/components/questions/types/listen-and-speak-image-group/transform.js.map +1 -0
  726. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.d.ts +4 -0
  727. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.d.ts.map +1 -0
  728. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.js +39 -0
  729. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.js.map +1 -0
  730. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.d.ts +12 -0
  731. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.d.ts.map +1 -0
  732. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.js +386 -0
  733. package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.js.map +1 -0
  734. package/dist/components/questions/types/listen-and-speak-info-exchange/register.d.ts +3 -0
  735. package/dist/components/questions/types/listen-and-speak-info-exchange/register.d.ts.map +1 -0
  736. package/dist/components/questions/types/listen-and-speak-info-exchange/register.js +88 -0
  737. package/dist/components/questions/types/listen-and-speak-info-exchange/register.js.map +1 -0
  738. package/dist/components/questions/types/listen-and-speak-info-exchange/transform.d.ts +3 -0
  739. package/dist/components/questions/types/listen-and-speak-info-exchange/transform.d.ts.map +1 -0
  740. package/dist/components/questions/types/listen-and-speak-info-exchange/transform.js +33 -0
  741. package/dist/components/questions/types/listen-and-speak-info-exchange/transform.js.map +1 -0
  742. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.d.ts +4 -0
  743. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.d.ts.map +1 -0
  744. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.js +27 -0
  745. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.js.map +1 -0
  746. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.d.ts +4 -0
  747. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.d.ts.map +1 -0
  748. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.js +248 -0
  749. package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.js.map +1 -0
  750. package/dist/components/questions/types/listen-and-speak-odd-one-out/register.d.ts +3 -0
  751. package/dist/components/questions/types/listen-and-speak-odd-one-out/register.d.ts.map +1 -0
  752. package/dist/components/questions/types/listen-and-speak-odd-one-out/register.js +60 -0
  753. package/dist/components/questions/types/listen-and-speak-odd-one-out/register.js.map +1 -0
  754. package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.d.ts +3 -0
  755. package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.d.ts.map +1 -0
  756. package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.js +19 -0
  757. package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.js.map +1 -0
  758. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.d.ts +4 -0
  759. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.d.ts.map +1 -0
  760. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.js +27 -0
  761. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.js.map +1 -0
  762. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.d.ts +15 -0
  763. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.d.ts.map +1 -0
  764. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.js +257 -0
  765. package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.js.map +1 -0
  766. package/dist/components/questions/types/listen-and-speak-question-list/register.d.ts +3 -0
  767. package/dist/components/questions/types/listen-and-speak-question-list/register.d.ts.map +1 -0
  768. package/dist/components/questions/types/listen-and-speak-question-list/register.js +82 -0
  769. package/dist/components/questions/types/listen-and-speak-question-list/register.js.map +1 -0
  770. package/dist/components/questions/types/listen-and-speak-question-list/transform.d.ts +4 -0
  771. package/dist/components/questions/types/listen-and-speak-question-list/transform.d.ts.map +1 -0
  772. package/dist/components/questions/types/listen-and-speak-question-list/transform.js +27 -0
  773. package/dist/components/questions/types/listen-and-speak-question-list/transform.js.map +1 -0
  774. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.d.ts +4 -0
  775. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.d.ts.map +1 -0
  776. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.js +27 -0
  777. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.js.map +1 -0
  778. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.d.ts +4 -0
  779. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.d.ts.map +1 -0
  780. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.js +231 -0
  781. package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.js.map +1 -0
  782. package/dist/components/questions/types/listen-and-speak-with-story-images/register.d.ts +3 -0
  783. package/dist/components/questions/types/listen-and-speak-with-story-images/register.d.ts.map +1 -0
  784. package/dist/components/questions/types/listen-and-speak-with-story-images/register.js +57 -0
  785. package/dist/components/questions/types/listen-and-speak-with-story-images/register.js.map +1 -0
  786. package/dist/components/questions/types/listen-and-speak-with-story-images/transform.d.ts +3 -0
  787. package/dist/components/questions/types/listen-and-speak-with-story-images/transform.d.ts.map +1 -0
  788. package/dist/components/questions/types/listen-and-speak-with-story-images/transform.js +17 -0
  789. package/dist/components/questions/types/listen-and-speak-with-story-images/transform.js.map +1 -0
  790. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.d.ts +21 -0
  791. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.d.ts.map +1 -0
  792. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.js +73 -0
  793. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.js.map +1 -0
  794. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.d.ts +16 -0
  795. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.d.ts.map +1 -0
  796. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.js +231 -0
  797. package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.js.map +1 -0
  798. package/dist/components/questions/types/look-picture-choose-correct-answer/index.d.ts +2 -0
  799. package/dist/components/questions/types/look-picture-choose-correct-answer/index.d.ts.map +1 -0
  800. package/dist/components/questions/types/look-picture-choose-correct-answer/index.js +2 -0
  801. package/dist/components/questions/types/look-picture-choose-correct-answer/index.js.map +1 -0
  802. package/dist/components/questions/types/look-picture-choose-correct-answer/register.d.ts +3 -0
  803. package/dist/components/questions/types/look-picture-choose-correct-answer/register.d.ts.map +1 -0
  804. package/dist/components/questions/types/look-picture-choose-correct-answer/register.js +67 -0
  805. package/dist/components/questions/types/look-picture-choose-correct-answer/register.js.map +1 -0
  806. package/dist/components/questions/types/look-picture-choose-correct-answer/transform.d.ts +3 -0
  807. package/dist/components/questions/types/look-picture-choose-correct-answer/transform.d.ts.map +1 -0
  808. package/dist/components/questions/types/look-picture-choose-correct-answer/transform.js +43 -0
  809. package/dist/components/questions/types/look-picture-choose-correct-answer/transform.js.map +1 -0
  810. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.d.ts +7 -0
  811. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.d.ts.map +1 -0
  812. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.js +97 -0
  813. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.js.map +1 -0
  814. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.d.ts +16 -0
  815. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.d.ts.map +1 -0
  816. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.js +239 -0
  817. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.js.map +1 -0
  818. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.d.ts +3 -0
  819. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.d.ts.map +1 -0
  820. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.js +3 -0
  821. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.js.map +1 -0
  822. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.d.ts +3 -0
  823. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.d.ts.map +1 -0
  824. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.js +77 -0
  825. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.js.map +1 -0
  826. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.d.ts +3 -0
  827. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.d.ts.map +1 -0
  828. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.js +20 -0
  829. package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.js.map +1 -0
  830. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.d.ts +8 -0
  831. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.d.ts.map +1 -0
  832. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.js +135 -0
  833. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.js.map +1 -0
  834. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.d.ts +4 -0
  835. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.d.ts.map +1 -0
  836. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.js +618 -0
  837. package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.js.map +1 -0
  838. package/dist/components/questions/types/look-picture-fill-word-hint/index.d.ts +3 -0
  839. package/dist/components/questions/types/look-picture-fill-word-hint/index.d.ts.map +1 -0
  840. package/dist/components/questions/types/look-picture-fill-word-hint/index.js +3 -0
  841. package/dist/components/questions/types/look-picture-fill-word-hint/index.js.map +1 -0
  842. package/dist/components/questions/types/look-picture-fill-word-hint/register.d.ts +3 -0
  843. package/dist/components/questions/types/look-picture-fill-word-hint/register.d.ts.map +1 -0
  844. package/dist/components/questions/types/look-picture-fill-word-hint/register.js +83 -0
  845. package/dist/components/questions/types/look-picture-fill-word-hint/register.js.map +1 -0
  846. package/dist/components/questions/types/look-picture-fill-word-hint/transform.d.ts +3 -0
  847. package/dist/components/questions/types/look-picture-fill-word-hint/transform.d.ts.map +1 -0
  848. package/dist/components/questions/types/look-picture-fill-word-hint/transform.js +30 -0
  849. package/dist/components/questions/types/look-picture-fill-word-hint/transform.js.map +1 -0
  850. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.d.ts +3 -0
  851. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.d.ts.map +1 -0
  852. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.js +39 -0
  853. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.js.map +1 -0
  854. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.d.ts +3 -0
  855. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.d.ts.map +1 -0
  856. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.js +360 -0
  857. package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.js.map +1 -0
  858. package/dist/components/questions/types/match-by-writing-answer/index.d.ts +4 -0
  859. package/dist/components/questions/types/match-by-writing-answer/index.d.ts.map +1 -0
  860. package/dist/components/questions/types/match-by-writing-answer/index.js +4 -0
  861. package/dist/components/questions/types/match-by-writing-answer/index.js.map +1 -0
  862. package/dist/components/questions/types/match-by-writing-answer/register.d.ts +3 -0
  863. package/dist/components/questions/types/match-by-writing-answer/register.d.ts.map +1 -0
  864. package/dist/components/questions/types/match-by-writing-answer/register.js +59 -0
  865. package/dist/components/questions/types/match-by-writing-answer/register.js.map +1 -0
  866. package/dist/components/questions/types/match-by-writing-answer/transform.d.ts +12 -0
  867. package/dist/components/questions/types/match-by-writing-answer/transform.d.ts.map +1 -0
  868. package/dist/components/questions/types/match-by-writing-answer/transform.js +62 -0
  869. package/dist/components/questions/types/match-by-writing-answer/transform.js.map +1 -0
  870. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.d.ts +8 -0
  871. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.d.ts.map +1 -0
  872. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.js +17 -0
  873. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.js.map +1 -0
  874. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.d.ts +3 -0
  875. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.d.ts.map +1 -0
  876. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.js +24 -0
  877. package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.js.map +1 -0
  878. package/dist/components/questions/types/read-and-color-objects/index.d.ts +3 -0
  879. package/dist/components/questions/types/read-and-color-objects/index.d.ts.map +1 -0
  880. package/dist/components/questions/types/read-and-color-objects/index.js +3 -0
  881. package/dist/components/questions/types/read-and-color-objects/index.js.map +1 -0
  882. package/dist/components/questions/types/read-and-color-objects/register.d.ts +2 -0
  883. package/dist/components/questions/types/read-and-color-objects/register.d.ts.map +1 -0
  884. package/dist/components/questions/types/read-and-color-objects/register.js +4 -0
  885. package/dist/components/questions/types/read-and-color-objects/register.js.map +1 -0
  886. package/dist/components/questions/types/read-and-color-objects/transform.d.ts +3 -0
  887. package/dist/components/questions/types/read-and-color-objects/transform.d.ts.map +1 -0
  888. package/dist/components/questions/types/read-and-color-objects/transform.js +37 -0
  889. package/dist/components/questions/types/read-and-color-objects/transform.js.map +1 -0
  890. package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.d.ts +3 -0
  891. package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.d.ts.map +1 -0
  892. package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.js +126 -0
  893. package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.js.map +1 -0
  894. package/dist/components/questions/types/read-displayed-content/register.d.ts +3 -0
  895. package/dist/components/questions/types/read-displayed-content/register.d.ts.map +1 -0
  896. package/dist/components/questions/types/read-displayed-content/register.js +65 -0
  897. package/dist/components/questions/types/read-displayed-content/register.js.map +1 -0
  898. package/dist/components/questions/types/read-displayed-content/transform.d.ts +3 -0
  899. package/dist/components/questions/types/read-displayed-content/transform.d.ts.map +1 -0
  900. package/dist/components/questions/types/read-displayed-content/transform.js +13 -0
  901. package/dist/components/questions/types/read-displayed-content/transform.js.map +1 -0
  902. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.d.ts +3 -0
  903. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.d.ts.map +1 -0
  904. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.js +65 -0
  905. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.js.map +1 -0
  906. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.d.ts +3 -0
  907. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.d.ts.map +1 -0
  908. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.js +512 -0
  909. package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.js.map +1 -0
  910. package/dist/components/questions/types/read-passage-and-answer-questions/index.d.ts +3 -0
  911. package/dist/components/questions/types/read-passage-and-answer-questions/index.d.ts.map +1 -0
  912. package/dist/components/questions/types/read-passage-and-answer-questions/index.js +3 -0
  913. package/dist/components/questions/types/read-passage-and-answer-questions/index.js.map +1 -0
  914. package/dist/components/questions/types/read-passage-and-answer-questions/register.d.ts +3 -0
  915. package/dist/components/questions/types/read-passage-and-answer-questions/register.d.ts.map +1 -0
  916. package/dist/components/questions/types/read-passage-and-answer-questions/register.js +59 -0
  917. package/dist/components/questions/types/read-passage-and-answer-questions/register.js.map +1 -0
  918. package/dist/components/questions/types/read-passage-and-answer-questions/transform.d.ts +3 -0
  919. package/dist/components/questions/types/read-passage-and-answer-questions/transform.d.ts.map +1 -0
  920. package/dist/components/questions/types/read-passage-and-answer-questions/transform.js +29 -0
  921. package/dist/components/questions/types/read-passage-and-answer-questions/transform.js.map +1 -0
  922. package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.d.ts +16 -0
  923. package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.d.ts.map +1 -0
  924. package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.js +374 -0
  925. package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.js.map +1 -0
  926. package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.d.ts +22 -0
  927. package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.d.ts.map +1 -0
  928. package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.js +42 -0
  929. package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.js.map +1 -0
  930. package/dist/components/questions/types/speaking-conversation/register.d.ts +3 -0
  931. package/dist/components/questions/types/speaking-conversation/register.d.ts.map +1 -0
  932. package/dist/components/questions/types/speaking-conversation/register.js +111 -0
  933. package/dist/components/questions/types/speaking-conversation/register.js.map +1 -0
  934. package/dist/components/questions/types/speaking-conversation/transform.d.ts +3 -0
  935. package/dist/components/questions/types/speaking-conversation/transform.d.ts.map +1 -0
  936. package/dist/components/questions/types/speaking-conversation/transform.js +35 -0
  937. package/dist/components/questions/types/speaking-conversation/transform.js.map +1 -0
  938. package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.d.ts +11 -0
  939. package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.d.ts.map +1 -0
  940. package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.js +75 -0
  941. package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.js.map +1 -0
  942. package/dist/components/questions/types/speaking-cue-card/register.d.ts +3 -0
  943. package/dist/components/questions/types/speaking-cue-card/register.d.ts.map +1 -0
  944. package/dist/components/questions/types/speaking-cue-card/register.js +53 -0
  945. package/dist/components/questions/types/speaking-cue-card/register.js.map +1 -0
  946. package/dist/components/questions/types/speaking-cue-card/transform.d.ts +3 -0
  947. package/dist/components/questions/types/speaking-cue-card/transform.d.ts.map +1 -0
  948. package/dist/components/questions/types/speaking-cue-card/transform.js +13 -0
  949. package/dist/components/questions/types/speaking-cue-card/transform.js.map +1 -0
  950. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.d.ts +11 -0
  951. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.d.ts.map +1 -0
  952. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.js +11 -0
  953. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.js.map +1 -0
  954. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.d.ts +3 -0
  955. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.d.ts.map +1 -0
  956. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.js +162 -0
  957. package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.js.map +1 -0
  958. package/dist/components/questions/types/speaking-describe-image/index.d.ts +3 -0
  959. package/dist/components/questions/types/speaking-describe-image/index.d.ts.map +1 -0
  960. package/dist/components/questions/types/speaking-describe-image/index.js +3 -0
  961. package/dist/components/questions/types/speaking-describe-image/index.js.map +1 -0
  962. package/dist/components/questions/types/speaking-describe-image/register.d.ts +3 -0
  963. package/dist/components/questions/types/speaking-describe-image/register.d.ts.map +1 -0
  964. package/dist/components/questions/types/speaking-describe-image/register.js +70 -0
  965. package/dist/components/questions/types/speaking-describe-image/register.js.map +1 -0
  966. package/dist/components/questions/types/speaking-describe-image/transform.d.ts +3 -0
  967. package/dist/components/questions/types/speaking-describe-image/transform.d.ts.map +1 -0
  968. package/dist/components/questions/types/speaking-describe-image/transform.js +17 -0
  969. package/dist/components/questions/types/speaking-describe-image/transform.js.map +1 -0
  970. package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.d.ts +3 -0
  971. package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.d.ts.map +1 -0
  972. package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.js +235 -0
  973. package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.js.map +1 -0
  974. package/dist/components/questions/types/spontaneous-qa/register.d.ts +3 -0
  975. package/dist/components/questions/types/spontaneous-qa/register.d.ts.map +1 -0
  976. package/dist/components/questions/types/spontaneous-qa/register.js +94 -0
  977. package/dist/components/questions/types/spontaneous-qa/register.js.map +1 -0
  978. package/dist/components/questions/types/spontaneous-qa/transform.d.ts +3 -0
  979. package/dist/components/questions/types/spontaneous-qa/transform.d.ts.map +1 -0
  980. package/dist/components/questions/types/spontaneous-qa/transform.js +35 -0
  981. package/dist/components/questions/types/spontaneous-qa/transform.js.map +1 -0
  982. package/dist/components/questions/types/true-false/TrueFalseClient.d.ts +15 -0
  983. package/dist/components/questions/types/true-false/TrueFalseClient.d.ts.map +1 -0
  984. package/dist/components/questions/types/true-false/TrueFalseClient.js +76 -0
  985. package/dist/components/questions/types/true-false/TrueFalseClient.js.map +1 -0
  986. package/dist/components/questions/types/true-false/TrueFalseCreator.d.ts +22 -0
  987. package/dist/components/questions/types/true-false/TrueFalseCreator.d.ts.map +1 -0
  988. package/dist/components/questions/types/true-false/TrueFalseCreator.js +245 -0
  989. package/dist/components/questions/types/true-false/TrueFalseCreator.js.map +1 -0
  990. package/dist/components/questions/types/true-false/index.d.ts +3 -0
  991. package/dist/components/questions/types/true-false/index.d.ts.map +1 -0
  992. package/dist/components/questions/types/true-false/index.js +3 -0
  993. package/dist/components/questions/types/true-false/index.js.map +1 -0
  994. package/dist/components/questions/types/true-false/register.d.ts +3 -0
  995. package/dist/components/questions/types/true-false/register.d.ts.map +1 -0
  996. package/dist/components/questions/types/true-false/register.js +78 -0
  997. package/dist/components/questions/types/true-false/register.js.map +1 -0
  998. package/dist/components/questions/types/true-false/transform.d.ts +3 -0
  999. package/dist/components/questions/types/true-false/transform.d.ts.map +1 -0
  1000. package/dist/components/questions/types/true-false/transform.js +33 -0
  1001. package/dist/components/questions/types/true-false/transform.js.map +1 -0
  1002. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.d.ts +26 -0
  1003. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.d.ts.map +1 -0
  1004. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.js +234 -0
  1005. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.js.map +1 -0
  1006. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.d.ts +14 -0
  1007. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.d.ts.map +1 -0
  1008. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.js +632 -0
  1009. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.js.map +1 -0
  1010. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.d.ts +19 -0
  1011. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.d.ts.map +1 -0
  1012. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.js +29 -0
  1013. package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.js.map +1 -0
  1014. package/dist/components/questions/types/word-fill-paragraph/index.d.ts +3 -0
  1015. package/dist/components/questions/types/word-fill-paragraph/index.d.ts.map +1 -0
  1016. package/dist/components/questions/types/word-fill-paragraph/index.js +3 -0
  1017. package/dist/components/questions/types/word-fill-paragraph/index.js.map +1 -0
  1018. package/dist/components/questions/types/word-fill-paragraph/register.d.ts +9 -0
  1019. package/dist/components/questions/types/word-fill-paragraph/register.d.ts.map +1 -0
  1020. package/dist/components/questions/types/word-fill-paragraph/register.js +137 -0
  1021. package/dist/components/questions/types/word-fill-paragraph/register.js.map +1 -0
  1022. package/dist/components/questions/types/word-fill-paragraph/transform.d.ts +8 -0
  1023. package/dist/components/questions/types/word-fill-paragraph/transform.d.ts.map +1 -0
  1024. package/dist/components/questions/types/word-fill-paragraph/transform.js +57 -0
  1025. package/dist/components/questions/types/word-fill-paragraph/transform.js.map +1 -0
  1026. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.d.ts +4 -0
  1027. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.d.ts.map +1 -0
  1028. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.js +139 -0
  1029. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.js.map +1 -0
  1030. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.d.ts +3 -0
  1031. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.d.ts.map +1 -0
  1032. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.js +262 -0
  1033. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.js.map +1 -0
  1034. package/dist/components/questions/types/word-fill-structured-form/index.d.ts +3 -0
  1035. package/dist/components/questions/types/word-fill-structured-form/index.d.ts.map +1 -0
  1036. package/dist/components/questions/types/word-fill-structured-form/index.js +3 -0
  1037. package/dist/components/questions/types/word-fill-structured-form/index.js.map +1 -0
  1038. package/dist/components/questions/types/word-fill-structured-form/register.d.ts +3 -0
  1039. package/dist/components/questions/types/word-fill-structured-form/register.d.ts.map +1 -0
  1040. package/dist/components/questions/types/word-fill-structured-form/register.js +68 -0
  1041. package/dist/components/questions/types/word-fill-structured-form/register.js.map +1 -0
  1042. package/dist/components/questions/types/word-fill-structured-form/transform.d.ts +11 -0
  1043. package/dist/components/questions/types/word-fill-structured-form/transform.d.ts.map +1 -0
  1044. package/dist/components/questions/types/word-fill-structured-form/transform.js +41 -0
  1045. package/dist/components/questions/types/word-fill-structured-form/transform.js.map +1 -0
  1046. package/dist/components/questions/types/word-ordering/WordOrderingClient.d.ts +3 -0
  1047. package/dist/components/questions/types/word-ordering/WordOrderingClient.d.ts.map +1 -0
  1048. package/dist/components/questions/types/word-ordering/WordOrderingClient.js +85 -0
  1049. package/dist/components/questions/types/word-ordering/WordOrderingClient.js.map +1 -0
  1050. package/dist/components/questions/types/word-ordering/WordOrderingCreator.d.ts +12 -0
  1051. package/dist/components/questions/types/word-ordering/WordOrderingCreator.d.ts.map +1 -0
  1052. package/dist/components/questions/types/word-ordering/WordOrderingCreator.js +193 -0
  1053. package/dist/components/questions/types/word-ordering/WordOrderingCreator.js.map +1 -0
  1054. package/dist/components/questions/types/word-ordering/index.d.ts +3 -0
  1055. package/dist/components/questions/types/word-ordering/index.d.ts.map +1 -0
  1056. package/dist/components/questions/types/word-ordering/index.js +3 -0
  1057. package/dist/components/questions/types/word-ordering/index.js.map +1 -0
  1058. package/dist/components/questions/types/word-ordering/register.d.ts +3 -0
  1059. package/dist/components/questions/types/word-ordering/register.d.ts.map +1 -0
  1060. package/dist/components/questions/types/word-ordering/register.js +47 -0
  1061. package/dist/components/questions/types/word-ordering/register.js.map +1 -0
  1062. package/dist/components/questions/types/word-ordering/transform.d.ts +8 -0
  1063. package/dist/components/questions/types/word-ordering/transform.d.ts.map +1 -0
  1064. package/dist/components/questions/types/word-ordering/transform.js +25 -0
  1065. package/dist/components/questions/types/word-ordering/transform.js.map +1 -0
  1066. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.d.ts +7 -0
  1067. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.d.ts.map +1 -0
  1068. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.js +99 -0
  1069. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.js.map +1 -0
  1070. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.d.ts +3 -0
  1071. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.d.ts.map +1 -0
  1072. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.js +321 -0
  1073. package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.js.map +1 -0
  1074. package/dist/components/questions/types/write-a-short-letter/index.d.ts +3 -0
  1075. package/dist/components/questions/types/write-a-short-letter/index.d.ts.map +1 -0
  1076. package/dist/components/questions/types/write-a-short-letter/index.js +3 -0
  1077. package/dist/components/questions/types/write-a-short-letter/index.js.map +1 -0
  1078. package/dist/components/questions/types/write-a-short-letter/register.d.ts +3 -0
  1079. package/dist/components/questions/types/write-a-short-letter/register.d.ts.map +1 -0
  1080. package/dist/components/questions/types/write-a-short-letter/register.js +69 -0
  1081. package/dist/components/questions/types/write-a-short-letter/register.js.map +1 -0
  1082. package/dist/components/questions/types/write-a-short-letter/transform.d.ts +3 -0
  1083. package/dist/components/questions/types/write-a-short-letter/transform.d.ts.map +1 -0
  1084. package/dist/components/questions/types/write-a-short-letter/transform.js +26 -0
  1085. package/dist/components/questions/types/write-a-short-letter/transform.js.map +1 -0
  1086. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.d.ts +3 -0
  1087. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.d.ts.map +1 -0
  1088. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.js +62 -0
  1089. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.js.map +1 -0
  1090. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.d.ts +3 -0
  1091. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.d.ts.map +1 -0
  1092. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.js +197 -0
  1093. package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.js.map +1 -0
  1094. package/dist/components/questions/types/write-correct-verb-form/index.d.ts +3 -0
  1095. package/dist/components/questions/types/write-correct-verb-form/index.d.ts.map +1 -0
  1096. package/dist/components/questions/types/write-correct-verb-form/index.js +3 -0
  1097. package/dist/components/questions/types/write-correct-verb-form/index.js.map +1 -0
  1098. package/dist/components/questions/types/write-correct-verb-form/register.d.ts +3 -0
  1099. package/dist/components/questions/types/write-correct-verb-form/register.d.ts.map +1 -0
  1100. package/dist/components/questions/types/write-correct-verb-form/register.js +63 -0
  1101. package/dist/components/questions/types/write-correct-verb-form/register.js.map +1 -0
  1102. package/dist/components/questions/types/write-correct-verb-form/transform.d.ts +3 -0
  1103. package/dist/components/questions/types/write-correct-verb-form/transform.d.ts.map +1 -0
  1104. package/dist/components/questions/types/write-correct-verb-form/transform.js +18 -0
  1105. package/dist/components/questions/types/write-correct-verb-form/transform.js.map +1 -0
  1106. package/dist/components/questions/types/write-sentences/WriteSentencesClient.d.ts +3 -0
  1107. package/dist/components/questions/types/write-sentences/WriteSentencesClient.d.ts.map +1 -0
  1108. package/dist/components/questions/types/write-sentences/WriteSentencesClient.js +23 -0
  1109. package/dist/components/questions/types/write-sentences/WriteSentencesClient.js.map +1 -0
  1110. package/dist/components/questions/types/write-sentences/WriteSentencesCreator.d.ts +3 -0
  1111. package/dist/components/questions/types/write-sentences/WriteSentencesCreator.d.ts.map +1 -0
  1112. package/dist/components/questions/types/write-sentences/WriteSentencesCreator.js +175 -0
  1113. package/dist/components/questions/types/write-sentences/WriteSentencesCreator.js.map +1 -0
  1114. package/dist/components/questions/types/write-sentences/index.d.ts +3 -0
  1115. package/dist/components/questions/types/write-sentences/index.d.ts.map +1 -0
  1116. package/dist/components/questions/types/write-sentences/index.js +3 -0
  1117. package/dist/components/questions/types/write-sentences/index.js.map +1 -0
  1118. package/dist/components/questions/types/write-sentences/register.d.ts +3 -0
  1119. package/dist/components/questions/types/write-sentences/register.d.ts.map +1 -0
  1120. package/dist/components/questions/types/write-sentences/register.js +59 -0
  1121. package/dist/components/questions/types/write-sentences/register.js.map +1 -0
  1122. package/dist/components/questions/types/write-sentences/transform.d.ts +3 -0
  1123. package/dist/components/questions/types/write-sentences/transform.d.ts.map +1 -0
  1124. package/dist/components/questions/types/write-sentences/transform.js +29 -0
  1125. package/dist/components/questions/types/write-sentences/transform.js.map +1 -0
  1126. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.d.ts +3 -0
  1127. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.d.ts.map +1 -0
  1128. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.js +97 -0
  1129. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.js.map +1 -0
  1130. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.d.ts +3 -0
  1131. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.d.ts.map +1 -0
  1132. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.js +162 -0
  1133. package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.js.map +1 -0
  1134. package/dist/components/questions/types/write-short-paragraph/index.d.ts +3 -0
  1135. package/dist/components/questions/types/write-short-paragraph/index.d.ts.map +1 -0
  1136. package/dist/components/questions/types/write-short-paragraph/index.js +3 -0
  1137. package/dist/components/questions/types/write-short-paragraph/index.js.map +1 -0
  1138. package/dist/components/questions/types/write-short-paragraph/register.d.ts +3 -0
  1139. package/dist/components/questions/types/write-short-paragraph/register.d.ts.map +1 -0
  1140. package/dist/components/questions/types/write-short-paragraph/register.js +5 -0
  1141. package/dist/components/questions/types/write-short-paragraph/register.js.map +1 -0
  1142. package/dist/components/questions/types/write-short-paragraph/transform.d.ts +3 -0
  1143. package/dist/components/questions/types/write-short-paragraph/transform.d.ts.map +1 -0
  1144. package/dist/components/questions/types/write-short-paragraph/transform.js +22 -0
  1145. package/dist/components/questions/types/write-short-paragraph/transform.js.map +1 -0
  1146. package/dist/components/questions/viewer/QuestionGroupViewer.d.ts +9 -0
  1147. package/dist/components/questions/viewer/QuestionGroupViewer.d.ts.map +1 -0
  1148. package/dist/components/questions/viewer/QuestionGroupViewer.js +37 -0
  1149. package/dist/components/questions/viewer/QuestionGroupViewer.js.map +1 -0
  1150. package/dist/components/questions/viewer/QuestionViewer.d.ts +10 -0
  1151. package/dist/components/questions/viewer/QuestionViewer.d.ts.map +1 -0
  1152. package/dist/components/questions/viewer/QuestionViewer.js +447 -0
  1153. package/dist/components/questions/viewer/QuestionViewer.js.map +1 -0
  1154. package/dist/components/questions/viewer/index.d.ts +3 -0
  1155. package/dist/components/questions/viewer/index.d.ts.map +1 -0
  1156. package/dist/components/questions/viewer/index.js +3 -0
  1157. package/dist/components/questions/viewer/index.js.map +1 -0
  1158. package/dist/components/results/ResultReviewPageContainer.d.ts +14 -0
  1159. package/dist/components/results/ResultReviewPageContainer.d.ts.map +1 -0
  1160. package/dist/components/results/ResultReviewPageContainer.js +99 -0
  1161. package/dist/components/results/ResultReviewPageContainer.js.map +1 -0
  1162. package/dist/components/results/ReviewQuestionRenderer.d.ts +7 -0
  1163. package/dist/components/results/ReviewQuestionRenderer.d.ts.map +1 -0
  1164. package/dist/components/results/ReviewQuestionRenderer.js +73 -0
  1165. package/dist/components/results/ReviewQuestionRenderer.js.map +1 -0
  1166. package/dist/components/results/index.d.ts +5 -0
  1167. package/dist/components/results/index.d.ts.map +1 -0
  1168. package/dist/components/results/index.js +3 -0
  1169. package/dist/components/results/index.js.map +1 -0
  1170. package/dist/components/results/result-review.utils.d.ts +3 -0
  1171. package/dist/components/results/result-review.utils.d.ts.map +1 -0
  1172. package/dist/components/results/result-review.utils.js +7 -0
  1173. package/dist/components/results/result-review.utils.js.map +1 -0
  1174. package/dist/components/results/review-data.d.ts +3 -0
  1175. package/dist/components/results/review-data.d.ts.map +1 -0
  1176. package/dist/components/results/review-data.js +151 -0
  1177. package/dist/components/results/review-data.js.map +1 -0
  1178. package/dist/components/results/review-renderer.utils.d.ts +68 -0
  1179. package/dist/components/results/review-renderer.utils.d.ts.map +1 -0
  1180. package/dist/components/results/review-renderer.utils.js +98 -0
  1181. package/dist/components/results/review-renderer.utils.js.map +1 -0
  1182. package/dist/components/results/review-types.d.ts +62 -0
  1183. package/dist/components/results/review-types.d.ts.map +1 -0
  1184. package/dist/components/results/review-types.js +2 -0
  1185. package/dist/components/results/review-types.js.map +1 -0
  1186. package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.d.ts +9 -0
  1187. package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.d.ts.map +1 -0
  1188. package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.js +139 -0
  1189. package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.js.map +1 -0
  1190. package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.d.ts +11 -0
  1191. package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.d.ts.map +1 -0
  1192. package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.js +13 -0
  1193. package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.js.map +1 -0
  1194. package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.d.ts +3 -0
  1195. package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.d.ts.map +1 -0
  1196. package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.js +19 -0
  1197. package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.js.map +1 -0
  1198. package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.d.ts +7 -0
  1199. package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.d.ts.map +1 -0
  1200. package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.js +12 -0
  1201. package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.js.map +1 -0
  1202. package/dist/components/themes/cambridge-yle/CambridgeYleHeader.d.ts +14 -0
  1203. package/dist/components/themes/cambridge-yle/CambridgeYleHeader.d.ts.map +1 -0
  1204. package/dist/components/themes/cambridge-yle/CambridgeYleHeader.js +12 -0
  1205. package/dist/components/themes/cambridge-yle/CambridgeYleHeader.js.map +1 -0
  1206. package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.d.ts +10 -0
  1207. package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.d.ts.map +1 -0
  1208. package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.js +10 -0
  1209. package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.js.map +1 -0
  1210. package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.d.ts +8 -0
  1211. package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.d.ts.map +1 -0
  1212. package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.js +14 -0
  1213. package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.js.map +1 -0
  1214. package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.d.ts +9 -0
  1215. package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.d.ts.map +1 -0
  1216. package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.js +9 -0
  1217. package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.js.map +1 -0
  1218. package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.d.ts +7 -0
  1219. package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.d.ts.map +1 -0
  1220. package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.js +7 -0
  1221. package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.js.map +1 -0
  1222. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.d.ts +8 -0
  1223. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.d.ts.map +1 -0
  1224. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.js +6 -0
  1225. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.js.map +1 -0
  1226. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.d.ts +11 -0
  1227. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.d.ts.map +1 -0
  1228. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.js +10 -0
  1229. package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.js.map +1 -0
  1230. package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.d.ts +25 -0
  1231. package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.d.ts.map +1 -0
  1232. package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.js +42 -0
  1233. package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.js.map +1 -0
  1234. package/dist/components/themes/cambridge-yle/CambridgeYleTimer.d.ts +8 -0
  1235. package/dist/components/themes/cambridge-yle/CambridgeYleTimer.d.ts.map +1 -0
  1236. package/dist/components/themes/cambridge-yle/CambridgeYleTimer.js +26 -0
  1237. package/dist/components/themes/cambridge-yle/CambridgeYleTimer.js.map +1 -0
  1238. package/dist/components/themes/cambridge-yle/assets/images/background-ocean-edu-2.png +0 -0
  1239. package/dist/components/themes/cambridge-yle/assets/images/background-ocean-edu-neutral.png +0 -0
  1240. package/dist/components/themes/cambridge-yle/assets/images/background-ocean-edu.png +0 -0
  1241. package/dist/components/themes/cambridge-yle/assets/images/bg-gradient.png +0 -0
  1242. package/dist/components/themes/cambridge-yle/assets/images/bg-title-old.png +0 -0
  1243. package/dist/components/themes/cambridge-yle/assets/images/bg-title-part.png +0 -0
  1244. package/dist/components/themes/cambridge-yle/assets/images/bg-title.png +0 -0
  1245. package/dist/components/themes/cambridge-yle/assets/images/bg.jpeg +0 -0
  1246. package/dist/components/themes/cambridge-yle/assets/images/border-2.png +0 -0
  1247. package/dist/components/themes/cambridge-yle/assets/images/border-old.png +0 -0
  1248. package/dist/components/themes/cambridge-yle/assets/images/border.png +0 -0
  1249. package/dist/components/themes/cambridge-yle/assets/images/button_feedback_vi.png +0 -0
  1250. package/dist/components/themes/cambridge-yle/assets/images/button_feedback_vi.webp +0 -0
  1251. package/dist/components/themes/cambridge-yle/assets/images/close.png +0 -0
  1252. package/dist/components/themes/cambridge-yle/assets/images/close_old.png +0 -0
  1253. package/dist/components/themes/cambridge-yle/assets/images/demo-audio.mp3 +0 -0
  1254. package/dist/components/themes/cambridge-yle/assets/images/demo-image.jpeg +0 -0
  1255. package/dist/components/themes/cambridge-yle/assets/images/frame-old.png +0 -0
  1256. package/dist/components/themes/cambridge-yle/assets/images/frame.png +0 -0
  1257. package/dist/components/themes/cambridge-yle/assets/images/ic-pause.png +0 -0
  1258. package/dist/components/themes/cambridge-yle/assets/images/icon-bottom-left.png +0 -0
  1259. package/dist/components/themes/cambridge-yle/assets/images/icon-bottom-right.png +0 -0
  1260. package/dist/components/themes/cambridge-yle/assets/images/new_design.png +0 -0
  1261. package/dist/components/themes/cambridge-yle/assets/images/phao.png +0 -0
  1262. package/dist/components/themes/cambridge-yle/assets/images/question-card-bg-full.png +0 -0
  1263. package/dist/components/themes/cambridge-yle/assets/images/question-card-bg.png +0 -0
  1264. package/dist/components/themes/cambridge-yle/assets/images/rangsanho.png +0 -0
  1265. package/dist/components/themes/cambridge-yle/assets/images/rocket.png +0 -0
  1266. package/dist/components/themes/cambridge-yle/assets/images/sanho.png +0 -0
  1267. package/dist/components/themes/cambridge-yle/assets/images/sao.png +0 -0
  1268. package/dist/components/themes/cambridge-yle/assets/images/vooc.png +0 -0
  1269. package/dist/components/themes/cambridge-yle/index.d.ts +13 -0
  1270. package/dist/components/themes/cambridge-yle/index.d.ts.map +1 -0
  1271. package/dist/components/themes/cambridge-yle/index.js +14 -0
  1272. package/dist/components/themes/cambridge-yle/index.js.map +1 -0
  1273. package/dist/components/themes/english-certification/EcAnswerTheQuestion.d.ts +19 -0
  1274. package/dist/components/themes/english-certification/EcAnswerTheQuestion.d.ts.map +1 -0
  1275. package/dist/components/themes/english-certification/EcAnswerTheQuestion.js +25 -0
  1276. package/dist/components/themes/english-certification/EcAnswerTheQuestion.js.map +1 -0
  1277. package/dist/components/themes/english-certification/EcMatchByWritingAnswer.d.ts +22 -0
  1278. package/dist/components/themes/english-certification/EcMatchByWritingAnswer.d.ts.map +1 -0
  1279. package/dist/components/themes/english-certification/EcMatchByWritingAnswer.js +89 -0
  1280. package/dist/components/themes/english-certification/EcMatchByWritingAnswer.js.map +1 -0
  1281. package/dist/components/themes/english-certification/EcWordFillParagraph.d.ts +20 -0
  1282. package/dist/components/themes/english-certification/EcWordFillParagraph.d.ts.map +1 -0
  1283. package/dist/components/themes/english-certification/EcWordFillParagraph.js +56 -0
  1284. package/dist/components/themes/english-certification/EcWordFillParagraph.js.map +1 -0
  1285. package/dist/components/themes/english-certification/EcWordFillStructuredForm.d.ts +20 -0
  1286. package/dist/components/themes/english-certification/EcWordFillStructuredForm.d.ts.map +1 -0
  1287. package/dist/components/themes/english-certification/EcWordFillStructuredForm.js +157 -0
  1288. package/dist/components/themes/english-certification/EcWordFillStructuredForm.js.map +1 -0
  1289. package/dist/components/themes/english-certification/EcWritingTask.d.ts +19 -0
  1290. package/dist/components/themes/english-certification/EcWritingTask.d.ts.map +1 -0
  1291. package/dist/components/themes/english-certification/EcWritingTask.js +35 -0
  1292. package/dist/components/themes/english-certification/EcWritingTask.js.map +1 -0
  1293. package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.d.ts +14 -0
  1294. package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.d.ts.map +1 -0
  1295. package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.js +115 -0
  1296. package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.js.map +1 -0
  1297. package/dist/components/themes/english-certification/EnglishCertificationBrand.d.ts +11 -0
  1298. package/dist/components/themes/english-certification/EnglishCertificationBrand.d.ts.map +1 -0
  1299. package/dist/components/themes/english-certification/EnglishCertificationBrand.js +12 -0
  1300. package/dist/components/themes/english-certification/EnglishCertificationBrand.js.map +1 -0
  1301. package/dist/components/themes/english-certification/EnglishCertificationExamLayout.d.ts +20 -0
  1302. package/dist/components/themes/english-certification/EnglishCertificationExamLayout.d.ts.map +1 -0
  1303. package/dist/components/themes/english-certification/EnglishCertificationExamLayout.js +22 -0
  1304. package/dist/components/themes/english-certification/EnglishCertificationExamLayout.js.map +1 -0
  1305. package/dist/components/themes/english-certification/EnglishCertificationFlagButton.d.ts +23 -0
  1306. package/dist/components/themes/english-certification/EnglishCertificationFlagButton.d.ts.map +1 -0
  1307. package/dist/components/themes/english-certification/EnglishCertificationFlagButton.js +16 -0
  1308. package/dist/components/themes/english-certification/EnglishCertificationFlagButton.js.map +1 -0
  1309. package/dist/components/themes/english-certification/EnglishCertificationFooterBar.d.ts +23 -0
  1310. package/dist/components/themes/english-certification/EnglishCertificationFooterBar.d.ts.map +1 -0
  1311. package/dist/components/themes/english-certification/EnglishCertificationFooterBar.js +20 -0
  1312. package/dist/components/themes/english-certification/EnglishCertificationFooterBar.js.map +1 -0
  1313. package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.d.ts +25 -0
  1314. package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.d.ts.map +1 -0
  1315. package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.js +149 -0
  1316. package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.js.map +1 -0
  1317. package/dist/components/themes/english-certification/EnglishCertificationHeader.d.ts +25 -0
  1318. package/dist/components/themes/english-certification/EnglishCertificationHeader.d.ts.map +1 -0
  1319. package/dist/components/themes/english-certification/EnglishCertificationHeader.js +32 -0
  1320. package/dist/components/themes/english-certification/EnglishCertificationHeader.js.map +1 -0
  1321. package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.d.ts +19 -0
  1322. package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.d.ts.map +1 -0
  1323. package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.js +72 -0
  1324. package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.js.map +1 -0
  1325. package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.d.ts +29 -0
  1326. package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.d.ts.map +1 -0
  1327. package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.js +34 -0
  1328. package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.js.map +1 -0
  1329. package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.d.ts +22 -0
  1330. package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.d.ts.map +1 -0
  1331. package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.js +17 -0
  1332. package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.js.map +1 -0
  1333. package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.d.ts +21 -0
  1334. package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.d.ts.map +1 -0
  1335. package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.js +23 -0
  1336. package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.js.map +1 -0
  1337. package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.d.ts +26 -0
  1338. package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.d.ts.map +1 -0
  1339. package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.js +38 -0
  1340. package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.js.map +1 -0
  1341. package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.d.ts +25 -0
  1342. package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.d.ts.map +1 -0
  1343. package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.js +73 -0
  1344. package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.js.map +1 -0
  1345. package/dist/components/themes/english-certification/EnglishCertificationReadingSection.d.ts +29 -0
  1346. package/dist/components/themes/english-certification/EnglishCertificationReadingSection.d.ts.map +1 -0
  1347. package/dist/components/themes/english-certification/EnglishCertificationReadingSection.js +91 -0
  1348. package/dist/components/themes/english-certification/EnglishCertificationReadingSection.js.map +1 -0
  1349. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.d.ts +32 -0
  1350. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.d.ts.map +1 -0
  1351. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.js +19 -0
  1352. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.js.map +1 -0
  1353. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.d.ts +26 -0
  1354. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.d.ts.map +1 -0
  1355. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.js +30 -0
  1356. package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.js.map +1 -0
  1357. package/dist/components/themes/english-certification/english-certification-theme.d.ts +57 -0
  1358. package/dist/components/themes/english-certification/english-certification-theme.d.ts.map +1 -0
  1359. package/dist/components/themes/english-certification/english-certification-theme.js +59 -0
  1360. package/dist/components/themes/english-certification/english-certification-theme.js.map +1 -0
  1361. package/dist/components/themes/english-certification/grouped-question-utils.d.ts +24 -0
  1362. package/dist/components/themes/english-certification/grouped-question-utils.d.ts.map +1 -0
  1363. package/dist/components/themes/english-certification/grouped-question-utils.js +219 -0
  1364. package/dist/components/themes/english-certification/grouped-question-utils.js.map +1 -0
  1365. package/dist/components/themes/english-certification/index.d.ts +23 -0
  1366. package/dist/components/themes/english-certification/index.d.ts.map +1 -0
  1367. package/dist/components/themes/english-certification/index.js +22 -0
  1368. package/dist/components/themes/english-certification/index.js.map +1 -0
  1369. package/dist/components/themes/index.d.ts +8 -0
  1370. package/dist/components/themes/index.d.ts.map +1 -0
  1371. package/dist/components/themes/index.js +7 -0
  1372. package/dist/components/themes/index.js.map +1 -0
  1373. package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.d.ts +10 -0
  1374. package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.d.ts.map +1 -0
  1375. package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.js +171 -0
  1376. package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.js.map +1 -0
  1377. package/dist/components/themes/summer-sky/SummerSkyLayout.d.ts +3 -0
  1378. package/dist/components/themes/summer-sky/SummerSkyLayout.d.ts.map +1 -0
  1379. package/dist/components/themes/summer-sky/SummerSkyLayout.js +222 -0
  1380. package/dist/components/themes/summer-sky/SummerSkyLayout.js.map +1 -0
  1381. package/dist/components/themes/summer-sky/SummerSkySubmitModal.d.ts +9 -0
  1382. package/dist/components/themes/summer-sky/SummerSkySubmitModal.d.ts.map +1 -0
  1383. package/dist/components/themes/summer-sky/SummerSkySubmitModal.js +19 -0
  1384. package/dist/components/themes/summer-sky/SummerSkySubmitModal.js.map +1 -0
  1385. package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.d.ts +10 -0
  1386. package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.d.ts.map +1 -0
  1387. package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.js +195 -0
  1388. package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.js.map +1 -0
  1389. package/dist/components/themes/summer-sky/assets/images/Group_3432849.png +0 -0
  1390. package/dist/components/themes/summer-sky/assets/images/arrow-left.png +0 -0
  1391. package/dist/components/themes/summer-sky/assets/images/audio-icon.png +0 -0
  1392. package/dist/components/themes/summer-sky/assets/images/audio_ver2_icon.png +0 -0
  1393. package/dist/components/themes/summer-sky/assets/images/background-noticesubmit.png +0 -0
  1394. package/dist/components/themes/summer-sky/assets/images/background-question.png +0 -0
  1395. package/dist/components/themes/summer-sky/assets/images/background-v2.png +0 -0
  1396. package/dist/components/themes/summer-sky/assets/images/background_title.png +0 -0
  1397. package/dist/components/themes/summer-sky/assets/images/btn-notisubmid.png +0 -0
  1398. package/dist/components/themes/summer-sky/assets/images/button_feedback_vi.png +0 -0
  1399. package/dist/components/themes/summer-sky/assets/images/check-mic-btn.png +0 -0
  1400. package/dist/components/themes/summer-sky/assets/images/clock.png +0 -0
  1401. package/dist/components/themes/summer-sky/assets/images/has_answered.png +0 -0
  1402. package/dist/components/themes/summer-sky/assets/images/ic-mute-sunset.png +0 -0
  1403. package/dist/components/themes/summer-sky/assets/images/ic-mute.png +0 -0
  1404. package/dist/components/themes/summer-sky/assets/images/ic-play-sunset.png +0 -0
  1405. package/dist/components/themes/summer-sky/assets/images/ic-play-violet.webp +0 -0
  1406. package/dist/components/themes/summer-sky/assets/images/ic-play.webp +0 -0
  1407. package/dist/components/themes/summer-sky/assets/images/instruction-step.png +0 -0
  1408. package/dist/components/themes/summer-sky/assets/images/listen-audio.png +0 -0
  1409. package/dist/components/themes/summer-sky/assets/images/lock_mic_ver2_icon.png +0 -0
  1410. package/dist/components/themes/summer-sky/assets/images/mic-icon.png +0 -0
  1411. package/dist/components/themes/summer-sky/assets/images/mic_ver2_icon.png +0 -0
  1412. package/dist/components/themes/summer-sky/assets/images/next-btn.png +0 -0
  1413. package/dist/components/themes/summer-sky/assets/images/next-question-btn.png +0 -0
  1414. package/dist/components/themes/summer-sky/assets/images/ocean-frame.png +0 -0
  1415. package/dist/components/themes/summer-sky/assets/images/oceanedu-mascot.png +0 -0
  1416. package/dist/components/themes/summer-sky/assets/images/ong.png +0 -0
  1417. package/dist/components/themes/summer-sky/assets/images/pause-audio.png +0 -0
  1418. package/dist/components/themes/summer-sky/assets/images/pause_audio_ver2_icon.png +0 -0
  1419. package/dist/components/themes/summer-sky/assets/images/prev-question-btn.png +0 -0
  1420. package/dist/components/themes/summer-sky/assets/images/question-badge-sunset.png +0 -0
  1421. package/dist/components/themes/summer-sky/assets/images/radio-check.png +0 -0
  1422. package/dist/components/themes/summer-sky/assets/images/red-circle.png +0 -0
  1423. package/dist/components/themes/summer-sky/assets/images/rope.png +0 -0
  1424. package/dist/components/themes/summer-sky/assets/images/rope_2.png +0 -0
  1425. package/dist/components/themes/summer-sky/assets/images/rope_v3.png +0 -0
  1426. package/dist/components/themes/summer-sky/assets/images/start-exam.png +0 -0
  1427. package/dist/components/themes/summer-sky/assets/images/stop-mic.png +0 -0
  1428. package/dist/components/themes/summer-sky/assets/images/stop_audio_ver2_icon.png +0 -0
  1429. package/dist/components/themes/summer-sky/assets/images/student-avatar.png +0 -0
  1430. package/dist/components/themes/summer-sky/assets/images/submit.png +0 -0
  1431. package/dist/components/themes/summer-sky/assets/images/teacher_transparent (1).mp4 +0 -0
  1432. package/dist/components/themes/summer-sky/assets/images/title-logo.png +0 -0
  1433. package/dist/components/themes/summer-sky/assets/images/title-notisubmit.png +0 -0
  1434. package/dist/components/themes/summer-sky/assets/images/title_table.png +0 -0
  1435. package/dist/components/themes/summer-sky/assets/images/traloicauhoi.png +0 -0
  1436. package/dist/components/themes/summer-sky/assets/images/x-noticesubmit.png.png +0 -0
  1437. package/dist/components/themes/summer-sky/assets/styles/SummerSkyLayout.module.css +406 -0
  1438. package/dist/components/themes/summer-sky/assets/styles/SummerSkyWaitingRoom.module.css +419 -0
  1439. package/dist/components/themes/types.d.ts +62 -0
  1440. package/dist/components/themes/types.d.ts.map +1 -0
  1441. package/dist/components/themes/types.js +2 -0
  1442. package/dist/components/themes/types.js.map +1 -0
  1443. package/dist/components/ui/alert-dialog.d.ts +21 -0
  1444. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  1445. package/dist/components/ui/alert-dialog.js +27 -0
  1446. package/dist/components/ui/alert-dialog.js.map +1 -0
  1447. package/dist/components/ui/alert.d.ts +9 -0
  1448. package/dist/components/ui/alert.d.ts.map +1 -0
  1449. package/dist/components/ui/alert.js +23 -0
  1450. package/dist/components/ui/alert.js.map +1 -0
  1451. package/dist/components/ui/avatar.d.ts +7 -0
  1452. package/dist/components/ui/avatar.d.ts.map +1 -0
  1453. package/dist/components/ui/avatar.js +13 -0
  1454. package/dist/components/ui/avatar.js.map +1 -0
  1455. package/dist/components/ui/badge.d.ts +16 -0
  1456. package/dist/components/ui/badge.d.ts.map +1 -0
  1457. package/dist/components/ui/badge.js +39 -0
  1458. package/dist/components/ui/badge.js.map +1 -0
  1459. package/dist/components/ui/button.d.ts +11 -0
  1460. package/dist/components/ui/button.d.ts.map +1 -0
  1461. package/dist/components/ui/button.js +36 -0
  1462. package/dist/components/ui/button.js.map +1 -0
  1463. package/dist/components/ui/calendar.d.ts +9 -0
  1464. package/dist/components/ui/calendar.d.ts.map +1 -0
  1465. package/dist/components/ui/calendar.js +77 -0
  1466. package/dist/components/ui/calendar.js.map +1 -0
  1467. package/dist/components/ui/card.d.ts +9 -0
  1468. package/dist/components/ui/card.d.ts.map +1 -0
  1469. package/dist/components/ui/card.js +17 -0
  1470. package/dist/components/ui/card.js.map +1 -0
  1471. package/dist/components/ui/carousel.d.ts +20 -0
  1472. package/dist/components/ui/carousel.d.ts.map +1 -0
  1473. package/dist/components/ui/carousel.js +92 -0
  1474. package/dist/components/ui/carousel.js.map +1 -0
  1475. package/dist/components/ui/checkbox.d.ts +5 -0
  1476. package/dist/components/ui/checkbox.d.ts.map +1 -0
  1477. package/dist/components/ui/checkbox.js +10 -0
  1478. package/dist/components/ui/checkbox.js.map +1 -0
  1479. package/dist/components/ui/collapsible.d.ts +6 -0
  1480. package/dist/components/ui/collapsible.d.ts.map +1 -0
  1481. package/dist/components/ui/collapsible.js +14 -0
  1482. package/dist/components/ui/collapsible.js.map +1 -0
  1483. package/dist/components/ui/command.d.ts +19 -0
  1484. package/dist/components/ui/command.d.ts.map +1 -0
  1485. package/dist/components/ui/command.js +35 -0
  1486. package/dist/components/ui/command.js.map +1 -0
  1487. package/dist/components/ui/confirm-dialog.d.ts +24 -0
  1488. package/dist/components/ui/confirm-dialog.d.ts.map +1 -0
  1489. package/dist/components/ui/confirm-dialog.js +50 -0
  1490. package/dist/components/ui/confirm-dialog.js.map +1 -0
  1491. package/dist/components/ui/dialog.d.ts +20 -0
  1492. package/dist/components/ui/dialog.d.ts.map +1 -0
  1493. package/dist/components/ui/dialog.js +24 -0
  1494. package/dist/components/ui/dialog.js.map +1 -0
  1495. package/dist/components/ui/drawer.d.ts +14 -0
  1496. package/dist/components/ui/drawer.d.ts.map +1 -0
  1497. package/dist/components/ui/drawer.js +36 -0
  1498. package/dist/components/ui/drawer.js.map +1 -0
  1499. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  1500. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  1501. package/dist/components/ui/dropdown-menu.js +34 -0
  1502. package/dist/components/ui/dropdown-menu.js.map +1 -0
  1503. package/dist/components/ui/file-upload.d.ts +25 -0
  1504. package/dist/components/ui/file-upload.d.ts.map +1 -0
  1505. package/dist/components/ui/file-upload.js +156 -0
  1506. package/dist/components/ui/file-upload.js.map +1 -0
  1507. package/dist/components/ui/form.d.ts +26 -0
  1508. package/dist/components/ui/form.d.ts.map +1 -0
  1509. package/dist/components/ui/form.js +63 -0
  1510. package/dist/components/ui/form.js.map +1 -0
  1511. package/dist/components/ui/hover-card.d.ts +7 -0
  1512. package/dist/components/ui/hover-card.d.ts.map +1 -0
  1513. package/dist/components/ui/hover-card.js +11 -0
  1514. package/dist/components/ui/hover-card.js.map +1 -0
  1515. package/dist/components/ui/image-preview.d.ts +19 -0
  1516. package/dist/components/ui/image-preview.d.ts.map +1 -0
  1517. package/dist/components/ui/image-preview.js +30 -0
  1518. package/dist/components/ui/image-preview.js.map +1 -0
  1519. package/dist/components/ui/input.d.ts +4 -0
  1520. package/dist/components/ui/input.d.ts.map +1 -0
  1521. package/dist/components/ui/input.js +9 -0
  1522. package/dist/components/ui/input.js.map +1 -0
  1523. package/dist/components/ui/label.d.ts +6 -0
  1524. package/dist/components/ui/label.d.ts.map +1 -0
  1525. package/dist/components/ui/label.js +10 -0
  1526. package/dist/components/ui/label.js.map +1 -0
  1527. package/dist/components/ui/language-switcher.d.ts +2 -0
  1528. package/dist/components/ui/language-switcher.d.ts.map +1 -0
  1529. package/dist/components/ui/language-switcher.js +16 -0
  1530. package/dist/components/ui/language-switcher.js.map +1 -0
  1531. package/dist/components/ui/multi-select.d.ts +17 -0
  1532. package/dist/components/ui/multi-select.d.ts.map +1 -0
  1533. package/dist/components/ui/multi-select.js +91 -0
  1534. package/dist/components/ui/multi-select.js.map +1 -0
  1535. package/dist/components/ui/points-input.d.ts +16 -0
  1536. package/dist/components/ui/points-input.d.ts.map +1 -0
  1537. package/dist/components/ui/points-input.js +34 -0
  1538. package/dist/components/ui/points-input.js.map +1 -0
  1539. package/dist/components/ui/popover.d.ts +11 -0
  1540. package/dist/components/ui/popover.d.ts.map +1 -0
  1541. package/dist/components/ui/popover.js +27 -0
  1542. package/dist/components/ui/popover.js.map +1 -0
  1543. package/dist/components/ui/progress.d.ts +5 -0
  1544. package/dist/components/ui/progress.d.ts.map +1 -0
  1545. package/dist/components/ui/progress.js +17 -0
  1546. package/dist/components/ui/progress.js.map +1 -0
  1547. package/dist/components/ui/radio-group.d.ts +6 -0
  1548. package/dist/components/ui/radio-group.d.ts.map +1 -0
  1549. package/dist/components/ui/radio-group.js +13 -0
  1550. package/dist/components/ui/radio-group.js.map +1 -0
  1551. package/dist/components/ui/scroll-area.d.ts +6 -0
  1552. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  1553. package/dist/components/ui/scroll-area.js +12 -0
  1554. package/dist/components/ui/scroll-area.js.map +1 -0
  1555. package/dist/components/ui/select.d.ts +16 -0
  1556. package/dist/components/ui/select.d.ts.map +1 -0
  1557. package/dist/components/ui/select.js +39 -0
  1558. package/dist/components/ui/select.js.map +1 -0
  1559. package/dist/components/ui/separator.d.ts +5 -0
  1560. package/dist/components/ui/separator.d.ts.map +1 -0
  1561. package/dist/components/ui/separator.js +9 -0
  1562. package/dist/components/ui/separator.js.map +1 -0
  1563. package/dist/components/ui/sheet.d.ts +14 -0
  1564. package/dist/components/ui/sheet.d.ts.map +1 -0
  1565. package/dist/components/ui/sheet.js +41 -0
  1566. package/dist/components/ui/sheet.js.map +1 -0
  1567. package/dist/components/ui/single-select.d.ts +18 -0
  1568. package/dist/components/ui/single-select.d.ts.map +1 -0
  1569. package/dist/components/ui/single-select.js +77 -0
  1570. package/dist/components/ui/single-select.js.map +1 -0
  1571. package/dist/components/ui/skeleton.d.ts +3 -0
  1572. package/dist/components/ui/skeleton.d.ts.map +1 -0
  1573. package/dist/components/ui/skeleton.js +7 -0
  1574. package/dist/components/ui/skeleton.js.map +1 -0
  1575. package/dist/components/ui/switch.d.ts +5 -0
  1576. package/dist/components/ui/switch.d.ts.map +1 -0
  1577. package/dist/components/ui/switch.js +9 -0
  1578. package/dist/components/ui/switch.js.map +1 -0
  1579. package/dist/components/ui/table.d.ts +11 -0
  1580. package/dist/components/ui/table.d.ts.map +1 -0
  1581. package/dist/components/ui/table.js +21 -0
  1582. package/dist/components/ui/table.js.map +1 -0
  1583. package/dist/components/ui/tabs.d.ts +8 -0
  1584. package/dist/components/ui/tabs.d.ts.map +1 -0
  1585. package/dist/components/ui/tabs.js +18 -0
  1586. package/dist/components/ui/tabs.js.map +1 -0
  1587. package/dist/components/ui/textarea.d.ts +6 -0
  1588. package/dist/components/ui/textarea.d.ts.map +1 -0
  1589. package/dist/components/ui/textarea.js +9 -0
  1590. package/dist/components/ui/textarea.js.map +1 -0
  1591. package/dist/components/ui/tooltip.d.ts +8 -0
  1592. package/dist/components/ui/tooltip.d.ts.map +1 -0
  1593. package/dist/components/ui/tooltip.js +12 -0
  1594. package/dist/components/ui/tooltip.js.map +1 -0
  1595. package/dist/global.d.ts +46 -0
  1596. package/dist/index.d.ts +28 -0
  1597. package/dist/index.d.ts.map +1 -0
  1598. package/dist/index.js +20 -0
  1599. package/dist/index.js.map +1 -0
  1600. package/dist/mcp/config.d.ts +13 -0
  1601. package/dist/mcp/config.d.ts.map +1 -0
  1602. package/dist/mcp/config.js +33 -0
  1603. package/dist/mcp/config.js.map +1 -0
  1604. package/dist/mcp/http-client.d.ts +7 -0
  1605. package/dist/mcp/http-client.d.ts.map +1 -0
  1606. package/dist/mcp/http-client.js +49 -0
  1607. package/dist/mcp/http-client.js.map +1 -0
  1608. package/dist/mcp/index.d.ts +7 -0
  1609. package/dist/mcp/index.d.ts.map +1 -0
  1610. package/dist/mcp/index.js +31 -0
  1611. package/dist/mcp/index.js.map +1 -0
  1612. package/dist/mcp/tools/_helpers.d.ts +5 -0
  1613. package/dist/mcp/tools/_helpers.d.ts.map +1 -0
  1614. package/dist/mcp/tools/_helpers.js +26 -0
  1615. package/dist/mcp/tools/_helpers.js.map +1 -0
  1616. package/dist/mcp/tools/exams.d.ts +3 -0
  1617. package/dist/mcp/tools/exams.d.ts.map +1 -0
  1618. package/dist/mcp/tools/exams.js +440 -0
  1619. package/dist/mcp/tools/exams.js.map +1 -0
  1620. package/dist/mcp/tools/index.d.ts +3 -0
  1621. package/dist/mcp/tools/index.d.ts.map +1 -0
  1622. package/dist/mcp/tools/index.js +7 -0
  1623. package/dist/mcp/tools/index.js.map +1 -0
  1624. package/dist/mcp/tools/results.d.ts +3 -0
  1625. package/dist/mcp/tools/results.d.ts.map +1 -0
  1626. package/dist/mcp/tools/results.js +20 -0
  1627. package/dist/mcp/tools/results.js.map +1 -0
  1628. package/dist/shared/constants/ApiConstant.d.ts +232 -0
  1629. package/dist/shared/constants/ApiConstant.d.ts.map +1 -0
  1630. package/dist/shared/constants/ApiConstant.js +277 -0
  1631. package/dist/shared/constants/ApiConstant.js.map +1 -0
  1632. package/dist/shared/constants/QueryKeyConstant.d.ts +99 -0
  1633. package/dist/shared/constants/QueryKeyConstant.d.ts.map +1 -0
  1634. package/dist/shared/constants/QueryKeyConstant.js +113 -0
  1635. package/dist/shared/constants/QueryKeyConstant.js.map +1 -0
  1636. package/dist/shared/constants/exam-level.enum.d.ts +33 -0
  1637. package/dist/shared/constants/exam-level.enum.d.ts.map +1 -0
  1638. package/dist/shared/constants/exam-level.enum.js +42 -0
  1639. package/dist/shared/constants/exam-level.enum.js.map +1 -0
  1640. package/dist/shared/constants/landings/placement-test.constants.d.ts +128 -0
  1641. package/dist/shared/constants/landings/placement-test.constants.d.ts.map +1 -0
  1642. package/dist/shared/constants/landings/placement-test.constants.js +432 -0
  1643. package/dist/shared/constants/landings/placement-test.constants.js.map +1 -0
  1644. package/dist/shared/constants/question-skills.d.ts +93 -0
  1645. package/dist/shared/constants/question-skills.d.ts.map +1 -0
  1646. package/dist/shared/constants/question-skills.js +268 -0
  1647. package/dist/shared/constants/question-skills.js.map +1 -0
  1648. package/dist/shared/constants/routes.d.ts +70 -0
  1649. package/dist/shared/constants/routes.d.ts.map +1 -0
  1650. package/dist/shared/constants/routes.js +82 -0
  1651. package/dist/shared/constants/routes.js.map +1 -0
  1652. package/dist/shared/index.d.ts +8 -0
  1653. package/dist/shared/index.d.ts.map +1 -0
  1654. package/dist/shared/index.js +8 -0
  1655. package/dist/shared/index.js.map +1 -0
  1656. package/dist/shared/lib/hooks/index.d.ts +11 -0
  1657. package/dist/shared/lib/hooks/index.d.ts.map +1 -0
  1658. package/dist/shared/lib/hooks/index.js +11 -0
  1659. package/dist/shared/lib/hooks/index.js.map +1 -0
  1660. package/dist/shared/lib/hooks/useAlertDialog.d.ts +36 -0
  1661. package/dist/shared/lib/hooks/useAlertDialog.d.ts.map +1 -0
  1662. package/dist/shared/lib/hooks/useAlertDialog.js +58 -0
  1663. package/dist/shared/lib/hooks/useAlertDialog.js.map +1 -0
  1664. package/dist/shared/lib/hooks/useAudioPlayCounter.d.ts +8 -0
  1665. package/dist/shared/lib/hooks/useAudioPlayCounter.d.ts.map +1 -0
  1666. package/dist/shared/lib/hooks/useAudioPlayCounter.js +31 -0
  1667. package/dist/shared/lib/hooks/useAudioPlayCounter.js.map +1 -0
  1668. package/dist/shared/lib/hooks/useAudioPreview.d.ts +16 -0
  1669. package/dist/shared/lib/hooks/useAudioPreview.d.ts.map +1 -0
  1670. package/dist/shared/lib/hooks/useAudioPreview.js +82 -0
  1671. package/dist/shared/lib/hooks/useAudioPreview.js.map +1 -0
  1672. package/dist/shared/lib/hooks/useAudioUpload.d.ts +18 -0
  1673. package/dist/shared/lib/hooks/useAudioUpload.d.ts.map +1 -0
  1674. package/dist/shared/lib/hooks/useAudioUpload.js +25 -0
  1675. package/dist/shared/lib/hooks/useAudioUpload.js.map +1 -0
  1676. package/dist/shared/lib/hooks/useConfirmDialog.d.ts +44 -0
  1677. package/dist/shared/lib/hooks/useConfirmDialog.d.ts.map +1 -0
  1678. package/dist/shared/lib/hooks/useConfirmDialog.js +90 -0
  1679. package/dist/shared/lib/hooks/useConfirmDialog.js.map +1 -0
  1680. package/dist/shared/lib/hooks/useDebouncedCallback.d.ts +8 -0
  1681. package/dist/shared/lib/hooks/useDebouncedCallback.d.ts.map +1 -0
  1682. package/dist/shared/lib/hooks/useDebouncedCallback.js +33 -0
  1683. package/dist/shared/lib/hooks/useDebouncedCallback.js.map +1 -0
  1684. package/dist/shared/lib/hooks/useDelayedAutoPlay.d.ts +11 -0
  1685. package/dist/shared/lib/hooks/useDelayedAutoPlay.d.ts.map +1 -0
  1686. package/dist/shared/lib/hooks/useDelayedAutoPlay.js +13 -0
  1687. package/dist/shared/lib/hooks/useDelayedAutoPlay.js.map +1 -0
  1688. package/dist/shared/lib/hooks/useFileUpload.d.ts +15 -0
  1689. package/dist/shared/lib/hooks/useFileUpload.d.ts.map +1 -0
  1690. package/dist/shared/lib/hooks/useFileUpload.js +25 -0
  1691. package/dist/shared/lib/hooks/useFileUpload.js.map +1 -0
  1692. package/dist/shared/lib/hooks/useImageUrl.d.ts +2 -0
  1693. package/dist/shared/lib/hooks/useImageUrl.d.ts.map +1 -0
  1694. package/dist/shared/lib/hooks/useImageUrl.js +6 -0
  1695. package/dist/shared/lib/hooks/useImageUrl.js.map +1 -0
  1696. package/dist/shared/lib/hooks/usePresignedFileUrl.d.ts +11 -0
  1697. package/dist/shared/lib/hooks/usePresignedFileUrl.d.ts.map +1 -0
  1698. package/dist/shared/lib/hooks/usePresignedFileUrl.js +11 -0
  1699. package/dist/shared/lib/hooks/usePresignedFileUrl.js.map +1 -0
  1700. package/dist/shared/lib/hooks/useReactHookForm.d.ts +34 -0
  1701. package/dist/shared/lib/hooks/useReactHookForm.d.ts.map +1 -0
  1702. package/dist/shared/lib/hooks/useReactHookForm.js +32 -0
  1703. package/dist/shared/lib/hooks/useReactHookForm.js.map +1 -0
  1704. package/dist/shared/lib/hooks/useToast.d.ts +35 -0
  1705. package/dist/shared/lib/hooks/useToast.d.ts.map +1 -0
  1706. package/dist/shared/lib/hooks/useToast.js +63 -0
  1707. package/dist/shared/lib/hooks/useToast.js.map +1 -0
  1708. package/dist/shared/lib/i18n/index.d.ts +32 -0
  1709. package/dist/shared/lib/i18n/index.d.ts.map +1 -0
  1710. package/dist/shared/lib/i18n/index.js +55 -0
  1711. package/dist/shared/lib/i18n/index.js.map +1 -0
  1712. package/dist/shared/lib/i18n/messages/en/admin.d.ts +1937 -0
  1713. package/dist/shared/lib/i18n/messages/en/admin.d.ts.map +1 -0
  1714. package/dist/shared/lib/i18n/messages/en/admin.js +2105 -0
  1715. package/dist/shared/lib/i18n/messages/en/admin.js.map +1 -0
  1716. package/dist/shared/lib/i18n/messages/en/auth.d.ts +82 -0
  1717. package/dist/shared/lib/i18n/messages/en/auth.d.ts.map +1 -0
  1718. package/dist/shared/lib/i18n/messages/en/auth.js +87 -0
  1719. package/dist/shared/lib/i18n/messages/en/auth.js.map +1 -0
  1720. package/dist/shared/lib/i18n/messages/en/common.d.ts +125 -0
  1721. package/dist/shared/lib/i18n/messages/en/common.d.ts.map +1 -0
  1722. package/dist/shared/lib/i18n/messages/en/common.js +141 -0
  1723. package/dist/shared/lib/i18n/messages/en/common.js.map +1 -0
  1724. package/dist/shared/lib/i18n/messages/en/file-upload.d.ts +17 -0
  1725. package/dist/shared/lib/i18n/messages/en/file-upload.d.ts.map +1 -0
  1726. package/dist/shared/lib/i18n/messages/en/file-upload.js +19 -0
  1727. package/dist/shared/lib/i18n/messages/en/file-upload.js.map +1 -0
  1728. package/dist/shared/lib/i18n/messages/en/student.d.ts +125 -0
  1729. package/dist/shared/lib/i18n/messages/en/student.d.ts.map +1 -0
  1730. package/dist/shared/lib/i18n/messages/en/student.js +134 -0
  1731. package/dist/shared/lib/i18n/messages/en/student.js.map +1 -0
  1732. package/dist/shared/lib/i18n/messages/en/terms.d.ts +27 -0
  1733. package/dist/shared/lib/i18n/messages/en/terms.d.ts.map +1 -0
  1734. package/dist/shared/lib/i18n/messages/en/terms.js +38 -0
  1735. package/dist/shared/lib/i18n/messages/en/terms.js.map +1 -0
  1736. package/dist/shared/lib/i18n/messages/en.d.ts +2293 -0
  1737. package/dist/shared/lib/i18n/messages/en.d.ts.map +1 -0
  1738. package/dist/shared/lib/i18n/messages/en.js +16 -0
  1739. package/dist/shared/lib/i18n/messages/en.js.map +1 -0
  1740. package/dist/shared/lib/i18n/messages/vi/admin.d.ts +1937 -0
  1741. package/dist/shared/lib/i18n/messages/vi/admin.d.ts.map +1 -0
  1742. package/dist/shared/lib/i18n/messages/vi/admin.js +2105 -0
  1743. package/dist/shared/lib/i18n/messages/vi/admin.js.map +1 -0
  1744. package/dist/shared/lib/i18n/messages/vi/auth.d.ts +82 -0
  1745. package/dist/shared/lib/i18n/messages/vi/auth.d.ts.map +1 -0
  1746. package/dist/shared/lib/i18n/messages/vi/auth.js +87 -0
  1747. package/dist/shared/lib/i18n/messages/vi/auth.js.map +1 -0
  1748. package/dist/shared/lib/i18n/messages/vi/common.d.ts +125 -0
  1749. package/dist/shared/lib/i18n/messages/vi/common.d.ts.map +1 -0
  1750. package/dist/shared/lib/i18n/messages/vi/common.js +141 -0
  1751. package/dist/shared/lib/i18n/messages/vi/common.js.map +1 -0
  1752. package/dist/shared/lib/i18n/messages/vi/file-upload.d.ts +17 -0
  1753. package/dist/shared/lib/i18n/messages/vi/file-upload.d.ts.map +1 -0
  1754. package/dist/shared/lib/i18n/messages/vi/file-upload.js +19 -0
  1755. package/dist/shared/lib/i18n/messages/vi/file-upload.js.map +1 -0
  1756. package/dist/shared/lib/i18n/messages/vi/student.d.ts +125 -0
  1757. package/dist/shared/lib/i18n/messages/vi/student.d.ts.map +1 -0
  1758. package/dist/shared/lib/i18n/messages/vi/student.js +134 -0
  1759. package/dist/shared/lib/i18n/messages/vi/student.js.map +1 -0
  1760. package/dist/shared/lib/i18n/messages/vi/terms.d.ts +27 -0
  1761. package/dist/shared/lib/i18n/messages/vi/terms.d.ts.map +1 -0
  1762. package/dist/shared/lib/i18n/messages/vi/terms.js +38 -0
  1763. package/dist/shared/lib/i18n/messages/vi/terms.js.map +1 -0
  1764. package/dist/shared/lib/i18n/messages/vi.d.ts +2293 -0
  1765. package/dist/shared/lib/i18n/messages/vi.d.ts.map +1 -0
  1766. package/dist/shared/lib/i18n/messages/vi.js +16 -0
  1767. package/dist/shared/lib/i18n/messages/vi.js.map +1 -0
  1768. package/dist/shared/lib/i18n/types.d.ts +4 -0
  1769. package/dist/shared/lib/i18n/types.d.ts.map +1 -0
  1770. package/dist/shared/lib/i18n/types.js +2 -0
  1771. package/dist/shared/lib/i18n/types.js.map +1 -0
  1772. package/dist/shared/lib/stores/examQuestionStore.d.ts +95 -0
  1773. package/dist/shared/lib/stores/examQuestionStore.d.ts.map +1 -0
  1774. package/dist/shared/lib/stores/examQuestionStore.js +213 -0
  1775. package/dist/shared/lib/stores/examQuestionStore.js.map +1 -0
  1776. package/dist/shared/lib/stores/localeStore.d.ts +20 -0
  1777. package/dist/shared/lib/stores/localeStore.d.ts.map +1 -0
  1778. package/dist/shared/lib/stores/localeStore.js +11 -0
  1779. package/dist/shared/lib/stores/localeStore.js.map +1 -0
  1780. package/dist/shared/lib/utils/public-page.d.ts +9 -0
  1781. package/dist/shared/lib/utils/public-page.d.ts.map +1 -0
  1782. package/dist/shared/lib/utils/public-page.js +45 -0
  1783. package/dist/shared/lib/utils/public-page.js.map +1 -0
  1784. package/dist/shared/lib/utils/question-transform-types.d.ts +398 -0
  1785. package/dist/shared/lib/utils/question-transform-types.d.ts.map +1 -0
  1786. package/dist/shared/lib/utils/question-transform-types.js +2 -0
  1787. package/dist/shared/lib/utils/question-transform-types.js.map +1 -0
  1788. package/dist/shared/lib/utils/question-transform.d.ts +31 -0
  1789. package/dist/shared/lib/utils/question-transform.d.ts.map +1 -0
  1790. package/dist/shared/lib/utils/question-transform.js +175 -0
  1791. package/dist/shared/lib/utils/question-transform.js.map +1 -0
  1792. package/dist/shared/lib/utils.d.ts +70 -0
  1793. package/dist/shared/lib/utils.d.ts.map +1 -0
  1794. package/dist/shared/lib/utils.js +169 -0
  1795. package/dist/shared/lib/utils.js.map +1 -0
  1796. package/dist/shared/lib/validation/choose-correct-answer.validation.d.ts +19 -0
  1797. package/dist/shared/lib/validation/choose-correct-answer.validation.d.ts.map +1 -0
  1798. package/dist/shared/lib/validation/choose-correct-answer.validation.js +112 -0
  1799. package/dist/shared/lib/validation/choose-correct-answer.validation.js.map +1 -0
  1800. package/dist/shared/lib/validation/label-the-picture.validation.d.ts +13 -0
  1801. package/dist/shared/lib/validation/label-the-picture.validation.d.ts.map +1 -0
  1802. package/dist/shared/lib/validation/label-the-picture.validation.js +20 -0
  1803. package/dist/shared/lib/validation/label-the-picture.validation.js.map +1 -0
  1804. package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.d.ts +27 -0
  1805. package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.d.ts.map +1 -0
  1806. package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.js +47 -0
  1807. package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.js.map +1 -0
  1808. package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.d.ts +18 -0
  1809. package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.d.ts.map +1 -0
  1810. package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.js +22 -0
  1811. package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.js.map +1 -0
  1812. package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.d.ts +23 -0
  1813. package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.d.ts.map +1 -0
  1814. package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.js +35 -0
  1815. package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.js.map +1 -0
  1816. package/dist/shared/lib/validation/listen-and-speak-answer.validation.d.ts +17 -0
  1817. package/dist/shared/lib/validation/listen-and-speak-answer.validation.d.ts.map +1 -0
  1818. package/dist/shared/lib/validation/listen-and-speak-answer.validation.js +41 -0
  1819. package/dist/shared/lib/validation/listen-and-speak-answer.validation.js.map +1 -0
  1820. package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.d.ts +16 -0
  1821. package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.d.ts.map +1 -0
  1822. package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.js +46 -0
  1823. package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.js.map +1 -0
  1824. package/dist/shared/lib/validation/listen-and-speak-image-group.validation.d.ts +22 -0
  1825. package/dist/shared/lib/validation/listen-and-speak-image-group.validation.d.ts.map +1 -0
  1826. package/dist/shared/lib/validation/listen-and-speak-image-group.validation.js +20 -0
  1827. package/dist/shared/lib/validation/listen-and-speak-image-group.validation.js.map +1 -0
  1828. package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.d.ts +27 -0
  1829. package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.d.ts.map +1 -0
  1830. package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.js +40 -0
  1831. package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.js.map +1 -0
  1832. package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.d.ts +12 -0
  1833. package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.d.ts.map +1 -0
  1834. package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.js +33 -0
  1835. package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.js.map +1 -0
  1836. package/dist/shared/lib/validation/listen-and-speak-question-list.validation.d.ts +18 -0
  1837. package/dist/shared/lib/validation/listen-and-speak-question-list.validation.d.ts.map +1 -0
  1838. package/dist/shared/lib/validation/listen-and-speak-question-list.validation.js +20 -0
  1839. package/dist/shared/lib/validation/listen-and-speak-question-list.validation.js.map +1 -0
  1840. package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.d.ts +11 -0
  1841. package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.d.ts.map +1 -0
  1842. package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.js +29 -0
  1843. package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.js.map +1 -0
  1844. package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.d.ts +10 -0
  1845. package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.d.ts.map +1 -0
  1846. package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.js +13 -0
  1847. package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.js.map +1 -0
  1848. package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.d.ts +18 -0
  1849. package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.d.ts.map +1 -0
  1850. package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.js +48 -0
  1851. package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.js.map +1 -0
  1852. package/dist/shared/lib/validation/read-and-color-objects.validation.d.ts +21 -0
  1853. package/dist/shared/lib/validation/read-and-color-objects.validation.d.ts.map +1 -0
  1854. package/dist/shared/lib/validation/read-and-color-objects.validation.js +30 -0
  1855. package/dist/shared/lib/validation/read-and-color-objects.validation.js.map +1 -0
  1856. package/dist/shared/lib/validation/read-displayed-content.validation.d.ts +8 -0
  1857. package/dist/shared/lib/validation/read-displayed-content.validation.d.ts.map +1 -0
  1858. package/dist/shared/lib/validation/read-displayed-content.validation.js +29 -0
  1859. package/dist/shared/lib/validation/read-displayed-content.validation.js.map +1 -0
  1860. package/dist/shared/lib/validation/speaking-conversation.validation.d.ts +30 -0
  1861. package/dist/shared/lib/validation/speaking-conversation.validation.d.ts.map +1 -0
  1862. package/dist/shared/lib/validation/speaking-conversation.validation.js +76 -0
  1863. package/dist/shared/lib/validation/speaking-conversation.validation.js.map +1 -0
  1864. package/dist/shared/lib/validation/speaking-describe-image.validation.d.ts +10 -0
  1865. package/dist/shared/lib/validation/speaking-describe-image.validation.d.ts.map +1 -0
  1866. package/dist/shared/lib/validation/speaking-describe-image.validation.js +32 -0
  1867. package/dist/shared/lib/validation/speaking-describe-image.validation.js.map +1 -0
  1868. package/dist/shared/lib/validation/spontaneous-qa.validation.d.ts +14 -0
  1869. package/dist/shared/lib/validation/spontaneous-qa.validation.d.ts.map +1 -0
  1870. package/dist/shared/lib/validation/spontaneous-qa.validation.js +49 -0
  1871. package/dist/shared/lib/validation/spontaneous-qa.validation.js.map +1 -0
  1872. package/dist/shared/lib/validation/word-fill-paragraph-default.validation.d.ts +18 -0
  1873. package/dist/shared/lib/validation/word-fill-paragraph-default.validation.d.ts.map +1 -0
  1874. package/dist/shared/lib/validation/word-fill-paragraph-default.validation.js +39 -0
  1875. package/dist/shared/lib/validation/word-fill-paragraph-default.validation.js.map +1 -0
  1876. package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.d.ts +16 -0
  1877. package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.d.ts.map +1 -0
  1878. package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.js +40 -0
  1879. package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.js.map +1 -0
  1880. package/dist/shared/lib/validation/word-fill-paragraph.validation.d.ts +20 -0
  1881. package/dist/shared/lib/validation/word-fill-paragraph.validation.d.ts.map +1 -0
  1882. package/dist/shared/lib/validation/word-fill-paragraph.validation.js +44 -0
  1883. package/dist/shared/lib/validation/word-fill-paragraph.validation.js.map +1 -0
  1884. package/dist/shared/lib/validation/word-ordering.validation.d.ts +11 -0
  1885. package/dist/shared/lib/validation/word-ordering.validation.d.ts.map +1 -0
  1886. package/dist/shared/lib/validation/word-ordering.validation.js +34 -0
  1887. package/dist/shared/lib/validation/word-ordering.validation.js.map +1 -0
  1888. package/dist/shared/types/branch.types.d.ts +154 -0
  1889. package/dist/shared/types/branch.types.d.ts.map +1 -0
  1890. package/dist/shared/types/branch.types.js +7 -0
  1891. package/dist/shared/types/branch.types.js.map +1 -0
  1892. package/dist/shared/types/common.types.d.ts +81 -0
  1893. package/dist/shared/types/common.types.d.ts.map +1 -0
  1894. package/dist/shared/types/common.types.js +51 -0
  1895. package/dist/shared/types/common.types.js.map +1 -0
  1896. package/dist/shared/types/entities/exam-schedule.types.d.ts +66 -0
  1897. package/dist/shared/types/entities/exam-schedule.types.d.ts.map +1 -0
  1898. package/dist/shared/types/entities/exam-schedule.types.js +6 -0
  1899. package/dist/shared/types/entities/exam-schedule.types.js.map +1 -0
  1900. package/dist/shared/types/entities/exam.types.d.ts +111 -0
  1901. package/dist/shared/types/entities/exam.types.d.ts.map +1 -0
  1902. package/dist/shared/types/entities/exam.types.js +2 -0
  1903. package/dist/shared/types/entities/exam.types.js.map +1 -0
  1904. package/dist/shared/types/entities/question.types.d.ts +359 -0
  1905. package/dist/shared/types/entities/question.types.d.ts.map +1 -0
  1906. package/dist/shared/types/entities/question.types.js +5 -0
  1907. package/dist/shared/types/entities/question.types.js.map +1 -0
  1908. package/dist/shared/types/entities/result.types.d.ts +41 -0
  1909. package/dist/shared/types/entities/result.types.d.ts.map +1 -0
  1910. package/dist/shared/types/entities/result.types.js +5 -0
  1911. package/dist/shared/types/entities/result.types.js.map +1 -0
  1912. package/dist/shared/types/entities/user.types.d.ts +42 -0
  1913. package/dist/shared/types/entities/user.types.d.ts.map +1 -0
  1914. package/dist/shared/types/entities/user.types.js +5 -0
  1915. package/dist/shared/types/entities/user.types.js.map +1 -0
  1916. package/dist/shared/types/exam-taking.types.d.ts +39 -0
  1917. package/dist/shared/types/exam-taking.types.d.ts.map +1 -0
  1918. package/dist/shared/types/exam-taking.types.js +3 -0
  1919. package/dist/shared/types/exam-taking.types.js.map +1 -0
  1920. package/dist/shared/types/history.types.d.ts +21 -0
  1921. package/dist/shared/types/history.types.d.ts.map +1 -0
  1922. package/dist/shared/types/history.types.js +35 -0
  1923. package/dist/shared/types/history.types.js.map +1 -0
  1924. package/dist/shared/types/index.d.ts +102 -0
  1925. package/dist/shared/types/index.d.ts.map +1 -0
  1926. package/dist/shared/types/index.js +2 -0
  1927. package/dist/shared/types/index.js.map +1 -0
  1928. package/dist/shared/types/questions/choose-correct-adjective.d.ts +38 -0
  1929. package/dist/shared/types/questions/choose-correct-adjective.d.ts.map +1 -0
  1930. package/dist/shared/types/questions/choose-correct-adjective.js +5 -0
  1931. package/dist/shared/types/questions/choose-correct-adjective.js.map +1 -0
  1932. package/dist/shared/types/questions/choose-the-correct-answer.d.ts +73 -0
  1933. package/dist/shared/types/questions/choose-the-correct-answer.d.ts.map +1 -0
  1934. package/dist/shared/types/questions/choose-the-correct-answer.js +10 -0
  1935. package/dist/shared/types/questions/choose-the-correct-answer.js.map +1 -0
  1936. package/dist/shared/types/questions/fill-missing-words-in-grid.d.ts +72 -0
  1937. package/dist/shared/types/questions/fill-missing-words-in-grid.d.ts.map +1 -0
  1938. package/dist/shared/types/questions/fill-missing-words-in-grid.js +12 -0
  1939. package/dist/shared/types/questions/fill-missing-words-in-grid.js.map +1 -0
  1940. package/dist/shared/types/questions/index.d.ts +29 -0
  1941. package/dist/shared/types/questions/index.d.ts.map +1 -0
  1942. package/dist/shared/types/questions/index.js +41 -0
  1943. package/dist/shared/types/questions/index.js.map +1 -0
  1944. package/dist/shared/types/questions/listen-and-speak-answer.d.ts +47 -0
  1945. package/dist/shared/types/questions/listen-and-speak-answer.d.ts.map +1 -0
  1946. package/dist/shared/types/questions/listen-and-speak-answer.js +2 -0
  1947. package/dist/shared/types/questions/listen-and-speak-answer.js.map +1 -0
  1948. package/dist/shared/types/questions/listen-and-speak-compare-images.d.ts +23 -0
  1949. package/dist/shared/types/questions/listen-and-speak-compare-images.d.ts.map +1 -0
  1950. package/dist/shared/types/questions/listen-and-speak-compare-images.js +2 -0
  1951. package/dist/shared/types/questions/listen-and-speak-compare-images.js.map +1 -0
  1952. package/dist/shared/types/questions/listen-and-speak-image-group.d.ts +30 -0
  1953. package/dist/shared/types/questions/listen-and-speak-image-group.d.ts.map +1 -0
  1954. package/dist/shared/types/questions/listen-and-speak-image-group.js +2 -0
  1955. package/dist/shared/types/questions/listen-and-speak-image-group.js.map +1 -0
  1956. package/dist/shared/types/questions/listen-and-speak-info-exchange.d.ts +30 -0
  1957. package/dist/shared/types/questions/listen-and-speak-info-exchange.d.ts.map +1 -0
  1958. package/dist/shared/types/questions/listen-and-speak-info-exchange.js +4 -0
  1959. package/dist/shared/types/questions/listen-and-speak-info-exchange.js.map +1 -0
  1960. package/dist/shared/types/questions/listen-and-speak-odd-one-out.d.ts +14 -0
  1961. package/dist/shared/types/questions/listen-and-speak-odd-one-out.d.ts.map +1 -0
  1962. package/dist/shared/types/questions/listen-and-speak-odd-one-out.js +4 -0
  1963. package/dist/shared/types/questions/listen-and-speak-odd-one-out.js.map +1 -0
  1964. package/dist/shared/types/questions/listen-and-speak-question-list.d.ts +19 -0
  1965. package/dist/shared/types/questions/listen-and-speak-question-list.d.ts.map +1 -0
  1966. package/dist/shared/types/questions/listen-and-speak-question-list.js +2 -0
  1967. package/dist/shared/types/questions/listen-and-speak-question-list.js.map +1 -0
  1968. package/dist/shared/types/questions/listen-and-speak-with-story-images.d.ts +14 -0
  1969. package/dist/shared/types/questions/listen-and-speak-with-story-images.d.ts.map +1 -0
  1970. package/dist/shared/types/questions/listen-and-speak-with-story-images.js +4 -0
  1971. package/dist/shared/types/questions/listen-and-speak-with-story-images.js.map +1 -0
  1972. package/dist/shared/types/questions/look-picture-choose-correct-answer.d.ts +39 -0
  1973. package/dist/shared/types/questions/look-picture-choose-correct-answer.d.ts.map +1 -0
  1974. package/dist/shared/types/questions/look-picture-choose-correct-answer.js +6 -0
  1975. package/dist/shared/types/questions/look-picture-choose-correct-answer.js.map +1 -0
  1976. package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.d.ts +64 -0
  1977. package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.d.ts.map +1 -0
  1978. package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.js +10 -0
  1979. package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.js.map +1 -0
  1980. package/dist/shared/types/questions/look-picture-fill-word-hint.d.ts +58 -0
  1981. package/dist/shared/types/questions/look-picture-fill-word-hint.d.ts.map +1 -0
  1982. package/dist/shared/types/questions/look-picture-fill-word-hint.js +8 -0
  1983. package/dist/shared/types/questions/look-picture-fill-word-hint.js.map +1 -0
  1984. package/dist/shared/types/questions/read-displayed-content.d.ts +68 -0
  1985. package/dist/shared/types/questions/read-displayed-content.d.ts.map +1 -0
  1986. package/dist/shared/types/questions/read-displayed-content.js +2 -0
  1987. package/dist/shared/types/questions/read-displayed-content.js.map +1 -0
  1988. package/dist/shared/types/questions/speaking-conversation.d.ts +51 -0
  1989. package/dist/shared/types/questions/speaking-conversation.d.ts.map +1 -0
  1990. package/dist/shared/types/questions/speaking-conversation.js +8 -0
  1991. package/dist/shared/types/questions/speaking-conversation.js.map +1 -0
  1992. package/dist/shared/types/questions/speaking-describe-image.d.ts +41 -0
  1993. package/dist/shared/types/questions/speaking-describe-image.d.ts.map +1 -0
  1994. package/dist/shared/types/questions/speaking-describe-image.js +2 -0
  1995. package/dist/shared/types/questions/speaking-describe-image.js.map +1 -0
  1996. package/dist/shared/types/questions/spontaneous-qa.d.ts +80 -0
  1997. package/dist/shared/types/questions/spontaneous-qa.d.ts.map +1 -0
  1998. package/dist/shared/types/questions/spontaneous-qa.js +2 -0
  1999. package/dist/shared/types/questions/spontaneous-qa.js.map +1 -0
  2000. package/dist/shared/types/questions/write-correct-verb-form.d.ts +110 -0
  2001. package/dist/shared/types/questions/write-correct-verb-form.d.ts.map +1 -0
  2002. package/dist/shared/types/questions/write-correct-verb-form.js +13 -0
  2003. package/dist/shared/types/questions/write-correct-verb-form.js.map +1 -0
  2004. package/dist/shared/types/role.types.d.ts +61 -0
  2005. package/dist/shared/types/role.types.d.ts.map +1 -0
  2006. package/dist/shared/types/role.types.js +2 -0
  2007. package/dist/shared/types/role.types.js.map +1 -0
  2008. package/dist/shared/types/structure-management.d.ts +218 -0
  2009. package/dist/shared/types/structure-management.d.ts.map +1 -0
  2010. package/dist/shared/types/structure-management.js +29 -0
  2011. package/dist/shared/types/structure-management.js.map +1 -0
  2012. package/dist/shared/types/student.types.d.ts +396 -0
  2013. package/dist/shared/types/student.types.d.ts.map +1 -0
  2014. package/dist/shared/types/student.types.js +55 -0
  2015. package/dist/shared/types/student.types.js.map +1 -0
  2016. package/dist/shared/types/teacher-dashboard-rooms.d.ts +61 -0
  2017. package/dist/shared/types/teacher-dashboard-rooms.d.ts.map +1 -0
  2018. package/dist/shared/types/teacher-dashboard-rooms.js +3 -0
  2019. package/dist/shared/types/teacher-dashboard-rooms.js.map +1 -0
  2020. package/package.json +144 -0
@@ -0,0 +1,1937 @@
1
+ declare const admin: {
2
+ readonly 'admin.user.create.success': "User created successfully!";
3
+ readonly 'admin.user.update.success': "User updated successfully!";
4
+ readonly 'admin.user.update.error': "An error occurred while updating the user!";
5
+ readonly 'admin.user.delete.success': "User deleted successfully!";
6
+ readonly 'admin.user.delete.error': "An error occurred while deleting the user!";
7
+ readonly 'admin.exam.create.error': "Unable to create exam. Please try again!";
8
+ readonly 'admin.exam.update.error': "Unable to update exam. Please try again!";
9
+ readonly 'admin.exam.delete.error': "Unable to delete exam. Please try again!";
10
+ readonly 'admin.exam.template.update.error': "Unable to update template. Please try again!";
11
+ readonly 'admin.exam.copy.success': "Exam copied successfully: {name} ({count} questions)";
12
+ readonly 'admin.exam.copy.error': "Unable to copy exam. Please try again!";
13
+ readonly 'admin.exam.toggle.activated': "Exam \"{name}\" activated!";
14
+ readonly 'admin.exam.toggle.deactivated': "Exam \"{name}\" deactivated!";
15
+ readonly 'admin.exam.toggle.error': "Unable to change exam status. Please try again!";
16
+ readonly 'admin.exam.variants.delete.success': "Successfully deleted {count} shuffled variants!";
17
+ readonly 'admin.exam.variants.delete.empty': "No shuffled variants to delete.";
18
+ readonly 'admin.exam.variants.delete.error': "Unable to delete shuffled variants. Please try again!";
19
+ readonly 'admin.question.batchCreate.partial': "Created {successCount}/{total} questions successfully. {errorCount} failed.";
20
+ readonly 'admin.question.batchCreate.itemError': "Question {index}: {error}";
21
+ readonly 'admin.question.batchCreate.error': "Error creating questions: {message}";
22
+ readonly 'admin.questionBank.update.success': "Question updated successfully!";
23
+ readonly 'admin.questionBank.update.error': "Unable to update question. Please try again!";
24
+ readonly 'admin.questionBank.delete.success': "Question deleted successfully!";
25
+ readonly 'admin.questionBank.delete.error': "Unable to delete question. Please try again!";
26
+ readonly 'admin.questionBank.create.missingInfo': "Missing information";
27
+ readonly 'admin.questionBank.create.success': "Success!";
28
+ readonly 'admin.questionBank.create.error': "Error";
29
+ readonly 'admin.questionBank.create.preview': "Preview";
30
+ readonly 'admin.questionBank.page.title': "Question Bank";
31
+ readonly 'admin.questionBank.page.subtitle': "Manage and organize questions for exams";
32
+ readonly 'admin.questionBank.btn.add': "Add question";
33
+ readonly 'admin.questionBank.fetch.error': "Error";
34
+ readonly 'admin.questionBank.fetch.errorDesc': "Unable to load question list";
35
+ readonly 'admin.questionBank.delete.successMsg': "Question deleted";
36
+ readonly 'admin.questionBank.delete.successDesc': "Deleted question {code}";
37
+ readonly 'admin.questionBank.delete.errorMsg': "Error";
38
+ readonly 'admin.questionBank.delete.errorDesc': "Unable to delete question";
39
+ readonly 'admin.questionBank.update.successMsg': "Updated";
40
+ readonly 'admin.questionBank.update.successDesc': "Updated question {code}!";
41
+ readonly 'admin.questionBank.update.errorMsg': "Error";
42
+ readonly 'admin.questionBank.update.errorDesc': "Unable to update question";
43
+ readonly 'admin.questionBank.create.successMsg': "Question created";
44
+ readonly 'admin.questionBank.create.successDesc': "Successfully created question {code}!";
45
+ readonly 'admin.questionBank.stats.totalQuestions': "Total Questions";
46
+ readonly 'admin.questionBank.stats.inBank': "In question bank";
47
+ readonly 'admin.questionBank.stats.totalUsage': "Usage Count";
48
+ readonly 'admin.questionBank.stats.inExams': "In exams";
49
+ readonly 'admin.questionBank.stats.avgPoints': "Avg Points";
50
+ readonly 'admin.questionBank.stats.avgScore': "Average score";
51
+ readonly 'admin.questionBank.stats.difficultyDistribution': "Difficulty Distribution";
52
+ readonly 'admin.questionBank.stats.questions': "questions";
53
+ readonly 'admin.questionBank.difficulty.easy': "Easy";
54
+ readonly 'admin.questionBank.difficulty.medium': "Medium";
55
+ readonly 'admin.questionBank.difficulty.hard': "Hard";
56
+ readonly 'admin.questionBank.table.title': "Question List";
57
+ readonly 'admin.questionBank.table.loading': "Loading...";
58
+ readonly 'admin.questionBank.table.showing': "Showing {count} / {total} questions";
59
+ readonly 'admin.questionBank.table.empty': "No questions found";
60
+ readonly 'admin.questionBank.table.loadingData': "Loading data...";
61
+ readonly 'admin.questionBank.table.created': "Created: {date}";
62
+ readonly 'admin.questionBank.table.pointsUnit': "pts";
63
+ readonly 'admin.questionBank.table.usageUnit': "times";
64
+ readonly 'admin.questionBank.filter.searchPlaceholder': "Search by content...";
65
+ readonly 'admin.questionBank.filter.typePlaceholder': "Question type";
66
+ readonly 'admin.questionBank.filter.typeAll': "All types";
67
+ readonly 'admin.questionBank.filter.difficultyPlaceholder': "Difficulty";
68
+ readonly 'admin.questionBank.filter.difficultyAll': "All difficulties";
69
+ readonly 'admin.questionBank.filter.skillPlaceholder': "Skill";
70
+ readonly 'admin.questionBank.filter.skillAll': "All skills";
71
+ readonly 'admin.questionBank.filter.clear': "Clear filters";
72
+ readonly 'admin.questionBank.col.code': "CODE";
73
+ readonly 'admin.questionBank.col.title': "Title";
74
+ readonly 'admin.questionBank.col.type': "TYPE";
75
+ readonly 'admin.questionBank.col.difficulty': "DIFFICULTY";
76
+ readonly 'admin.questionBank.col.skill': "SKILL";
77
+ readonly 'admin.questionBank.col.points': "POINTS";
78
+ readonly 'admin.questionBank.col.usage': "USAGE";
79
+ readonly 'admin.questionBank.col.actions': "ACTIONS";
80
+ readonly 'admin.questionBank.action.view': "View details";
81
+ readonly 'admin.questionBank.action.edit': "Edit";
82
+ readonly 'admin.questionBank.action.delete': "Delete";
83
+ readonly 'admin.questionBank.dialog.add.title': "Add New Question";
84
+ readonly 'admin.questionBank.dialog.add.section1': "Basic Information";
85
+ readonly 'admin.questionBank.dialog.add.section2': "Question Type";
86
+ readonly 'admin.questionBank.dialog.add.section3': "Question Content";
87
+ readonly 'admin.questionBank.dialog.add.code': "Question Code";
88
+ readonly 'admin.questionBank.dialog.add.codePlaceholder': "E.g.: QB001";
89
+ readonly 'admin.questionBank.dialog.add.titleLabel': "Title";
90
+ readonly 'admin.questionBank.dialog.add.titlePlaceholder': "Brief description of the question";
91
+ readonly 'admin.questionBank.dialog.add.difficulty': "Difficulty Level";
92
+ readonly 'admin.questionBank.dialog.add.skill': "Skill";
93
+ readonly 'admin.questionBank.dialog.add.typePlaceholder': "Select question type...";
94
+ readonly 'admin.questionBank.dialog.add.typeNoOptions': "No question types for {skill}";
95
+ readonly 'admin.questionBank.dialog.add.noTypeSelected': "No question type selected";
96
+ readonly 'admin.questionBank.dialog.add.selectTypeHint': "Please select a question type in step 2";
97
+ readonly 'admin.questionBank.dialog.add.required': "Required";
98
+ readonly 'admin.questionBank.dialog.add.cancel': "Cancel";
99
+ readonly 'admin.questionBank.dialog.add.saving': "Saving...";
100
+ readonly 'admin.questionBank.dialog.add.save': "Add question";
101
+ readonly 'admin.questionBank.dialog.add.codeError': "Please enter question code";
102
+ readonly 'admin.questionBank.dialog.add.titleError': "Please enter title";
103
+ readonly 'admin.questionBank.dialog.add.typeError': "Please select question type";
104
+ readonly 'admin.questionBank.dialog.edit.title': "Edit Question";
105
+ readonly 'admin.questionBank.dialog.edit.section1': "Basic Information";
106
+ readonly 'admin.questionBank.dialog.edit.section2': "Question Type";
107
+ readonly 'admin.questionBank.dialog.edit.section3': "Question Content";
108
+ readonly 'admin.questionBank.dialog.edit.code': "Question Code";
109
+ readonly 'admin.questionBank.dialog.edit.codePlaceholder': "Enter question code";
110
+ readonly 'admin.questionBank.dialog.edit.titleLabel': "Title";
111
+ readonly 'admin.questionBank.dialog.edit.titlePlaceholder': "Brief description of the question";
112
+ readonly 'admin.questionBank.dialog.edit.difficulty': "Difficulty Level";
113
+ readonly 'admin.questionBank.dialog.edit.skill': "Skill";
114
+ readonly 'admin.questionBank.dialog.edit.unchangeable': "(Cannot be changed)";
115
+ readonly 'admin.questionBank.dialog.edit.required': "Required";
116
+ readonly 'admin.questionBank.dialog.edit.cancel': "Cancel";
117
+ readonly 'admin.questionBank.dialog.edit.saving': "Saving...";
118
+ readonly 'admin.questionBank.dialog.edit.save': "Save changes";
119
+ readonly 'admin.questionBank.dialog.edit.codeError': "Please enter question code";
120
+ readonly 'admin.questionBank.dialog.edit.titleError': "Please enter title";
121
+ readonly 'admin.questionBank.dialog.delete.title': "Confirm Delete Question";
122
+ readonly 'admin.questionBank.dialog.delete.message': "Are you sure you want to delete question";
123
+ readonly 'admin.questionBank.dialog.delete.warning': "This action cannot be undone.";
124
+ readonly 'admin.questionBank.dialog.delete.cancel': "Cancel";
125
+ readonly 'admin.questionBank.dialog.delete.deleting': "Deleting...";
126
+ readonly 'admin.questionBank.dialog.delete.confirm': "Delete question";
127
+ readonly 'admin.questionBank.dialog.view.title': "Question Details";
128
+ readonly 'admin.questionBank.dialog.view.points': "points";
129
+ readonly 'admin.questionBank.dialog.view.usage': "Used {count} times";
130
+ readonly 'admin.questionBank.dialog.view.preview': "Question Preview";
131
+ readonly 'admin.questionBank.dialog.view.explanation': "Answer Explanation";
132
+ readonly 'admin.questionBank.createPage.title': "Create New Question";
133
+ readonly 'admin.questionBank.createPage.subtitle': "Add question to the Bank for reuse in exam sets";
134
+ readonly 'admin.questionBank.createPage.breadcrumb.list': "Question Bank";
135
+ readonly 'admin.questionBank.createPage.breadcrumb.create': "Create New";
136
+ readonly 'admin.questionBank.createPage.infoTitle': "Creating question type: {type}";
137
+ readonly 'admin.questionBank.createPage.infoDesc': "Fill in the complete question information below. You can preview the question before saving.";
138
+ readonly 'admin.questionBank.createPage.loading': "Loading...";
139
+ readonly 'admin.questionBank.createPage.back': "Go back";
140
+ readonly 'admin.questionBank.createPage.preview': "Preview";
141
+ readonly 'admin.questionBank.createPage.saving': "Saving...";
142
+ readonly 'admin.questionBank.createPage.save': "Save question";
143
+ readonly 'admin.questionBank.createPage.cancelTitle': "Cancel question creation?";
144
+ readonly 'admin.questionBank.createPage.cancelMessage': "You have unsaved changes. If you cancel, all information will be lost. Are you sure you want to cancel?";
145
+ readonly 'admin.questionBank.createPage.continueEditing': "Continue editing";
146
+ readonly 'admin.questionBank.createPage.cancelAndExit': "Cancel and exit";
147
+ readonly 'admin.questionBank.createPage.missingInfoDesc': "Please fill in all question information";
148
+ readonly 'admin.questionBank.createPage.savedDesc': "Saved question \"{title}\" to the bank";
149
+ readonly 'admin.questionBank.createPage.saveErrorDesc': "Unable to save question. Please try again.";
150
+ readonly 'admin.questionBank.createPage.previewDesc': "Preview feature is under development";
151
+ readonly 'admin.schedule.update.success': "Schedule updated successfully!";
152
+ readonly 'admin.schedule.delete.success': "Deleted schedule {id}";
153
+ readonly 'admin.schedules.title': "Schedule Management";
154
+ readonly 'admin.schedules.subtitle': "Schedule and manage exam times for contests";
155
+ readonly 'admin.schedules.viewCalendar': "Calendar";
156
+ readonly 'admin.schedules.viewList': "List";
157
+ readonly 'admin.schedules.stats.totalSchedules': "Total Schedules";
158
+ readonly 'admin.schedules.stats.totalSchedulesDesc': "All exam schedules";
159
+ readonly 'admin.schedules.stats.confirmed': "Confirmed";
160
+ readonly 'admin.schedules.stats.confirmedDesc': "Schedules ready";
161
+ readonly 'admin.schedules.stats.totalStudents': "Total Students";
162
+ readonly 'admin.schedules.stats.totalStudentsDesc': "Assigned to schedules";
163
+ readonly 'admin.schedules.filters.searchPlaceholder': "Search schedules...";
164
+ readonly 'admin.schedules.filters.skill': "Skill";
165
+ readonly 'admin.schedules.filters.allSkills': "All skills";
166
+ readonly 'admin.schedules.filters.status': "Status";
167
+ readonly 'admin.schedules.filters.allStatuses': "All statuses";
168
+ readonly 'admin.schedules.filters.statusOpen': "Open";
169
+ readonly 'admin.schedules.filters.statusLocked': "Locked";
170
+ readonly 'admin.schedules.filters.clear': "Clear filters";
171
+ readonly 'admin.schedules.calendar.today': "Today";
172
+ readonly 'admin.schedules.calendar.daySun': "Sun";
173
+ readonly 'admin.schedules.calendar.dayMon': "Mon";
174
+ readonly 'admin.schedules.calendar.dayTue': "Tue";
175
+ readonly 'admin.schedules.calendar.dayWed': "Wed";
176
+ readonly 'admin.schedules.calendar.dayThu': "Thu";
177
+ readonly 'admin.schedules.calendar.dayFri': "Fri";
178
+ readonly 'admin.schedules.calendar.daySat': "Sat";
179
+ readonly 'admin.schedules.calendar.loading': "Loading schedules...";
180
+ readonly 'admin.schedules.calendar.noLimit': "No limit";
181
+ readonly 'admin.schedules.list.title': "Schedule List";
182
+ readonly 'admin.schedules.list.loading': "Loading...";
183
+ readonly 'admin.schedules.list.loadingList': "Loading schedule list...";
184
+ readonly 'admin.schedules.list.showing': "Showing {current} / {total} schedules";
185
+ readonly 'admin.schedules.list.empty': "No schedules found";
186
+ readonly 'admin.schedules.list.locked': "Locked";
187
+ readonly 'admin.schedules.list.open': "Open";
188
+ readonly 'admin.schedules.list.contest': "Contest:";
189
+ readonly 'admin.schedules.list.exam': "Exam:";
190
+ readonly 'admin.schedules.list.startTime': "Start:";
191
+ readonly 'admin.schedules.list.endTime': "End:";
192
+ readonly 'admin.schedules.list.noLimit': "No limit";
193
+ readonly 'admin.schedules.list.locationUnknown': "Not specified";
194
+ readonly 'admin.schedules.list.noSupervisor': "Not assigned";
195
+ readonly 'admin.schedules.list.participants': "{count} participants";
196
+ readonly 'admin.schedules.list.page': "Page {current} / {total}";
197
+ readonly 'admin.schedules.list.prev': "Previous";
198
+ readonly 'admin.schedules.list.next': "Next";
199
+ readonly 'admin.schedules.dialog.detailTitle': "Schedule Details";
200
+ readonly 'admin.schedules.dialog.room': "Exam Room";
201
+ readonly 'admin.schedules.dialog.contest': "Contest";
202
+ readonly 'admin.schedules.dialog.exam': "Exam";
203
+ readonly 'admin.schedules.dialog.startTime': "Start Time";
204
+ readonly 'admin.schedules.dialog.endTime': "End Time";
205
+ readonly 'admin.schedules.dialog.duration': "Duration";
206
+ readonly 'admin.schedules.dialog.status': "Status";
207
+ readonly 'admin.schedules.dialog.participantCount': "Participants";
208
+ readonly 'admin.schedules.dialog.participants': "{count} participants";
209
+ readonly 'admin.schedules.dialog.notAssigned': "Not assigned";
210
+ readonly 'admin.schedules.dialog.notSet': "Not specified";
211
+ readonly 'admin.schedules.dialog.noLimit': "No limit";
212
+ readonly 'admin.schedules.dialog.locked': "Locked";
213
+ readonly 'admin.schedules.dialog.open': "Open";
214
+ readonly 'admin.schedules.dialog.durationMinutes': "{duration} minutes";
215
+ readonly 'admin.schedules.dialog.location': "Location";
216
+ readonly 'admin.schedules.dialog.supervisor': "Supervisor";
217
+ readonly 'admin.schedules.dialog.noSupervisor': "Not assigned";
218
+ readonly 'admin.schedules.view.title': "Schedule Details";
219
+ readonly 'admin.schedules.view.contest': "Contest";
220
+ readonly 'admin.schedules.view.skill': "Skill";
221
+ readonly 'admin.schedules.view.status': "Status";
222
+ readonly 'admin.schedules.view.examDate': "Exam Date";
223
+ readonly 'admin.schedules.view.startTime': "Start Time";
224
+ readonly 'admin.schedules.view.endTime': "End Time";
225
+ readonly 'admin.schedules.view.location': "Location";
226
+ readonly 'admin.schedules.view.supervisor': "Supervisor";
227
+ readonly 'admin.schedules.view.studentCount': "Student Count";
228
+ readonly 'admin.schedules.view.duration': "Duration";
229
+ readonly 'admin.schedules.view.durationMinutes': "{duration} minutes";
230
+ readonly 'admin.schedules.edit.title': "Edit Schedule";
231
+ readonly 'admin.schedules.edit.contest': "Contest";
232
+ readonly 'admin.schedules.edit.skill': "Skill";
233
+ readonly 'admin.schedules.edit.skillPlaceholder': "Select skill";
234
+ readonly 'admin.schedules.edit.examDate': "Exam Date";
235
+ readonly 'admin.schedules.edit.startTime': "Start Time";
236
+ readonly 'admin.schedules.edit.endTime': "End Time";
237
+ readonly 'admin.schedules.edit.room': "Exam Room";
238
+ readonly 'admin.schedules.edit.roomPlaceholder': "Select room";
239
+ readonly 'admin.schedules.edit.invigilator': "Invigilator";
240
+ readonly 'admin.schedules.edit.invigilatorPlaceholder': "Select invigilator";
241
+ readonly 'admin.schedules.edit.capacity': "Capacity";
242
+ readonly 'admin.schedules.edit.status': "Status";
243
+ readonly 'admin.schedules.edit.statusPlaceholder': "Select status";
244
+ readonly 'admin.schedules.edit.location': "Location";
245
+ readonly 'admin.schedules.edit.locationPlaceholder': "Enter location (e.g., Floor 1, Building A)";
246
+ readonly 'admin.schedules.edit.notes': "Notes";
247
+ readonly 'admin.schedules.edit.notesPlaceholder': "Enter notes about the schedule (optional)";
248
+ readonly 'admin.schedules.edit.cancel': "Cancel";
249
+ readonly 'admin.schedules.edit.save': "Save Changes";
250
+ readonly 'admin.schedules.delete.title': "Confirm Delete Schedule";
251
+ readonly 'admin.schedules.delete.message': "Are you sure you want to delete schedule";
252
+ readonly 'admin.schedules.delete.warning': "This action cannot be undone.";
253
+ readonly 'admin.schedules.delete.cancel': "Cancel";
254
+ readonly 'admin.schedules.delete.confirm': "Delete Schedule";
255
+ readonly 'admin.schedules.utils.notSet': "Not set";
256
+ readonly 'admin.schedules.utils.noLimit': "No limit";
257
+ readonly 'admin.schedules.utils.statusDraft': "Draft";
258
+ readonly 'admin.schedules.utils.statusConfirmed': "Confirmed";
259
+ readonly 'admin.schedules.utils.statusInProgress': "In Progress";
260
+ readonly 'admin.schedules.utils.statusCompleted': "Completed";
261
+ readonly 'admin.schedules.utils.statusCancelled': "Cancelled";
262
+ readonly 'admin.report.exam.loadError': "Unable to load exam report data";
263
+ readonly 'admin.report.exam.exportError': "Unable to export report";
264
+ readonly 'admin.report.room.loadError': "Unable to load room report data";
265
+ readonly 'admin.report.room.exportSuccess': "Exported {format} report successfully";
266
+ readonly 'admin.report.room.exportError': "Unable to export report";
267
+ readonly 'admin.report.branch.loadError': "Unable to load branch report data";
268
+ readonly 'admin.report.branch.exportError': "Unable to export report";
269
+ readonly 'admin.user.resetPassword.success': "Password reset for {name}!";
270
+ readonly 'admin.user.resetPassword.error': "An error occurred while resetting the password!";
271
+ readonly 'admin.user.lock.success': "Account {name} has been locked";
272
+ readonly 'admin.user.unlock.success': "Account {name} has been unlocked";
273
+ readonly 'admin.user.toggleStatus.error': "An error occurred while changing account status!";
274
+ readonly 'admin.user.export.success': "Excel file exported successfully!";
275
+ readonly 'admin.user.export.error': "An error occurred while exporting the Excel file!";
276
+ readonly 'admin.user.syncEBM.success': "EBM sync successful!";
277
+ readonly 'admin.user.syncEBM.error': "An error occurred while syncing EBM!";
278
+ readonly 'admin.users.title': "User Management";
279
+ readonly 'admin.users.subtitle': "Manage Admin, Teacher and Student accounts";
280
+ readonly 'admin.users.table.title': "User List";
281
+ readonly 'admin.users.table.loading': "Loading data...";
282
+ readonly 'admin.users.table.showing': "Showing {count} / {total} users";
283
+ readonly 'admin.users.table.empty': "No users found";
284
+ readonly 'admin.users.table.neverLoggedIn': "Never logged in";
285
+ readonly 'admin.users.table.exportExcel': "Export Excel";
286
+ readonly 'admin.users.table.syncEBM': "Sync EBM";
287
+ readonly 'admin.users.table.addUser': "Add User";
288
+ readonly 'admin.users.col.userInfo': "USER INFO";
289
+ readonly 'admin.users.col.branch': "BRANCH";
290
+ readonly 'admin.users.col.contact': "CONTACT";
291
+ readonly 'admin.users.col.role': "ROLE";
292
+ readonly 'admin.users.col.source': "SOURCE";
293
+ readonly 'admin.users.col.status': "STATUS";
294
+ readonly 'admin.users.col.lastLogin': "LAST LOGIN";
295
+ readonly 'admin.users.col.actions': "ACTIONS";
296
+ readonly 'admin.users.filter.searchPlaceholder': "Search by email, username, phone...";
297
+ readonly 'admin.users.filter.allRoles': "All roles";
298
+ readonly 'admin.users.filter.allStatuses': "All statuses";
299
+ readonly 'admin.users.filter.active': "Active";
300
+ readonly 'admin.users.filter.inactive': "Inactive";
301
+ readonly 'admin.users.filter.clearFilters': "Clear filters";
302
+ readonly 'admin.users.filter.searchLabel': "Search:";
303
+ readonly 'admin.users.filter.roleLabel': "Role:";
304
+ readonly 'admin.users.filter.statusLabel': "Status:";
305
+ readonly 'admin.users.role.systemAdmin': "System Admin";
306
+ readonly 'admin.users.role.admin': "Admin";
307
+ readonly 'admin.users.role.teacher': "Teacher";
308
+ readonly 'admin.users.role.student': "Student";
309
+ readonly 'admin.users.action.view': "View details";
310
+ readonly 'admin.users.action.viewDetail': "View user detail page";
311
+ readonly 'admin.users.action.edit': "Edit";
312
+ readonly 'admin.users.action.resetPassword': "Reset password";
313
+ readonly 'admin.users.action.lock': "Lock account";
314
+ readonly 'admin.users.action.unlock': "Unlock account";
315
+ readonly 'admin.users.action.delete': "Delete user";
316
+ readonly 'admin.users.field.branch': "Branch";
317
+ readonly 'admin.users.field.branchPlaceholder': "Search and select branch...";
318
+ readonly 'admin.users.field.fullName': "Full name";
319
+ readonly 'admin.users.field.fullNamePlaceholder': "Enter full name...";
320
+ readonly 'admin.users.field.email': "Email";
321
+ readonly 'admin.users.field.emailPlaceholder': "Enter email...";
322
+ readonly 'admin.users.field.phone': "Phone number";
323
+ readonly 'admin.users.field.phonePlaceholder': "Enter phone number...";
324
+ readonly 'admin.users.field.address': "Address";
325
+ readonly 'admin.users.field.addressPlaceholder': "Enter address...";
326
+ readonly 'admin.users.field.usernamePlaceholder': "Enter username...";
327
+ readonly 'admin.users.field.usernameHint': "Start with a letter, only letters, numbers and _ allowed";
328
+ readonly 'admin.users.field.password': "Password";
329
+ readonly 'admin.users.field.passwordPlaceholder': "Enter password...";
330
+ readonly 'admin.users.field.passwordHint': "At least 8 characters including uppercase, lowercase, number and special character";
331
+ readonly 'admin.users.field.role': "Role";
332
+ readonly 'admin.users.field.rolePlaceholder': "Select role...";
333
+ readonly 'admin.users.field.activeStatus': "Account status";
334
+ readonly 'admin.users.field.activeHint': "Account will be active immediately after creation";
335
+ readonly 'admin.users.field.inactiveHint': "Account will be locked, can be activated later";
336
+ readonly 'admin.users.field.activeStatusDesc': "Account is active";
337
+ readonly 'admin.users.field.inactiveStatusDesc': "Account is locked";
338
+ readonly 'admin.users.field.registrationSource': "Registration source";
339
+ readonly 'admin.users.field.createdAt': "Created at";
340
+ readonly 'admin.users.field.updatedAt': "Last updated";
341
+ readonly 'admin.users.field.status': "Status";
342
+ readonly 'admin.users.field.dateOfBirth': "Date of birth";
343
+ readonly 'admin.users.field.dateOfBirthPlaceholder': "Select date of birth...";
344
+ readonly 'admin.users.add.title': "Add New User";
345
+ readonly 'admin.users.add.desc': "Fill in the information to create a new user account";
346
+ readonly 'admin.users.add.submitting': "Creating...";
347
+ readonly 'admin.users.add.submit': "Add User";
348
+ readonly 'admin.users.edit.title': "Edit User";
349
+ readonly 'admin.users.edit.desc': "Update user information: {name}";
350
+ readonly 'admin.users.edit.submitting': "Updating...";
351
+ readonly 'admin.users.edit.submit': "Update";
352
+ readonly 'admin.users.delete.title': "Confirm Delete User";
353
+ readonly 'admin.users.delete.desc': "Are you sure you want to delete user {name}?";
354
+ readonly 'admin.users.delete.warning': "This action cannot be undone.";
355
+ readonly 'admin.users.delete.confirm': "Delete User";
356
+ readonly 'admin.users.view.title': "User Information";
357
+ readonly 'admin.users.view.subtitle': "Account details";
358
+ readonly 'admin.users.view.close': "Close";
359
+ readonly 'admin.users.resetPassword.title': "Reset Password";
360
+ readonly 'admin.users.resetPassword.desc': "Enter a new password for user {name}";
361
+ readonly 'admin.users.resetPassword.label': "New password";
362
+ readonly 'admin.users.resetPassword.placeholder': "Enter new password...";
363
+ readonly 'admin.users.resetPassword.hint': "Password should be at least 8 characters including uppercase, lowercase and numbers";
364
+ readonly 'admin.users.resetPassword.submit': "Reset Password";
365
+ readonly 'admin.users.lock.title': "Lock Account";
366
+ readonly 'admin.users.lock.desc': "Are you sure you want to lock the account {name}? The user will not be able to log in.";
367
+ readonly 'admin.users.lock.confirm': "Lock Account";
368
+ readonly 'admin.users.unlock.title': "Unlock Account";
369
+ readonly 'admin.users.unlock.desc': "Are you sure you want to unlock the account {name}? The user will be able to log in.";
370
+ readonly 'admin.users.unlock.confirm': "Unlock Account";
371
+ readonly 'admin.reports.title': "Reports";
372
+ readonly 'admin.reports.subtitle': "View overview and analyze exam results";
373
+ readonly 'admin.reports.viewDetail': "View details →";
374
+ readonly 'admin.reports.overview.title': "Overview Report";
375
+ readonly 'admin.reports.overview.desc': "System-wide statistics";
376
+ readonly 'admin.reports.overview.content': "View exam results overview, student numbers, average scores over time";
377
+ readonly 'admin.reports.class.title': "Class Report";
378
+ readonly 'admin.reports.class.desc': "Details by class";
379
+ readonly 'admin.reports.class.content': "Analyze exam results, rankings and learning progress by class";
380
+ readonly 'admin.reports.branch.title': "Branch Report";
381
+ readonly 'admin.reports.branch.desc': "Compare between branches";
382
+ readonly 'admin.reports.branch.content': "Compare performance and learning results between branches";
383
+ readonly 'admin.reports.exam.title': "Exam Report";
384
+ readonly 'admin.reports.exam.desc': "Statistics by exam";
385
+ readonly 'admin.reports.exam.content': "Statistics on results, scores and pass rates by exam";
386
+ readonly 'admin.reports.room.title': "Room Report";
387
+ readonly 'admin.reports.room.desc': "Details by room";
388
+ readonly 'admin.reports.room.content': "Statistics on exam results, scores, pass rates by room";
389
+ readonly 'admin.reports.competency.title': "Student Competency Report";
390
+ readonly 'admin.reports.competency.desc': "Skill analysis by student";
391
+ readonly 'admin.reports.competency.content': "Analyze scores by 4 skills: Reading, Listening, Writing, Speaking per student";
392
+ readonly 'admin.reports.room.pageTitle': "Room Report";
393
+ readonly 'admin.reports.room.pageSubtitle': "Detailed statistics about exam rooms";
394
+ readonly 'admin.reports.room.export': "Export report";
395
+ readonly 'admin.reports.room.exporting': "Exporting...";
396
+ readonly 'admin.reports.room.exportExcel': "Export Excel (.xlsx)";
397
+ readonly 'admin.reports.room.exportCsv': "Export CSV (.csv)";
398
+ readonly 'admin.reports.room.viewFull': "View full report";
399
+ readonly 'admin.reports.room.totalRooms': "Total Rooms";
400
+ readonly 'admin.reports.room.totalStudents': "Total Students";
401
+ readonly 'admin.reports.room.totalSubmitted': "Submitted";
402
+ readonly 'admin.reports.room.avgScore': "Avg Score";
403
+ readonly 'admin.reports.room.passRate': "Pass Rate";
404
+ readonly 'admin.reports.room.avgDuration': "Avg Duration";
405
+ readonly 'admin.reports.room.scoreDistribution': "Score Distribution";
406
+ readonly 'admin.reports.room.topRooms': "Top Scoring Rooms";
407
+ readonly 'admin.reports.room.noData': "No data yet";
408
+ readonly 'admin.reports.room.excellent': "Excellent (9-10)";
409
+ readonly 'admin.reports.room.good': "Good (7-8.9)";
410
+ readonly 'admin.reports.room.average': "Average (5-6.9)";
411
+ readonly 'admin.reports.room.poor': "Poor (<5)";
412
+ readonly 'admin.reports.room.searchPlaceholder': "Search rooms...";
413
+ readonly 'admin.reports.room.statusPlaceholder': "Status";
414
+ readonly 'admin.reports.room.statusAll': "All statuses";
415
+ readonly 'admin.reports.room.statusScheduled': "Scheduled";
416
+ readonly 'admin.reports.room.statusInProgress': "In Progress";
417
+ readonly 'admin.reports.room.statusCompleted': "Completed";
418
+ readonly 'admin.reports.room.clearFilters': "Clear filters";
419
+ readonly 'admin.reports.room.roomList': "Room List";
420
+ readonly 'admin.reports.room.colRoom': "Room";
421
+ readonly 'admin.reports.room.colContest': "Contest";
422
+ readonly 'admin.reports.room.colStatus': "Status";
423
+ readonly 'admin.reports.room.colStudents': "Students";
424
+ readonly 'admin.reports.room.colAvgScore': "Avg Score";
425
+ readonly 'admin.reports.room.colHighLow': "High/Low";
426
+ readonly 'admin.reports.room.colPassRate': "Pass Rate";
427
+ readonly 'admin.reports.room.colTeachers': "Proctors";
428
+ readonly 'admin.reports.room.empty': "No rooms found";
429
+ readonly 'admin.reports.room.loading': "Loading data...";
430
+ readonly 'admin.reports.room.dialogTitle': "Room Report";
431
+ readonly 'admin.reports.room.dialogDesc': "Detailed exam results statistics by room";
432
+ readonly 'admin.reports.exporting': "Exporting...";
433
+ readonly 'admin.reports.exportExcel': "Export Excel";
434
+ readonly 'admin.reports.loading': "Loading data...";
435
+ readonly 'admin.reports.close': "Close";
436
+ readonly 'admin.reports.common.avgScore': "Avg Score";
437
+ readonly 'admin.reports.common.passRate': "Pass Rate";
438
+ readonly 'admin.reports.common.totalStudents': "Total Students";
439
+ readonly 'admin.reports.common.students': "Students";
440
+ readonly 'admin.reports.common.teachers': "Teachers";
441
+ readonly 'admin.reports.common.classes': "Classes";
442
+ readonly 'admin.reports.stats.totalExams': "Total Exams";
443
+ readonly 'admin.reports.stats.totalStudents': "Participants";
444
+ readonly 'admin.reports.stats.avgScore': "Average Score";
445
+ readonly 'admin.reports.stats.passRate': "Pass Rate";
446
+ readonly 'admin.reports.stats.vsLastMonth': "vs last month";
447
+ readonly 'admin.reports.overview.dialogTitle': "Overview Report";
448
+ readonly 'admin.reports.overview.dialogDesc': "System-wide statistics for Ocean Edu";
449
+ readonly 'admin.reports.overview.totalExams': "Total Exams";
450
+ readonly 'admin.reports.overview.totalStudents': "Students";
451
+ readonly 'admin.reports.overview.avgScore': "System Avg Score";
452
+ readonly 'admin.reports.overview.passRate': "Pass Rate";
453
+ readonly 'admin.reports.overview.vsPrevPeriod': "vs previous period";
454
+ readonly 'admin.reports.overview.questions': "Questions";
455
+ readonly 'admin.reports.overview.classes': "Classes";
456
+ readonly 'admin.reports.overview.examRooms': "Exam Rooms";
457
+ readonly 'admin.reports.overview.activeContests': "Active Contests";
458
+ readonly 'admin.reports.overview.examsByLevel': "Statistics by Exam Level";
459
+ readonly 'admin.reports.overview.examsUnit': "exams";
460
+ readonly 'admin.reports.overview.questionsByType': "Question Type Distribution";
461
+ readonly 'admin.reports.overview.questionsUnit': "questions";
462
+ readonly 'admin.reports.overview.recentActivity': "Recent Activity";
463
+ readonly 'admin.reports.overview.minutesAgo': "{count} minutes ago";
464
+ readonly 'admin.reports.overview.hoursAgo': "{count} hours ago";
465
+ readonly 'admin.reports.overview.daysAgo': "{count} days ago";
466
+ readonly 'admin.reports.class.dialogTitle': "Class Report";
467
+ readonly 'admin.reports.class.dialogDesc': "Learning performance statistics by class";
468
+ readonly 'admin.reports.class.gradeAll': "All";
469
+ readonly 'admin.reports.class.totalClasses': "Total Classes";
470
+ readonly 'admin.reports.class.totalStudents': "Total Students";
471
+ readonly 'admin.reports.class.avgPassRate': "Avg Pass Rate";
472
+ readonly 'admin.reports.class.classList': "Class List";
473
+ readonly 'admin.reports.class.colClass': "Class";
474
+ readonly 'admin.reports.class.colLevel': "Level";
475
+ readonly 'admin.reports.class.colSize': "Size";
476
+ readonly 'admin.reports.class.colAvgScore': "Avg Score";
477
+ readonly 'admin.reports.class.colPassRate': "Pass Rate";
478
+ readonly 'admin.reports.class.colTeacher': "Teacher";
479
+ readonly 'admin.reports.class.topStudents': "Top 5 Outstanding Students";
480
+ readonly 'admin.reports.class.totalExams': "Exams";
481
+ readonly 'admin.reports.class.searchPlaceholder': "Search by class name or code...";
482
+ readonly 'admin.reports.branch.dialogTitle': "Branch Report";
483
+ readonly 'admin.reports.branch.dialogDesc': "Compare performance between branches";
484
+ readonly 'admin.reports.branch.totalBranches': "Total Branches";
485
+ readonly 'admin.reports.branch.totalStudents': "Total Students";
486
+ readonly 'admin.reports.branch.totalClasses': "Total Classes";
487
+ readonly 'admin.reports.branch.avgScore': "Overall Avg Score";
488
+ readonly 'admin.reports.branch.comparison': "Branch Comparison";
489
+ readonly 'admin.reports.exam.dialogTitle': "Exam Report";
490
+ readonly 'admin.reports.exam.dialogDesc': "Results statistics by contest";
491
+ readonly 'admin.reports.exam.statusDraft': "Draft";
492
+ readonly 'admin.reports.exam.statusPublished': "Published";
493
+ readonly 'admin.reports.exam.statusActive': "In Progress";
494
+ readonly 'admin.reports.exam.statusCompleted': "Completed";
495
+ readonly 'admin.reports.exam.totalContests': "Total Contests";
496
+ readonly 'admin.reports.exam.totalStudents': "Total Students";
497
+ readonly 'admin.reports.exam.avgScore': "Avg Score";
498
+ readonly 'admin.reports.exam.passRate': "Pass Rate";
499
+ readonly 'admin.reports.exam.contestList': "Contest List";
500
+ readonly 'admin.reports.exam.code': "Code: {code}";
501
+ readonly 'admin.reports.exam.noData': "No data yet";
502
+ readonly 'admin.reports.competency.dialogTitle': "Student Competency Report";
503
+ readonly 'admin.reports.competency.dialogDesc': "Skill-based score analysis";
504
+ readonly 'admin.reports.competency.searchPlaceholder': "Search by name or email...";
505
+ readonly 'admin.reports.competency.totalStudents': "Total Students";
506
+ readonly 'admin.reports.competency.avgScore': "Avg Score";
507
+ readonly 'admin.reports.competency.passRate': "Pass Rate";
508
+ readonly 'admin.reports.competency.bestSkill': "Best Skill";
509
+ readonly 'admin.reports.competency.skillDistribution': "Score Distribution by Skill";
510
+ readonly 'admin.reports.competency.avgScoreTooltip': "Avg Score";
511
+ readonly 'admin.reports.competency.studentList': "Student List ({count})";
512
+ readonly 'admin.reports.competency.colName': "Name";
513
+ readonly 'admin.reports.competency.colClass': "Class";
514
+ readonly 'admin.reports.competency.colReading': "Reading";
515
+ readonly 'admin.reports.competency.colListening': "Listening";
516
+ readonly 'admin.reports.competency.colWriting': "Writing";
517
+ readonly 'admin.reports.competency.colSpeaking': "Speaking";
518
+ readonly 'admin.reports.competency.colTotal': "Total";
519
+ readonly 'admin.reports.competency.colExams': "Exams";
520
+ readonly 'admin.reports.competency.noData': "No data";
521
+ readonly 'admin.reports.competency.page': "Page {page} / {totalPages}";
522
+ readonly 'admin.reports.competency.prev': "Previous";
523
+ readonly 'admin.reports.competency.next': "Next";
524
+ readonly 'admin.reports.competency.reading': "Reading";
525
+ readonly 'admin.reports.competency.listening': "Listening";
526
+ readonly 'admin.reports.competency.writing': "Writing";
527
+ readonly 'admin.reports.competency.speaking': "Speaking";
528
+ readonly 'admin.reports.competency.pageTitle': "Student Competency Report";
529
+ readonly 'admin.reports.competency.pageSubtitle': "Score analysis by skill";
530
+ readonly 'admin.reports.competency.backToReports': "Back to Reports";
531
+ readonly 'admin.reports.competency.export': "Export Excel";
532
+ readonly 'admin.reports.competency.exporting': "Exporting...";
533
+ readonly 'admin.reports.competency.atRisk': "At-Risk Students";
534
+ readonly 'admin.reports.competency.atRiskDesc': "Below 5.0";
535
+ readonly 'admin.reports.competency.radarTitle': "Competency by Skill";
536
+ readonly 'admin.reports.competency.radarClassAvg': "This Class";
537
+ readonly 'admin.reports.competency.radarSysAvg': "System Average";
538
+ readonly 'admin.reports.competency.trendTitle': "Score Trend Over Time";
539
+ readonly 'admin.reports.competency.trend3m': "3 Months";
540
+ readonly 'admin.reports.competency.trend6m': "6 Months";
541
+ readonly 'admin.reports.competency.trend12m': "12 Months";
542
+ readonly 'admin.reports.competency.skillBreakdownTitle': "Skill Analysis";
543
+ readonly 'admin.reports.competency.strengthsTitle': "Strengths";
544
+ readonly 'admin.reports.competency.weaknessesTitle': "Weaknesses";
545
+ readonly 'admin.reports.competency.noStrengths': "No data";
546
+ readonly 'admin.reports.competency.noWeaknesses': "No data";
547
+ readonly 'admin.reports.competency.bandExcellent': "Excellent";
548
+ readonly 'admin.reports.competency.bandGood': "Good";
549
+ readonly 'admin.reports.competency.bandAverage': "Average";
550
+ readonly 'admin.reports.competency.bandWeak': "Weak";
551
+ readonly 'admin.reports.competency.colTrend': "Trend";
552
+ readonly 'admin.reports.competency.colBand': "Band";
553
+ readonly 'admin.reports.competency.filterAll': "All";
554
+ readonly 'admin.reports.competency.filterWeak': "Needs Support";
555
+ readonly 'admin.reports.competency.filterGood': "Good - Excellent";
556
+ readonly 'admin.reports.competency.searchPlaceholder2': "Find student...";
557
+ readonly 'admin.reports.competency.examRoomFilter.placeholder': "All exam rooms";
558
+ readonly 'admin.reports.competency.examRoomFilter.searchPlaceholder': "Search exam rooms...";
559
+ readonly 'admin.reports.competency.examRoomFilter.noRooms': "No exam rooms found";
560
+ readonly 'admin.reports.competency.examRoomFilter.allRooms': "All exam rooms";
561
+ readonly 'admin.reports.period.week': "This week";
562
+ readonly 'admin.reports.period.month': "This month";
563
+ readonly 'admin.reports.period.quarter': "This quarter";
564
+ readonly 'admin.reports.period.year': "This year";
565
+ readonly 'admin.reports.period.custom': "Custom";
566
+ readonly 'admin.reports.period.fromDate': "From date";
567
+ readonly 'admin.reports.period.toDate': "To date";
568
+ readonly 'admin.dashboard.title': "Admin Dashboard";
569
+ readonly 'admin.dashboard.subtitle': "Manage Ocean Edu online exam system";
570
+ readonly 'admin.dashboard.totalStudents': "Total Students";
571
+ readonly 'admin.dashboard.totalStudents.monthly': "+{count} new students this month";
572
+ readonly 'admin.dashboard.totalStudents.growth': "M{lastMonth} {action} {percent}% vs M{prevMonth}";
573
+ readonly 'admin.dashboard.totalExams': "Exams";
574
+ readonly 'admin.dashboard.totalExams.weekly': "+{count} new exams this week";
575
+ readonly 'admin.dashboard.examRooms': "Exam Rooms";
576
+ readonly 'admin.dashboard.examRooms.active': "{count} rooms active";
577
+ readonly 'admin.dashboard.teachers': "Teachers";
578
+ readonly 'admin.dashboard.teachers.yearly': "+{count} new teachers this year";
579
+ readonly 'admin.dashboard.contests': "Contests";
580
+ readonly 'admin.dashboard.contests.ongoing': "{count} ongoing";
581
+ readonly 'admin.dashboard.inProgressRooms': "Rooms In Progress";
582
+ readonly 'admin.dashboard.inProgressRooms.status': "In progress";
583
+ readonly 'admin.dashboard.studentsInExam': "Students In Exam";
584
+ readonly 'admin.dashboard.studentsInExam.rooms': "In {count} rooms";
585
+ readonly 'admin.dashboard.pendingGrading': "Pending Grading";
586
+ readonly 'admin.dashboard.pendingGrading.action': "Needs attention";
587
+ readonly 'admin.dashboard.userGrowth.title': "User Growth";
588
+ readonly 'admin.dashboard.userGrowth.desc': "Student and teacher count over the last 6 months";
589
+ readonly 'admin.dashboard.userGrowth.students': "Students";
590
+ readonly 'admin.dashboard.userGrowth.teachers': "Teachers";
591
+ readonly 'admin.dashboard.examStats.title': "Exam Statistics";
592
+ readonly 'admin.dashboard.examStats.desc': "Completed and pending exams by subject";
593
+ readonly 'admin.dashboard.examStats.completed': "Completed";
594
+ readonly 'admin.dashboard.examStats.pending': "Pending";
595
+ readonly 'admin.dashboard.recentActivity.title': "Recent Activity";
596
+ readonly 'admin.dashboard.recentActivity.desc': "Latest activities in the system";
597
+ readonly 'admin.dashboard.recentActivity.colActivity': "Activity";
598
+ readonly 'admin.dashboard.recentActivity.colUser': "User";
599
+ readonly 'admin.dashboard.recentActivity.colStatus': "Status";
600
+ readonly 'admin.dashboard.recentActivity.colTime': "Time";
601
+ readonly 'admin.dashboard.recentActivity.empty': "No activities yet";
602
+ readonly 'admin.dashboard.growth.increase': "increased";
603
+ readonly 'admin.dashboard.growth.decrease': "decreased";
604
+ readonly 'admin.dashboard.growth.unchanged': "unchanged";
605
+ readonly 'admin.dashboard.time.justNow': "just now";
606
+ readonly 'admin.dashboard.time.minutesAgo': "{count} minutes ago";
607
+ readonly 'admin.dashboard.time.hoursAgo': "{count} hours ago";
608
+ readonly 'admin.dashboard.time.daysAgo': "{count} days ago";
609
+ readonly 'admin.dashboard.time.weeksAgo': "{count} weeks ago";
610
+ readonly 'admin.dashboard.time.monthsAgo': "{count} months ago";
611
+ readonly 'admin.branch.create.success': "Branch created successfully";
612
+ readonly 'admin.branch.create.successDesc': "New branch created with {count} teachers. PLACEMENT TEST room has been automatically created.";
613
+ readonly 'admin.branch.create.successDescNoTeacher': "New branch created. PLACEMENT TEST room has been automatically created.";
614
+ readonly 'admin.branch.update.success': "Branch updated successfully";
615
+ readonly 'admin.branch.update.successDesc': "Branch information updated ({count} teacher changes)";
616
+ readonly 'admin.branch.update.successDescNoChange': "Branch information updated";
617
+ readonly 'admin.branch.delete.success': "Branch deleted successfully";
618
+ readonly 'admin.branch.delete.successDesc': "Branch {code} - {name} has been deleted";
619
+ readonly 'admin.branch.activate.success': "Branch activated successfully";
620
+ readonly 'admin.branch.deactivate.success': "Branch deactivated successfully";
621
+ readonly 'admin.branch.toggleStatus.successDesc': "Branch {code} - {name} has been {status}";
622
+ readonly 'admin.branch.toggleStatus.activated': "activated";
623
+ readonly 'admin.branch.toggleStatus.deactivated': "deactivated";
624
+ readonly 'admin.branches.title': "Branch Management";
625
+ readonly 'admin.branches.subtitle': "Manage branch information in the system";
626
+ readonly 'admin.branches.loading': "Loading data...";
627
+ readonly 'admin.branches.stats.total': "Total Branches";
628
+ readonly 'admin.branches.stats.active': "Active";
629
+ readonly 'admin.branches.stats.inactive': "Inactive";
630
+ readonly 'admin.branches.stats.distribution': "Manager Distribution";
631
+ readonly 'admin.branches.stats.activeBranches': "Active";
632
+ readonly 'admin.branches.stats.inactiveBranches': "Inactive";
633
+ readonly 'admin.branches.stats.withManager': "Has Manager";
634
+ readonly 'admin.branches.stats.withoutManager': "No Manager";
635
+ readonly 'admin.branches.stats.branchUnit': "branches";
636
+ readonly 'admin.branches.table.title': "Branch List";
637
+ readonly 'admin.branches.table.showing': "Showing {count} / {total} branches";
638
+ readonly 'admin.branches.table.addBranch': "Add Branch";
639
+ readonly 'admin.branches.table.loading': "Loading...";
640
+ readonly 'admin.branches.table.empty': "No branches found";
641
+ readonly 'admin.branches.table.notUpdated': "Not updated";
642
+ readonly 'admin.branches.table.notAssigned': "Not assigned";
643
+ readonly 'admin.branches.col.code': "BRANCH CODE";
644
+ readonly 'admin.branches.col.name': "BRANCH NAME";
645
+ readonly 'admin.branches.col.address': "ADDRESS";
646
+ readonly 'admin.branches.col.contact': "CONTACT";
647
+ readonly 'admin.branches.col.manager': "MANAGER";
648
+ readonly 'admin.branches.col.status': "STATUS";
649
+ readonly 'admin.branches.col.actions': "ACTIONS";
650
+ readonly 'admin.branches.filter.searchPlaceholder': "Search by name or branch code";
651
+ readonly 'admin.branches.filter.statusPlaceholder': "Status";
652
+ readonly 'admin.branches.filter.allStatuses': "All statuses";
653
+ readonly 'admin.branches.filter.active': "Active";
654
+ readonly 'admin.branches.filter.inactive': "Inactive";
655
+ readonly 'admin.branches.filter.clearFilters': "Clear filters";
656
+ readonly 'admin.branches.filter.searchLabel': "Search:";
657
+ readonly 'admin.branches.filter.statusLabel': "Status:";
658
+ readonly 'admin.branches.status.active': "Active";
659
+ readonly 'admin.branches.status.activeDetail': "Active";
660
+ readonly 'admin.branches.status.inactive': "Inactive";
661
+ readonly 'admin.branches.action.view': "View details";
662
+ readonly 'admin.branches.action.edit': "Edit";
663
+ readonly 'admin.branches.action.delete': "Delete";
664
+ readonly 'admin.branches.field.basicInfo': "Basic Information";
665
+ readonly 'admin.branches.field.code': "Branch code";
666
+ readonly 'admin.branches.field.codePlaceholder': "E.g.: CN-HN-01";
667
+ readonly 'admin.branches.field.name': "Branch name";
668
+ readonly 'admin.branches.field.namePlaceholder': "E.g.: Hanoi Branch";
669
+ readonly 'admin.branches.field.address': "Address";
670
+ readonly 'admin.branches.field.addressPlaceholder': "Enter branch address...";
671
+ readonly 'admin.branches.field.contactInfo': "Contact Information";
672
+ readonly 'admin.branches.field.phone': "Phone number";
673
+ readonly 'admin.branches.field.phonePlaceholder': "E.g.: 0912345678";
674
+ readonly 'admin.branches.field.email': "Email";
675
+ readonly 'admin.branches.field.emailPlaceholder': "E.g.: branch@ocean.edu.vn";
676
+ readonly 'admin.branches.field.managerSection': "Manager";
677
+ readonly 'admin.branches.field.selectManager': "Select manager";
678
+ readonly 'admin.branches.field.selectManagerPlaceholder': "Select manager...";
679
+ readonly 'admin.branches.field.managerHint': "The manager will have administrative rights for this branch";
680
+ readonly 'admin.branches.field.statusSection': "Status";
681
+ readonly 'admin.branches.teacher.title': "Select Teachers";
682
+ readonly 'admin.branches.teacher.searchPlaceholder': "Search teachers by name, email or phone number";
683
+ readonly 'admin.branches.teacher.colName': "Full name";
684
+ readonly 'admin.branches.teacher.colEmail': "Email";
685
+ readonly 'admin.branches.teacher.colPhone': "Phone";
686
+ readonly 'admin.branches.teacher.notFound': "No teachers found";
687
+ readonly 'admin.branches.teacher.empty': "No teachers in the system";
688
+ readonly 'admin.branches.teacher.selected': "Selected: {count} teachers";
689
+ readonly 'admin.branches.teacher.clearAll': "Clear all";
690
+ readonly 'admin.branches.add.title': "Add New Branch";
691
+ readonly 'admin.branches.add.desc': "Enter information for the new branch";
692
+ readonly 'admin.branches.add.activateLabel': "Activate branch";
693
+ readonly 'admin.branches.add.activateDescActive': "Branch will be active immediately after creation";
694
+ readonly 'admin.branches.add.activateDescInactive': "Branch will be inactive after creation";
695
+ readonly 'admin.branches.add.submitting': "Processing...";
696
+ readonly 'admin.branches.add.submit': "Add Branch";
697
+ readonly 'admin.branches.edit.title': "Edit Branch";
698
+ readonly 'admin.branches.edit.desc': "Update information for branch: {name}";
699
+ readonly 'admin.branches.edit.statusLabel': "Active status";
700
+ readonly 'admin.branches.edit.statusDescActive': "Branch is currently active";
701
+ readonly 'admin.branches.edit.statusDescInactive': "Branch is currently inactive";
702
+ readonly 'admin.branches.edit.submitting': "Processing...";
703
+ readonly 'admin.branches.edit.submit': "Update";
704
+ readonly 'admin.branches.delete.title': "Confirm Delete Branch";
705
+ readonly 'admin.branches.delete.desc': "Are you sure you want to delete this branch?";
706
+ readonly 'admin.branches.delete.warning': "This action cannot be undone and will delete all data related to this branch.";
707
+ readonly 'admin.branches.delete.submitting': "Processing...";
708
+ readonly 'admin.branches.delete.confirm': "Delete Branch";
709
+ readonly 'admin.branches.toggleStatus.activateTitle': "Activate Branch";
710
+ readonly 'admin.branches.toggleStatus.deactivateTitle': "Deactivate Branch";
711
+ readonly 'admin.branches.toggleStatus.activateDesc': "Are you sure you want to activate this branch?";
712
+ readonly 'admin.branches.toggleStatus.deactivateDesc': "Are you sure you want to deactivate this branch?";
713
+ readonly 'admin.branches.toggleStatus.activateInfo': "The branch will be activated and operate normally.";
714
+ readonly 'admin.branches.toggleStatus.deactivateInfo': "The branch will be deactivated but data will be preserved.";
715
+ readonly 'admin.branches.toggleStatus.submitting': "Processing...";
716
+ readonly 'admin.branches.toggleStatus.activate': "Activate";
717
+ readonly 'admin.branches.toggleStatus.deactivate': "Deactivate";
718
+ readonly 'admin.branches.view.title': "Branch Details: {name}";
719
+ readonly 'admin.branches.view.desc': "View detailed branch information";
720
+ readonly 'admin.branches.view.basicInfo': "Basic Information";
721
+ readonly 'admin.branches.view.codeLabel': "Branch Code";
722
+ readonly 'admin.branches.view.nameLabel': "Branch Name";
723
+ readonly 'admin.branches.view.statusLabel': "Status";
724
+ readonly 'admin.branches.view.contactInfo': "Contact Information";
725
+ readonly 'admin.branches.view.addressLabel': "Address";
726
+ readonly 'admin.branches.view.phoneLabel': "Phone Number";
727
+ readonly 'admin.branches.view.emailLabel': "Email";
728
+ readonly 'admin.branches.view.notUpdated': "Not updated";
729
+ readonly 'admin.branches.view.managerSection': "Manager";
730
+ readonly 'admin.branches.view.noManager': "No manager assigned";
731
+ readonly 'admin.branches.view.teacherSection': "Teachers";
732
+ readonly 'admin.branches.view.noTeachers': "No teachers assigned";
733
+ readonly 'admin.branches.view.moreTeachers': "and {count} more teachers...";
734
+ readonly 'admin.branches.view.changeHistory': "Change History";
735
+ readonly 'admin.branches.view.createdAt': "Created";
736
+ readonly 'admin.branches.view.createdBy': "by";
737
+ readonly 'admin.branches.view.noCreator': "No creator information";
738
+ readonly 'admin.branches.view.updatedAt': "Last Updated";
739
+ readonly 'admin.branches.view.noUpdater': "No updater information";
740
+ readonly 'admin.branches.view.branchId': "Branch ID";
741
+ readonly 'admin.rooms.title': "Exam Room Management";
742
+ readonly 'admin.rooms.subtitle': "Create and manage exam rooms";
743
+ readonly 'admin.rooms.loading': "Loading data...";
744
+ readonly 'admin.rooms.stats.totalRooms': "Total Rooms";
745
+ readonly 'admin.rooms.stats.activeRooms': "{count} active rooms";
746
+ readonly 'admin.rooms.stats.students': "Students";
747
+ readonly 'admin.rooms.stats.totalStudents': "Total enrolled students";
748
+ readonly 'admin.rooms.stats.completed': "Completed";
749
+ readonly 'admin.rooms.stats.completedRooms': "Rooms completed";
750
+ readonly 'admin.rooms.stats.statusDistribution': "Status distribution";
751
+ readonly 'admin.rooms.stats.ongoing': "In progress";
752
+ readonly 'admin.rooms.stats.scheduled': "Scheduled";
753
+ readonly 'admin.rooms.stats.roomUnit': "rooms";
754
+ readonly 'admin.rooms.table.title': "Exam Room List";
755
+ readonly 'admin.rooms.table.showing': "Showing {count} / {total} rooms";
756
+ readonly 'admin.rooms.table.addRoom': "Create Room";
757
+ readonly 'admin.rooms.table.loading': "Loading...";
758
+ readonly 'admin.rooms.table.empty': "No exam rooms found";
759
+ readonly 'admin.rooms.table.notAssigned': "Not assigned";
760
+ readonly 'admin.rooms.table.unlimited': "Unlimited";
761
+ readonly 'admin.rooms.col.name': "ROOM NAME";
762
+ readonly 'admin.rooms.col.code': "ROOM CODE";
763
+ readonly 'admin.rooms.col.branch': "BRANCH";
764
+ readonly 'admin.rooms.col.exam': "EXAM & QUESTIONS";
765
+ readonly 'admin.rooms.col.time': "TIME";
766
+ readonly 'admin.rooms.col.progress': "PROGRESS";
767
+ readonly 'admin.rooms.col.lock': "LOCK";
768
+ readonly 'admin.rooms.col.actions': "ACTIONS";
769
+ readonly 'admin.rooms.filter.searchPlaceholder': "Search by room name or room code";
770
+ readonly 'admin.rooms.filter.statusPlaceholder': "Status";
771
+ readonly 'admin.rooms.filter.allStatuses': "All statuses";
772
+ readonly 'admin.rooms.filter.branchPlaceholder': "Branch";
773
+ readonly 'admin.rooms.filter.allBranches': "All branches";
774
+ readonly 'admin.rooms.filter.clearFilters': "Clear filters";
775
+ readonly 'admin.rooms.status.completed': "Completed";
776
+ readonly 'admin.rooms.status.inProgress': "In Progress";
777
+ readonly 'admin.rooms.status.scheduled': "Scheduled";
778
+ readonly 'admin.rooms.exam.viewContent': "View content";
779
+ readonly 'admin.rooms.exam.changeExam': "Change exam";
780
+ readonly 'admin.rooms.exam.selectExam': "+ Select exam";
781
+ readonly 'admin.rooms.action.view': "View details";
782
+ readonly 'admin.rooms.action.edit': "Edit";
783
+ readonly 'admin.rooms.action.schedule': "Edit schedule";
784
+ readonly 'admin.rooms.action.delete': "Delete";
785
+ readonly 'admin.rooms.toast.loadError': "Failed to load data";
786
+ readonly 'admin.rooms.toast.loadRoomsError': "Unable to load exam rooms. Please try again later.";
787
+ readonly 'admin.rooms.toast.loadTeachersError': "Unable to load supervisors. Please try again later.";
788
+ readonly 'admin.rooms.toast.loadStudentsError': "Unable to load students. Please try again later.";
789
+ readonly 'admin.rooms.toast.loadExamsError': "Unable to load exams. Please try again later.";
790
+ readonly 'admin.rooms.toast.loadContestsError': "Unable to load contests. Please try again later.";
791
+ readonly 'admin.rooms.toast.loadClassesError': "Unable to load classes. Please try again later.";
792
+ readonly 'admin.rooms.toast.loadBranchesError': "Unable to load branches. Please try again later.";
793
+ readonly 'admin.rooms.toast.cannotChangeExam': "Cannot change exam";
794
+ readonly 'admin.rooms.toast.cannotChangeExamDesc': "Rooms that have started or completed cannot have their exam changed";
795
+ readonly 'admin.rooms.toast.assignExamSuccess': "Exam assigned successfully";
796
+ readonly 'admin.rooms.toast.assignExamSuccessDesc': "Exam \"{examName}\" with {childCount} variants has been assigned to room {roomCode}";
797
+ readonly 'admin.rooms.toast.cannotRemoveExam': "Cannot remove exam";
798
+ readonly 'admin.rooms.toast.cannotRemoveExamDesc': "Rooms that have started or completed cannot have their exam removed";
799
+ readonly 'admin.rooms.toast.removeExamSuccess': "Exam removed successfully";
800
+ readonly 'admin.rooms.toast.removeExamSuccessDesc': "Exam has been removed from room {roomCode}";
801
+ readonly 'admin.rooms.toast.saveSettingsSuccess': "Settings saved successfully";
802
+ readonly 'admin.rooms.toast.saveSettingsSuccessDesc': "Your exam settings have been saved";
803
+ readonly 'admin.rooms.toast.updateScheduleSuccess': "Schedule updated successfully";
804
+ readonly 'admin.rooms.toast.updateScheduleSuccessDesc': "Schedule for room {roomCode} has been updated";
805
+ readonly 'admin.rooms.toast.updateScheduleError': "Failed to update schedule";
806
+ readonly 'admin.rooms.toast.updateScheduleErrorDesc': "Error updating schedule for room {roomCode}";
807
+ readonly 'admin.rooms.add.title': "Add New Exam Room";
808
+ readonly 'admin.rooms.add.description': "Enter information for the new exam room";
809
+ readonly 'admin.rooms.add.cancel': "Cancel";
810
+ readonly 'admin.rooms.add.submit': "Add Room";
811
+ readonly 'admin.rooms.add.success': "Room created successfully";
812
+ readonly 'admin.rooms.add.successDesc': "Exam room {code} has been created";
813
+ readonly 'admin.rooms.add.error': "Failed to create room";
814
+ readonly 'admin.rooms.add.errorDesc': "An error occurred while creating the exam room";
815
+ readonly 'admin.rooms.edit.title': "Edit Room: {name}";
816
+ readonly 'admin.rooms.edit.description': "Update exam room information";
817
+ readonly 'admin.rooms.edit.cancel': "Cancel";
818
+ readonly 'admin.rooms.edit.saving': "Saving...";
819
+ readonly 'admin.rooms.edit.submit': "Save Changes";
820
+ readonly 'admin.rooms.edit.success': "Room updated successfully";
821
+ readonly 'admin.rooms.edit.successDesc': "Exam room {code} has been updated";
822
+ readonly 'admin.rooms.edit.error': "Failed to update room";
823
+ readonly 'admin.rooms.edit.errorDesc': "An error occurred while updating the exam room";
824
+ readonly 'admin.rooms.delete.title': "Confirm Delete Room";
825
+ readonly 'admin.rooms.delete.description': "Are you sure you want to delete room";
826
+ readonly 'admin.rooms.delete.warning': "This action cannot be undone and will delete all related data.";
827
+ readonly 'admin.rooms.delete.cancel': "Cancel";
828
+ readonly 'admin.rooms.delete.processing': "Processing...";
829
+ readonly 'admin.rooms.delete.submit': "Delete Room";
830
+ readonly 'admin.rooms.delete.success': "Room deleted successfully";
831
+ readonly 'admin.rooms.delete.successDesc': "Exam room {code} has been deleted";
832
+ readonly 'admin.rooms.delete.error': "Failed to delete room";
833
+ readonly 'admin.rooms.delete.errorDesc': "Unable to delete exam room. Please try again later.";
834
+ readonly 'admin.rooms.view.title': "Room Details: {name}";
835
+ readonly 'admin.rooms.view.close': "Close";
836
+ readonly 'admin.rooms.view.locked': "Locked";
837
+ readonly 'admin.rooms.view.unlocked': "Unlocked";
838
+ readonly 'admin.rooms.view.undetermined': "Not set";
839
+ readonly 'admin.rooms.unlimitedTime': "Unlimited time";
840
+ readonly 'admin.rooms.view.stats.candidates': "Candidates";
841
+ readonly 'admin.rooms.view.stats.supervisors': "Supervisors";
842
+ readonly 'admin.rooms.view.stats.submitted': "Submitted";
843
+ readonly 'admin.rooms.view.stats.submissionRate': "Submission rate";
844
+ readonly 'admin.rooms.view.section.basicInfo': "Basic Information";
845
+ readonly 'admin.rooms.view.section.time': "Schedule";
846
+ readonly 'admin.rooms.view.section.exams': "Exams";
847
+ readonly 'admin.rooms.view.section.supervisors': "Supervisors";
848
+ readonly 'admin.rooms.view.section.classes': "Classes";
849
+ readonly 'admin.rooms.view.section.assignedStudents': "Assigned Students";
850
+ readonly 'admin.rooms.view.field.contest': "Contest";
851
+ readonly 'admin.rooms.view.field.location': "Location";
852
+ readonly 'admin.rooms.view.field.branch': "Branch";
853
+ readonly 'admin.rooms.view.field.candidateSelection': "Candidate selection";
854
+ readonly 'admin.rooms.view.field.description': "Description";
855
+ readonly 'admin.rooms.view.field.start': "Start";
856
+ readonly 'admin.rooms.view.field.end': "End";
857
+ readonly 'admin.rooms.view.field.createdAt': "Created at:";
858
+ readonly 'admin.rooms.view.field.updatedAt': "Updated at:";
859
+ readonly 'admin.rooms.view.selectionType.all': "All students";
860
+ readonly 'admin.rooms.view.selectionType.specific': "Specific students";
861
+ readonly 'admin.rooms.view.locationNotSet': "Not set";
862
+ readonly 'admin.rooms.view.noSupervisors': "No supervisors assigned";
863
+ readonly 'admin.rooms.view.examOriginal': "Original exam";
864
+ readonly 'admin.rooms.view.examVariants': "Exam variants ({count})";
865
+ readonly 'admin.rooms.view.status.scheduled': "Scheduled";
866
+ readonly 'admin.rooms.view.status.inProgress': "In Progress";
867
+ readonly 'admin.rooms.view.status.completed': "Completed";
868
+ readonly 'admin.rooms.view.type.contest': "Contest";
869
+ readonly 'admin.rooms.view.type.practiceTest': "Practice Test";
870
+ readonly 'admin.rooms.view.classCode': "Code:";
871
+ readonly 'admin.rooms.view.classGrade': "Grade:";
872
+ readonly 'admin.rooms.view.classStudents': "{count} students";
873
+ readonly 'admin.rooms.lock.titleLock': "Lock exam room?";
874
+ readonly 'admin.rooms.lock.titleUnlock': "Unlock exam room?";
875
+ readonly 'admin.rooms.lock.statusLocked': "Locked";
876
+ readonly 'admin.rooms.lock.statusUnlocked': "Unlocked";
877
+ readonly 'admin.rooms.lock.confirmUnlock': "Are you sure you want to";
878
+ readonly 'admin.rooms.lock.unlock': "unlock";
879
+ readonly 'admin.rooms.lock.lock': "lock";
880
+ readonly 'admin.rooms.lock.confirmSuffix': "this exam room?";
881
+ readonly 'admin.rooms.lock.unlockEffect': "Students will be able to access and take the exam in this room.";
882
+ readonly 'admin.rooms.lock.lockEffect': "Students will not be able to access or take the exam in this room until it is unlocked.";
883
+ readonly 'admin.rooms.lock.cancel': "Cancel";
884
+ readonly 'admin.rooms.lock.processing': "Processing...";
885
+ readonly 'admin.rooms.lock.submitLock': "Lock Room";
886
+ readonly 'admin.rooms.lock.submitUnlock': "Unlock";
887
+ readonly 'admin.rooms.lock.successLock': "Room locked successfully";
888
+ readonly 'admin.rooms.lock.successUnlock': "Room unlocked successfully";
889
+ readonly 'admin.rooms.lock.successDesc': "Exam room {code} has been {action}";
890
+ readonly 'admin.rooms.lock.locked': "locked";
891
+ readonly 'admin.rooms.lock.unlocked': "unlocked";
892
+ readonly 'admin.rooms.lock.error': "Failed to change lock status";
893
+ readonly 'admin.rooms.lock.errorDesc': "Unable to change the lock status of the exam room. Please try again later.";
894
+ readonly 'admin.rooms.removeExam.title': "Remove Exam from Room";
895
+ readonly 'admin.rooms.removeExam.description': "Are you sure you want to remove exam";
896
+ readonly 'admin.rooms.removeExam.fromRoom': "from room";
897
+ readonly 'admin.rooms.removeExam.cannotRemove': "Cannot remove exam from a room that has started or completed!";
898
+ readonly 'admin.rooms.removeExam.effect': "The room will no longer have an assigned exam. You can select a new exam later.";
899
+ readonly 'admin.rooms.removeExam.cancel': "Cancel";
900
+ readonly 'admin.rooms.removeExam.submit': "Remove Exam";
901
+ readonly 'admin.rooms.schedule.title': "Edit Schedule: {name}";
902
+ readonly 'admin.rooms.schedule.description': "Update the exam schedule for this room";
903
+ readonly 'admin.rooms.schedule.contestInfo': "Contest info: {name}";
904
+ readonly 'admin.rooms.schedule.unlimitedContest': "This contest has no time limit.";
905
+ readonly 'admin.rooms.schedule.contestRange': "From {start} to {end}";
906
+ readonly 'admin.rooms.schedule.contestConstraint': "Room schedule must fall within the contest time range";
907
+ readonly 'admin.rooms.schedule.unlimitedBadge': "Unlimited";
908
+ readonly 'admin.rooms.schedule.unlimitedNote': "This contest has no time limit. You do not need to set a schedule for this room.";
909
+ readonly 'admin.rooms.schedule.startTime': "Start time *";
910
+ readonly 'admin.rooms.schedule.endTime': "End time *";
911
+ readonly 'admin.rooms.schedule.cancel': "Cancel";
912
+ readonly 'admin.rooms.schedule.save': "Save Schedule";
913
+ readonly 'admin.rooms.schedule.validation.startRequired': "Please select a start time";
914
+ readonly 'admin.rooms.schedule.validation.endRequired': "Please select an end time";
915
+ readonly 'admin.rooms.schedule.validation.endAfterStart': "End time must be after start time";
916
+ readonly 'admin.rooms.selectExam.title': "Select Exam for Room: {name}";
917
+ readonly 'admin.rooms.selectExam.description': "Select 1 parent exam and child exams (variants) to assign to this room";
918
+ readonly 'admin.rooms.selectExam.parentCount': "Parent Exam";
919
+ readonly 'admin.rooms.selectExam.childCount': "Child Exams";
920
+ readonly 'admin.rooms.selectExam.noParentSelected': "No parent exam selected";
921
+ readonly 'admin.rooms.selectExam.noParentSelectedDesc': "Please select a parent exam first";
922
+ readonly 'admin.rooms.selectExam.childCode': "Code: {code} • Variant #{variant}";
923
+ readonly 'admin.rooms.selectExam.selectAll': "Select all";
924
+ readonly 'admin.rooms.selectExam.deselectAll': "Deselect all";
925
+ readonly 'admin.rooms.selectExam.noParentExams': "No parent exams available";
926
+ readonly 'admin.rooms.selectExam.selectedParent': "Selected Parent Exam";
927
+ readonly 'admin.rooms.selectExam.selectedChildren': "Selected Child Exams ({count})";
928
+ readonly 'admin.rooms.selectExam.cancel': "Cancel";
929
+ readonly 'admin.rooms.selectExam.confirm': "Confirm";
930
+ readonly 'admin.rooms.selectExam.childExams': "{count} variants";
931
+ readonly 'admin.rooms.selectExam.warning.title': "Insufficient data";
932
+ readonly 'admin.rooms.selectExam.warning.desc': "Please select a parent exam and at least one child exam";
933
+ readonly 'admin.rooms.selectExam.clearTitle': "Clear Selection?";
934
+ readonly 'admin.rooms.selectExam.clearDesc': "Are you sure you want to clear the parent exam and {count} child exams?";
935
+ readonly 'admin.rooms.selectExam.clearCancel': "Cancel";
936
+ readonly 'admin.rooms.selectExam.clearConfirm': "Clear";
937
+ readonly 'admin.rooms.selectExam.dialogTitle': "Select Exam";
938
+ readonly 'admin.rooms.selectExam.dialogDescription': "Select a parent exam and the corresponding child exams for your exam room";
939
+ readonly 'admin.rooms.selectExam.searchPlaceholder': "Search exams by name, code, subject...";
940
+ readonly 'admin.rooms.selectExam.noParentSelectedInfo': "Please select a parent exam before selecting child exams";
941
+ readonly 'admin.rooms.selectExam.examCode': "Code: {name}";
942
+ readonly 'admin.rooms.selectExam.original': "Original";
943
+ readonly 'admin.rooms.selectExam.questions': "{count} questions";
944
+ readonly 'admin.rooms.selectExam.minutes': "{count} min";
945
+ readonly 'admin.rooms.selectExam.difficulty.easy': "Easy";
946
+ readonly 'admin.rooms.selectExam.difficulty.medium': "Medium";
947
+ readonly 'admin.rooms.selectExam.difficulty.hard': "Hard";
948
+ readonly 'admin.rooms.selectExam.emptySearch': "No matching exams found";
949
+ readonly 'admin.rooms.selectExam.emptyAll': "No exams available";
950
+ readonly 'admin.rooms.selectExam.emptySearchHint': "Try searching with different keywords";
951
+ readonly 'admin.rooms.selectExam.emptyAllHint': "Create a new exam to get started";
952
+ readonly 'admin.rooms.selectExam.clearSearch': "Clear search";
953
+ readonly 'admin.rooms.selectExam.selected': "Selected";
954
+ readonly 'admin.rooms.selectExam.selectedParentLabel': "Parent Exam";
955
+ readonly 'admin.rooms.changeExam.title': "Change Exam for Room: {name}";
956
+ readonly 'admin.rooms.changeExam.description': "Select a new exam to replace the current one";
957
+ readonly 'admin.rooms.changeExam.currentExam': "Current exam";
958
+ readonly 'admin.rooms.changeExam.currentExamHint': "Select a new exam from the list below to replace it";
959
+ readonly 'admin.rooms.changeExam.childCount': "({count} variants)";
960
+ readonly 'admin.rooms.changeExam.newParent': "New Parent Exam";
961
+ readonly 'admin.rooms.changeExam.newParentSelected': "Selected New Parent Exam";
962
+ readonly 'admin.rooms.changeExam.currentBadge': "Current";
963
+ readonly 'admin.rooms.changeExam.cancel': "Cancel";
964
+ readonly 'admin.rooms.changeExam.submit': "Change Exam";
965
+ readonly 'admin.rooms.changeExam.confirmTitle': "Confirm exam change?";
966
+ readonly 'admin.rooms.changeExam.confirmDesc': "Are you sure you want to change the exam for room {name}?";
967
+ readonly 'admin.rooms.changeExam.confirmEffect': "The new exam will replace the current one with {count} child exams.";
968
+ readonly 'admin.rooms.changeExam.confirmCancel': "Cancel";
969
+ readonly 'admin.rooms.changeExam.confirmSubmit': "Confirm Change";
970
+ readonly 'admin.rooms.editWarning.title': "Edit Room Warning";
971
+ readonly 'admin.rooms.editWarning.description': "is currently";
972
+ readonly 'admin.rooms.editWarning.status': "In Progress";
973
+ readonly 'admin.rooms.editWarning.effect': "Editing may affect students currently taking the exam.";
974
+ readonly 'admin.rooms.editWarning.confirm': "Are you sure you want to continue editing?";
975
+ readonly 'admin.rooms.editWarning.cancel': "Cancel";
976
+ readonly 'admin.rooms.editWarning.submit': "Continue Editing";
977
+ readonly 'admin.rooms.examChangeWarning.title': "Change Exam?";
978
+ readonly 'admin.rooms.examChangeWarning.description': "The exam was automatically selected from the chosen contest. Are you sure you want to change to a different exam?";
979
+ readonly 'admin.rooms.examChangeWarning.cancel': "Cancel";
980
+ readonly 'admin.rooms.examChangeWarning.submit': "Continue Changing";
981
+ readonly 'admin.rooms.settings.title': "Exam Room Settings";
982
+ readonly 'admin.rooms.settings.description': "Default parameters for exams";
983
+ readonly 'admin.rooms.settings.maxStudents': "Max students per room";
984
+ readonly 'admin.rooms.settings.defaultDuration': "Default exam duration (minutes)";
985
+ readonly 'admin.rooms.settings.edit': "Edit";
986
+ readonly 'admin.rooms.settings.cancel': "Cancel";
987
+ readonly 'admin.rooms.settings.save': "Save Changes";
988
+ readonly 'admin.rooms.form.branch': "Branch";
989
+ readonly 'admin.rooms.form.branchPlaceholder': "Select branch...";
990
+ readonly 'admin.rooms.form.branchReload': "Reload";
991
+ readonly 'admin.rooms.form.branchCreate': "Create branch";
992
+ readonly 'admin.rooms.form.branchEmpty': "No branches available. Please create a branch first.";
993
+ readonly 'admin.rooms.form.contest': "Select contest";
994
+ readonly 'admin.rooms.form.contestPlaceholder': "Select contest...";
995
+ readonly 'admin.rooms.form.contestReload': "Reload";
996
+ readonly 'admin.rooms.form.contestCreate': "Create contest";
997
+ readonly 'admin.rooms.form.contestEmpty': "No contests available. Please create a contest first.";
998
+ readonly 'admin.rooms.form.contestUnlimitedInfo': "Contest has no time limit";
999
+ readonly 'admin.rooms.form.contestUnlimitedStart': "Starts from: {time}";
1000
+ readonly 'admin.rooms.form.contestUnlimitedHint': "Start time is required, end time is optional";
1001
+ readonly 'admin.rooms.form.contestLimitedInfo': "Contest time range";
1002
+ readonly 'admin.rooms.form.contestLimitedRange': "From {start} to {end}";
1003
+ readonly 'admin.rooms.form.contestLimitedHint': "Room schedule must fall within the contest time range";
1004
+ readonly 'admin.rooms.form.startTime': "Start time";
1005
+ readonly 'admin.rooms.form.endTime': "End time";
1006
+ readonly 'admin.rooms.form.endTimeOptional': "(optional)";
1007
+ readonly 'admin.rooms.form.endTimeUnlimitedHint': "If not set, the room will have no time limit.";
1008
+ readonly 'admin.rooms.form.roomName': "Room name";
1009
+ readonly 'admin.rooms.form.roomNamePlaceholder': "Room A101";
1010
+ readonly 'admin.rooms.form.roomCode': "Room code";
1011
+ readonly 'admin.rooms.form.roomCodePlaceholder': "ROOM-A101";
1012
+ readonly 'admin.rooms.form.examSelection': "Select exam";
1013
+ readonly 'admin.rooms.form.examPlaceholder': "Select exam...";
1014
+ readonly 'admin.rooms.form.examDisabledHint': "Please select a contest first to show matching exams";
1015
+ readonly 'admin.rooms.form.examSelectContestFirst': "Please select a contest first";
1016
+ readonly 'admin.rooms.form.examNoMatchClassification': "No exams match the classification of the selected contest";
1017
+ readonly 'admin.rooms.form.examSummaryParent': "Parent Exam ({count})";
1018
+ readonly 'admin.rooms.form.examSummaryChild': "Child Exams ({count})";
1019
+ readonly 'admin.rooms.form.examChildCode': "Code: {name}";
1020
+ readonly 'admin.rooms.form.location': "Location";
1021
+ readonly 'admin.rooms.form.locationPlaceholder': "Floor 1, Building A";
1022
+ readonly 'admin.rooms.form.lockRoom': "Lock room";
1023
+ readonly 'admin.rooms.form.lockHint': "Students cannot enter the room when locked";
1024
+ readonly 'admin.rooms.form.supervisors': "Select supervisors";
1025
+ readonly 'admin.rooms.form.supervisorPlaceholder': "Select supervisors...";
1026
+ readonly 'admin.rooms.form.roomType': "Room type";
1027
+ readonly 'admin.rooms.form.roomTypeContest': "Contest";
1028
+ readonly 'admin.rooms.form.roomTypePractice': "Practice Test";
1029
+ readonly 'admin.rooms.form.description': "Description";
1030
+ readonly 'admin.rooms.form.descriptionPlaceholder': "Detailed description of the exam room...";
1031
+ readonly 'admin.rooms.form.validation.branchRequired': "Please select a branch";
1032
+ readonly 'admin.rooms.form.validation.contestRequired': "Please select a contest";
1033
+ readonly 'admin.rooms.form.validation.examRequired': "Please select an exam";
1034
+ readonly 'admin.rooms.form.validation.startRequired': "Please select a start time";
1035
+ readonly 'admin.rooms.form.validation.startFuture': "Start time must be greater than or equal to the current time";
1036
+ readonly 'admin.rooms.form.validation.endRequired': "Please select an end time";
1037
+ readonly 'admin.rooms.form.validation.endAfterStart': "End time must be after start time";
1038
+ readonly 'admin.rooms.form.validation.classRequired': "Please select at least 1 class";
1039
+ readonly 'admin.rooms.form.validation.studentRequired': "Please select at least 1 student";
1040
+ readonly 'admin.rooms.studentSelection.label': "Participants";
1041
+ readonly 'admin.rooms.studentSelection.all': "All participants";
1042
+ readonly 'admin.rooms.studentSelection.byClass': "By class";
1043
+ readonly 'admin.rooms.studentSelection.byStudent': "Specific students";
1044
+ readonly 'admin.rooms.studentSelection.selectClass': "Select classes";
1045
+ readonly 'admin.rooms.studentSelection.classSearchPlaceholder': "Search classes (name, code)...";
1046
+ readonly 'admin.rooms.studentSelection.gradeFilterPlaceholder': "Filter by grade";
1047
+ readonly 'admin.rooms.studentSelection.allGrades': "All grades";
1048
+ readonly 'admin.rooms.studentSelection.gradeItem': "Grade {grade}";
1049
+ readonly 'admin.rooms.studentSelection.colClassName': "Class name";
1050
+ readonly 'admin.rooms.studentSelection.colClassCode': "Class code";
1051
+ readonly 'admin.rooms.studentSelection.colGrade': "Grade";
1052
+ readonly 'admin.rooms.studentSelection.colStudentCount': "Students";
1053
+ readonly 'admin.rooms.studentSelection.noClasses': "No classes found";
1054
+ readonly 'admin.rooms.studentSelection.selectedClasses': "Selected classes: {count}";
1055
+ readonly 'admin.rooms.studentSelection.clearAll': "Clear all";
1056
+ readonly 'admin.rooms.studentSelection.selectStudent': "Select students";
1057
+ readonly 'admin.rooms.studentSelection.studentSearchPlaceholder': "Search students (name, username, email)...";
1058
+ readonly 'admin.rooms.studentSelection.classFilterPlaceholder': "Filter by class";
1059
+ readonly 'admin.rooms.studentSelection.allClasses': "All classes";
1060
+ readonly 'admin.rooms.studentSelection.colStudentId': "Student ID";
1061
+ readonly 'admin.rooms.studentSelection.colName': "Full name";
1062
+ readonly 'admin.rooms.studentSelection.colEmail': "Email";
1063
+ readonly 'admin.rooms.studentSelection.colClass': "Class";
1064
+ readonly 'admin.rooms.studentSelection.noStudents': "No students found";
1065
+ readonly 'admin.rooms.studentSelection.selectedStudents': "Selected students: {count}";
1066
+ readonly 'admin.rooms.studentSelection.noClass': "No class";
1067
+ readonly 'admin.rooms.studentSelection.allParticipate': "All students will be able to participate in this exam room.";
1068
+ readonly 'admin.rooms.studentSelection.summaryClasses': "Selected classes:";
1069
+ readonly 'admin.rooms.studentSelection.noClassSelected': "No class selected";
1070
+ readonly 'admin.rooms.studentSelection.summaryStudents': "Selected students:";
1071
+ readonly 'admin.rooms.studentSelection.noStudentSelected': "No students selected";
1072
+ readonly 'admin.rooms.studentSelection.classUnit': "{count} students";
1073
+ readonly 'admin.rooms.studentSelection.studentUnit': "{count} students";
1074
+ readonly 'admin.rooms.studentSelection.zeroClass': "0 classes";
1075
+ readonly 'admin.rooms.studentSelection.zeroStudent': "0 students";
1076
+ readonly 'admin.contests.title': "Contest Management";
1077
+ readonly 'admin.contests.subtitle': "Create and manage contests, view reports and rankings";
1078
+ readonly 'admin.contests.teacher.subtitle': "View and manage contests, track student rankings";
1079
+ readonly 'admin.contests.tab.rankings': "Rankings & Statistics";
1080
+ readonly 'admin.contests.tab.management': "Contest Management";
1081
+ readonly 'admin.contests.stats.total': "Total Contests";
1082
+ readonly 'admin.contests.stats.totalCompleted': "{count} completed";
1083
+ readonly 'admin.contests.stats.upcoming': "Upcoming Contest";
1084
+ readonly 'admin.contests.stats.upcomingDays': "days left";
1085
+ readonly 'admin.contests.stats.totalParticipants': "Total Participants";
1086
+ readonly 'admin.contests.stats.participated': "participated";
1087
+ readonly 'admin.contests.stats.avgScore': "System Avg Score";
1088
+ readonly 'admin.contests.stats.overContests': "across {count} contests";
1089
+ readonly 'admin.contests.list.title': "Contest List";
1090
+ readonly 'admin.contests.list.desc': "View detailed statistics per contest";
1091
+ readonly 'admin.contests.list.loading': "Loading...";
1092
+ readonly 'admin.contests.list.empty': "No contests yet";
1093
+ readonly 'admin.contests.list.participants': "Participants:";
1094
+ readonly 'admin.contests.list.avgScore': "Avg Score:";
1095
+ readonly 'admin.contests.list.highest': "Highest:";
1096
+ readonly 'admin.contests.list.lowest': "Lowest:";
1097
+ readonly 'admin.contests.list.completionRate': "Completion Rate:";
1098
+ readonly 'admin.contests.list.viewDetail': "View details";
1099
+ readonly 'admin.contests.ranking.latestTitle': "Top students in latest contest";
1100
+ readonly 'admin.contests.ranking.latestNoContest': "No contest yet";
1101
+ readonly 'admin.contests.ranking.allTimeTitle': "Top students by total score";
1102
+ readonly 'admin.contests.ranking.allTimeDesc': "Top 3 all-time outstanding students";
1103
+ readonly 'admin.contests.ranking.loading': "Loading...";
1104
+ readonly 'admin.contests.ranking.noData': "No data yet";
1105
+ readonly 'admin.contests.ranking.scoreLabel': "pts";
1106
+ readonly 'admin.contests.ranking.totalScoreLabel': "total pts";
1107
+ readonly 'admin.contests.ranking.contestsAvg': "{count} contests • Avg: {avg}";
1108
+ readonly 'admin.contests.management.title': "Contest List";
1109
+ readonly 'admin.contests.management.showing': "Showing {count} / {total} contests";
1110
+ readonly 'admin.contests.management.addNew': "Add New Contest";
1111
+ readonly 'admin.contests.management.loading': "Loading data...";
1112
+ readonly 'admin.contests.management.emptyTitle': "No contests yet";
1113
+ readonly 'admin.contests.management.emptyDesc': "Click \"Add New Contest\" to create the first contest";
1114
+ readonly 'admin.contests.filter.title': "Search Filters";
1115
+ readonly 'admin.contests.filter.desc': "Filter and search contests by criteria";
1116
+ readonly 'admin.contests.filter.activeCount': "{count} filters applied";
1117
+ readonly 'admin.contests.filter.clearAll': "Clear all";
1118
+ readonly 'admin.contests.filter.activeLabel': "Filtering:";
1119
+ readonly 'admin.contests.filter.searchLabel': "Search";
1120
+ readonly 'admin.contests.filter.searchPlaceholder': "Enter contest name";
1121
+ readonly 'admin.contests.filter.statusLabel': "Status";
1122
+ readonly 'admin.contests.filter.statusPlaceholder': "Select status";
1123
+ readonly 'admin.contests.filter.timeTypeLabel': "Contest Model";
1124
+ readonly 'admin.contests.filter.timeTypePlaceholder': "Select contest model type";
1125
+ readonly 'admin.contests.filter.allStatuses': "All statuses";
1126
+ readonly 'admin.contests.filter.allTimeTypes': "All contest model types";
1127
+ readonly 'admin.contests.filter.visibilityLabel': "Visibility";
1128
+ readonly 'admin.contests.filter.visibilityPlaceholder': "Select visibility";
1129
+ readonly 'admin.contests.filter.allVisibilities': "All visibilities";
1130
+ readonly 'admin.contests.filter.noEndDate': "No end date";
1131
+ readonly 'admin.contests.table.name': "Contest Name";
1132
+ readonly 'admin.contests.table.classification': "Classification";
1133
+ readonly 'admin.contests.table.timeType': "Contest Model";
1134
+ readonly 'admin.contests.table.time': "Time";
1135
+ readonly 'admin.contests.table.status': "Status";
1136
+ readonly 'admin.contests.table.active': "Active";
1137
+ readonly 'admin.contests.table.actions': "Actions";
1138
+ readonly 'admin.contests.table.timeTo': "to";
1139
+ readonly 'admin.contests.status.upcoming': "Upcoming";
1140
+ readonly 'admin.contests.status.inProgress': "In Progress";
1141
+ readonly 'admin.contests.status.completed': "Completed";
1142
+ readonly 'admin.contests.timeType.unlimited': "Unlimited";
1143
+ readonly 'admin.contests.timeType.limited': "Time Limited";
1144
+ readonly 'admin.contests.active.active': "Active";
1145
+ readonly 'admin.contests.active.paused': "Paused";
1146
+ readonly 'admin.contests.visibility.public': "Public";
1147
+ readonly 'admin.contests.visibility.internal': "Internal";
1148
+ readonly 'admin.contests.visibility.private': "Private";
1149
+ readonly 'admin.contests.action.viewDetail': "View details";
1150
+ readonly 'admin.contests.action.edit': "Edit";
1151
+ readonly 'admin.contests.action.delete': "Delete";
1152
+ readonly 'admin.contests.add.title': "Add New Contest";
1153
+ readonly 'admin.contests.add.desc': "Enter information to create a new contest in the system";
1154
+ readonly 'admin.contests.add.submitting': "Adding...";
1155
+ readonly 'admin.contests.add.submit': "Add Contest";
1156
+ readonly 'admin.contests.add.cancel': "Cancel";
1157
+ readonly 'admin.contests.edit.title': "Edit Contest";
1158
+ readonly 'admin.contests.edit.desc': "Update contest information: {name}";
1159
+ readonly 'admin.contests.edit.submitting': "Updating...";
1160
+ readonly 'admin.contests.edit.submit': "Update";
1161
+ readonly 'admin.contests.edit.cancel': "Cancel";
1162
+ readonly 'admin.contests.delete.title': "Delete Contest";
1163
+ readonly 'admin.contests.delete.cannotUndo': "This action cannot be undone";
1164
+ readonly 'admin.contests.delete.participants': "{count} participants";
1165
+ readonly 'admin.contests.delete.rooms': "{count} rooms";
1166
+ readonly 'admin.contests.delete.warningTitle': "Important Warning";
1167
+ readonly 'admin.contests.delete.warningRooms': "All exam rooms will be deleted";
1168
+ readonly 'admin.contests.delete.warningData': "Participant data will be deleted";
1169
+ readonly 'admin.contests.delete.warningResults': "Exam results cannot be recovered";
1170
+ readonly 'admin.contests.delete.cancel': "Cancel";
1171
+ readonly 'admin.contests.delete.submitting': "Deleting...";
1172
+ readonly 'admin.contests.delete.confirm': "Confirm Delete";
1173
+ readonly 'admin.contests.detail.title': "Contest Details";
1174
+ readonly 'admin.contests.detail.desc': "Detailed statistics and analysis of exam results";
1175
+ readonly 'admin.contests.detail.loading': "Loading data...";
1176
+ readonly 'admin.contests.detail.statAvgScore': "Avg Score";
1177
+ readonly 'admin.contests.detail.statParticipants': "Participants";
1178
+ readonly 'admin.contests.detail.statCompletion': "Completion";
1179
+ readonly 'admin.contests.detail.statAvgTime': "Avg Min";
1180
+ readonly 'admin.contests.detail.top3Title': "Top 3 Outstanding Students";
1181
+ readonly 'admin.contests.detail.noStudents': "No student data yet";
1182
+ readonly 'admin.contests.detail.scoreDistTitle': "Score Distribution";
1183
+ readonly 'admin.contests.detail.noScoreDist': "No score distribution data yet";
1184
+ readonly 'admin.contests.detail.classAvgTitle': "Avg Score by Class";
1185
+ readonly 'admin.contests.detail.noClassData': "No class data yet";
1186
+ readonly 'admin.contests.detail.classStudentCount': "{count} students";
1187
+ readonly 'admin.contests.detail.avgTimeLabel': "Avg Completion Time";
1188
+ readonly 'admin.contests.detail.fastestLabel': "Fastest";
1189
+ readonly 'admin.contests.detail.slowestLabel': "Slowest";
1190
+ readonly 'admin.contests.detail.minuteUnit': "min";
1191
+ readonly 'admin.contests.detail.contestLabel': "Contest";
1192
+ readonly 'admin.contests.detail.timeLabel': "Time";
1193
+ readonly 'admin.contests.detail.unlimited': "Unlimited";
1194
+ readonly 'admin.contests.detail.loadError': "Unable to load statistics data. Please try again later.";
1195
+ readonly 'admin.contests.student.title': "Student Profile: {name}";
1196
+ readonly 'admin.contests.student.desc': "Participation history and detailed statistics";
1197
+ readonly 'admin.contests.student.loading': "Loading data...";
1198
+ readonly 'admin.contests.student.noClass': "No class assigned";
1199
+ readonly 'admin.contests.student.codeLabel': "Code: {code}";
1200
+ readonly 'admin.contests.student.avgScoreLabel': "Avg Score";
1201
+ readonly 'admin.contests.student.statTotalScore': "Total Score";
1202
+ readonly 'admin.contests.student.statContests': "Contests Joined";
1203
+ readonly 'admin.contests.student.statBestRank': "Best Rank";
1204
+ readonly 'admin.contests.student.statHighest': "Highest Score";
1205
+ readonly 'admin.contests.student.scoreRangeTitle': "Score Range";
1206
+ readonly 'admin.contests.student.scoreHighest': "Highest Score";
1207
+ readonly 'admin.contests.student.scoreAvg': "Average Score";
1208
+ readonly 'admin.contests.student.scoreLowest': "Lowest Score";
1209
+ readonly 'admin.contests.student.trendTitle': "Score Trend";
1210
+ readonly 'admin.contests.student.noTrendData': "No score data yet";
1211
+ readonly 'admin.contests.student.skillsTitle': "Competency Analysis";
1212
+ readonly 'admin.contests.student.historyTitle': "Contest Participation History";
1213
+ readonly 'admin.contests.student.historyScore': "Score:";
1214
+ readonly 'admin.contests.student.historyRank': "Rank:";
1215
+ readonly 'admin.contests.student.historyEmpty': "No contest participation history";
1216
+ readonly 'admin.contests.student.awardsTitle': "Awards & Achievements";
1217
+ readonly 'admin.contests.student.rank1': "🥇 1st";
1218
+ readonly 'admin.contests.student.rank2': "🥈 2nd";
1219
+ readonly 'admin.contests.student.rank3': "🥉 3rd";
1220
+ readonly 'admin.contests.student.rankN': "#{rank}";
1221
+ readonly 'admin.contests.student.loadError': "Unable to load student data. Please try again later.";
1222
+ readonly 'admin.contests.student.scoreRadarName': "Score";
1223
+ readonly 'admin.contests.toast.addSuccess': "Success";
1224
+ readonly 'admin.contests.toast.addSuccessDesc': "New contest added!";
1225
+ readonly 'admin.contests.toast.editSuccess': "Success";
1226
+ readonly 'admin.contests.toast.editSuccessDesc': "Contest updated!";
1227
+ readonly 'admin.contests.toast.deleteSuccess': "Success";
1228
+ readonly 'admin.contests.toast.deleteSuccessDesc': "Contest \"{name}\" deleted";
1229
+ readonly 'admin.contests.form.nameLabel': "Contest Name";
1230
+ readonly 'admin.contests.form.namePlaceholder': "E.g.: English Talent 2025";
1231
+ readonly 'admin.contests.form.charCount': "{current}/{max} characters";
1232
+ readonly 'admin.contests.form.classificationLabel': "Classification";
1233
+ readonly 'admin.contests.form.classificationPlaceholder': "Select classification";
1234
+ readonly 'admin.contests.form.roomCreationLabel': "Rooms by Class";
1235
+ readonly 'admin.contests.form.roomCreationAll': "Create all classes";
1236
+ readonly 'admin.contests.form.roomCreationAllDesc': "Automatically create exam rooms for all classes";
1237
+ readonly 'admin.contests.form.roomCreationSelected': "Specify classes";
1238
+ readonly 'admin.contests.form.roomCreationSelectedDesc': "Select classes to create exam rooms";
1239
+ readonly 'admin.contests.form.examLabel': "Exam";
1240
+ readonly 'admin.contests.form.examSelected': "{parentCount} parent exam, {childCount} child exams";
1241
+ readonly 'admin.contests.form.examNone': "No exam selected";
1242
+ readonly 'admin.contests.form.examSelectBtn': "Select Exam";
1243
+ readonly 'admin.contests.form.examHint': "Select the exam for this contest";
1244
+ readonly 'admin.contests.form.examError': "Please select an exam for this contest";
1245
+ readonly 'admin.contests.form.examSelectClassificationFirst': "Please select contest classification first";
1246
+ readonly 'admin.contests.form.examParentLabel': "Parent Exam ({count})";
1247
+ readonly 'admin.contests.form.examChildLabel': "Child Exams ({count})";
1248
+ readonly 'admin.contests.form.examChildCode': "Code: {name}";
1249
+ readonly 'admin.contests.form.descriptionLabel': "Description";
1250
+ readonly 'admin.contests.form.descriptionPlaceholder': "Detailed description about the contest...";
1251
+ readonly 'admin.contests.form.timeTypeLabel': "Contest Model";
1252
+ readonly 'admin.contests.form.timeTypeLimited': "Time Limited";
1253
+ readonly 'admin.contests.form.timeTypeLimitedDesc': "Has start and end time";
1254
+ readonly 'admin.contests.form.timeTypeUnlimited': "Unlimited";
1255
+ readonly 'admin.contests.form.timeTypeUnlimitedDesc': "Has start time only, no end time";
1256
+ readonly 'admin.contests.form.unlimitedInfo': "Unlimited time contest";
1257
+ readonly 'admin.contests.form.unlimitedInfoDesc': "Students can join the contest anytime after the start time. There is no end time.";
1258
+ readonly 'admin.contests.form.contestDuration': "Contest duration";
1259
+ readonly 'admin.contests.form.startTime': "Contest start time";
1260
+ readonly 'admin.contests.form.startDate': "Start Date";
1261
+ readonly 'admin.contests.form.startHour': "Start Time";
1262
+ readonly 'admin.contests.form.endDate': "End Date";
1263
+ readonly 'admin.contests.form.endHour': "End Time";
1264
+ readonly 'admin.contests.form.activeStatusLabel': "Active Status";
1265
+ readonly 'admin.contests.form.activeStatusHintActive': "Contest will be active immediately after creation";
1266
+ readonly 'admin.contests.form.activeStatusHintPaused': "Contest will be paused, can be activated later";
1267
+ readonly 'admin.contests.form.activeStatusDescActive': "Contest is currently active";
1268
+ readonly 'admin.contests.form.activeStatusDescPaused': "Contest is currently paused";
1269
+ readonly 'admin.exams.title': "Exam Management";
1270
+ readonly 'admin.exams.subtitle': "Manage exams and create new questions from templates";
1271
+ readonly 'admin.exams.examFallbackName': "Exam {id}";
1272
+ readonly 'admin.exams.uncategorized': "Uncategorized";
1273
+ readonly 'admin.exams.toast.deleteSuccess': "Exam deleted successfully!";
1274
+ readonly 'admin.exams.toast.deleteSuccessDesc': "Deleted exam \"{name}\"";
1275
+ readonly 'admin.exams.toast.deleteFailed': "Deletion failed";
1276
+ readonly 'admin.exams.toast.deleteError': "An error occurred while deleting the exam. Please try again.";
1277
+ readonly 'admin.exams.toast.success': "Success";
1278
+ readonly 'admin.exams.toast.copySuccess': "Copied exam {id}";
1279
+ readonly 'admin.exams.toast.shuffleSuccess': "Created {count} shuffled variants from exam {id}! Question order has been randomized.";
1280
+ readonly 'admin.exams.error.loadTitle': "Unable to load exam list";
1281
+ readonly 'admin.exams.error.loadMessage': "An error occurred while loading data. Please try again.";
1282
+ readonly 'admin.exams.stats.totalExams': "Total Exams";
1283
+ readonly 'admin.exams.stats.activeExams': "{count} exams active";
1284
+ readonly 'admin.exams.stats.rooms': "Rooms";
1285
+ readonly 'admin.exams.stats.totalAssigned': "Total assigned rooms";
1286
+ readonly 'admin.exams.stats.completed': "Completed";
1287
+ readonly 'admin.exams.stats.studentsSubmitted': "Students submitted";
1288
+ readonly 'admin.exams.stats.statusDistribution': "Status Distribution";
1289
+ readonly 'admin.exams.stats.ready': "Ready";
1290
+ readonly 'admin.exams.stats.notReady': "Not Ready";
1291
+ readonly 'admin.exams.stats.activated': "Activated";
1292
+ readonly 'admin.exams.stats.deactivated': "Deactivated";
1293
+ readonly 'admin.exams.stats.examUnit': "{count} exams";
1294
+ readonly 'admin.exams.table.title': "Exam List";
1295
+ readonly 'admin.exams.table.showing': "Showing {count} / {total} exams";
1296
+ readonly 'admin.exams.table.createExam': "Create Exam";
1297
+ readonly 'admin.exams.table.loading': "Loading data...";
1298
+ readonly 'admin.exams.table.empty': "No exams found";
1299
+ readonly 'admin.exams.table.createdPrefix': "Created:";
1300
+ readonly 'admin.exams.table.minutes': "{count} min";
1301
+ readonly 'admin.exams.table.questionCount': "{count}/{total} questions";
1302
+ readonly 'admin.exams.table.completed': "Completed";
1303
+ readonly 'admin.exams.table.ready': "Completed";
1304
+ readonly 'admin.exams.table.notReady': "Incomplete";
1305
+ readonly 'admin.exams.table.activated': "Activated";
1306
+ readonly 'admin.exams.table.deactivated': "Deactivated";
1307
+ readonly 'admin.exams.table.cannotActivate': "Exam is not ready, cannot activate";
1308
+ readonly 'admin.exams.table.editContent': "Edit exam content";
1309
+ readonly 'admin.exams.filter.searchPlaceholder': "Search by name, exam code...";
1310
+ readonly 'admin.exams.filter.level': "Level";
1311
+ readonly 'admin.exams.filter.allLevels': "All Levels";
1312
+ readonly 'admin.exams.filter.ready': "Completed";
1313
+ readonly 'admin.exams.filter.allReady': "All Completion";
1314
+ readonly 'admin.exams.filter.isReady': "Completed";
1315
+ readonly 'admin.exams.filter.notReady': "Incomplete";
1316
+ readonly 'admin.exams.filter.status': "Status";
1317
+ readonly 'admin.exams.filter.allStatuses': "All Statuses";
1318
+ readonly 'admin.exams.filter.activated': "Activated";
1319
+ readonly 'admin.exams.filter.deactivated': "Deactivated";
1320
+ readonly 'admin.exams.filter.clearFilters': "Clear Filters";
1321
+ readonly 'admin.exams.filter.searchLabel': "Search:";
1322
+ readonly 'admin.exams.filter.levelLabel': "Level:";
1323
+ readonly 'admin.exams.filter.readyLabel': "Completed:";
1324
+ readonly 'admin.exams.filter.statusLabel': "Status:";
1325
+ readonly 'admin.exams.col.code': "Code";
1326
+ readonly 'admin.exams.col.name': "Title";
1327
+ readonly 'admin.exams.col.level': "Level";
1328
+ readonly 'admin.exams.col.difficulty': "Difficulty";
1329
+ readonly 'admin.exams.col.duration': "Duration";
1330
+ readonly 'admin.exams.col.questions': "Questions";
1331
+ readonly 'admin.exams.col.assigned': "Assigned";
1332
+ readonly 'admin.exams.col.ready': "Completed";
1333
+ readonly 'admin.exams.col.status': "Status";
1334
+ readonly 'admin.exams.col.actions': "Actions";
1335
+ readonly 'admin.exams.col.classification': "Classification";
1336
+ readonly 'admin.exams.col.creator': "Creator";
1337
+ readonly 'admin.exams.col.createdAt': "Created date";
1338
+ readonly 'admin.exams.action.view': "View Details";
1339
+ readonly 'admin.exams.action.preview': "Preview Exam";
1340
+ readonly 'admin.exams.action.edit': "Edit";
1341
+ readonly 'admin.exams.action.copy': "Copy";
1342
+ readonly 'admin.exams.action.shuffle': "Create Shuffled Exam";
1343
+ readonly 'admin.exams.action.delete': "Delete";
1344
+ readonly 'admin.exams.difficulty.easy': "Easy";
1345
+ readonly 'admin.exams.difficulty.medium': "Medium";
1346
+ readonly 'admin.exams.difficulty.hard': "Hard";
1347
+ readonly 'admin.exams.delete.title': "Confirm Delete Exam";
1348
+ readonly 'admin.exams.delete.confirm': "Are you sure you want to delete exam";
1349
+ readonly 'admin.exams.delete.warning': "This action cannot be undone and will delete all related data.";
1350
+ readonly 'admin.exams.delete.cancel': "Cancel";
1351
+ readonly 'admin.exams.delete.submit': "Delete";
1352
+ readonly 'admin.exams.duplicate.title': "Copy Exam";
1353
+ readonly 'admin.exams.duplicate.subtitle': "Create a complete copy";
1354
+ readonly 'admin.exams.duplicate.originalExam': "Original Exam";
1355
+ readonly 'admin.exams.duplicate.copyIncludes': "Copy will include";
1356
+ readonly 'admin.exams.duplicate.examInfo': "Exam information";
1357
+ readonly 'admin.exams.duplicate.allSettings': "All configurations and settings";
1358
+ readonly 'admin.exams.duplicate.questions': "Questions";
1359
+ readonly 'admin.exams.duplicate.questionCount': "{count} questions";
1360
+ readonly 'admin.exams.duplicate.newName': "New Name";
1361
+ readonly 'admin.exams.duplicate.newCode': "New Code";
1362
+ readonly 'admin.exams.duplicate.draftNote': "The copy will be created with status";
1363
+ readonly 'admin.exams.duplicate.draft': "Draft";
1364
+ readonly 'admin.exams.duplicate.editableNote': "and can be edited right after creation.";
1365
+ readonly 'admin.exams.duplicate.cancel': "Cancel";
1366
+ readonly 'admin.exams.duplicate.copying': "Copying...";
1367
+ readonly 'admin.exams.duplicate.submit': "Create Copy";
1368
+ readonly 'admin.exams.view.subject': "Subject";
1369
+ readonly 'admin.exams.view.level': "Level";
1370
+ readonly 'admin.exams.view.duration': "Duration";
1371
+ readonly 'admin.exams.view.minutes': "{count} min";
1372
+ readonly 'admin.exams.view.questionCount': "Question Count";
1373
+ readonly 'admin.exams.view.questions': "{count} questions";
1374
+ readonly 'admin.exams.view.totalPoints': "Total Points";
1375
+ readonly 'admin.exams.view.points': "{count} pts";
1376
+ readonly 'admin.exams.view.difficulty': "Difficulty";
1377
+ readonly 'admin.exams.view.description': "Description";
1378
+ readonly 'admin.exams.view.close': "Close";
1379
+ readonly 'admin.exams.shuffle.title': "Create Shuffled Exam Set";
1380
+ readonly 'admin.exams.shuffle.desc': "Create multiple exam versions from {code} with randomly shuffled question order";
1381
+ readonly 'admin.exams.shuffle.questionCount': "{count} questions";
1382
+ readonly 'admin.exams.shuffle.minutes': "{count} min";
1383
+ readonly 'admin.exams.shuffle.points': "{count} pts";
1384
+ readonly 'admin.exams.shuffle.howItWorks': "How it works";
1385
+ readonly 'admin.exams.shuffle.info1': "Each variant contains the exact same set of questions as the original";
1386
+ readonly 'admin.exams.shuffle.info2': "The order of Parts is preserved";
1387
+ readonly 'admin.exams.shuffle.info3': "Questions within the same Part are randomly shuffled";
1388
+ readonly 'admin.exams.shuffle.info4': "Variants are linked to the parent exam for management";
1389
+ readonly 'admin.exams.shuffle.countLabel': "Number of variants to create";
1390
+ readonly 'admin.exams.shuffle.strategyLabel': "Existing exam handling option";
1391
+ readonly 'admin.exams.shuffle.keepOld': "Keep existing exams and add new ones";
1392
+ readonly 'admin.exams.shuffle.replaceAll': "Create a completely new set";
1393
+ readonly 'admin.exams.shuffle.existingVariants': "Existing exams ({count})";
1394
+ readonly 'admin.exams.shuffle.deleteAll': "Delete all ({count})";
1395
+ readonly 'admin.exams.shuffle.loading': "Loading...";
1396
+ readonly 'admin.exams.shuffle.noVariants': "No shuffled exams yet";
1397
+ readonly 'admin.exams.shuffle.variantCode': "Code: {name}";
1398
+ readonly 'admin.exams.shuffle.originalBadge': "📌 Original";
1399
+ readonly 'admin.exams.shuffle.originalNote': "Original question order, cannot be deleted";
1400
+ readonly 'admin.exams.shuffle.preview': "Preview";
1401
+ readonly 'admin.exams.shuffle.close': "Close";
1402
+ readonly 'admin.exams.shuffle.creating': "Creating...";
1403
+ readonly 'admin.exams.shuffle.createButton': "Create {count} shuffled exams";
1404
+ readonly 'admin.exams.shuffle.confirmDeleteAllTitle': "Delete all shuffled exams?";
1405
+ readonly 'admin.exams.shuffle.confirmDeleteAllDesc': "Are you sure you want to delete all {count} shuffled exams? The original exam (Code: 000) will be kept. This action cannot be undone.";
1406
+ readonly 'admin.exams.shuffle.cancel': "Cancel";
1407
+ readonly 'admin.exams.shuffle.deleteAllBtn': "Delete All";
1408
+ readonly 'admin.exams.shuffle.confirmDeleteOneTitle': "Delete this exam?";
1409
+ readonly 'admin.exams.shuffle.confirmDeleteOneDesc': "Are you sure you want to delete this exam? This action cannot be undone.";
1410
+ readonly 'admin.exams.shuffle.deleteBtn': "Delete";
1411
+ readonly 'admin.exams.create.title': "Create New Exam";
1412
+ readonly 'admin.exams.create.step1': "Step 1: Enter basic exam information";
1413
+ readonly 'admin.exams.create.success': "Success";
1414
+ readonly 'admin.exams.create.successDesc': "Saved exam \"{name}\". Redirecting to Template selection...";
1415
+ readonly 'admin.exams.create.incompleteInfo': "Incomplete Information";
1416
+ readonly 'admin.exams.create.incompleteInfoDesc': "Please fill in all required fields and check the information entered";
1417
+ readonly 'admin.exams.create.cancel': "Cancel";
1418
+ readonly 'admin.exams.create.saving': "Saving...";
1419
+ readonly 'admin.exams.create.saveAndContinue': "Create exam and start editing content";
1420
+ readonly 'admin.exams.create.loading': "Loading...";
1421
+ readonly 'admin.exams.form.basicInfo': "Basic Information";
1422
+ readonly 'admin.exams.form.requiredHint': "Required fields are marked with (*)";
1423
+ readonly 'admin.exams.form.codeLabel': "Exam Code";
1424
+ readonly 'admin.exams.form.codePlaceholder': "Enter exam code...";
1425
+ readonly 'admin.exams.form.charCount': "{count}/{max} characters";
1426
+ readonly 'admin.exams.form.nameLabel': "Exam Name";
1427
+ readonly 'admin.exams.form.namePlaceholder': "Enter exam name...";
1428
+ readonly 'admin.exams.form.subject': "Subject";
1429
+ readonly 'admin.exams.form.subjectPlaceholder': "Select subject";
1430
+ readonly 'admin.exams.form.loading': "Loading...";
1431
+ readonly 'admin.exams.form.level': "Level";
1432
+ readonly 'admin.exams.form.levelPlaceholder': "Select level";
1433
+ readonly 'admin.exams.form.difficulty': "Difficulty";
1434
+ readonly 'admin.exams.form.difficultyPlaceholder': "Select difficulty";
1435
+ readonly 'admin.exams.form.easy': "Easy";
1436
+ readonly 'admin.exams.form.medium': "Medium";
1437
+ readonly 'admin.exams.form.hard': "Hard";
1438
+ readonly 'admin.exams.form.duration': "Exam Duration (minutes)";
1439
+ readonly 'admin.exams.form.totalPoints': "Total Points";
1440
+ readonly 'admin.exams.form.description': "Description";
1441
+ readonly 'admin.exams.form.descriptionPlaceholder': "Detailed description about the exam, objectives, target audience...";
1442
+ readonly 'admin.exams.form.classification': "Exam Classification";
1443
+ readonly 'admin.exams.form.classificationPlaceholder': "Select exam classification";
1444
+ readonly 'admin.exams.edit.title': "Edit Exam";
1445
+ readonly 'admin.exams.edit.subtitle': "Update your exam information";
1446
+ readonly 'admin.exams.edit.loading': "Loading exam information...";
1447
+ readonly 'admin.exams.edit.loadError': "Unable to load exam information";
1448
+ readonly 'admin.exams.edit.loadErrorDesc': "An error occurred while loading data. Please try again.";
1449
+ readonly 'admin.exams.edit.backToList': "Back to list";
1450
+ readonly 'admin.exams.edit.success': "Updated exam {name} successfully!";
1451
+ readonly 'admin.exams.edit.invalidInfo': "Invalid Information";
1452
+ readonly 'admin.exams.edit.invalidInfoDesc': "Please check the information fields";
1453
+ readonly 'admin.exams.edit.templateInfoTitle': "Template Information (Cannot be changed)";
1454
+ readonly 'admin.exams.edit.templateInfoDesc': "The exam template was selected when creating the exam and cannot be changed";
1455
+ readonly 'admin.exams.edit.templateName': "Template Name:";
1456
+ readonly 'admin.exams.edit.templateParts': "Parts:";
1457
+ readonly 'admin.exams.edit.templateQuestions': "Questions:";
1458
+ readonly 'admin.exams.edit.noTemplate': "No Template Selected";
1459
+ readonly 'admin.exams.edit.noTemplateDesc': "You need to select a Template to complete the exam structure.";
1460
+ readonly 'admin.exams.edit.editQuestions': "Edit Questions";
1461
+ readonly 'admin.exams.edit.back': "Back";
1462
+ readonly 'admin.exams.edit.saving': "Saving...";
1463
+ readonly 'admin.exams.edit.saveChanges': "Save Changes";
1464
+ readonly 'admin.exams.edit.saveAndSelectTemplate': "Save exam and continue to Template selection";
1465
+ readonly 'admin.exams.edit.saved': "Exam saved";
1466
+ readonly 'admin.exams.edit.redirectToTemplate': "Redirecting to Template selection...";
1467
+ readonly 'admin.exams.edit.loadingFallback': "Loading...";
1468
+ readonly 'admin.exams.template.exam': "Exam";
1469
+ readonly 'admin.exams.template.examCode': "Exam Code:";
1470
+ readonly 'admin.exams.template.step2': "Step 2: Select Exam Template";
1471
+ readonly 'admin.exams.template.selectTemplate': "Select Exam Template";
1472
+ readonly 'admin.exams.template.error': "Error";
1473
+ readonly 'admin.exams.template.loadError': "Unable to load exam information. Please try again.";
1474
+ readonly 'admin.exams.template.loading': "Loading exam information...";
1475
+ readonly 'admin.exams.template.loadingFallback': "Loading...";
1476
+ readonly 'admin.exams.preview.title': "Preview Exam: {name}";
1477
+ readonly 'admin.exams.preview.examInfo': "Exam Information";
1478
+ readonly 'admin.exams.preview.duration': "Duration:";
1479
+ readonly 'admin.exams.preview.questionCount': "Questions:";
1480
+ readonly 'admin.exams.preview.totalPoints': "Total Points:";
1481
+ readonly 'admin.exams.preview.progress': "Progress";
1482
+ readonly 'admin.exams.preview.loading': "Loading...";
1483
+ readonly 'admin.exams.preview.questionNavigation': "Question Navigation";
1484
+ readonly 'admin.exams.preview.all': "All";
1485
+ readonly 'admin.exams.preview.allQuestions': "All {count} questions";
1486
+ readonly 'admin.exams.preview.partQuestions': "Part {part}: {count} questions";
1487
+ readonly 'admin.exams.preview.collapse': "Collapse";
1488
+ readonly 'admin.exams.preview.detail': "Details";
1489
+ readonly 'admin.exams.preview.questionIndex': "Question {index} / {total}";
1490
+ readonly 'admin.exams.preview.noQuestions': "No questions yet";
1491
+ readonly 'admin.exams.preview.loadingQuestions': "Loading questions...";
1492
+ readonly 'admin.exams.preview.retry': "Retry";
1493
+ readonly 'admin.exams.preview.examNoQuestions': "This exam has no questions yet.";
1494
+ readonly 'admin.exams.preview.prevQuestion': "Previous Question";
1495
+ readonly 'admin.exams.preview.prev': "Prev";
1496
+ readonly 'admin.exams.preview.nextQuestion': "Next Question";
1497
+ readonly 'admin.exams.preview.next': "Next";
1498
+ readonly 'admin.exams.preview.footerNote': "This is a preview mode to check the layout and content of the exam.";
1499
+ readonly 'admin.exams.preview.close': "Close";
1500
+ readonly 'admin.exams.preview.loadError': "Unable to load questions. Please try again.";
1501
+ readonly 'admin.exams.preview.points': "{count} pts";
1502
+ readonly 'admin.exams.preview.questions': "{count} questions";
1503
+ readonly 'admin.exams.preview.unsupportedType': "Question type not yet supported for preview:";
1504
+ readonly 'admin.exams.preview.lookAndChoose': "Look at the picture and choose the correct answer";
1505
+ readonly 'admin.exams.configure.error': "Error";
1506
+ readonly 'admin.exams.configure.loadError': "Unable to load exam information. Please try again.";
1507
+ readonly 'admin.exams.configure.missingInfo': "Missing information";
1508
+ readonly 'admin.exams.configure.selectTemplateFirst': "Please select a template first.";
1509
+ readonly 'admin.exams.configure.templateNotFound': "Template information not found.";
1510
+ readonly 'admin.exams.configure.success': "Success";
1511
+ readonly 'admin.exams.configure.successDesc': "Template configuration saved. Redirecting to question creation page...";
1512
+ readonly 'admin.exams.configure.loading': "Loading information...";
1513
+ readonly 'admin.exams.configure.noTemplate': "Template information not found";
1514
+ readonly 'admin.exams.configure.backToTemplate': "Back to template selection";
1515
+ readonly 'admin.exams.configure.saving': "Saving configuration...";
1516
+ readonly 'admin.exams.configure.loadingFallback': "Loading...";
1517
+ readonly 'admin.exams.questions.missingTemplate': "Missing template";
1518
+ readonly 'admin.exams.questions.missingTemplateDesc': "Exam has no template assigned. Please select a template first.";
1519
+ readonly 'admin.exams.questions.error': "Error";
1520
+ readonly 'admin.exams.questions.loadError': "Unable to load exam information. Please try again.";
1521
+ readonly 'admin.exams.questions.loading': "Loading exam information...";
1522
+ readonly 'admin.exams.questions.noTemplate': "No template found for this exam";
1523
+ readonly 'admin.exams.questions.noTemplateDesc': "Please select a template before creating questions";
1524
+ readonly 'admin.exams.questions.back': "Back";
1525
+ readonly 'admin.exams.questions.createQuestions': "Create Questions";
1526
+ readonly 'admin.exams.questions.step4': "Step 4: Create and edit exam questions";
1527
+ readonly 'admin.exams.questions.createAndEditQuestions': "Create and edit exam questions";
1528
+ readonly 'admin.exams.questions.loadingFallback': "Loading...";
1529
+ readonly 'admin.exams.questions.guide.title': "Question Creation Guide";
1530
+ readonly 'admin.exams.questions.guide.subtitle': "4 simple steps • Helpful tips • Save time";
1531
+ readonly 'admin.exams.questions.guide.step1Title': "Follow the order";
1532
+ readonly 'admin.exams.questions.guide.step1Desc': "Complete each question in order within each Part";
1533
+ readonly 'admin.exams.questions.guide.step1Tip': "Move to the next Part after completing all questions in the current Part";
1534
+ readonly 'admin.exams.questions.guide.step2Title': "Standardized template";
1535
+ readonly 'admin.exams.questions.guide.step2Desc': "Each Part has a predefined question type based on the template standard";
1536
+ readonly 'admin.exams.questions.guide.step2Tip': "No need to worry about format - the system will automatically format according to the standard";
1537
+ readonly 'admin.exams.questions.guide.step3Title': "Safe storage";
1538
+ readonly 'admin.exams.questions.guide.step3Desc': "Use \"Save Question\" to save each question";
1539
+ readonly 'admin.exams.questions.guide.step3Tip': "Press \"Save Exam\" when done to save everything and publish";
1540
+ readonly 'admin.exams.questions.guide.step4Title': "Question bank";
1541
+ readonly 'admin.exams.questions.guide.step4Desc': "Check \"Add to bank\" to reuse";
1542
+ readonly 'admin.exams.questions.guide.step4Tip': "Questions will be saved to the shared pool and can be used in other exams";
1543
+ readonly 'admin.exams.questions.guide.quickTips': "Quick tips:";
1544
+ readonly 'admin.exams.questions.guide.tip1': "Ctrl+S to quickly save the current question";
1545
+ readonly 'admin.exams.questions.guide.tip2': "Data is auto-saved locally on change";
1546
+ readonly 'admin.exams.questions.guide.tip3': "Preview questions with the \"Preview\" button";
1547
+ readonly 'admin.exams.partEditor.skillListening': "Listening";
1548
+ readonly 'admin.exams.partEditor.skillSpeaking': "Speaking";
1549
+ readonly 'admin.exams.partEditor.skillReading': "Reading";
1550
+ readonly 'admin.exams.partEditor.skillWriting': "Writing";
1551
+ readonly 'admin.exams.partEditor.qtFillMissingWordsInGrid': "Fill in missing letters";
1552
+ readonly 'admin.exams.partEditor.qtLookPictureFillBlankChooseAnswer': "Look at picture, fill in the blank";
1553
+ readonly 'admin.exams.partEditor.qtLookPictureChooseCorrectAnswer': "Look at picture, choose correct answer";
1554
+ readonly 'admin.exams.partEditor.qtLookPictureFillWordHint': "Look at picture, fill word (with hint)";
1555
+ readonly 'admin.exams.partEditor.qtLabelThePicture': "Label the picture";
1556
+ readonly 'admin.exams.partEditor.qtReadAndColorObjects': "Read and color";
1557
+ readonly 'admin.exams.partEditor.qtMultipleChoice': "Multiple choice";
1558
+ readonly 'admin.exams.partEditor.qtListening': "Listening comprehension";
1559
+ readonly 'admin.exams.partEditor.qtReading': "Reading comprehension";
1560
+ readonly 'admin.exams.partEditor.defaultBack': "Back";
1561
+ readonly 'admin.exams.partEditor.defaultContinue': "Save configuration and continue";
1562
+ readonly 'admin.exams.partEditor.defaultExamName': "Configure Exam";
1563
+ readonly 'admin.exams.partEditor.step3': "Step 3: Configure question count";
1564
+ readonly 'admin.exams.partEditor.templateLabel': "Template:";
1565
+ readonly 'admin.exams.partEditor.totalQuestions': "Total questions";
1566
+ readonly 'admin.exams.partEditor.changedFrom': "Changed from {from} questions";
1567
+ readonly 'admin.exams.partEditor.keepDefault': "Keeping default template settings";
1568
+ readonly 'admin.exams.partEditor.questionsUnit': "questions";
1569
+ readonly 'admin.exams.partEditor.reset': "Reset";
1570
+ readonly 'admin.exams.partEditor.defaultCount': "Default: {count}";
1571
+ readonly 'admin.exams.partEditor.currentCount': "Current: {count}";
1572
+ readonly 'admin.exams.partEditor.configParts': "Configure Each Part";
1573
+ readonly 'admin.exams.partEditor.configPartsDesc': "Customize the number of questions for each part. Grouped questions can adjust the number of groups and questions per group.";
1574
+ readonly 'admin.exams.partEditor.groupBadge': "Question group";
1575
+ readonly 'admin.exams.partEditor.totalPartQuestions': "Total questions";
1576
+ readonly 'admin.exams.partEditor.skillLabel': "Skill";
1577
+ readonly 'admin.exams.partEditor.selectSkill': "Select skill";
1578
+ readonly 'admin.exams.partEditor.defaultSkill': "(default: {skill})";
1579
+ readonly 'admin.exams.partEditor.audioFile': "Audio file";
1580
+ readonly 'admin.exams.partEditor.audioPlaceholder': "Select audio file for this part...";
1581
+ readonly 'admin.exams.partEditor.questionCount': "Question count";
1582
+ readonly 'admin.exams.partEditor.groupCount': "Number of groups";
1583
+ readonly 'admin.exams.partEditor.addOrRemoveGroup': "Add or remove question groups";
1584
+ readonly 'admin.exams.partEditor.questionsPerGroup': "Questions per group";
1585
+ readonly 'admin.exams.partEditor.group': "Group {index}";
1586
+ readonly 'admin.exams.partEditor.defaultValue': "(default: {value})";
1587
+ readonly 'admin.exams.partEditor.unsavedChanges': "• Unsaved changes";
1588
+ readonly 'admin.exams.partEditor.readyToContinue': "✓ Ready to continue";
1589
+ readonly 'admin.exams.partEditor.saving': "Saving...";
1590
+ readonly 'admin.settings.title': "System Settings";
1591
+ readonly 'admin.settings.subtitle': "Manage system configuration and parameters";
1592
+ readonly 'admin.settings.save.success': "Saved";
1593
+ readonly 'admin.settings.save.successDesc': "Settings have been saved!";
1594
+ readonly 'admin.settings.systemInfo.title': "System Information";
1595
+ readonly 'admin.settings.systemInfo.desc': "General system configuration";
1596
+ readonly 'admin.settings.systemInfo.edit': "Edit";
1597
+ readonly 'admin.settings.systemInfo.cancel': "Cancel";
1598
+ readonly 'admin.settings.systemInfo.save': "Save Changes";
1599
+ readonly 'admin.settings.systemInfo.systemName': "System Name";
1600
+ readonly 'admin.settings.systemInfo.systemEmail': "System Email";
1601
+ readonly 'admin.settings.systemInfo.supportEmail': "Support Email";
1602
+ readonly 'admin.settings.notification.title': "Notification Settings";
1603
+ readonly 'admin.settings.notification.desc': "Manage notification channels";
1604
+ readonly 'admin.settings.notification.email': "Email Notifications";
1605
+ readonly 'admin.settings.notification.emailDesc': "Send email notifications to students and teachers";
1606
+ readonly 'admin.settings.notification.sms': "SMS Notifications";
1607
+ readonly 'admin.settings.notification.smsDesc': "Send important SMS notifications";
1608
+ readonly 'admin.settings.ebm.title': "EBM Integration";
1609
+ readonly 'admin.settings.ebm.desc': "Configure connection to EBM system";
1610
+ readonly 'admin.settings.ebm.testConnection': "Test Connection";
1611
+ readonly 'admin.settings.ebm.syncNow': "Sync Now";
1612
+ readonly 'admin.settings.status.title': "System Status";
1613
+ readonly 'admin.settings.status.desc': "System operation information";
1614
+ readonly 'admin.settings.status.operational': "Operational";
1615
+ readonly 'admin.settings.status.connected': "Connected";
1616
+ readonly 'admin.settings.status.active': "Active";
1617
+ readonly 'admin.settings.status.paused': "Paused";
1618
+ readonly 'admin.settings.status.lastBackup': "Yesterday 23:00";
1619
+ readonly 'admin.testParticipants.title': "Test Participants";
1620
+ readonly 'admin.testParticipants.subtitle': "Track information and exam results of participants in the system";
1621
+ readonly 'admin.testParticipants.cardTitle': "Test Participants List";
1622
+ readonly 'admin.testParticipants.cardDescription': "Total {totalItems} participants found";
1623
+ readonly 'admin.testParticipants.clearFilters': "Clear filters";
1624
+ readonly 'admin.testParticipants.filterHeader': "Search filters";
1625
+ readonly 'admin.testParticipants.searchPlaceholder': "Search by name, email or phone number...";
1626
+ readonly 'admin.testParticipants.branchLabel': "Branch";
1627
+ readonly 'admin.testParticipants.allBranches': "All branches";
1628
+ readonly 'admin.testParticipants.contestLabel': "Contest";
1629
+ readonly 'admin.testParticipants.allContests': "All contests";
1630
+ readonly 'admin.testParticipants.fromDate': "From date";
1631
+ readonly 'admin.testParticipants.toDate': "To date";
1632
+ readonly 'admin.testParticipants.col.participant': "Participant";
1633
+ readonly 'admin.testParticipants.col.phone': "Phone";
1634
+ readonly 'admin.testParticipants.col.dob': "Date of Birth";
1635
+ readonly 'admin.testParticipants.col.branch': "Branch";
1636
+ readonly 'admin.testParticipants.col.contest': "Contest";
1637
+ readonly 'admin.testParticipants.col.exam': "Exam";
1638
+ readonly 'admin.testParticipants.col.bestScore': "Best Score";
1639
+ readonly 'admin.testParticipants.col.maxScore': "Max Score";
1640
+ readonly 'admin.testParticipants.col.attemptCount': "Attempts";
1641
+ readonly 'admin.testParticipants.col.lastAttempt': "Last Attempt";
1642
+ readonly 'admin.testParticipants.col.actions': "Actions";
1643
+ readonly 'admin.testParticipants.loading': "Loading data...";
1644
+ readonly 'admin.testParticipants.empty.title': "No data found";
1645
+ readonly 'admin.testParticipants.empty.withFilters': "No results match the current filters. Please adjust your search criteria.";
1646
+ readonly 'admin.testParticipants.empty.noData': "No participants have taken any exams yet.";
1647
+ readonly 'admin.testParticipants.viewDetail': "View exam history details";
1648
+ readonly 'admin.testParticipants.detail': "Details";
1649
+ readonly 'admin.testParticipants.dialog.title': "Exam History Details";
1650
+ readonly 'admin.testParticipants.dialog.description': "Detailed information about exam results and attempt history of the participant";
1651
+ readonly 'admin.testParticipants.dialog.studentInfo': "Participant Information";
1652
+ readonly 'admin.testParticipants.dialog.fullName': "Full Name";
1653
+ readonly 'admin.testParticipants.dialog.email': "Email Address";
1654
+ readonly 'admin.testParticipants.dialog.phone': "Phone Number";
1655
+ readonly 'admin.testParticipants.dialog.dob': "Date of Birth";
1656
+ readonly 'admin.testParticipants.dialog.branch': "Branch";
1657
+ readonly 'admin.testParticipants.dialog.examInfo': "Exam Information";
1658
+ readonly 'admin.testParticipants.dialog.contest': "Contest";
1659
+ readonly 'admin.testParticipants.dialog.exam': "Exam";
1660
+ readonly 'admin.testParticipants.dialog.lastAttempt': "Last Attempt";
1661
+ readonly 'admin.testParticipants.dialog.bestScore': "Best Score";
1662
+ readonly 'admin.testParticipants.dialog.passRate': "Pass Rate";
1663
+ readonly 'admin.testParticipants.dialog.totalAttempts': "Total Attempts";
1664
+ readonly 'admin.testParticipants.dialog.historyTitle': "Attempt History";
1665
+ readonly 'admin.testParticipants.dialog.col.attempt': "Attempt";
1666
+ readonly 'admin.testParticipants.dialog.col.score': "Score";
1667
+ readonly 'admin.testParticipants.dialog.col.rate': "Rate";
1668
+ readonly 'admin.testParticipants.dialog.col.status': "Status";
1669
+ readonly 'admin.testParticipants.dialog.col.startTime': "Start Time";
1670
+ readonly 'admin.testParticipants.dialog.col.submitTime': "Submit Time";
1671
+ readonly 'admin.testParticipants.dialog.noAttempts': "No attempt data available.";
1672
+ readonly 'admin.testParticipants.status.inProgress': "In Progress";
1673
+ readonly 'admin.testParticipants.status.submitted': "Submitted";
1674
+ readonly 'admin.testParticipants.status.graded': "Graded";
1675
+ readonly 'admin.testParticipants.status.published': "Published";
1676
+ readonly 'admin.roles.title': "Role Management";
1677
+ readonly 'admin.roles.subtitle': "Manage roles and permissions in the system";
1678
+ readonly 'admin.roles.table.title': "Role List";
1679
+ readonly 'admin.roles.table.showing': "Showing {count} roles";
1680
+ readonly 'admin.roles.table.empty': "No roles found";
1681
+ readonly 'admin.roles.table.loading': "Loading...";
1682
+ readonly 'admin.roles.table.addRole': "Create new role";
1683
+ readonly 'admin.roles.col.name': "Role name";
1684
+ readonly 'admin.roles.col.slug': "Slug";
1685
+ readonly 'admin.roles.col.level': "Level";
1686
+ readonly 'admin.roles.col.permCount': "Permissions";
1687
+ readonly 'admin.roles.col.type': "Type";
1688
+ readonly 'admin.roles.col.actions': "Actions";
1689
+ readonly 'admin.roles.filter.searchPlaceholder': "Search by name or slug...";
1690
+ readonly 'admin.roles.filter.allLevels': "All levels";
1691
+ readonly 'admin.roles.level.system': "System";
1692
+ readonly 'admin.roles.level.branch': "Branch";
1693
+ readonly 'admin.roles.type.system': "System";
1694
+ readonly 'admin.roles.type.custom': "Custom";
1695
+ readonly 'admin.role.create.title': "Create new role";
1696
+ readonly 'admin.role.create.subtitle': "Create a custom role for the system";
1697
+ readonly 'admin.role.create.success': "Role created successfully";
1698
+ readonly 'admin.role.create.submit': "Create role";
1699
+ readonly 'admin.role.create.submitting': "Creating...";
1700
+ readonly 'admin.role.field.name': "Role name";
1701
+ readonly 'admin.role.field.slug': "Slug";
1702
+ readonly 'admin.role.field.slugHint': "Lowercase letters, numbers, underscores and hyphens only";
1703
+ readonly 'admin.role.field.level': "Level";
1704
+ readonly 'admin.role.field.description': "Description";
1705
+ readonly 'admin.role.field.portalType': "Belongs to portal";
1706
+ readonly 'admin.role.field.portalTypeHint': "Select the portal this role will have access to";
1707
+ readonly 'admin.role.field.portal.admin': "Admin Portal";
1708
+ readonly 'admin.role.field.portal.adminDesc': "System, exam & user management";
1709
+ readonly 'admin.role.field.portal.teacher': "Teacher Portal";
1710
+ readonly 'admin.role.field.portal.teacherDesc': "Class management & grading";
1711
+ readonly 'admin.role.field.portal.student': "Student Portal";
1712
+ readonly 'admin.role.field.portal.studentDesc': "Online exams & results";
1713
+ readonly 'admin.role.delete.title': "Delete role";
1714
+ readonly 'admin.role.delete.desc': "Are you sure you want to delete the role \"{name}\"? This action cannot be undone.";
1715
+ readonly 'admin.role.delete.confirm': "Delete role";
1716
+ readonly 'admin.role.delete.success': "Role \"{name}\" deleted";
1717
+ readonly 'admin.role.delete.cannotSystem': "Cannot delete a system role";
1718
+ readonly 'admin.role.backToList': "Back to list";
1719
+ readonly 'admin.role.info.title': "Role information";
1720
+ readonly 'admin.role.info.edit': "Edit";
1721
+ readonly 'admin.role.info.save': "Save";
1722
+ readonly 'admin.role.info.cancel': "Cancel";
1723
+ readonly 'admin.role.update.success': "Role updated successfully";
1724
+ readonly 'admin.role.permissions.title': "Permissions";
1725
+ readonly 'admin.role.permissions.showing': "{selected}/{total} permissions selected";
1726
+ readonly 'admin.role.permissions.save': "Save changes";
1727
+ readonly 'admin.role.permissions.saving': "Saving...";
1728
+ readonly 'admin.role.permissions.saveSuccess': "Permissions updated successfully";
1729
+ readonly 'admin.role.permissions.systemWarning': "This is a system role. Permissions cannot be edited.";
1730
+ readonly 'admin.role.permissions.selectAll': "Select all";
1731
+ readonly 'admin.role.permissions.unsavedChanges': "{count} unsaved changes";
1732
+ readonly 'admin.user.roles.title': "Assigned roles";
1733
+ readonly 'admin.user.roles.assign': "Assign role";
1734
+ readonly 'admin.user.roles.empty': "No roles assigned yet";
1735
+ readonly 'admin.user.roles.col.role': "Role";
1736
+ readonly 'admin.user.roles.col.branch': "Branch";
1737
+ readonly 'admin.user.roles.col.assignedAt': "Assigned date";
1738
+ readonly 'admin.user.roles.col.assignedBy': "Assigned by";
1739
+ readonly 'admin.user.roles.col.actions': "Actions";
1740
+ readonly 'admin.user.roles.sessionCacheInfo': "Role changes will take effect after the user logs in again.";
1741
+ readonly 'admin.user.role.assign.title': "Assign role";
1742
+ readonly 'admin.user.role.assign.desc': "Select a role and branch to assign to the user";
1743
+ readonly 'admin.user.role.assign.roleLabel': "Role";
1744
+ readonly 'admin.user.role.assign.rolePlaceholder': "Select a role";
1745
+ readonly 'admin.user.role.assign.branchLabel': "Branch";
1746
+ readonly 'admin.user.role.assign.branchPlaceholder': "Select a branch";
1747
+ readonly 'admin.user.role.assign.submit': "Assign role";
1748
+ readonly 'admin.user.role.assign.success': "Role \"{role}\" assigned successfully";
1749
+ readonly 'admin.user.role.remove.title': "Remove role";
1750
+ readonly 'admin.user.role.remove.desc': "Are you sure you want to remove the role \"{role}\" from this user?";
1751
+ readonly 'admin.user.role.remove.confirm': "Remove role";
1752
+ readonly 'admin.user.role.remove.success': "Role \"{role}\" removed successfully";
1753
+ readonly 'admin.templates.title': "Exam Template Management";
1754
+ readonly 'admin.templates.subtitle': "View, import, export, and delete exam templates";
1755
+ readonly 'admin.templates.table.title': "Template List";
1756
+ readonly 'admin.templates.searchPlaceholder': "Search templates";
1757
+ readonly 'admin.templates.table.empty': "No templates found";
1758
+ readonly 'admin.templates.table.loading': "Loading templates...";
1759
+ readonly 'admin.templates.table.showing': "Showing {count} templates";
1760
+ readonly 'admin.templates.col.title': "Title";
1761
+ readonly 'admin.templates.col.subTitle': "Subtitle";
1762
+ readonly 'admin.templates.col.examLevel': "Level";
1763
+ readonly 'admin.templates.col.theme': "Theme";
1764
+ readonly 'admin.templates.col.totalParts': "Parts";
1765
+ readonly 'admin.templates.col.totalQuestions': "Questions";
1766
+ readonly 'admin.templates.col.createdBy': "Created By";
1767
+ readonly 'admin.templates.col.createdAt': "Created";
1768
+ readonly 'admin.templates.col.updatedAt': "Updated";
1769
+ readonly 'admin.templates.col.examCount': "Exams";
1770
+ readonly 'admin.templates.col.actions': "Actions";
1771
+ readonly 'admin.templates.filter.searchPlaceholder': "Search by title...";
1772
+ readonly 'admin.templates.action.view': "View details";
1773
+ readonly 'admin.templates.action.export': "Export";
1774
+ readonly 'admin.templates.action.delete': "Delete";
1775
+ readonly 'admin.templates.action.import': "Import Template";
1776
+ readonly 'admin.templates.action.exporting': "Exporting...";
1777
+ readonly 'admin.templates.export.success': "Template exported successfully";
1778
+ readonly 'admin.templates.export.error': "Failed to export template";
1779
+ readonly 'admin.templates.import.success': "Template imported successfully";
1780
+ readonly 'admin.templates.import.error': "Failed to import template";
1781
+ readonly 'admin.templates.import.invalidJson': "Invalid JSON file. Please check the file format.";
1782
+ readonly 'admin.templates.import.invalidFile': "Please select a valid .json file.";
1783
+ readonly 'admin.templates.import.invalidFormat': "Invalid template format. The file must contain title and parts fields.";
1784
+ readonly 'admin.templates.import.parseError': "Failed to parse JSON file. Please check the file content.";
1785
+ readonly 'admin.templates.import.readError': "Failed to read file. Please try again.";
1786
+ readonly 'admin.templates.import.title': "Import Template";
1787
+ readonly 'admin.templates.import.desc': "Select a JSON file previously exported from the system. If a template with the same ID already exists, it will be replaced.";
1788
+ readonly 'admin.templates.import.selectFile': "Select JSON file";
1789
+ readonly 'admin.templates.import.submit': "Import";
1790
+ readonly 'admin.templates.import.submitting': "Importing...";
1791
+ readonly 'admin.templates.delete.title': "Delete Template";
1792
+ readonly 'admin.templates.delete.desc': "Are you sure you want to delete the template \"{title}\"? This action cannot be undone.";
1793
+ readonly 'admin.templates.delete.confirm': "Delete template";
1794
+ readonly 'admin.templates.delete.success': "Template \"{title}\" deleted successfully";
1795
+ readonly 'admin.templates.detail.title': "Template Details";
1796
+ readonly 'admin.templates.detail.back': "Back to list";
1797
+ readonly 'admin.templates.detail.jsonView': "JSON Content";
1798
+ readonly 'admin.templates.detail.info': "General Information";
1799
+ readonly 'admin.templates.detail.parts': "Parts ({count})";
1800
+ readonly 'admin.templates.detail.copyJson': "Copy JSON";
1801
+ readonly 'admin.templates.detail.jsonCopied': "JSON copied to clipboard";
1802
+ readonly 'admin.templates.create.title': "Create Template";
1803
+ readonly 'admin.templates.create.desc': "Fill in the template details below. Only the Parts field requires JSON input.";
1804
+ readonly 'admin.templates.create.placeholder': "Paste JSON content here...\n\n{\n \"title\": \"...\",\n \"examLevel\": \"...\",\n \"parts\": [...]\n}";
1805
+ readonly 'admin.templates.create.submit': "Create Template";
1806
+ readonly 'admin.templates.create.creating': "Creating...";
1807
+ readonly 'admin.templates.create.success': "Template created successfully";
1808
+ readonly 'admin.templates.create.emptyJson': "Please paste JSON content.";
1809
+ readonly 'admin.templates.create.invalidFormat': "Invalid template format. The JSON must contain title, examLevel and parts fields.";
1810
+ readonly 'admin.templates.create.parseError': "Invalid JSON. Please check the content and try again.";
1811
+ readonly 'admin.templates.create.validJson': "Valid JSON — ready to create";
1812
+ readonly 'admin.templates.action.create': "Create Template";
1813
+ readonly 'admin.templates.action.edit': "Edit";
1814
+ readonly 'admin.templates.form.titleLabel': "Title";
1815
+ readonly 'admin.templates.form.titlePlaceholder': "Enter template title...";
1816
+ readonly 'admin.templates.form.titleRequired': "Title is required.";
1817
+ readonly 'admin.templates.form.subTitleLabel': "Subtitle";
1818
+ readonly 'admin.templates.form.subTitlePlaceholder': "Enter subtitle (optional)...";
1819
+ readonly 'admin.templates.form.descriptionLabel': "Description";
1820
+ readonly 'admin.templates.form.descriptionPlaceholder': "Enter description (optional)...";
1821
+ readonly 'admin.templates.form.examLevelLabel': "Exam Level (CEFR)";
1822
+ readonly 'admin.templates.form.examLevelPlaceholder': "Select exam level...";
1823
+ readonly 'admin.templates.form.totalQuestionsLabel': "Total Questions";
1824
+ readonly 'admin.templates.form.totalPartsLabel': "Total Parts";
1825
+ readonly 'admin.templates.form.partsLabel': "Parts (JSON)";
1826
+ readonly 'admin.templates.form.partsPlaceholder': "[\n {\n \"partNumber\": 1,\n \"title\": \"Part 1\",\n \"questionCount\": 5,\n ...\n }\n]";
1827
+ readonly 'admin.templates.form.partsRequired': "Parts JSON is required and must be a non-empty array.";
1828
+ readonly 'admin.templates.form.partsNotArray': "Parts must be a JSON array.";
1829
+ readonly 'admin.templates.form.partsParseError': "Invalid JSON. Please check the content.";
1830
+ readonly 'admin.templates.form.validJson': "Valid JSON";
1831
+ readonly 'admin.templates.form.themeLabel': "Theme";
1832
+ readonly 'admin.templates.form.themePlaceholder': "Select theme...";
1833
+ readonly 'admin.templates.form.themeNone': "None";
1834
+ readonly 'admin.templates.edit.title': "Edit Template";
1835
+ readonly 'admin.templates.edit.desc': "Modify the template details below. Only the Parts field requires JSON input.";
1836
+ readonly 'admin.templates.edit.submit': "Save Changes";
1837
+ readonly 'admin.templates.edit.saving': "Saving...";
1838
+ readonly 'admin.templates.edit.success': "Template updated successfully";
1839
+ readonly 'admin.templates.edit.loadError': "Failed to load template data for editing";
1840
+ readonly 'bulkRooms.sidebar.label': "Bulk Exam Rooms";
1841
+ readonly 'bulkRooms.page.title': "Bulk Exam Room Provisioning";
1842
+ readonly 'bulkRooms.page.description': "Create many exam rooms for a contest across multiple branches in a single operation.";
1843
+ readonly 'bulkRooms.actions.next': "Next";
1844
+ readonly 'bulkRooms.actions.back': "Back";
1845
+ readonly 'bulkRooms.actions.preview': "Preview";
1846
+ readonly 'bulkRooms.actions.commit': "Create rooms";
1847
+ readonly 'bulkRooms.actions.confirm': "Confirm";
1848
+ readonly 'bulkRooms.actions.cancel': "Cancel";
1849
+ readonly 'bulkRooms.actions.reset': "Start over";
1850
+ readonly 'bulkRooms.actions.close': "Close";
1851
+ readonly 'bulkRooms.steps.contest': "Pick contest";
1852
+ readonly 'bulkRooms.steps.branches': "Pick branches";
1853
+ readonly 'bulkRooms.steps.config': "Configure";
1854
+ readonly 'bulkRooms.steps.preview': "Preview";
1855
+ readonly 'bulkRooms.steps.commit': "Create rooms";
1856
+ readonly 'bulkRooms.steps.indicator': "Step {current} of {total}";
1857
+ readonly 'bulkRooms.contest.title': "Pick a contest";
1858
+ readonly 'bulkRooms.contest.description': "Choose the contest the new rooms will belong to.";
1859
+ readonly 'bulkRooms.contest.placeholder': "Search contests by name...";
1860
+ readonly 'bulkRooms.contest.empty': "No contests found.";
1861
+ readonly 'bulkRooms.contest.selected': "Selected: {name}";
1862
+ readonly 'bulkRooms.branches.title': "Pick branches";
1863
+ readonly 'bulkRooms.branches.description': "Select one or more branches to provision rooms for.";
1864
+ readonly 'bulkRooms.branches.placeholder': "Choose branches...";
1865
+ readonly 'bulkRooms.branches.empty': "No branches available.";
1866
+ readonly 'bulkRooms.branches.selectedCount': "{count} branches selected";
1867
+ readonly 'bulkRooms.branches.sourceEbm': "Branch list is loaded from the EBM system.";
1868
+ readonly 'bulkRooms.branches.selectAll': "Select all branches";
1869
+ readonly 'bulkRooms.branches.selectedSummary': "{selected}/{total} branches selected";
1870
+ readonly 'bulkRooms.config.title': "Per-branch configuration";
1871
+ readonly 'bulkRooms.config.description': "Configure how rooms are generated for each selected branch.";
1872
+ readonly 'bulkRooms.config.mode.label': "Provisioning mode";
1873
+ readonly 'bulkRooms.config.mode.AUTO_CLASS': "Auto from classes";
1874
+ readonly 'bulkRooms.config.mode.MANUAL': "Manual";
1875
+ readonly 'bulkRooms.config.mode.AUTO_CLASS.help': "Generate one room per active class room of the branch.";
1876
+ readonly 'bulkRooms.config.mode.MANUAL.help': "Define rooms and student codes manually.";
1877
+ readonly 'bulkRooms.config.onlyTeacher.label': "Add branch teachers to the rooms";
1878
+ readonly 'bulkRooms.config.onlyTeacher.help': "If checked, all teachers of the branch will be added. If unchecked, no teachers will be added.";
1879
+ readonly 'bulkRooms.config.nameFormat.label': "Room name format";
1880
+ readonly 'bulkRooms.config.nameFormat.placeholder': "{branchCode} - {className}";
1881
+ readonly 'bulkRooms.config.codeFormat.label': "Room code format (optional)";
1882
+ readonly 'bulkRooms.config.codeFormat.placeholder': "{branchCode}_ROOM_{index}";
1883
+ readonly 'bulkRooms.config.tokens.help': "Supported tokens: {tokens}";
1884
+ readonly 'bulkRooms.config.classEbmIds.label': "Class room ids (optional)";
1885
+ readonly 'bulkRooms.config.classEbmIds.placeholder': "Comma-separated class room ids";
1886
+ readonly 'bulkRooms.config.classEbmIds.help': "Leave empty to use all active class rooms of the branch.";
1887
+ readonly 'bulkRooms.config.rooms.title': "Rooms (manual mode)";
1888
+ readonly 'bulkRooms.config.rooms.add': "Add room";
1889
+ readonly 'bulkRooms.config.rooms.remove': "Remove";
1890
+ readonly 'bulkRooms.config.rooms.empty': "No rooms yet. Click \"Add room\" to start.";
1891
+ readonly 'bulkRooms.config.studentCodes.label': "Student codes (optional, one per line)";
1892
+ readonly 'bulkRooms.config.studentCodes.placeholder': "HS001\nHS002\n...";
1893
+ readonly 'bulkRooms.config.studentCodes.help': "Missing users will be created on commit (default password = student code).";
1894
+ readonly 'bulkRooms.preview.title': "Preview";
1895
+ readonly 'bulkRooms.preview.description': "Review the planned rooms before confirming.";
1896
+ readonly 'bulkRooms.preview.loading': "Building plan...";
1897
+ readonly 'bulkRooms.preview.error': "Failed to build preview.";
1898
+ readonly 'bulkRooms.preview.requiresForm': "Select contest, branches and complete config to enable preview.";
1899
+ readonly 'bulkRooms.preview.summary.totalRooms': "Total rooms";
1900
+ readonly 'bulkRooms.preview.summary.totalStaff': "Total staff";
1901
+ readonly 'bulkRooms.preview.summary.totalStudents': "Total students";
1902
+ readonly 'bulkRooms.preview.summary.totalNewUsers': "New users to create";
1903
+ readonly 'bulkRooms.preview.summary.totalNewStudents': "New student accounts";
1904
+ readonly 'bulkRooms.preview.summary.totalNewTeachers': "New teacher accounts";
1905
+ readonly 'bulkRooms.preview.table.branch': "Branch";
1906
+ readonly 'bulkRooms.preview.table.room': "Room name";
1907
+ readonly 'bulkRooms.preview.table.code': "Room code";
1908
+ readonly 'bulkRooms.preview.table.staff': "Staff";
1909
+ readonly 'bulkRooms.preview.table.students': "Students";
1910
+ readonly 'bulkRooms.preview.table.newUsers': "New users";
1911
+ readonly 'bulkRooms.preview.table.roomName': "Room name";
1912
+ readonly 'bulkRooms.preview.table.roomCode': "Room code";
1913
+ readonly 'bulkRooms.preview.table.staffCount': "Staff";
1914
+ readonly 'bulkRooms.preview.table.studentCount': "Students";
1915
+ readonly 'bulkRooms.preview.table.roomCount': "{count} rooms";
1916
+ readonly 'bulkRooms.preview.table.noRooms': "No rooms for this branch.";
1917
+ readonly 'bulkRooms.preview.table.showMore': "Show {count} more rooms";
1918
+ readonly 'bulkRooms.preview.table.collapse': "Collapse";
1919
+ readonly 'bulkRooms.preview.empty': "No rooms in the plan.";
1920
+ readonly 'bulkRooms.commit.dialog.title': "Confirm bulk provisioning";
1921
+ readonly 'bulkRooms.commit.dialog.description': "You are about to create {rooms} rooms and {users} new users. This action cannot be undone.";
1922
+ readonly 'bulkRooms.commit.dialog.warning': "This will create rooms and users in the database and cannot be undone.";
1923
+ readonly 'bulkRooms.commit.dialog.confirmCheckbox': "I have reviewed the preview and confirm creating these rooms.";
1924
+ readonly 'bulkRooms.commit.dialog.committing': "Creating...";
1925
+ readonly 'bulkRooms.commit.success.title': "Provisioning succeeded";
1926
+ readonly 'bulkRooms.commit.success.description': "Created {rooms} rooms, {participants} participants and {users} new users.";
1927
+ readonly 'bulkRooms.commit.success.rooms': "Rooms created";
1928
+ readonly 'bulkRooms.commit.success.participants': "Participants";
1929
+ readonly 'bulkRooms.commit.success.users': "New users";
1930
+ readonly 'bulkRooms.commit.error.title': "Provisioning failed";
1931
+ readonly 'bulkRooms.commit.error.description': "Some branches failed to provision. See error details below.";
1932
+ readonly 'bulkRooms.commit.error.list': "Error list";
1933
+ readonly 'bulkRooms.commit.error.partial': "{count} branch(es) reported errors.";
1934
+ readonly 'bulkRooms.commit.error.branch': "Branch {branchId} (EBM #{ebmBranchId}): {reason}";
1935
+ };
1936
+ export default admin;
1937
+ //# sourceMappingURL=admin.d.ts.map