@citolab/qti-components 7.3.19 → 7.3.21

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 (556) hide show
  1. package/cdn/chunks/chunk-26QYN3JJ.js +1482 -0
  2. package/cdn/chunks/chunk-2BSPQRNR.js +6 -0
  3. package/cdn/chunks/chunk-2IJBTWWT.js +2 -0
  4. package/cdn/chunks/chunk-2N2XIR3B.js +5 -0
  5. package/cdn/chunks/chunk-2PXIZTCM.js +1 -0
  6. package/cdn/chunks/chunk-3BPUHYAN.js +1 -0
  7. package/cdn/chunks/chunk-3CVBBZDT.js +17 -0
  8. package/cdn/chunks/chunk-3H3ITD2Q.js +5 -0
  9. package/cdn/chunks/chunk-3IBGLVHA.js +1 -0
  10. package/cdn/chunks/chunk-3PVCPEFY.js +5 -0
  11. package/cdn/chunks/chunk-3WY3AI3D.js +1482 -0
  12. package/cdn/chunks/chunk-3YF52BZZ.js +41 -0
  13. package/cdn/chunks/chunk-3ZFHDJHW.js +3636 -0
  14. package/cdn/chunks/chunk-426N5A5I.js +1 -0
  15. package/cdn/chunks/chunk-453G3A34.js +8 -0
  16. package/cdn/chunks/chunk-4AGE7DVK.js +48 -0
  17. package/cdn/chunks/chunk-4DXCBZFR.js +3698 -0
  18. package/cdn/chunks/chunk-4FBS7ODL.js +6 -0
  19. package/cdn/chunks/chunk-4IWCVQQJ.js +8 -0
  20. package/cdn/chunks/chunk-4YPL4JG2.js +1 -0
  21. package/cdn/chunks/chunk-522JFYKC.js +6 -0
  22. package/cdn/chunks/chunk-5ICSVSCW.js +1482 -0
  23. package/cdn/chunks/chunk-5L5JXKEA.js +1 -0
  24. package/cdn/chunks/chunk-5TEGKCEI.js +48 -0
  25. package/cdn/chunks/chunk-5WLHU3FH.js +8 -0
  26. package/cdn/chunks/chunk-5WPKWVLA.js +1 -0
  27. package/cdn/chunks/chunk-63C5YDWF.js +1482 -0
  28. package/cdn/chunks/chunk-6ELXCFB2.js +1 -0
  29. package/cdn/chunks/chunk-6FSYASNZ.js +1 -0
  30. package/cdn/chunks/chunk-6H26KONO.js +1482 -0
  31. package/cdn/chunks/chunk-6OUX6PKB.js +5 -0
  32. package/cdn/chunks/chunk-6Q3S6QYF.js +1471 -0
  33. package/cdn/chunks/chunk-6SGFGN34.js +8 -0
  34. package/cdn/chunks/chunk-6XVY32RS.js +1 -0
  35. package/cdn/chunks/chunk-6ZE2IMSJ.js +1471 -0
  36. package/cdn/chunks/chunk-73RDXCTO.js +1 -0
  37. package/cdn/chunks/chunk-73YTM4JU.js +8 -0
  38. package/cdn/chunks/chunk-74FJHIJ5.js +8 -0
  39. package/cdn/chunks/chunk-77U2O27N.js +1 -0
  40. package/cdn/chunks/chunk-7AX6K3VW.js +1 -0
  41. package/cdn/chunks/chunk-7LCGB3GF.js +6 -0
  42. package/cdn/chunks/chunk-7NHDLON4.js +5 -0
  43. package/cdn/chunks/chunk-A57EJSRU.js +1 -0
  44. package/cdn/chunks/chunk-AAZIKH5Z.js +3650 -0
  45. package/cdn/chunks/chunk-AMJIIPBQ.js +48 -0
  46. package/cdn/chunks/chunk-ARUVWWSO.js +5 -0
  47. package/cdn/chunks/chunk-BGFVQO5N.js +8 -0
  48. package/cdn/chunks/chunk-BGWSUBMK.js +1482 -0
  49. package/cdn/chunks/chunk-BRXZ5HLX.js +8 -0
  50. package/cdn/chunks/chunk-BSBPPIVO.js +5 -0
  51. package/cdn/chunks/chunk-BUGBHX3F.js +5 -0
  52. package/cdn/chunks/chunk-BURSTFDF.js +2 -0
  53. package/cdn/chunks/chunk-BXEEPJPF.js +48 -0
  54. package/cdn/chunks/chunk-BXTNMGCF.js +1 -0
  55. package/cdn/chunks/chunk-C25DJHRW.js +5 -0
  56. package/cdn/chunks/chunk-C3XRHLQX.js +1 -0
  57. package/cdn/chunks/chunk-C7AO3IVZ.js +48 -0
  58. package/cdn/chunks/chunk-CGI4LREF.js +1 -0
  59. package/cdn/chunks/chunk-CLAUENYE.js +8 -0
  60. package/cdn/chunks/chunk-CTNAGYH7.js +1 -0
  61. package/cdn/chunks/chunk-DD55IQIL.js +6 -0
  62. package/cdn/chunks/chunk-DESMFZJW.js +5 -0
  63. package/cdn/chunks/chunk-DHNKVZRG.js +1 -0
  64. package/cdn/chunks/chunk-DNBBQ7LY.js +1 -0
  65. package/cdn/chunks/chunk-DP5FVJRS.js +21 -0
  66. package/cdn/chunks/chunk-DXF4ZBJ2.js +1 -0
  67. package/cdn/chunks/chunk-E2UBGM45.js +1 -0
  68. package/cdn/chunks/chunk-E46BCOOW.js +1 -0
  69. package/cdn/chunks/chunk-EGFC4XQG.js +5 -0
  70. package/cdn/chunks/chunk-EINATJIA.js +1 -0
  71. package/cdn/chunks/chunk-EQ4LUVQK.js +8 -0
  72. package/cdn/chunks/chunk-EXMUQYL6.js +5 -0
  73. package/cdn/chunks/chunk-EXVHRHST.js +8 -0
  74. package/cdn/chunks/chunk-FC7HXYUV.js +8 -0
  75. package/cdn/chunks/chunk-FDV6POVV.js +6 -0
  76. package/cdn/chunks/chunk-FEJUVLN4.js +6 -0
  77. package/cdn/chunks/chunk-FLQBFTRW.js +37 -0
  78. package/cdn/chunks/chunk-FOE7HRKJ.js +10 -0
  79. package/cdn/chunks/chunk-FUGKKQ6E.js +1 -0
  80. package/cdn/chunks/chunk-FWFPMNDO.js +5 -0
  81. package/cdn/chunks/chunk-FYXNIYGH.js +1 -0
  82. package/cdn/chunks/chunk-G2DN6BDN.js +8 -0
  83. package/cdn/chunks/chunk-GBAAEAYK.js +5 -0
  84. package/cdn/chunks/chunk-GDRPZEZJ.js +5 -0
  85. package/cdn/chunks/chunk-GFO3YUEH.js +1 -0
  86. package/cdn/chunks/chunk-GFXQHIPI.js +1482 -0
  87. package/cdn/chunks/chunk-GY74IPZ2.js +8 -0
  88. package/cdn/chunks/chunk-HA6MFZZU.js +48 -0
  89. package/cdn/chunks/chunk-HAE5ZHID.js +1 -0
  90. package/cdn/chunks/chunk-HCXHHI6V.js +18 -0
  91. package/cdn/chunks/chunk-HDMF4QZO.js +48 -0
  92. package/cdn/chunks/chunk-HHALXPVF.js +5 -0
  93. package/cdn/chunks/chunk-HKUIQBCM.js +1 -0
  94. package/cdn/chunks/chunk-HKWYQB5Z.js +37 -0
  95. package/cdn/chunks/chunk-HO6JOQX4.js +25 -0
  96. package/cdn/chunks/chunk-HPX7CBTS.js +1 -0
  97. package/cdn/chunks/chunk-HTH5YCZO.js +8 -0
  98. package/cdn/chunks/chunk-I3PDGPL6.js +48 -0
  99. package/cdn/chunks/chunk-I4G5VXGD.js +5 -0
  100. package/cdn/chunks/chunk-IHVTWACH.js +8 -0
  101. package/cdn/chunks/chunk-IJBHBPIR.js +1 -0
  102. package/cdn/chunks/chunk-ILEDSBLL.js +8 -0
  103. package/cdn/chunks/chunk-IPISUVWE.js +8 -0
  104. package/cdn/chunks/chunk-IYZLVTNL.js +5 -0
  105. package/cdn/chunks/chunk-J3NAMJRF.js +55 -0
  106. package/cdn/chunks/chunk-J5P2GBPV.js +1 -0
  107. package/cdn/chunks/chunk-JHMA3APO.js +3638 -0
  108. package/cdn/chunks/chunk-JJNOTSC4.js +5 -0
  109. package/cdn/chunks/chunk-JVPQQZNX.js +5 -0
  110. package/cdn/chunks/chunk-JYF2SOPC.js +6 -0
  111. package/cdn/chunks/chunk-K42MGICV.js +1 -0
  112. package/cdn/chunks/chunk-K7NB4LHE.js +1 -0
  113. package/cdn/chunks/chunk-KASON6Y7.js +17 -0
  114. package/cdn/chunks/chunk-KKQK6WIG.js +1 -0
  115. package/cdn/chunks/chunk-KP6MWEDW.js +5 -0
  116. package/cdn/chunks/chunk-KWDCU3P6.js +1482 -0
  117. package/cdn/chunks/chunk-KY3OKCFK.js +8 -0
  118. package/cdn/chunks/chunk-LBMZYOKF.js +8 -0
  119. package/cdn/chunks/chunk-LC7KE332.js +1 -0
  120. package/cdn/chunks/chunk-LIUOA3YV.js +1 -0
  121. package/cdn/chunks/chunk-LO2NM3CE.js +1 -0
  122. package/cdn/chunks/chunk-LO4MJ72X.js +8 -0
  123. package/cdn/chunks/chunk-LRGALTZX.js +1 -0
  124. package/cdn/chunks/chunk-LRIOWAOJ.js +8 -0
  125. package/cdn/chunks/chunk-LS3OPHR4.js +8 -0
  126. package/cdn/chunks/chunk-LVKOQVTZ.js +17 -0
  127. package/cdn/chunks/chunk-M4VO4BD3.js +1471 -0
  128. package/cdn/chunks/chunk-M53CKFQE.js +5 -0
  129. package/cdn/chunks/chunk-M5UOISZJ.js +1482 -0
  130. package/cdn/chunks/chunk-MAPVFADC.js +5 -0
  131. package/cdn/chunks/chunk-MD33BNWM.js +1 -0
  132. package/cdn/chunks/chunk-MICRS5DH.js +8 -0
  133. package/cdn/chunks/chunk-MLEUGPRW.js +8 -0
  134. package/cdn/chunks/chunk-MM76ZODZ.js +8 -0
  135. package/cdn/chunks/chunk-MQVMYZ75.js +1 -0
  136. package/cdn/chunks/chunk-MRQ46JRY.js +8 -0
  137. package/cdn/chunks/chunk-MSOBQUON.js +10 -0
  138. package/cdn/chunks/chunk-MVGI4SNI.js +17 -0
  139. package/cdn/chunks/chunk-MYXD4BOJ.js +2 -0
  140. package/cdn/chunks/chunk-MZRZP33C.js +1 -0
  141. package/cdn/chunks/chunk-NDMZ2RAB.js +48 -0
  142. package/cdn/chunks/chunk-NHHA3O6Y.js +1 -0
  143. package/cdn/chunks/chunk-NJ3OVLBF.js +1 -0
  144. package/cdn/chunks/chunk-NJP4VZB3.js +8 -0
  145. package/cdn/chunks/chunk-NO3TZB6T.js +5 -0
  146. package/cdn/chunks/chunk-NRY6IJSD.js +5 -0
  147. package/cdn/chunks/chunk-NVZTYSGS.js +1 -0
  148. package/cdn/chunks/chunk-NXQQIB7Y.js +5 -0
  149. package/cdn/chunks/chunk-O4RAJ3LM.js +25 -0
  150. package/cdn/chunks/chunk-OENDUEU2.js +5 -0
  151. package/cdn/chunks/chunk-OEZI5WCY.js +18 -0
  152. package/cdn/chunks/chunk-ON6ISIIV.js +1 -0
  153. package/cdn/chunks/chunk-OOEY4RSQ.js +1 -0
  154. package/cdn/chunks/chunk-OR67S36X.js +5 -0
  155. package/cdn/chunks/chunk-OSLUHYFD.js +8 -0
  156. package/cdn/chunks/chunk-OUQFWBVG.js +8 -0
  157. package/cdn/chunks/chunk-P6L4B5GC.js +1 -0
  158. package/cdn/chunks/chunk-PF74FX32.js +1 -0
  159. package/cdn/chunks/chunk-PFCJVHJ3.js +10 -0
  160. package/cdn/chunks/chunk-PMYTST5N.js +17 -0
  161. package/cdn/chunks/chunk-PP62N3C4.js +8 -0
  162. package/cdn/chunks/chunk-PPSGCGRR.js +8 -0
  163. package/cdn/chunks/chunk-PQLJWD6V.js +21 -0
  164. package/cdn/chunks/chunk-PTQFS3S5.js +2 -0
  165. package/cdn/chunks/chunk-PU7OABT3.js +1 -0
  166. package/cdn/chunks/chunk-Q2CKZUYX.js +1 -0
  167. package/cdn/chunks/chunk-Q4EENVQD.js +1 -0
  168. package/cdn/chunks/chunk-Q64V7VQU.js +1 -0
  169. package/cdn/chunks/chunk-QCDT25GU.js +8 -0
  170. package/cdn/chunks/chunk-QEFO63QX.js +8 -0
  171. package/cdn/chunks/chunk-QIZBL4QP.js +1 -0
  172. package/cdn/chunks/chunk-QYCLNTAQ.js +1 -0
  173. package/cdn/chunks/chunk-RGNFAPWY.js +2 -0
  174. package/cdn/chunks/chunk-RHEBGA4B.js +1 -0
  175. package/cdn/chunks/chunk-RQSAQ6H4.js +1 -0
  176. package/cdn/chunks/chunk-RTVTE2XY.js +1482 -0
  177. package/cdn/chunks/chunk-S5QDLZ6J.js +1 -0
  178. package/cdn/chunks/chunk-SBACDLL6.js +73 -0
  179. package/cdn/chunks/chunk-SBWSYKE5.js +5 -0
  180. package/cdn/chunks/chunk-SVWD3DJK.js +1 -0
  181. package/cdn/chunks/chunk-SXRIA7VB.js +8 -0
  182. package/cdn/chunks/chunk-SYTQX5DA.js +1 -0
  183. package/cdn/chunks/chunk-TLK5RNXE.js +1 -0
  184. package/cdn/chunks/chunk-TOK64KBR.js +5 -0
  185. package/cdn/chunks/chunk-TR7WXOQR.js +1 -0
  186. package/cdn/chunks/chunk-UMDZKG6K.js +1 -0
  187. package/cdn/chunks/chunk-UNK5GKOK.js +5 -0
  188. package/cdn/chunks/chunk-V2AJKKRF.js +1470 -0
  189. package/cdn/chunks/chunk-V3EJROZX.js +3649 -0
  190. package/cdn/chunks/chunk-VEG7LKS3.js +48 -0
  191. package/cdn/chunks/chunk-VNZCEVYY.js +24 -0
  192. package/cdn/chunks/chunk-VQ2JX2OE.js +5 -0
  193. package/cdn/chunks/chunk-VUJWHOI6.js +1482 -0
  194. package/cdn/chunks/chunk-W73FT5JE.js +48 -0
  195. package/cdn/chunks/chunk-W7O6UFTQ.js +5 -0
  196. package/cdn/chunks/chunk-WCCTDLQ4.js +8 -0
  197. package/cdn/chunks/chunk-WOKUXDJR.js +8 -0
  198. package/cdn/chunks/chunk-WPXZSIUM.js +5 -0
  199. package/cdn/chunks/chunk-WTUHCDEZ.js +10 -0
  200. package/cdn/chunks/chunk-WV5B4HNF.js +1471 -0
  201. package/cdn/chunks/chunk-WWMMW7RJ.js +1 -0
  202. package/cdn/chunks/chunk-X3JAXGAZ.js +8 -0
  203. package/cdn/chunks/chunk-X4FA36TC.js +1 -0
  204. package/cdn/chunks/chunk-XA25EXKN.js +1 -0
  205. package/cdn/chunks/chunk-XBLYTLX6.js +5 -0
  206. package/cdn/chunks/chunk-XH36X5UJ.js +1482 -0
  207. package/cdn/chunks/chunk-XJ2CFTZP.js +1 -0
  208. package/cdn/chunks/chunk-XJWUPDZ4.js +10 -0
  209. package/cdn/chunks/chunk-XMKJLLUL.js +1 -0
  210. package/cdn/chunks/chunk-XMS6AFBV.js +5 -0
  211. package/cdn/chunks/chunk-XSVPZFGN.js +1 -0
  212. package/cdn/chunks/chunk-XYWB7S55.js +1482 -0
  213. package/cdn/chunks/chunk-Y2P4IF3E.js +1 -0
  214. package/cdn/chunks/chunk-Y3BICHQ5.js +6 -0
  215. package/cdn/chunks/chunk-YCBNF5QU.js +17 -0
  216. package/cdn/chunks/chunk-YEGYR7SL.js +5 -0
  217. package/cdn/chunks/chunk-YEK2E3FB.js +8 -0
  218. package/cdn/chunks/chunk-YHLQ2JQ2.js +1 -0
  219. package/cdn/chunks/chunk-YIRZSKIP.js +2 -0
  220. package/cdn/chunks/chunk-YM5QNYGZ.js +5 -0
  221. package/cdn/chunks/chunk-YOTJAW26.js +6 -0
  222. package/cdn/chunks/chunk-Z7KIJX7V.js +1482 -0
  223. package/cdn/chunks/chunk-ZCQFKXZ3.js +48 -0
  224. package/cdn/chunks/chunk-ZKOKGZBL.js +5 -0
  225. package/cdn/chunks/chunk-ZO5G6CHW.js +1470 -0
  226. package/cdn/chunks/chunk-ZPCQH3EY.js +10 -0
  227. package/cdn/chunks/chunk-ZUQ72RIQ.js +8 -0
  228. package/cdn/chunks/chunk-ZZNCHSYH.js +5 -0
  229. package/cdn/exports/computed-item.context.js +1 -1
  230. package/cdn/exports/computed.context.js +1 -1
  231. package/cdn/exports/config.context.js +1 -1
  232. package/cdn/exports/interaction.js +1 -1
  233. package/cdn/exports/item.context.js +1 -1
  234. package/cdn/exports/qti-assessment-item.context.js +1 -1
  235. package/cdn/exports/qti-condition-expression.js +1 -1
  236. package/cdn/exports/qti-expression.js +1 -1
  237. package/cdn/exports/qti.context.js +1 -0
  238. package/cdn/exports/session.context.js +1 -1
  239. package/cdn/exports/test.context.js +1 -1
  240. package/cdn/index.global.js +1 -1
  241. package/cdn/index.js +1 -1
  242. package/cdn/qti-components/index.js +1 -1
  243. package/cdn/qti-item/components/item-container.js +1 -1
  244. package/cdn/qti-item/components/item-correct-response-mode.js +10 -0
  245. package/cdn/qti-item/components/item-show-candidate-correction.js +8 -0
  246. package/cdn/qti-item/components/item-show-correct-response.js +1 -1
  247. package/cdn/qti-item/components/print-item-variables.js +1 -1
  248. package/cdn/qti-item/components/styles.js +1 -1
  249. package/cdn/qti-item/core/index.js +1 -1
  250. package/cdn/qti-loader/index.js +1 -1
  251. package/cdn/qti-test/components/index.js +1 -1
  252. package/cdn/qti-test/components/styles.js +1 -1
  253. package/cdn/qti-test/components/test-check-item.js +1 -1
  254. package/cdn/qti-test/components/test-container.js +1 -1
  255. package/cdn/qti-test/components/test-end-attempt.js +1 -1
  256. package/cdn/qti-test/components/test-item-link.js +1 -1
  257. package/cdn/qti-test/components/test-navigation.js +1 -1
  258. package/cdn/qti-test/components/test-next.js +1 -1
  259. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -1
  260. package/cdn/qti-test/components/test-prev.js +1 -1
  261. package/cdn/qti-test/components/test-print-context.js +1 -1
  262. package/cdn/qti-test/components/test-print-item-variables.js +1 -1
  263. package/cdn/qti-test/components/test-scoring-buttons.js +1 -1
  264. package/cdn/qti-test/components/test-scoring-feedback.js +1 -1
  265. package/cdn/qti-test/components/test-section-buttons-stamp.js +1 -1
  266. package/cdn/qti-test/components/test-section-link.js +1 -1
  267. package/cdn/qti-test/components/test-show-correct-response.js +1 -1
  268. package/cdn/qti-test/components/test-stamp.js +1 -1
  269. package/cdn/qti-test/components/test-view-toggle.js +1 -1
  270. package/cdn/qti-test/components/test-view.js +1 -1
  271. package/cdn/qti-test/core/index.js +1 -1
  272. package/cdn/qti-transformers/index.js +1 -1
  273. package/dist/chunks/chunk-32TQEF77.js +142 -0
  274. package/dist/chunks/chunk-32TQEF77.js.map +1 -0
  275. package/dist/chunks/chunk-34THNRGC.js +8093 -0
  276. package/dist/chunks/chunk-34THNRGC.js.map +1 -0
  277. package/dist/chunks/chunk-3JJM4BKK.js +367 -0
  278. package/dist/chunks/chunk-3JJM4BKK.js.map +1 -0
  279. package/dist/chunks/chunk-3LX4O663.js +3688 -0
  280. package/dist/chunks/chunk-3LX4O663.js.map +1 -0
  281. package/dist/chunks/chunk-3O3BVPXQ.js +8655 -0
  282. package/dist/chunks/chunk-3O3BVPXQ.js.map +1 -0
  283. package/dist/chunks/chunk-3SABVS4P.js +19 -0
  284. package/dist/chunks/chunk-3SABVS4P.js.map +1 -0
  285. package/dist/chunks/chunk-4A6SHFWN.js +8093 -0
  286. package/dist/chunks/chunk-4A6SHFWN.js.map +1 -0
  287. package/dist/chunks/chunk-4D3G23AV.js +94 -0
  288. package/dist/chunks/chunk-4D3G23AV.js.map +1 -0
  289. package/dist/chunks/chunk-4PG2PZHY.js +8924 -0
  290. package/dist/chunks/chunk-4PG2PZHY.js.map +1 -0
  291. package/dist/chunks/chunk-55C6NAK5.js +142 -0
  292. package/dist/chunks/chunk-55C6NAK5.js.map +1 -0
  293. package/dist/chunks/chunk-565QP4OA.js +94 -0
  294. package/dist/chunks/chunk-565QP4OA.js.map +1 -0
  295. package/dist/chunks/chunk-5MAENJ2J.js +913 -0
  296. package/dist/chunks/chunk-5MAENJ2J.js.map +1 -0
  297. package/dist/chunks/chunk-5P64MALP.js +3640 -0
  298. package/dist/chunks/chunk-5P64MALP.js.map +1 -0
  299. package/dist/chunks/chunk-65YQSKWV.js +94 -0
  300. package/dist/chunks/chunk-65YQSKWV.js.map +1 -0
  301. package/dist/chunks/chunk-6EQ4U5EP.js +142 -0
  302. package/dist/chunks/chunk-6EQ4U5EP.js.map +1 -0
  303. package/dist/chunks/chunk-6NLDLAQA.js +367 -0
  304. package/dist/chunks/chunk-6NLDLAQA.js.map +1 -0
  305. package/dist/chunks/chunk-6OB2U3VU.js +287 -0
  306. package/dist/chunks/chunk-6OB2U3VU.js.map +1 -0
  307. package/dist/chunks/chunk-7XIK3UQX.js +3628 -0
  308. package/dist/chunks/chunk-7XIK3UQX.js.map +1 -0
  309. package/dist/chunks/chunk-7Z7KA2QQ.js +142 -0
  310. package/dist/chunks/chunk-7Z7KA2QQ.js.map +1 -0
  311. package/dist/chunks/chunk-ARBFS6D6.js +8924 -0
  312. package/dist/chunks/chunk-ARBFS6D6.js.map +1 -0
  313. package/dist/chunks/chunk-AVMYQQT2.js +94 -0
  314. package/dist/chunks/chunk-AVMYQQT2.js.map +1 -0
  315. package/dist/chunks/chunk-B2IUQFUU.js +913 -0
  316. package/dist/chunks/chunk-B2IUQFUU.js.map +1 -0
  317. package/dist/chunks/chunk-B2O3YM5H.js +8093 -0
  318. package/dist/chunks/chunk-B2O3YM5H.js.map +1 -0
  319. package/dist/chunks/chunk-D2VLZ4I5.js +8755 -0
  320. package/dist/chunks/chunk-D2VLZ4I5.js.map +1 -0
  321. package/dist/chunks/chunk-DDSFGYAK.js +913 -0
  322. package/dist/chunks/chunk-DDSFGYAK.js.map +1 -0
  323. package/dist/chunks/chunk-DJUWVE3Q.js +8655 -0
  324. package/dist/chunks/chunk-DJUWVE3Q.js.map +1 -0
  325. package/dist/chunks/chunk-DPJNXSTI.js +19 -0
  326. package/dist/chunks/chunk-DPJNXSTI.js.map +1 -0
  327. package/dist/chunks/chunk-E7DT7SMT.js +8655 -0
  328. package/dist/chunks/chunk-E7DT7SMT.js.map +1 -0
  329. package/dist/chunks/chunk-EB3ZESWL.js +367 -0
  330. package/dist/chunks/chunk-EB3ZESWL.js.map +1 -0
  331. package/dist/chunks/chunk-EBODGAT7.js +113 -0
  332. package/dist/chunks/chunk-EBODGAT7.js.map +1 -0
  333. package/dist/chunks/chunk-EMOJR4QG.js +913 -0
  334. package/dist/chunks/chunk-EMOJR4QG.js.map +1 -0
  335. package/dist/chunks/chunk-ERYHQVOT.js +8 -0
  336. package/dist/chunks/chunk-ERYHQVOT.js.map +1 -0
  337. package/dist/chunks/chunk-F6RSPPVW.js +94 -0
  338. package/dist/chunks/chunk-F6RSPPVW.js.map +1 -0
  339. package/dist/chunks/chunk-FL72PF4D.js +19 -0
  340. package/dist/chunks/chunk-FL72PF4D.js.map +1 -0
  341. package/dist/chunks/chunk-GFCOR6TX.js +146 -0
  342. package/dist/chunks/chunk-GFCOR6TX.js.map +1 -0
  343. package/dist/chunks/chunk-GMXDW4I3.js +913 -0
  344. package/dist/chunks/chunk-GMXDW4I3.js.map +1 -0
  345. package/dist/chunks/chunk-GQUBYVP3.js +913 -0
  346. package/dist/chunks/chunk-GQUBYVP3.js.map +1 -0
  347. package/dist/chunks/chunk-H6KHXSIO.js +8 -0
  348. package/dist/chunks/chunk-H6KHXSIO.js.map +1 -0
  349. package/dist/chunks/chunk-HEP5QRPW.js +94 -0
  350. package/dist/chunks/chunk-HEP5QRPW.js.map +1 -0
  351. package/dist/chunks/chunk-HFAUM56X.js +208 -0
  352. package/dist/chunks/chunk-HFAUM56X.js.map +1 -0
  353. package/dist/chunks/chunk-HYMSLOZ7.js +103 -0
  354. package/dist/chunks/chunk-HYMSLOZ7.js.map +1 -0
  355. package/dist/chunks/chunk-IAEGLQ4C.js +144 -0
  356. package/dist/chunks/chunk-IAEGLQ4C.js.map +1 -0
  357. package/dist/chunks/chunk-J2HZTWER.js +8093 -0
  358. package/dist/chunks/chunk-J2HZTWER.js.map +1 -0
  359. package/dist/chunks/chunk-JARLFKS7.js +913 -0
  360. package/dist/chunks/chunk-JARLFKS7.js.map +1 -0
  361. package/dist/chunks/chunk-JATNQ3KB.js +913 -0
  362. package/dist/chunks/chunk-JATNQ3KB.js.map +1 -0
  363. package/dist/chunks/chunk-JOASLKRQ.js +914 -0
  364. package/dist/chunks/chunk-JOASLKRQ.js.map +1 -0
  365. package/dist/chunks/chunk-K4QJBUIX.js +367 -0
  366. package/dist/chunks/chunk-K4QJBUIX.js.map +1 -0
  367. package/dist/chunks/chunk-KCTFNJO4.js +8748 -0
  368. package/dist/chunks/chunk-KCTFNJO4.js.map +1 -0
  369. package/dist/chunks/chunk-KJQYKXDV.js +173 -0
  370. package/dist/chunks/chunk-KJQYKXDV.js.map +1 -0
  371. package/dist/chunks/chunk-KXVYWSJU.js +8068 -0
  372. package/dist/chunks/chunk-KXVYWSJU.js.map +1 -0
  373. package/dist/chunks/chunk-KYN4AAHS.js +8839 -0
  374. package/dist/chunks/chunk-KYN4AAHS.js.map +1 -0
  375. package/dist/chunks/chunk-LUZGWGSR.js +913 -0
  376. package/dist/chunks/chunk-LUZGWGSR.js.map +1 -0
  377. package/dist/chunks/chunk-MI7IF36Z.js +367 -0
  378. package/dist/chunks/chunk-MI7IF36Z.js.map +1 -0
  379. package/dist/chunks/chunk-MLRMRXGZ.js +367 -0
  380. package/dist/chunks/chunk-MLRMRXGZ.js.map +1 -0
  381. package/dist/chunks/chunk-MOBVIJE2.js +913 -0
  382. package/dist/chunks/chunk-MOBVIJE2.js.map +1 -0
  383. package/dist/chunks/chunk-MOIHNOX3.js +94 -0
  384. package/dist/chunks/chunk-MOIHNOX3.js.map +1 -0
  385. package/dist/chunks/chunk-NJ5O743W.js +311 -0
  386. package/dist/chunks/chunk-NJ5O743W.js.map +1 -0
  387. package/dist/chunks/chunk-NMQ4USN7.js +913 -0
  388. package/dist/chunks/chunk-NMQ4USN7.js.map +1 -0
  389. package/dist/chunks/chunk-NRKCQIQS.js +8 -0
  390. package/dist/chunks/chunk-NRKCQIQS.js.map +1 -0
  391. package/dist/chunks/chunk-NRNSOUTF.js +913 -0
  392. package/dist/chunks/chunk-NRNSOUTF.js.map +1 -0
  393. package/dist/chunks/chunk-OBAABB63.js +8093 -0
  394. package/dist/chunks/chunk-OBAABB63.js.map +1 -0
  395. package/dist/chunks/chunk-OREGQJ7H.js +19 -0
  396. package/dist/chunks/chunk-OREGQJ7H.js.map +1 -0
  397. package/dist/chunks/chunk-P2PRB5IZ.js +94 -0
  398. package/dist/chunks/chunk-P2PRB5IZ.js.map +1 -0
  399. package/dist/chunks/chunk-PF5X3SZR.js +94 -0
  400. package/dist/chunks/chunk-PF5X3SZR.js.map +1 -0
  401. package/dist/chunks/chunk-QCB6P7DH.js +146 -0
  402. package/dist/chunks/chunk-QCB6P7DH.js.map +1 -0
  403. package/dist/chunks/chunk-QU7KR7VX.js +367 -0
  404. package/dist/chunks/chunk-QU7KR7VX.js.map +1 -0
  405. package/dist/chunks/chunk-RJZ4D6XM.js +88 -0
  406. package/dist/chunks/chunk-RJZ4D6XM.js.map +1 -0
  407. package/dist/chunks/chunk-RTSIFU3A.js +8924 -0
  408. package/dist/chunks/chunk-RTSIFU3A.js.map +1 -0
  409. package/dist/chunks/chunk-S72IAWSO.js +8770 -0
  410. package/dist/chunks/chunk-S72IAWSO.js.map +1 -0
  411. package/dist/chunks/chunk-SDN2PXF7.js +94 -0
  412. package/dist/chunks/chunk-SDN2PXF7.js.map +1 -0
  413. package/dist/chunks/chunk-SRJF5RCP.js +8772 -0
  414. package/dist/chunks/chunk-SRJF5RCP.js.map +1 -0
  415. package/dist/chunks/chunk-SZ3DDAJ7.js +142 -0
  416. package/dist/chunks/chunk-SZ3DDAJ7.js.map +1 -0
  417. package/dist/chunks/chunk-SZTQ6IWR.js +8835 -0
  418. package/dist/chunks/chunk-SZTQ6IWR.js.map +1 -0
  419. package/dist/chunks/chunk-TBHIUG43.js +19 -0
  420. package/dist/chunks/chunk-TBHIUG43.js.map +1 -0
  421. package/dist/chunks/chunk-TDIRV53C.js +3626 -0
  422. package/dist/chunks/chunk-TDIRV53C.js.map +1 -0
  423. package/dist/chunks/chunk-TJNZKBEN.js +88 -0
  424. package/dist/chunks/chunk-TJNZKBEN.js.map +1 -0
  425. package/dist/chunks/chunk-UHQVQBCL.js +89 -0
  426. package/dist/chunks/chunk-UHQVQBCL.js.map +1 -0
  427. package/dist/chunks/chunk-UUM4KYBV.js +914 -0
  428. package/dist/chunks/chunk-UUM4KYBV.js.map +1 -0
  429. package/dist/chunks/chunk-V4L4ONOK.js +914 -0
  430. package/dist/chunks/chunk-V4L4ONOK.js.map +1 -0
  431. package/dist/chunks/chunk-V7ACRMW7.js +914 -0
  432. package/dist/chunks/chunk-V7ACRMW7.js.map +1 -0
  433. package/dist/chunks/chunk-V7DSDBTC.js +142 -0
  434. package/dist/chunks/chunk-V7DSDBTC.js.map +1 -0
  435. package/dist/chunks/chunk-VCFCYQB4.js +315 -0
  436. package/dist/chunks/chunk-VCFCYQB4.js.map +1 -0
  437. package/dist/chunks/chunk-WEKBCXNI.js +8839 -0
  438. package/dist/chunks/chunk-WEKBCXNI.js.map +1 -0
  439. package/dist/chunks/chunk-WN6TJQI2.js +103 -0
  440. package/dist/chunks/chunk-WN6TJQI2.js.map +1 -0
  441. package/dist/chunks/chunk-WUSKUUQL.js +3639 -0
  442. package/dist/chunks/chunk-WUSKUUQL.js.map +1 -0
  443. package/dist/chunks/chunk-WVB7FS2F.js +913 -0
  444. package/dist/chunks/chunk-WVB7FS2F.js.map +1 -0
  445. package/dist/chunks/chunk-WY5BKP4C.js +19 -0
  446. package/dist/chunks/chunk-WY5BKP4C.js.map +1 -0
  447. package/dist/chunks/chunk-XFJJETQG.js +913 -0
  448. package/dist/chunks/chunk-XFJJETQG.js.map +1 -0
  449. package/dist/chunks/chunk-XM2JOPVU.js +914 -0
  450. package/dist/chunks/chunk-XM2JOPVU.js.map +1 -0
  451. package/dist/chunks/chunk-XNMAPACM.js +19 -0
  452. package/dist/chunks/chunk-XNMAPACM.js.map +1 -0
  453. package/dist/chunks/chunk-Y2DMMGRW.js +8657 -0
  454. package/dist/chunks/chunk-Y2DMMGRW.js.map +1 -0
  455. package/dist/chunks/chunk-Y4DXEVZM.js +8770 -0
  456. package/dist/chunks/chunk-Y4DXEVZM.js.map +1 -0
  457. package/dist/chunks/chunk-Y4VJXTG5.js +8754 -0
  458. package/dist/chunks/chunk-Y4VJXTG5.js.map +1 -0
  459. package/dist/chunks/chunk-YFTXNRNZ.js +913 -0
  460. package/dist/chunks/chunk-YFTXNRNZ.js.map +1 -0
  461. package/dist/chunks/chunk-YRVKKM47.js +365 -0
  462. package/dist/chunks/chunk-YRVKKM47.js.map +1 -0
  463. package/dist/chunks/chunk-YWEWSQJR.js +40 -0
  464. package/dist/chunks/chunk-YWEWSQJR.js.map +1 -0
  465. package/dist/chunks/chunk-Z3PFCZLH.js +913 -0
  466. package/dist/chunks/chunk-Z3PFCZLH.js.map +1 -0
  467. package/dist/chunks/chunk-ZB27F2HA.js +366 -0
  468. package/dist/chunks/chunk-ZB27F2HA.js.map +1 -0
  469. package/dist/chunks/chunk-ZZIDNW4D.js +914 -0
  470. package/dist/chunks/chunk-ZZIDNW4D.js.map +1 -0
  471. package/dist/exports/computed-item.context.d.ts +3 -1
  472. package/dist/exports/computed.context.d.ts +4 -2
  473. package/dist/exports/config.context.d.ts +4 -1
  474. package/dist/exports/config.context.js +1 -1
  475. package/dist/exports/expression-result.d.ts +2 -2
  476. package/dist/exports/interaction.d.ts +3 -1
  477. package/dist/exports/interaction.js +5 -1
  478. package/dist/exports/item.context.d.ts +3 -1
  479. package/dist/exports/qti-assessment-item.context.d.ts +3 -1
  480. package/dist/exports/qti-condition-expression.d.ts +3 -1
  481. package/dist/exports/qti-condition-expression.js +3 -2
  482. package/dist/exports/qti-expression.d.ts +3 -1
  483. package/dist/exports/qti-expression.js +2 -1
  484. package/dist/exports/qti-test.d.ts +5 -3
  485. package/dist/exports/qti.context.d.ts +14 -0
  486. package/dist/exports/qti.context.js +8 -0
  487. package/dist/exports/qti.context.js.map +1 -0
  488. package/dist/exports/session.context.d.ts +4 -2
  489. package/dist/exports/test.context.d.ts +3 -1
  490. package/dist/exports/variables.d.ts +3 -1
  491. package/dist/index.d.ts +5 -4
  492. package/dist/index.js +75 -55
  493. package/dist/item.css +90 -18
  494. package/dist/qti-components/index.d.ts +159 -5
  495. package/dist/qti-components/index.js +28 -6
  496. package/dist/qti-components-jsx.d.ts +3787 -1466
  497. package/dist/qti-item/components/item-container.js +2 -2
  498. package/dist/qti-item/components/item-correct-response-mode.d.ts +17 -0
  499. package/dist/qti-item/components/item-correct-response-mode.js +62 -0
  500. package/dist/qti-item/components/item-correct-response-mode.js.map +1 -0
  501. package/dist/qti-item/components/item-show-candidate-correction.d.ts +34 -0
  502. package/dist/qti-item/components/item-show-candidate-correction.js +88 -0
  503. package/dist/qti-item/components/item-show-candidate-correction.js.map +1 -0
  504. package/dist/qti-item/components/item-show-correct-response.d.ts +3 -1
  505. package/dist/qti-item/components/item-show-correct-response.js +1 -1
  506. package/dist/qti-item/components/print-item-variables.d.ts +3 -1
  507. package/dist/qti-item/core/index.d.ts +10 -3
  508. package/dist/qti-item/core/index.js +8 -7
  509. package/dist/qti-loader/index.d.ts +3 -1
  510. package/dist/qti-response-declaration-B7a6N0wt.d.ts +1380 -0
  511. package/dist/qti-response-declaration-BKOw2_Pl.d.ts +1378 -0
  512. package/dist/qti-response-declaration-BTiPhwZv.d.ts +1370 -0
  513. package/dist/qti-response-declaration-Bthfzhwd.d.ts +1385 -0
  514. package/dist/qti-response-declaration-CNP03Vcb.d.ts +1386 -0
  515. package/dist/qti-response-declaration-CTRNB113.d.ts +1385 -0
  516. package/dist/qti-response-declaration-Cbj7E4ND.d.ts +1372 -0
  517. package/dist/qti-response-declaration-DKr08ANy.d.ts +1397 -0
  518. package/dist/qti-response-declaration-DRNG6zLy.d.ts +1370 -0
  519. package/dist/qti-response-declaration-DuRT3sKx.d.ts +1380 -0
  520. package/dist/qti-response-declaration-Dz6D30cF.d.ts +1397 -0
  521. package/dist/qti-response-declaration-GPP3SVur.d.ts +1372 -0
  522. package/dist/qti-response-declaration-d_tAAEFq.d.ts +1378 -0
  523. package/dist/qti-response-declaration-xVcD4HvN.d.ts +1386 -0
  524. package/dist/qti-test/components/index.d.ts +4 -3
  525. package/dist/qti-test/components/index.js +32 -32
  526. package/dist/qti-test/components/test-container.js +2 -2
  527. package/dist/qti-test/components/test-navigation.d.ts +16 -3
  528. package/dist/qti-test/components/test-navigation.js +3 -2
  529. package/dist/qti-test/components/test-next.d.ts +4 -2
  530. package/dist/qti-test/components/test-next.js +1 -2
  531. package/dist/qti-test/components/test-prev.d.ts +4 -2
  532. package/dist/qti-test/components/test-prev.js +1 -2
  533. package/dist/qti-test/components/test-print-context.d.ts +4 -2
  534. package/dist/qti-test/components/test-print-item-variables.d.ts +4 -2
  535. package/dist/qti-test/components/test-scoring-buttons.d.ts +4 -2
  536. package/dist/qti-test/components/test-scoring-feedback.d.ts +4 -2
  537. package/dist/qti-test/components/test-show-correct-response.d.ts +4 -2
  538. package/dist/qti-test/components/test-view.js +2 -2
  539. package/dist/qti-test/core/index.d.ts +5 -3
  540. package/dist/qti-test/core/index.js +10 -9
  541. package/dist/qti-test-feedback-B0W2B5wQ.d.ts +91 -0
  542. package/dist/qti-test-feedback-B1kTnqnI.d.ts +91 -0
  543. package/dist/qti-test-feedback-BAUInn-q.d.ts +91 -0
  544. package/dist/qti-test-feedback-BWerRaNG.d.ts +91 -0
  545. package/dist/qti-test-feedback-BXdbgpY8.d.ts +91 -0
  546. package/dist/qti-test-feedback-Bbt2VWE1.d.ts +91 -0
  547. package/dist/qti-test-feedback-Bskvq3FE.d.ts +91 -0
  548. package/dist/qti-test-feedback-C-PQYZWl.d.ts +91 -0
  549. package/dist/qti-test-feedback-CZsbp6z4.d.ts +91 -0
  550. package/dist/qti-test-feedback-CuTA6S46.d.ts +91 -0
  551. package/dist/qti-test-feedback-DUxJARNH.d.ts +91 -0
  552. package/dist/qti-test-feedback-SkEfQjOR.d.ts +91 -0
  553. package/dist/qti-test-feedback-dSr4W5Ft.d.ts +91 -0
  554. package/dist/qti-test-feedback-jBGxkr5n.d.ts +91 -0
  555. package/dist/vscode.html-custom-data.json +163 -39
  556. package/package.json +62 -65
@@ -0,0 +1,6 @@
1
+ import{a as d}from"./chunk-XJ2CFTZP.js";import{c as n}from"./chunk-O4RAJ3LM.js";import{a as o,d as p,i as c}from"./chunk-HKWYQB5Z.js";import{a as u}from"./chunk-QQCGUVEV.js";import{b as l}from"./chunk-3YQMAZEO.js";import{a as s}from"./chunk-LO2NM3CE.js";var a=class extends c{constructor(){super(...arguments);this.getVariables=()=>Array.from(this.children).map(t=>{switch(console.debug("getVariables",t.tagName.toLowerCase()),t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{let i=t.getAttribute("identifier")||"";return i==="QTI_CONTEXT"?this.qtiContext?.QTI_CONTEXT?{identifier:"QTI_CONTEXT",baseType:"record",value:this.qtiContext.QTI_CONTEXT,cardinality:"record",type:"context"}:(console.warn("QTI_CONTEXT not available"),{identifier:"QTI_CONTEXT",baseType:"record",value:this.qtiContext.QTI_CONTEXT,cardinality:"record",type:"context"}):this.context.variables.find(r=>r.identifier===i)||null}case"qti-multiple":{let e=t.getResult();return console.debug("values",e),e?.length>0?{identifier:"",baseType:e[0].baseType,value:e.map(r=>r.value),cardinality:"multiple",type:"response"}:null}case"qti-ordered":{let e=t.getResult();return e?.length>0?{identifier:"",baseType:e[0].baseType,value:e.map(r=>r.value),cardinality:"ordered",type:"response"}:null}case"qti-correct":{let i=t.getAttribute("identifier")||"",e=this.context.variables.find(r=>r.identifier===i)||null;return{baseType:e.baseType,value:e.correctResponse,cardinality:e.cardinality}}default:{try{return{baseType:"integer",value:t.getResult()?.toString()||null,cardinality:"single"}}catch{console.warn("default not sufficient")}return null}}}).filter(t=>t!==null)}static{this.styles=o`
2
+ slot {
3
+ display: none;
4
+ }
5
+ `}render(){return p`<pre>${JSON.stringify(this.result,null,2)}</pre>
6
+ <slot></slot>`}calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}};s([n()],a.prototype,"result",2),s([l({context:u,subscribe:!0}),n()],a.prototype,"context",2),s([l({context:d,subscribe:!0}),n()],a.prototype,"qtiContext",2);export{a};
@@ -0,0 +1,2 @@
1
+ import{a as x}from"./chunk-PQLJWD6V.js";import{a as h}from"./chunk-P6SSTAJ2.js";import{a as v,b as f,c as p}from"./chunk-HO6JOQX4.js";import{d as r,g as c,i as d}from"./chunk-FLQBFTRW.js";import{b as u}from"./chunk-3YQMAZEO.js";import{a as o}from"./chunk-LO2NM3CE.js";var e=class extends d{constructor(){super(...arguments);this.debug=!1;this.stampContext={view:"candidate",activeItem:{},activeSection:{items:[]},activeTestpart:{items:[],sections:[]},test:{}}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback();let m=this.querySelector("template");if(!m){this.myTemplate=null;return}this.myTemplate=x(m)}willUpdate(m){if(!this.computedContext)return;let i=this.computedContext.testParts.find(t=>t.active),n=i?.sections.find(t=>t.active),l=n?.items.find(t=>t.active),{variables:P,...C}=l||{};if(!i||!n||!l)return;let y={...i,items:i.sections.flatMap(t=>t.items.map(({variables:a,...s})=>s)),sections:i.sections.map(t=>({...t,items:t.items.map(({variables:a,...s})=>s)}))},T={...n,items:n.items.map(({variables:t,...a})=>a)},{testParts:k,...b}=this.computedContext;this.stampContext={view:this.computedContext.view,activeItem:C,activeSection:T,activeTestpart:y,test:b}}render(){return r` ${this.debug?r`<small><pre>${JSON.stringify(this.stampContext,null,2)}</pre></small>`:c}
2
+ ${this.myTemplate?this.myTemplate(this.stampContext):c}`}};o([f({type:Boolean,reflect:!0})],e.prototype,"debug",2),o([p(),u({context:h,subscribe:!0})],e.prototype,"computedContext",2),o([p()],e.prototype,"stampContext",2),e=o([v("test-stamp")],e);export{e as a};
@@ -0,0 +1,5 @@
1
+ import{a as L}from"./chunk-AV6ISYP4.js";import{g as S}from"./chunk-3WY3AI3D.js";import{a as V}from"./chunk-E6IOJ4MV.js";import{a as R,b as A}from"./chunk-CZDMOYYF.js";import{a as w,b as x}from"./chunk-QQR6POPY.js";import{a as I,b as C}from"./chunk-7WJYJA45.js";import{a as E,b as o}from"./chunk-42P7F3FC.js";import{a as N,d,i as p}from"./chunk-65CZNGQC.js";import{a as i}from"./chunk-JR322KXH.js";var M=(e=>(e.ITEM_NOT_FOUND="item-not-found",e.SECTION_NOT_FOUND="section-not-found",e.LOAD_ERROR="load-error",e.NETWORK_ERROR="network-error",e.TIMEOUT_ERROR="timeout-error",e))(M||{}),D=m=>{class c extends m{constructor(...t){super(...t);this.navigate=null;this.cacheTransform=!1;this.requestTimeout=3e4;this.showLoadingIndicators=!0;this._activeRequests=[];this._navigationInProgress=!1;this._lastError=null;this._lastNavigationRequestId=null;this._targetNavigation=null;this.addEventListener("qti-request-navigation",async({detail:e})=>{if(!e?.id)return;let s=`nav_${Date.now()}_${Math.random()}`;this._lastNavigationRequestId=s;try{if(this._navigationInProgress=!0,this._lastError=null,this._dispatchStatusEvent({loading:!0,type:e.type,id:e.id}),this._cancelActiveRequests(),this._targetNavigation={type:e.type,id:e.id},e.type==="item"?await this._navigateToItem(e.id):e.type==="section"&&await this._navigateToSection(e.id),this._lastNavigationRequestId!==s){console.log("Navigation was superseded by a newer request");return}}catch(u){if(this._lastNavigationRequestId===s){let a=this._normalizeError(u,e.type,e.id);this._lastError=a,this._dispatchErrorEvent(a),console.error(`Navigation error (${a.type}):`,a.message,a.details)}}finally{this._lastNavigationRequestId===s&&(this._navigationInProgress=!1,this._dispatchStatusEvent({loading:!1,type:e.type,id:e.id}))}}),this.addEventListener("qti-assessment-test-connected",e=>{this._testElement=e.detail,this._initializeNavigation()})}_initializeNavigation(){let t;this.navigate==="section"&&(t=this._testElement.querySelector("qti-assessment-section")?.identifier),this.navigate==="item"&&(t=this.sessionContext.navItemRefId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier),t&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:t},bubbles:!0,composed:!0}))}navigateTo(t,e){e||(t==="section"&&(e=this._testElement?.querySelector("qti-assessment-section")?.identifier),t==="item"&&(e=this._testElement?.querySelector("qti-assessment-item-ref")?.identifier)),this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}async _navigateToItem(t){let e=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${t}"]`);if(!e)throw{type:"item-not-found",message:`Item with identifier "${t}" not found.`,itemId:t};let s=e.closest("qti-test-part")?.identifier,u=e.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:s,navSectionId:u,navItemRefId:t,navItemLoading:!0};try{await this._loadItems([t])}finally{this.sessionContext={...this.sessionContext,navItemLoading:!1}}}async _navigateToSection(t){let e=this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`);if(!e)throw{type:"section-not-found",message:`Section with identifier "${t}" not found.`,sectionId:t};let s=e.closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:s,navSectionId:t,navItemRefId:null,navItemLoading:!0};try{let u=this._getSectionItemIds(t);await this._loadItems(u)}finally{this.sessionContext={...this.sessionContext,navItemLoading:!1}}}_normalizeError(t,e,s){return t&&t.type&&Object.values(M).includes(t.type)?t:t instanceof DOMException&&t.name==="AbortError"?{type:"network-error",message:"Navigation was cancelled because a new navigation was requested.",details:t}:t.name==="TimeoutError"||t.message&&t.message.includes("timeout")?{type:"timeout-error",message:"Request timed out. Please check your network connection.",details:t}:t instanceof TypeError&&t.message.includes("network")?{type:"network-error",message:"A network error occurred. Please check your connection.",details:t}:{type:"load-error",message:`Failed to load ${e}: ${s}`,details:t,itemId:e==="item"?s:void 0,sectionId:e==="section"?s:void 0}}_dispatchErrorEvent(t){this.dispatchEvent(new CustomEvent("qti-navigation-error",{detail:t,bubbles:!0,composed:!0}))}_dispatchStatusEvent(t){this.showLoadingIndicators&&this.dispatchEvent(new CustomEvent("qti-navigation-status",{detail:t,bubbles:!0,composed:!0}))}_cancelActiveRequests(){this._activeRequests.length>0&&(console.info(`Cancelling ${this._activeRequests.length} pending requests`),this._activeRequests.forEach(t=>{t&&t.readyState!==4&&t.abort()}),this._activeRequests=[])}async _loadItems(t){if(!this._testElement||t.length===0)return;let e=t.map(a=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${a}"]`)),s=e.reduce((a,v,l)=>(v||a.push(t[l]),a),[]);if(s.length>0)throw{type:"item-not-found",message:`One or more items not found: ${s.join(", ")}`,details:{missingItems:s}};this._clearLoadedItems();let u=e.map(async a=>{if(!a)return null;let v=new Promise((l,b)=>{setTimeout(()=>{b({name:"TimeoutError",message:`Request for item ${a.identifier} timed out after ${this.requestTimeout}ms`})},this.requestTimeout)});try{let{promise:l,request:b}=V(this.cacheTransform).load(a.href);b instanceof XMLHttpRequest&&this._activeRequests.push(b);let B=await Promise.race([l,v]);return{itemRef:a,doc:B.htmlDoc(),request:b}}catch(l){if(l instanceof DOMException&&l.name==="AbortError"||l&&l.name==="TimeoutError")return console.log(`Request for item ${a.identifier} was ${l.name==="TimeoutError"?"timed out":"aborted"}`),null;throw l.itemId=a.identifier,l}});try{let v=(await Promise.all(u)).filter(l=>l!==null);if(v.forEach(({itemRef:l,doc:b})=>{l&&b&&(l.xmlDoc=b)}),this._activeRequests=[],requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-loaded",{detail:v.map(({itemRef:l})=>({identifier:l?.identifier,element:l})),bubbles:!0,composed:!0}))}),v.length===0&&t.length>0)throw{type:"load-error",message:"All item requests failed to load",details:{itemIds:t}};return v}catch(a){throw console.error("Error loading items:",a),a}}_getSectionItemIds(t){if(!this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`))throw{type:"section-not-found",message:`Section with identifier "${t}" not found.`,sectionId:t};return Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(s=>s.identifier)}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(e=>{e.xmlDoc=null})}retryNavigation(){if(this._lastError){let t=this._lastError.itemId?"item":"section",e=this._lastError.itemId||this._lastError.sectionId;e&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}else this._targetNavigation&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:this._targetNavigation,bubbles:!0,composed:!0}))}}return i([o({type:String})],c.prototype,"navigate",2),i([o({type:Boolean,attribute:"cache-transform"})],c.prototype,"cacheTransform",2),i([o({type:Number})],c.prototype,"requestTimeout",2),i([o({type:Boolean})],c.prototype,"showLoadingIndicators",2),c};var P=m=>{class c extends m{constructor(...n){super(...n),this.sessionContext={...this.sessionContext,view:"candidate"},this.addEventListener("on-test-switch-view",t=>{this.sessionContext={...this.sessionContext,view:t.detail},this._updateElementView()}),this.addEventListener("qti-assessment-test-connected",()=>{this._updateElementView()}),this.addEventListener("qti-assessment-item-connected",t=>{this._updateElementView(),this._setCorrectResponseVisibility(t.detail)})}willUpdate(n){super.willUpdate(n),n.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this._testElement){Array.from(this._testElement.querySelectorAll("[view]")).forEach(s=>{s.classList.toggle("show",s.getAttribute("view")===this.sessionContext.view)});let e=this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this.sessionContext.navItemRefId}"]`)?.assessmentItem;e&&e.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(n){n.showCorrectResponse(this.sessionContext.view==="scorer")}}return c};var q=class extends p{constructor(){super();this.testContext=w;this.sessionContext=R;this._updateItemInTestContext=r=>{let n=r._context,t=n.identifier,e=n.variables,s=this.testContext.items.find(u=>u?.identifier===t);if(!s){console.warn(`Item IDs between assessment.xml and item.xml should match: ${t} is not found!`);return}s.variables?.length===1?this._updateItemVariablesInTestContext(t,e):r.variables=[...s.variables||[]]};this.addEventListener("qti-assessment-test-connected",r=>{if(this.testContext=w,this.sessionContext=R,this.testContext&&this.testContext.items.length>0)return;this._testElement=r.detail;let n=Array.from(this._testElement.querySelectorAll("qti-assessment-item-ref")).map(t=>({href:t.href,identifier:t.identifier,category:t.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}));this.testContext={...this.testContext,items:n}}),this.addEventListener("qti-assessment-item-connected",r=>{let n=r.detail,t=n.closest("qti-assessment-item-ref")?.identifier;t&&(n.assessmentItemRefId=t),this._updateItemInTestContext(r.detail)}),this.addEventListener("qti-item-context-updated",r=>{this._updateItemVariablesInTestContext(r.detail.itemContext.identifier,r.detail.itemContext.variables)})}updateItemVariables(r,n){let t=this.testContext.items.find(s=>s.identifier===r);t&&(t.variables=t.variables.map(s=>{let u=n.find(a=>a.identifier===s.identifier);return u?{...s,...u}:s}));let e=this._testElement.querySelector(`qti-assessment-item-ref[identifier="${r}"]`);e&&e.assessmentItem&&e.assessmentItem&&(e.assessmentItem.variables=n)}_updateItemVariablesInTestContext(r,n){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==r?t:{...t,variables:n.map(e=>{let s=t.variables.find(u=>u.identifier===e.identifier);return s?{...s,...e}:e})})},this.dispatchEvent(new CustomEvent("qti-test-context-updated",{detail:this.testContext,bubbles:!1,composed:!1}))}};i([o({attribute:!1,type:Object}),I({context:x})],q.prototype,"testContext",2),i([o({attribute:!1,type:Object}),I({context:A})],q.prototype,"sessionContext",2);var $=m=>{class c extends m{constructor(...n){super(...n),this.addEventListener("qti-register-variable",t=>{this.testContext={...this.testContext,testOutcomeVariables:[...this.testContext.testOutcomeVariables||[],t.detail.variable]},t.stopPropagation()}),this.addEventListener("qti-set-outcome-value",t=>{let{outcomeIdentifier:e,value:s}=t.detail;this.updateOutcomeVariable(e,s),t.stopPropagation()})}outcomeProcessing(){let n=this.querySelector("qti-outcome-processing");return n?(n?.process(),!0):!1}updateOutcomeVariable(n,t){let e=this.getOutcome(n);if(!e){console.warn(`Can not set qti-outcome-identifier: ${n}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(s=>s.identifier!==n?s:{...s,value:e.cardinality==="single"?t:[...s.value,t]})}}getOutcome(n){return this.getVariable(n)}getVariable(n){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===n)||null}}return c};var T=class extends D(P($(q))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return d`<slot></slot>`}};T=i([E("qti-test")],T);var k={fromAttribute(m){return m==="true"},toAttribute(m){return m?"true":"false"}},f=class extends p{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback();let r=this.getRootNode().host.closest("qti-test").querySelector("template[item-ref]");r&&(this.myTemplate=L(r)),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}))}render(){return this.myTemplate?this.myTemplate({xmlDoc:this.xmlDoc}):this.xmlDoc}};i([o({type:String})],f.prototype,"category",2),i([o({type:String})],f.prototype,"identifier",2),i([o({type:Boolean,converter:k})],f.prototype,"required",2),i([o({type:Boolean,converter:k})],f.prototype,"fixed",2),i([o({type:String})],f.prototype,"href",2),i([o({type:Object,attribute:!1})],f.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",f);var O={fromAttribute(m){return m==="true"},toAttribute(m){return m?"true":"false"}},h=class extends p{constructor(){super(...arguments);this._title=""}get title(){return this._title}set title(r){this._title=r,this.removeAttribute("title"),this.setAttribute("data-title",r)}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return d`<slot name="qti-rubric-block"></slot><slot></slot>`}};i([o({type:String})],h.prototype,"identifier",2),i([o({type:String})],h.prototype,"required",2),i([o({type:Boolean,converter:O})],h.prototype,"fixed",2),i([o({type:Boolean,converter:O})],h.prototype,"visible",2),i([o({type:Boolean,converter:O,attribute:"keep-together"})],h.prototype,"keepTogether",2),i([C({context:x,subscribe:!0})],h.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",h);var y=class extends p{constructor(){super(...arguments);this._title=""}get title(){return this._title}set title(r){this._title=r,this.removeAttribute("title"),this.setAttribute("data-title",r)}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return d` <slot></slot>`}};i([o({type:String})],y.prototype,"identifier",2),i([o({type:String})],y.prototype,"title",1),i([C({context:x,subscribe:!0})],y.prototype,"_testContext",2),y=i([E("qti-assessment-test")],y);var g=class extends p{constructor(){super(...arguments);this.identifier="";this.class="";this.navigationMode="nonlinear";this.submissionMode="individual";this._title=""}get title(){return this._title}set title(r){this._title=r,this.removeAttribute("title"),this.setAttribute("data-title",r)}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return d` <slot></slot>`}};i([o({type:String})],g.prototype,"identifier",2),i([o({type:String})],g.prototype,"class",2),i([o({type:String,attribute:"navigation-mode"})],g.prototype,"navigationMode",2),i([o({type:String,attribute:"submission-mode"})],g.prototype,"submissionMode",2),g=i([E("qti-test-part")],g);customElements.get("qti-test-part")||customElements.define("qti-test-part",g);var _=class extends S{render(){return d``}};_.styles=N`
2
+ :host {
3
+ color: gray;
4
+ }
5
+ `,_=i([E("qti-test-feedback")],_);export{T as a,f as b,h as c,y as d,g as e,_ as f};
@@ -0,0 +1 @@
1
+ import{a as A}from"./chunk-XJ2CFTZP.js";import{b as T}from"./chunk-CZDMOYYF.js";import{b as g}from"./chunk-QQR6POPY.js";import{a as R}from"./chunk-P6SSTAJ2.js";import{a as _}from"./chunk-7ME56ODO.js";import{a as h,b as v}from"./chunk-7WJYJA45.js";import{a as S,b as q,c as f}from"./chunk-42P7F3FC.js";import{d as b,i as y}from"./chunk-65CZNGQC.js";import{a as d}from"./chunk-JR322KXH.js";var c=class extends y{constructor(){super();this.identifier=void 0;this.initContext=[];this.qtiContext={QTI_CONTEXT:{testIdentifier:"",candidateIdentifier:"",environmentIdentifier:"default"}};this.configContext={};this.autoScoreItems=!1;this.addEventListener("qti-assessment-test-connected",this._handleTestConnected.bind(this)),this.addEventListener("qti-assessment-item-connected",this._handleItemConnected.bind(this)),this.addEventListener("qti-interaction-changed",this._handleInteractionChanged.bind(this)),this.addEventListener("test-end-attempt",this._handleTestEndAttempt.bind(this)),this.addEventListener("test-show-correct-response",this._handleTestShowCorrectResponse.bind(this)),this.addEventListener("test-show-candidate-correction",this._handleTestShowCandidateCorrection.bind(this)),this.addEventListener("test-update-outcome-variable",this._handleTestUpdateOutcomeVariable.bind(this))}_handleTestEndAttempt(o){let i=this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._sessionContext.navItemRefId}"]`).assessmentItem,t=this.configContext?.reportValidityAfterScoring===!0;i.processResponse(!0,t)}_handleTestShowCorrectResponse(o){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._sessionContext.navItemRefId}"]`).assessmentItem.showCorrectResponse(o.detail)}_handleTestShowCandidateCorrection(o){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._sessionContext.navItemRefId}"]`).assessmentItem.showCandidateCorrection(o.detail)}_handleTestUpdateOutcomeVariable(o){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${o.detail.assessmentItemRefId}"]`).assessmentItem.setOutcomeVariable(o.detail.outcomeVariableId,o.detail.value)}_handleInteractionChanged(o){if(this.autoScoreItems){let e=o.composedPath()[0].closest("qti-assessment-item"),i=e.variables.find(t=>t.identifier==="SCORE");if(i&&i.externalScored===null&&e.adaptive==="false"){let t=this.configContext?.reportValidityAfterScoring===!0;e.processResponse(!0,t)}}}render(){return b`<slot></slot>`}_handleTestConnected(o){if(this._testElement=o.detail,!this.qtiContext.QTI_CONTEXT?.testIdentifier){let t=this.qtiContext.QTI_CONTEXT||{testIdentifier:"",candidateIdentifier:"not set",environmentIdentifier:"default"};this.qtiContext={QTI_CONTEXT:{...t,testIdentifier:this._testElement.identifier,environmentIdentifier:t.environmentIdentifier||"default"}}}this._testElement.querySelectorAll('qti-context-declaration[identifier="QTI_CONTEXT"]').forEach(t=>{let s=this._extractDefaultValues(t);Object.keys(s).length>0&&(this.qtiContext={QTI_CONTEXT:{...s,...this.qtiContext.QTI_CONTEXT}})});let i=Array.from(this._testElement?.querySelectorAll("qti-test-part")||[]);this.computedContext={identifier:this._testElement.identifier,title:this._testElement.title,view:this._sessionContext?.view,testParts:i.map(t=>{let s=[...t.querySelectorAll("qti-assessment-section")];return{active:!1,identifier:t.identifier,navigationMode:t.navigationMode,submissionMode:t.submissionMode,sections:s.map(r=>{let m=[...r.querySelectorAll("qti-assessment-item-ref")];return{active:!1,identifier:r.identifier,title:r.title,items:m.map(n=>({...this.initContext?.find(l=>l.identifier===n.identifier),active:!1,identifier:n.identifier,categories:n.category?n.category?.split(" "):[],href:n.href,variables:[]}))}})}})}}_extractDefaultValues(o){let e={},i=o.querySelector("qti-default-value");return i&&i.querySelectorAll("qti-value[field-identifier]").forEach(s=>{let r=s.getAttribute("field-identifier"),m=s.getAttribute("base-type")||"string",n=s.textContent?.trim()||"";if(r){let l=n;switch(m){case"integer":l=parseInt(n,10);break;case"float":case"duration":l=parseFloat(n);break;case"boolean":l=n.toLowerCase()==="true";break;case"string":default:l=n;break}e[r]=l}}),e}_handleItemConnected(o){let e=o.detail;this.computedContext={...this.computedContext,testParts:this.computedContext.testParts.map(i=>({...i,sections:i.sections.map(t=>({...t,items:t.items.map(s=>{if(s.identifier!==e.parentElement.getAttribute("identifier"))return s;let m=e.querySelector("qti-outcome-declaration[identifier='SCORE']")?.getAttribute("externalScored"),n=e.querySelectorAll("qti-response-declaration"),l=Array.from(n).some(p=>p.querySelector("qti-correct-response")),C=Array.from(n).some(p=>{let I=p.querySelector("qti-mapping"),u=p.querySelector("qti-area-mapping");return I?.querySelector("qti-map-entry")||u?.querySelector("qti-area-map-entry")}),x=l||C,E=!!e.querySelector("qti-response-processing");return{...s,assessmentItemIdentifier:e.getAttribute("identifier"),label:e.getAttribute("label"),title:e.title,externalScored:m,adaptive:e.adaptive=="true"||!1,timeDependent:e.timeDependent=="true"||!1,variables:e.variables,hasCorrectResponse:x,hasResponseProcessing:E}})}))}))}}willUpdate(o){if(!this.computedContext)return;let e=1;this.computedContext={...this.computedContext,view:this._sessionContext?.view,testParts:this.computedContext.testParts.map(i=>({...i,active:this._sessionContext?.navPartId===i.identifier||!1,sections:i.sections.map(t=>({...t,active:this._sessionContext?.navSectionId===t.identifier||!1,completed:t.items.every(s=>this._testContext.items.find(r=>r.identifier===s.identifier)?.variables.find(r=>r.identifier==="completionStatus").value==="completed"),items:t.items.map(s=>{let r=this._testContext?.items.find(a=>a.identifier===s.identifier),m={...s,...r,...this.initContext?.find(a=>a.identifier===s.identifier)},n=m.variables?.find(a=>a.identifier=="SCORE")?.value,l=n==null?null:parseFloat(n?.toString()),C=m.variables?.find(a=>a.identifier==="completionStatus")?.value,x=m.variables?.find(a=>a.identifier==="RESPONSE")?.value||"",E=m.variables?.find(a=>a.identifier==="numAttempts")?.value||0,p=this._sessionContext?.navItemRefId===m.identifier||!1,I=s.categories.includes(this.configContext?.infoItemCategory)?null:e++,u=s.variables?.find(a=>a.identifier=="MAXSCORE")?.value,Q=u==null?null:parseFloat(u?.toString());return{...m,completionStatus:C,numAttempts:E,score:l,response:x,index:I,active:p,maxScore:Q}})}))}))},this.dispatchEvent(new CustomEvent("qti-computed-context-updated",{detail:this.computedContext,bubbles:!0}))}};d([q({type:String})],c.prototype,"identifier",2),d([f()],c.prototype,"initContext",2),d([f(),h({context:A})],c.prototype,"qtiContext",2),d([f(),h({context:_})],c.prototype,"configContext",2),d([f(),v({context:g,subscribe:!0})],c.prototype,"_testContext",2),d([f(),v({context:T,subscribe:!0})],c.prototype,"_sessionContext",2),d([f(),h({context:R})],c.prototype,"computedContext",2),d([q({type:Boolean,attribute:"auto-score-items"})],c.prototype,"autoScoreItems",2),c=d([S("test-navigation")],c);export{c as a};
@@ -0,0 +1 @@
1
+ import{b as i,c as l}from"./chunk-HO6JOQX4.js";import{i as g}from"./chunk-FLQBFTRW.js";import{a as f}from"./chunk-7ME56ODO.js";import{b as u}from"./chunk-3YQMAZEO.js";import{a as r}from"./chunk-LO2NM3CE.js";var t=class extends g{constructor(){super();this.disabled=!1;this.readonly=!1;this._isCorrect=null;this._internals=this.attachInternals()}static{this.formAssociated=!0}get isFullCorrectResponse(){return this._isFullCorrectResponse}set isFullCorrectResponse(e){this._isFullCorrectResponse=e}get correctResponse(){return this._correctResponse}set correctResponse(e){this._correctResponse=e}get isCorrect(){return this._isCorrect}set isCorrect(e){this._isCorrect=e}toggleCorrectResponse(e,s){(this?.configContext?.correctResponseMode||"internal")==="full"?this.toggleFullCorrectResponse(e,s):this.toggleInternalCorrectResponse(e,s)}async toggleFullCorrectResponse(e,s){let c=this.nextElementSibling,a=c?.classList.contains("full-correct-response"),p=e.correctResponse===e.value;if(!s||p){if(!a)return;this.parentElement?.removeChild(c)}if(a||p)return;let n=this.cloneNode(!0);n.isFullCorrectResponse=!0,n.disabled=!0;let o=document.createElement("div");o.classList.add("full-correct-response"),o.role="full-correct-response",o.appendChild(n),n.setAttribute("response-identifier",this.responseIdentifier+"_cr"),this.parentElement?.insertBefore(o,this.nextElementSibling),await n.updateComplete,n.response=Array.isArray(e.correctResponse)?[...e.correctResponse]:e.correctResponse;let d={...e};d.value=e.correctResponse,n.toggleCandidateCorrection(d,!0)}toggleInternalCorrectResponse(e,s){this.correctResponse=s?e?.correctResponse:e?.cardinality==="single"?"":[]}toggleCandidateCorrection(e,s){this.isCorrect=s?e.correctResponse===e.value:null,this._internals.states.delete("candidate-correct"),this._internals.states.delete("candidate-incorrect"),this.isCorrect===!0&&this._internals.states.add("candidate-correct"),this.isCorrect===!1&&this._internals.states.add("candidate-incorrect")}get value(){return JSON.stringify(this.response)}set value(e){this.response=e?JSON.parse(e):null}reportValidity(){return this._internals.reportValidity()}reset(){this.response=null}connectedCallback(){super.connectedCallback(),!this.isFullCorrectResponse&&this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}saveResponse(e){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(e)?[...e]:e}}))}};r([u({context:f,subscribe:!0})],t.prototype,"configContext",2),r([i({type:String,attribute:"response-identifier"})],t.prototype,"responseIdentifier",2),r([i({reflect:!0,type:Boolean})],t.prototype,"disabled",2),r([i({reflect:!0,type:Boolean})],t.prototype,"readonly",2),r([l()],t.prototype,"_isFullCorrectResponse",2),r([l()],t.prototype,"_correctResponse",2),r([l()],t.prototype,"_isCorrect",2);export{t as a};
@@ -0,0 +1,17 @@
1
+ import{a as r}from"./chunk-HKWYQB5Z.js";var o=r`
2
+ display: inline-flex;
3
+ align-items: center;
4
+ cursor: pointer;
5
+ padding: 0.5rem 1rem;
6
+ border-radius: 0.25rem;
7
+ user-select: none;
8
+ `,t=r`
9
+ background-color: lightgray;
10
+ ${o};
11
+ `,n=r`
12
+ cursor: not-allowed;
13
+ opacity: 0.8;
14
+ `,s=r`
15
+ ${o};
16
+ border: 1px solid gray;
17
+ `;export{o as a,t as b,n as c,s as d};
@@ -0,0 +1,5 @@
1
+ import{a as L}from"./chunk-AV6ISYP4.js";import{g as S}from"./chunk-63C5YDWF.js";import{a as V}from"./chunk-E6IOJ4MV.js";import{a as R,b as A}from"./chunk-CZDMOYYF.js";import{a as w,b as x}from"./chunk-QQR6POPY.js";import{a as I,b as C}from"./chunk-7WJYJA45.js";import{a as E,b as o}from"./chunk-42P7F3FC.js";import{a as N,d,i as p}from"./chunk-65CZNGQC.js";import{a as i}from"./chunk-JR322KXH.js";var M=(e=>(e.ITEM_NOT_FOUND="item-not-found",e.SECTION_NOT_FOUND="section-not-found",e.LOAD_ERROR="load-error",e.NETWORK_ERROR="network-error",e.TIMEOUT_ERROR="timeout-error",e))(M||{}),D=m=>{class c extends m{constructor(...t){super(...t);this.navigate=null;this.cacheTransform=!1;this.requestTimeout=3e4;this.showLoadingIndicators=!0;this._activeRequests=[];this._navigationInProgress=!1;this._lastError=null;this._lastNavigationRequestId=null;this._targetNavigation=null;this.addEventListener("qti-request-navigation",async({detail:e})=>{if(!e?.id)return;let s=`nav_${Date.now()}_${Math.random()}`;this._lastNavigationRequestId=s;try{if(this._navigationInProgress=!0,this._lastError=null,this._dispatchStatusEvent({loading:!0,type:e.type,id:e.id}),this._cancelActiveRequests(),this._targetNavigation={type:e.type,id:e.id},e.type==="item"?await this._navigateToItem(e.id):e.type==="section"&&await this._navigateToSection(e.id),this._lastNavigationRequestId!==s){console.log("Navigation was superseded by a newer request");return}}catch(u){if(this._lastNavigationRequestId===s){let a=this._normalizeError(u,e.type,e.id);this._lastError=a,this._dispatchErrorEvent(a),console.error(`Navigation error (${a.type}):`,a.message,a.details)}}finally{this._lastNavigationRequestId===s&&(this._navigationInProgress=!1,this._dispatchStatusEvent({loading:!1,type:e.type,id:e.id}))}}),this.addEventListener("qti-assessment-test-connected",e=>{this._testElement=e.detail,this._initializeNavigation()})}_initializeNavigation(){let t;this.navigate==="section"&&(t=this._testElement.querySelector("qti-assessment-section")?.identifier),this.navigate==="item"&&(t=this.sessionContext.navItemRefId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier),t&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:t},bubbles:!0,composed:!0}))}navigateTo(t,e){e||(t==="section"&&(e=this._testElement?.querySelector("qti-assessment-section")?.identifier),t==="item"&&(e=this._testElement?.querySelector("qti-assessment-item-ref")?.identifier)),this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}async _navigateToItem(t){let e=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${t}"]`);if(!e)throw{type:"item-not-found",message:`Item with identifier "${t}" not found.`,itemId:t};let s=e.closest("qti-test-part")?.identifier,u=e.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:s,navSectionId:u,navItemRefId:t,navItemLoading:!0};try{await this._loadItems([t])}finally{this.sessionContext={...this.sessionContext,navItemLoading:!1}}}async _navigateToSection(t){let e=this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`);if(!e)throw{type:"section-not-found",message:`Section with identifier "${t}" not found.`,sectionId:t};let s=e.closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:s,navSectionId:t,navItemRefId:null,navItemLoading:!0};try{let u=this._getSectionItemIds(t);await this._loadItems(u)}finally{this.sessionContext={...this.sessionContext,navItemLoading:!1}}}_normalizeError(t,e,s){return t&&t.type&&Object.values(M).includes(t.type)?t:t instanceof DOMException&&t.name==="AbortError"?{type:"network-error",message:"Navigation was cancelled because a new navigation was requested.",details:t}:t.name==="TimeoutError"||t.message&&t.message.includes("timeout")?{type:"timeout-error",message:"Request timed out. Please check your network connection.",details:t}:t instanceof TypeError&&t.message.includes("network")?{type:"network-error",message:"A network error occurred. Please check your connection.",details:t}:{type:"load-error",message:`Failed to load ${e}: ${s}`,details:t,itemId:e==="item"?s:void 0,sectionId:e==="section"?s:void 0}}_dispatchErrorEvent(t){this.dispatchEvent(new CustomEvent("qti-navigation-error",{detail:t,bubbles:!0,composed:!0}))}_dispatchStatusEvent(t){this.showLoadingIndicators&&this.dispatchEvent(new CustomEvent("qti-navigation-status",{detail:t,bubbles:!0,composed:!0}))}_cancelActiveRequests(){this._activeRequests.length>0&&(console.info(`Cancelling ${this._activeRequests.length} pending requests`),this._activeRequests.forEach(t=>{t&&t.readyState!==4&&t.abort()}),this._activeRequests=[])}async _loadItems(t){if(!this._testElement||t.length===0)return;let e=t.map(a=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${a}"]`)),s=e.reduce((a,v,l)=>(v||a.push(t[l]),a),[]);if(s.length>0)throw{type:"item-not-found",message:`One or more items not found: ${s.join(", ")}`,details:{missingItems:s}};this._clearLoadedItems();let u=e.map(async a=>{if(!a)return null;let v=new Promise((l,b)=>{setTimeout(()=>{b({name:"TimeoutError",message:`Request for item ${a.identifier} timed out after ${this.requestTimeout}ms`})},this.requestTimeout)});try{let{promise:l,request:b}=V(this.cacheTransform).load(a.href);b instanceof XMLHttpRequest&&this._activeRequests.push(b);let B=await Promise.race([l,v]);return{itemRef:a,doc:B.htmlDoc(),request:b}}catch(l){if(l instanceof DOMException&&l.name==="AbortError"||l&&l.name==="TimeoutError")return console.log(`Request for item ${a.identifier} was ${l.name==="TimeoutError"?"timed out":"aborted"}`),null;throw l.itemId=a.identifier,l}});try{let v=(await Promise.all(u)).filter(l=>l!==null);if(v.forEach(({itemRef:l,doc:b})=>{l&&b&&(l.xmlDoc=b)}),this._activeRequests=[],requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-loaded",{detail:v.map(({itemRef:l})=>({identifier:l?.identifier,element:l})),bubbles:!0,composed:!0}))}),v.length===0&&t.length>0)throw{type:"load-error",message:"All item requests failed to load",details:{itemIds:t}};return v}catch(a){throw console.error("Error loading items:",a),a}}_getSectionItemIds(t){if(!this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`))throw{type:"section-not-found",message:`Section with identifier "${t}" not found.`,sectionId:t};return Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(s=>s.identifier)}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(e=>{e.xmlDoc=null})}retryNavigation(){if(this._lastError){let t=this._lastError.itemId?"item":"section",e=this._lastError.itemId||this._lastError.sectionId;e&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}else this._targetNavigation&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:this._targetNavigation,bubbles:!0,composed:!0}))}}return i([o({type:String})],c.prototype,"navigate",2),i([o({type:Boolean,attribute:"cache-transform"})],c.prototype,"cacheTransform",2),i([o({type:Number})],c.prototype,"requestTimeout",2),i([o({type:Boolean})],c.prototype,"showLoadingIndicators",2),c};var P=m=>{class c extends m{constructor(...n){super(...n),this.sessionContext={...this.sessionContext,view:"candidate"},this.addEventListener("on-test-switch-view",t=>{this.sessionContext={...this.sessionContext,view:t.detail},this._updateElementView()}),this.addEventListener("qti-assessment-test-connected",()=>{this._updateElementView()}),this.addEventListener("qti-assessment-item-connected",t=>{this._updateElementView(),this._setCorrectResponseVisibility(t.detail)})}willUpdate(n){super.willUpdate(n),n.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this._testElement){Array.from(this._testElement.querySelectorAll("[view]")).forEach(s=>{s.classList.toggle("show",s.getAttribute("view")===this.sessionContext.view)});let e=this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this.sessionContext.navItemRefId}"]`)?.assessmentItem;e&&e.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(n){n.showCorrectResponse(this.sessionContext.view==="scorer")}}return c};var q=class extends p{constructor(){super();this.testContext=w;this.sessionContext=R;this._updateItemInTestContext=r=>{let n=r._context,t=n.identifier,e=n.variables,s=this.testContext.items.find(u=>u?.identifier===t);if(!s){console.warn(`Item IDs between assessment.xml and item.xml should match: ${t} is not found!`);return}s.variables?.length===1?this._updateItemVariablesInTestContext(t,e):r.variables=[...s.variables||[]]};this.addEventListener("qti-assessment-test-connected",r=>{if(this.testContext=w,this.sessionContext=R,this.testContext&&this.testContext.items.length>0)return;this._testElement=r.detail;let n=Array.from(this._testElement.querySelectorAll("qti-assessment-item-ref")).map(t=>({href:t.href,identifier:t.identifier,category:t.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}));this.testContext={...this.testContext,items:n}}),this.addEventListener("qti-assessment-item-connected",r=>{let n=r.detail,t=n.closest("qti-assessment-item-ref")?.identifier;t&&(n.assessmentItemRefId=t),this._updateItemInTestContext(r.detail)}),this.addEventListener("qti-item-context-updated",r=>{this._updateItemVariablesInTestContext(r.detail.itemContext.identifier,r.detail.itemContext.variables)})}updateItemVariables(r,n){let t=this.testContext.items.find(s=>s.identifier===r);t&&(t.variables=t.variables.map(s=>{let u=n.find(a=>a.identifier===s.identifier);return u?{...s,...u}:s}));let e=this._testElement.querySelector(`qti-assessment-item-ref[identifier="${r}"]`);e&&e.assessmentItem&&e.assessmentItem&&(e.assessmentItem.variables=n)}_updateItemVariablesInTestContext(r,n){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==r?t:{...t,variables:n.map(e=>{let s=t.variables.find(u=>u.identifier===e.identifier);return s?{...s,...e}:e})})},this.dispatchEvent(new CustomEvent("qti-test-context-updated",{detail:this.testContext,bubbles:!1,composed:!1}))}};i([o({attribute:!1,type:Object}),I({context:x})],q.prototype,"testContext",2),i([o({attribute:!1,type:Object}),I({context:A})],q.prototype,"sessionContext",2);var $=m=>{class c extends m{constructor(...n){super(...n),this.addEventListener("qti-register-variable",t=>{this.testContext={...this.testContext,testOutcomeVariables:[...this.testContext.testOutcomeVariables||[],t.detail.variable]},t.stopPropagation()}),this.addEventListener("qti-set-outcome-value",t=>{let{outcomeIdentifier:e,value:s}=t.detail;this.updateOutcomeVariable(e,s),t.stopPropagation()})}outcomeProcessing(){let n=this.querySelector("qti-outcome-processing");return n?(n?.process(),!0):!1}updateOutcomeVariable(n,t){let e=this.getOutcome(n);if(!e){console.warn(`Can not set qti-outcome-identifier: ${n}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(s=>s.identifier!==n?s:{...s,value:e.cardinality==="single"?t:[...s.value,t]})}}getOutcome(n){return this.getVariable(n)}getVariable(n){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===n)||null}}return c};var T=class extends D(P($(q))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return d`<slot></slot>`}};T=i([E("qti-test")],T);var k={fromAttribute(m){return m==="true"},toAttribute(m){return m?"true":"false"}},f=class extends p{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback();let r=this.getRootNode().host.closest("qti-test").querySelector("template[item-ref]");r&&(this.myTemplate=L(r)),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}))}render(){return this.myTemplate?this.myTemplate({xmlDoc:this.xmlDoc}):this.xmlDoc}};i([o({type:String})],f.prototype,"category",2),i([o({type:String})],f.prototype,"identifier",2),i([o({type:Boolean,converter:k})],f.prototype,"required",2),i([o({type:Boolean,converter:k})],f.prototype,"fixed",2),i([o({type:String})],f.prototype,"href",2),i([o({type:Object,attribute:!1})],f.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",f);var O={fromAttribute(m){return m==="true"},toAttribute(m){return m?"true":"false"}},h=class extends p{constructor(){super(...arguments);this._title=""}get title(){return this._title}set title(r){this._title=r,this.removeAttribute("title"),this.setAttribute("data-title",r)}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return d`<slot name="qti-rubric-block"></slot><slot></slot>`}};i([o({type:String})],h.prototype,"identifier",2),i([o({type:String})],h.prototype,"required",2),i([o({type:Boolean,converter:O})],h.prototype,"fixed",2),i([o({type:Boolean,converter:O})],h.prototype,"visible",2),i([o({type:Boolean,converter:O,attribute:"keep-together"})],h.prototype,"keepTogether",2),i([C({context:x,subscribe:!0})],h.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",h);var y=class extends p{constructor(){super(...arguments);this._title=""}get title(){return this._title}set title(r){this._title=r,this.removeAttribute("title"),this.setAttribute("data-title",r)}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return d` <slot></slot>`}};i([o({type:String})],y.prototype,"identifier",2),i([o({type:String})],y.prototype,"title",1),i([C({context:x,subscribe:!0})],y.prototype,"_testContext",2),y=i([E("qti-assessment-test")],y);var g=class extends p{constructor(){super(...arguments);this.identifier="";this.class="";this.navigationMode="nonlinear";this.submissionMode="individual";this._title=""}get title(){return this._title}set title(r){this._title=r,this.removeAttribute("title"),this.setAttribute("data-title",r)}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return d` <slot></slot>`}};i([o({type:String})],g.prototype,"identifier",2),i([o({type:String})],g.prototype,"class",2),i([o({type:String,attribute:"navigation-mode"})],g.prototype,"navigationMode",2),i([o({type:String,attribute:"submission-mode"})],g.prototype,"submissionMode",2),g=i([E("qti-test-part")],g);customElements.get("qti-test-part")||customElements.define("qti-test-part",g);var _=class extends S{render(){return d``}};_.styles=N`
2
+ :host {
3
+ color: gray;
4
+ }
5
+ `,_=i([E("qti-test-feedback")],_);export{T as a,f as b,h as c,y as d,g as e,_ as f};
@@ -0,0 +1 @@
1
+ import{a as l}from"./chunk-DP5FVJRS.js";import{b as a}from"./chunk-CZDMOYYF.js";import{a as m}from"./chunk-O4RAJ3LM.js";import{d as o,g as r,i as n}from"./chunk-HKWYQB5Z.js";import{b as i}from"./chunk-3YQMAZEO.js";import{a as s}from"./chunk-LO2NM3CE.js";var t=class extends n{createRenderRoot(){return this}connectedCallback(){super.connectedCallback();let e=this.querySelector("template");if(!e){this.myTemplate=null;return}this.myTemplate=l(e)}_switchView(e){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:e}))}firstUpdated(e){this.addEventListener("click",()=>{this.sessionContext?.view==="scorer"?this._switchView("candidate"):this._switchView("scorer")})}render(){return o`${this.myTemplate?this.myTemplate({view:this.sessionContext?.view}):r}`}};s([i({context:a,subscribe:!0})],t.prototype,"sessionContext",2),t=s([m("test-view-toggle")],t);export{t as a};
@@ -0,0 +1,5 @@
1
+ import{a as p,b as c}from"./chunk-JHMA3APO.js";import{a as o}from"./chunk-XUJ7TXHW.js";import{a as l}from"./chunk-E6IOJ4MV.js";import{a as s,b as m,c as a}from"./chunk-SBACDLL6.js";import{d as r,i as n}from"./chunk-J3NAMJRF.js";import{a as i}from"./chunk-LO2NM3CE.js";var e=class extends n{constructor(){super(...arguments);this.itemURL=null;this.itemDoc=null;this.itemXML=null;this.templateContent=null}async handleItemURLChange(){if(this.itemURL)try{let{promise:t}=await l().load(this.itemURL);this.itemDoc=(await t).htmlDoc()}catch(t){console.error("Error loading or parsing XML:",t)}}handleItemXMLChange(){if(this.itemXML)try{this.itemDoc=l().parse(this.itemXML).htmlDoc()}catch(t){console.error("Error parsing XML:",t)}}async connectedCallback(){super.connectedCallback(),this.initializeTemplateContent(),this.applyStyles(),this.itemURL&&this.handleItemURLChange(),this.itemXML&&this.handleItemXMLChange()}initializeTemplateContent(){let t=this.querySelector("template");this.templateContent=t?t.content:r``}applyStyles(){let t=new CSSStyleSheet;t.replaceSync(c),this.shadowRoot.adoptedStyleSheets=[t]}render(){return r`
2
+ ${this.templateContent}
3
+ <slot></slot>
4
+ ${p(this.itemDoc,r`<span>Loading...</span>`)}
5
+ `}};i([m({type:String,attribute:"item-url"})],e.prototype,"itemURL",2),i([a()],e.prototype,"itemDoc",2),i([a()],e.prototype,"itemXML",2),i([o("itemURL",{waitUntilFirstUpdate:!0})],e.prototype,"handleItemURLChange",1),i([o("itemXML",{waitUntilFirstUpdate:!0})],e.prototype,"handleItemXMLChange",1),e=i([s("item-container")],e);export{e as a};