@citolab/qti-components 7.0.9 → 7.0.10

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 (344) hide show
  1. package/cdn/chunks/chunk-22SOGZF4.js +1 -0
  2. package/cdn/chunks/chunk-2TYVSDOR.js +10 -0
  3. package/cdn/chunks/chunk-2UE47PDO.js +8 -0
  4. package/cdn/chunks/chunk-3AZDOXQ2.js +1 -0
  5. package/cdn/chunks/chunk-3JYWJ2NK.js +7 -0
  6. package/cdn/chunks/chunk-46LUBNDT.js +1 -0
  7. package/cdn/chunks/chunk-4AQLM6EU.js +1 -0
  8. package/cdn/chunks/chunk-4F3SWHSX.js +3537 -0
  9. package/cdn/chunks/chunk-4JDR4LHD.js +7 -0
  10. package/cdn/chunks/chunk-4PRM73PT.js +3530 -0
  11. package/cdn/chunks/chunk-4PWQZQY3.js +17 -0
  12. package/cdn/chunks/chunk-5A43OJRS.js +24 -0
  13. package/cdn/chunks/chunk-5E2MIJGV.js +0 -0
  14. package/cdn/chunks/chunk-5ETOPNVH.js +1 -0
  15. package/cdn/chunks/chunk-5HNHSP7A.js +3530 -0
  16. package/cdn/chunks/chunk-5JUDXKGO.js +7 -0
  17. package/cdn/chunks/chunk-6A2O5DS7.js +1 -0
  18. package/cdn/chunks/chunk-6FKGN7HB.js +1 -0
  19. package/cdn/chunks/chunk-7AZEP5VB.js +8 -0
  20. package/cdn/chunks/chunk-7CQK5FSF.js +3530 -0
  21. package/cdn/chunks/chunk-APXB6KK5.js +8 -0
  22. package/cdn/chunks/chunk-AV37OE2S.js +1 -0
  23. package/cdn/chunks/chunk-AWIOWT4I.js +1 -0
  24. package/cdn/chunks/chunk-BB6R7AIH.js +8 -0
  25. package/cdn/chunks/chunk-CKOTA237.js +1 -0
  26. package/cdn/chunks/chunk-CZTZFTHC.js +8 -0
  27. package/cdn/chunks/chunk-D3JZV5XV.js +1 -0
  28. package/cdn/chunks/chunk-DI3XOGVR.js +951 -0
  29. package/cdn/chunks/chunk-DSZDMYQL.js +1 -0
  30. package/cdn/chunks/chunk-ELG6OUC7.js +1 -0
  31. package/cdn/chunks/chunk-EQNTO3QG.js +8 -0
  32. package/cdn/chunks/chunk-ESTNU24A.js +1 -0
  33. package/cdn/chunks/chunk-EUHRWJ5R.js +48 -0
  34. package/cdn/chunks/chunk-EVPWT7PO.js +1 -0
  35. package/cdn/chunks/chunk-EXAWEKDS.js +1 -0
  36. package/cdn/chunks/chunk-FCESHSJ3.js +73 -0
  37. package/cdn/chunks/chunk-G457CJP5.js +1 -0
  38. package/cdn/chunks/chunk-GIFBDBLN.js +8 -0
  39. package/cdn/chunks/chunk-GIYY5ZKS.js +939 -0
  40. package/cdn/chunks/chunk-GTFFARVB.js +8 -0
  41. package/cdn/chunks/chunk-GYPMDM7U.js +41 -0
  42. package/cdn/chunks/chunk-HG75NNFK.js +1 -0
  43. package/cdn/chunks/chunk-HV4JN3XB.js +1 -0
  44. package/cdn/chunks/chunk-HXPYDFGQ.js +8 -0
  45. package/cdn/chunks/chunk-IDGQY66Q.js +8 -0
  46. package/cdn/chunks/chunk-J5BEBS4Y.js +1 -0
  47. package/cdn/chunks/chunk-JLT3S3BD.js +1 -0
  48. package/cdn/chunks/chunk-K2TKSKEN.js +1 -0
  49. package/cdn/chunks/chunk-K4LCPCDE.js +1 -0
  50. package/cdn/chunks/chunk-KFA5RO3O.js +1 -0
  51. package/cdn/chunks/chunk-KFLS5ISA.js +1 -0
  52. package/cdn/chunks/chunk-KJEXS4DB.js +1 -0
  53. package/cdn/chunks/chunk-L33RHCU4.js +1 -0
  54. package/cdn/chunks/chunk-LPXDIJR2.js +1 -0
  55. package/cdn/chunks/chunk-LQ3DVN7N.js +1 -0
  56. package/cdn/chunks/chunk-LXNE62HZ.js +1 -0
  57. package/cdn/chunks/chunk-M2YG5XJI.js +8 -0
  58. package/cdn/chunks/chunk-M5OZ7YYR.js +3537 -0
  59. package/cdn/chunks/chunk-MCB43U5P.js +1 -0
  60. package/cdn/chunks/chunk-NFO577XB.js +939 -0
  61. package/cdn/chunks/chunk-NXTUDFAR.js +8 -0
  62. package/cdn/chunks/chunk-PAQSIIBJ.js +939 -0
  63. package/cdn/chunks/chunk-PAWTFMTX.js +8 -0
  64. package/cdn/chunks/chunk-PP4PDVVF.js +1 -0
  65. package/cdn/chunks/chunk-PZ7WEWHR.js +41 -0
  66. package/cdn/chunks/chunk-QEQPGKII.js +939 -0
  67. package/cdn/chunks/chunk-QICNOCJ6.js +1 -0
  68. package/cdn/chunks/chunk-QII27W7O.js +1 -0
  69. package/cdn/chunks/chunk-QYXRVCGM.js +6 -0
  70. package/cdn/chunks/chunk-REVF4YJC.js +8 -0
  71. package/cdn/chunks/chunk-S7SSPYIM.js +1 -0
  72. package/cdn/chunks/chunk-SCAVRW3H.js +1 -0
  73. package/cdn/chunks/chunk-TAJ4OCKW.js +3530 -0
  74. package/cdn/chunks/chunk-TH2YUX3A.js +17 -0
  75. package/cdn/chunks/chunk-TV7GYNJO.js +1 -0
  76. package/cdn/chunks/chunk-UXPSLBXO.js +1 -0
  77. package/cdn/chunks/chunk-VCH5D4D5.js +1 -0
  78. package/cdn/chunks/chunk-VE4IM4WS.js +8 -0
  79. package/cdn/chunks/chunk-VQPS5EII.js +939 -0
  80. package/cdn/chunks/chunk-WIDUHBF5.js +8 -0
  81. package/cdn/chunks/chunk-WTMZDTN4.js +1 -0
  82. package/cdn/chunks/chunk-X6XFTJQH.js +8 -0
  83. package/cdn/chunks/chunk-XEXDWGVU.js +939 -0
  84. package/cdn/chunks/chunk-XHBOTQFL.js +1 -0
  85. package/cdn/chunks/chunk-Y3GKQGXZ.js +8 -0
  86. package/cdn/chunks/chunk-YM6G2V57.js +8 -0
  87. package/cdn/chunks/chunk-YWZPZLWC.js +1 -0
  88. package/cdn/chunks/chunk-YYGAT2GT.js +1 -0
  89. package/cdn/chunks/chunk-Z7NL2OYT.js +1 -0
  90. package/cdn/chunks/chunk-ZCSHWAC6.js +1 -0
  91. package/cdn/chunks/chunk-ZILMGYR5.js +1 -0
  92. package/cdn/chunks/chunk-ZJMQOR5E.js +0 -0
  93. package/cdn/chunks/chunk-ZXVHR32G.js +1 -0
  94. package/cdn/exports/config.context.js +1 -1
  95. package/cdn/exports/interaction.js +1 -1
  96. package/cdn/index.global.js +1 -1
  97. package/cdn/index.js +1 -1
  98. package/cdn/qti-components/index.js +1 -1
  99. package/cdn/qti-item/core/index.js +1 -1
  100. package/cdn/qti-test/components/index.js +1 -1
  101. package/cdn/qti-test/components/test-container.js +1 -1
  102. package/cdn/qti-test/components/test-end-attempt.js +1 -1
  103. package/cdn/qti-test/components/test-item-link.js +1 -1
  104. package/cdn/qti-test/components/test-navigation.js +1 -1
  105. package/cdn/qti-test/components/test-next.js +1 -1
  106. package/cdn/qti-test/components/test-paging-buttons-stamp copy.js +1 -0
  107. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -1
  108. package/cdn/qti-test/components/test-paging-buttons-stamp.stories copy.css +1 -0
  109. package/cdn/qti-test/components/test-paging-buttons-stamp.stories copy.js +264 -0
  110. package/cdn/qti-test/components/test-prev.js +1 -1
  111. package/cdn/qti-test/components/test-print-item-variables.js +1 -0
  112. package/cdn/qti-test/components/test-section-buttons-stamp.js +1 -0
  113. package/cdn/qti-test/components/test-section-link.js +1 -0
  114. package/cdn/qti-test/components/test-show-correct-response.js +1 -1
  115. package/cdn/qti-test/core/index.js +1 -1
  116. package/dist/chunks/chunk-25BRPHJE.js +630 -0
  117. package/dist/chunks/chunk-25BRPHJE.js.map +1 -0
  118. package/dist/chunks/chunk-25ZCG5KD.js +6432 -0
  119. package/dist/chunks/chunk-25ZCG5KD.js.map +1 -0
  120. package/dist/chunks/chunk-2Q7RXYGX.js +213 -0
  121. package/dist/chunks/chunk-2Q7RXYGX.js.map +1 -0
  122. package/dist/chunks/chunk-2VA7CRTS.js +30 -0
  123. package/dist/chunks/chunk-2VA7CRTS.js.map +1 -0
  124. package/dist/chunks/chunk-36RGXVXQ.js +3634 -0
  125. package/dist/chunks/chunk-36RGXVXQ.js.map +1 -0
  126. package/dist/chunks/chunk-3F566AXX.js +210 -0
  127. package/dist/chunks/chunk-3F566AXX.js.map +1 -0
  128. package/dist/chunks/chunk-4475MTP7.js +630 -0
  129. package/dist/chunks/chunk-4475MTP7.js.map +1 -0
  130. package/dist/chunks/chunk-4GJ5LAU5.js +631 -0
  131. package/dist/chunks/chunk-4GJ5LAU5.js.map +1 -0
  132. package/dist/chunks/chunk-4HI4Q5TO.js +3641 -0
  133. package/dist/chunks/chunk-4HI4Q5TO.js.map +1 -0
  134. package/dist/chunks/chunk-4L5S7AON.js +621 -0
  135. package/dist/chunks/chunk-4L5S7AON.js.map +1 -0
  136. package/dist/chunks/chunk-52EWQN42.js +634 -0
  137. package/dist/chunks/chunk-52EWQN42.js.map +1 -0
  138. package/dist/chunks/chunk-5BSOZZMV.js +621 -0
  139. package/dist/chunks/chunk-5BSOZZMV.js.map +1 -0
  140. package/dist/chunks/chunk-5DFTIWBN.js +95 -0
  141. package/dist/chunks/chunk-5DFTIWBN.js.map +1 -0
  142. package/dist/chunks/chunk-5DZX4TPP.js +45 -0
  143. package/dist/chunks/chunk-5DZX4TPP.js.map +1 -0
  144. package/dist/chunks/chunk-5FQYXHVK.js +213 -0
  145. package/dist/chunks/chunk-5FQYXHVK.js.map +1 -0
  146. package/dist/chunks/chunk-5JJ7ELEU.js +39 -0
  147. package/dist/chunks/chunk-5JJ7ELEU.js.map +1 -0
  148. package/dist/chunks/chunk-5OMC3DTZ.js +3628 -0
  149. package/dist/chunks/chunk-5OMC3DTZ.js.map +1 -0
  150. package/dist/chunks/chunk-63WMM765.js +30 -0
  151. package/dist/chunks/chunk-63WMM765.js.map +1 -0
  152. package/dist/chunks/chunk-7ABTMTDB.js +86 -0
  153. package/dist/chunks/chunk-7ABTMTDB.js.map +1 -0
  154. package/dist/chunks/chunk-7K6TWSAK.js +626 -0
  155. package/dist/chunks/chunk-7K6TWSAK.js.map +1 -0
  156. package/dist/chunks/chunk-7QZ4E5WZ.js +210 -0
  157. package/dist/chunks/chunk-7QZ4E5WZ.js.map +1 -0
  158. package/dist/chunks/chunk-7RB2AUJE.js +622 -0
  159. package/dist/chunks/chunk-7RB2AUJE.js.map +1 -0
  160. package/dist/chunks/chunk-7WZH7TKG.js +210 -0
  161. package/dist/chunks/chunk-7WZH7TKG.js.map +1 -0
  162. package/dist/chunks/chunk-7YREO7KD.js +214 -0
  163. package/dist/chunks/chunk-7YREO7KD.js.map +1 -0
  164. package/dist/chunks/chunk-AI3BVEE3.js +102 -0
  165. package/dist/chunks/chunk-AI3BVEE3.js.map +1 -0
  166. package/dist/chunks/chunk-AZOWZY7V.js +95 -0
  167. package/dist/chunks/chunk-AZOWZY7V.js.map +1 -0
  168. package/dist/chunks/chunk-AZZW7WYD.js +3634 -0
  169. package/dist/chunks/chunk-AZZW7WYD.js.map +1 -0
  170. package/dist/chunks/chunk-B4YBRGOO.js +72 -0
  171. package/dist/chunks/chunk-B4YBRGOO.js.map +1 -0
  172. package/dist/chunks/chunk-BBFU7KGH.js +6432 -0
  173. package/dist/chunks/chunk-BBFU7KGH.js.map +1 -0
  174. package/dist/chunks/chunk-BCX6AQCQ.js +210 -0
  175. package/dist/chunks/chunk-BCX6AQCQ.js.map +1 -0
  176. package/dist/chunks/chunk-BJHVTP5W.js +95 -0
  177. package/dist/chunks/chunk-BJHVTP5W.js.map +1 -0
  178. package/dist/chunks/chunk-BOMM6A7V.js +19 -0
  179. package/dist/chunks/chunk-BOMM6A7V.js.map +1 -0
  180. package/dist/chunks/chunk-C5Q3SNXK.js +623 -0
  181. package/dist/chunks/chunk-C5Q3SNXK.js.map +1 -0
  182. package/dist/chunks/chunk-CONPNDHF.js +6416 -0
  183. package/dist/chunks/chunk-CONPNDHF.js.map +1 -0
  184. package/dist/chunks/chunk-CP63JV6J.js +56 -0
  185. package/dist/chunks/chunk-CP63JV6J.js.map +1 -0
  186. package/dist/chunks/chunk-DRATSVXW.js +99 -0
  187. package/dist/chunks/chunk-DRATSVXW.js.map +1 -0
  188. package/dist/chunks/chunk-E7UCMQNT.js +98 -0
  189. package/dist/chunks/chunk-E7UCMQNT.js.map +1 -0
  190. package/dist/chunks/chunk-ECTTGUKY.js +72 -0
  191. package/dist/chunks/chunk-ECTTGUKY.js.map +1 -0
  192. package/dist/chunks/chunk-F3JNWOBS.js +630 -0
  193. package/dist/chunks/chunk-F3JNWOBS.js.map +1 -0
  194. package/dist/chunks/chunk-FKOHVQD5.js +565 -0
  195. package/dist/chunks/chunk-FKOHVQD5.js.map +1 -0
  196. package/dist/chunks/chunk-FKYQ474Y.js +634 -0
  197. package/dist/chunks/chunk-FKYQ474Y.js.map +1 -0
  198. package/dist/chunks/chunk-FRNEKC5E.js +211 -0
  199. package/dist/chunks/chunk-FRNEKC5E.js.map +1 -0
  200. package/dist/chunks/chunk-GM2VH33L.js +214 -0
  201. package/dist/chunks/chunk-GM2VH33L.js.map +1 -0
  202. package/dist/chunks/chunk-HRCCW6MA.js +8 -0
  203. package/dist/chunks/chunk-HRCCW6MA.js.map +1 -0
  204. package/dist/chunks/chunk-ILL4KEGU.js +616 -0
  205. package/dist/chunks/chunk-ILL4KEGU.js.map +1 -0
  206. package/dist/chunks/chunk-IPWVQUFB.js +641 -0
  207. package/dist/chunks/chunk-IPWVQUFB.js.map +1 -0
  208. package/dist/chunks/chunk-IQVU7D3B.js +1 -0
  209. package/dist/chunks/chunk-IQVU7D3B.js.map +1 -0
  210. package/dist/chunks/chunk-JCEYFPPV.js +100 -0
  211. package/dist/chunks/chunk-JCEYFPPV.js.map +1 -0
  212. package/dist/chunks/chunk-JMIFSDZ7.js +52 -0
  213. package/dist/chunks/chunk-JMIFSDZ7.js.map +1 -0
  214. package/dist/chunks/chunk-JPATXTKN.js +629 -0
  215. package/dist/chunks/chunk-JPATXTKN.js.map +1 -0
  216. package/dist/chunks/chunk-KB5LRYDB.js +1 -0
  217. package/dist/chunks/chunk-KB5LRYDB.js.map +1 -0
  218. package/dist/chunks/chunk-KEF7X2OE.js +3621 -0
  219. package/dist/chunks/chunk-KEF7X2OE.js.map +1 -0
  220. package/dist/chunks/chunk-L5B7J2ZT.js +43 -0
  221. package/dist/chunks/chunk-L5B7J2ZT.js.map +1 -0
  222. package/dist/chunks/chunk-LU3O7U7W.js +45 -0
  223. package/dist/chunks/chunk-LU3O7U7W.js.map +1 -0
  224. package/dist/chunks/chunk-M3ONQ3OO.js +45 -0
  225. package/dist/chunks/chunk-M3ONQ3OO.js.map +1 -0
  226. package/dist/chunks/chunk-MBF6HEKO.js +39 -0
  227. package/dist/chunks/chunk-MBF6HEKO.js.map +1 -0
  228. package/dist/chunks/chunk-NW6WMWBC.js +94 -0
  229. package/dist/chunks/chunk-NW6WMWBC.js.map +1 -0
  230. package/dist/chunks/chunk-NXSALC5S.js +633 -0
  231. package/dist/chunks/chunk-NXSALC5S.js.map +1 -0
  232. package/dist/chunks/chunk-OTLH5OUZ.js +44 -0
  233. package/dist/chunks/chunk-OTLH5OUZ.js.map +1 -0
  234. package/dist/chunks/chunk-P7CW3RY4.js +6538 -0
  235. package/dist/chunks/chunk-P7CW3RY4.js.map +1 -0
  236. package/dist/chunks/chunk-PWOPGMKY.js +210 -0
  237. package/dist/chunks/chunk-PWOPGMKY.js.map +1 -0
  238. package/dist/chunks/chunk-QC5NBP3D.js +44 -0
  239. package/dist/chunks/chunk-QC5NBP3D.js.map +1 -0
  240. package/dist/chunks/chunk-QHWSY3K6.js +30 -0
  241. package/dist/chunks/chunk-QHWSY3K6.js.map +1 -0
  242. package/dist/chunks/chunk-QL3I5UMG.js +43 -0
  243. package/dist/chunks/chunk-QL3I5UMG.js.map +1 -0
  244. package/dist/chunks/chunk-QV4U5W67.js +43 -0
  245. package/dist/chunks/chunk-QV4U5W67.js.map +1 -0
  246. package/dist/chunks/chunk-R7HYOALH.js +213 -0
  247. package/dist/chunks/chunk-R7HYOALH.js.map +1 -0
  248. package/dist/chunks/chunk-SC5PDBVU.js +629 -0
  249. package/dist/chunks/chunk-SC5PDBVU.js.map +1 -0
  250. package/dist/chunks/chunk-SFRILOXM.js +624 -0
  251. package/dist/chunks/chunk-SFRILOXM.js.map +1 -0
  252. package/dist/chunks/chunk-ST5C4HZG.js +3621 -0
  253. package/dist/chunks/chunk-ST5C4HZG.js.map +1 -0
  254. package/dist/chunks/chunk-T524XBVZ.js +45 -0
  255. package/dist/chunks/chunk-T524XBVZ.js.map +1 -0
  256. package/dist/chunks/chunk-TN5UCQIV.js +614 -0
  257. package/dist/chunks/chunk-TN5UCQIV.js.map +1 -0
  258. package/dist/chunks/chunk-TWGONQQT.js +44 -0
  259. package/dist/chunks/chunk-TWGONQQT.js.map +1 -0
  260. package/dist/chunks/chunk-UDDWTISS.js +615 -0
  261. package/dist/chunks/chunk-UDDWTISS.js.map +1 -0
  262. package/dist/chunks/chunk-URMN5M77.js +36 -0
  263. package/dist/chunks/chunk-URMN5M77.js.map +1 -0
  264. package/dist/chunks/chunk-VPMLJM47.js +621 -0
  265. package/dist/chunks/chunk-VPMLJM47.js.map +1 -0
  266. package/dist/chunks/chunk-WYIX3HQR.js +634 -0
  267. package/dist/chunks/chunk-WYIX3HQR.js.map +1 -0
  268. package/dist/chunks/chunk-XISZU4KI.js +614 -0
  269. package/dist/chunks/chunk-XISZU4KI.js.map +1 -0
  270. package/dist/chunks/chunk-Y32L6VYU.js +91 -0
  271. package/dist/chunks/chunk-Y32L6VYU.js.map +1 -0
  272. package/dist/chunks/chunk-Y35P6GUT.js +99 -0
  273. package/dist/chunks/chunk-Y35P6GUT.js.map +1 -0
  274. package/dist/chunks/chunk-YUWIMPXO.js +75 -0
  275. package/dist/chunks/chunk-YUWIMPXO.js.map +1 -0
  276. package/dist/chunks/chunk-ZJHKJMHR.js +52 -0
  277. package/dist/chunks/chunk-ZJHKJMHR.js.map +1 -0
  278. package/dist/chunks/chunk-ZO73DF5R.js +36 -0
  279. package/dist/chunks/chunk-ZO73DF5R.js.map +1 -0
  280. package/dist/chunks/chunk-ZRA43QD3.js +52 -0
  281. package/dist/chunks/chunk-ZRA43QD3.js.map +1 -0
  282. package/dist/exports/computed.context.d.ts +3 -1
  283. package/dist/exports/computed.context.js +1 -1
  284. package/dist/exports/config.context.d.ts +1 -0
  285. package/dist/exports/config.context.js +4 -3
  286. package/dist/exports/config.context.js.map +1 -1
  287. package/dist/exports/interaction.d.ts +5 -2
  288. package/dist/exports/interaction.js +1 -1
  289. package/dist/exports/item.context.d.ts +1 -1
  290. package/dist/exports/qti-assessment-item.context.d.ts +1 -1
  291. package/dist/exports/qti-condition-expression.d.ts +1 -1
  292. package/dist/exports/qti-expression.d.ts +1 -1
  293. package/dist/exports/session.context.d.ts +3 -3
  294. package/dist/exports/test.context.d.ts +1 -1
  295. package/dist/exports/variables.d.ts +1 -1
  296. package/dist/index.d.ts +9 -6
  297. package/dist/index.js +26 -15
  298. package/dist/item.css +14 -1
  299. package/dist/qti-components/index.d.ts +4 -4
  300. package/dist/qti-components/index.js +2 -2
  301. package/dist/qti-components-jsx.d.ts +82 -36
  302. package/dist/qti-item/core/index.js +1 -1
  303. package/dist/qti-loader/index.d.ts +3 -3
  304. package/dist/qti-response-declaration-BwciEk5R.d.ts +1022 -0
  305. package/dist/qti-response-declaration-CCx746w0.d.ts +1023 -0
  306. package/dist/qti-response-declaration-CRGM9w_b.d.ts +1023 -0
  307. package/dist/qti-response-declaration-CbWRpo5c.d.ts +1033 -0
  308. package/dist/qti-test/components/index.d.ts +10 -8
  309. package/dist/qti-test/components/index.js +22 -11
  310. package/dist/qti-test/components/test-container.js +1 -1
  311. package/dist/qti-test/components/test-end-attempt.d.ts +0 -3
  312. package/dist/qti-test/components/test-end-attempt.js +1 -3
  313. package/dist/qti-test/components/test-item-link.js +1 -1
  314. package/dist/qti-test/components/test-navigation.d.ts +21 -8
  315. package/dist/qti-test/components/test-navigation.js +2 -3
  316. package/dist/qti-test/components/test-next.js +2 -2
  317. package/dist/qti-test/components/test-paging-buttons-stamp copy.js +44 -0
  318. package/dist/qti-test/components/test-paging-buttons-stamp copy.js.map +1 -0
  319. package/dist/qti-test/components/test-paging-buttons-stamp.js +2 -2
  320. package/dist/qti-test/components/test-paging-buttons-stamp.stories copy.css +93 -0
  321. package/dist/qti-test/components/test-paging-buttons-stamp.stories copy.css.map +1 -0
  322. package/dist/qti-test/components/test-paging-buttons-stamp.stories copy.js +9774 -0
  323. package/dist/qti-test/components/test-paging-buttons-stamp.stories copy.js.map +1 -0
  324. package/dist/qti-test/components/test-prev.js +2 -2
  325. package/dist/qti-test/components/test-print-item-variables.d.ts +15 -0
  326. package/dist/qti-test/components/test-print-item-variables.js +9 -0
  327. package/dist/qti-test/components/test-print-item-variables.js.map +1 -0
  328. package/dist/qti-test/components/test-section-buttons-stamp.d.ts +20 -0
  329. package/dist/qti-test/components/test-section-buttons-stamp.js +9 -0
  330. package/dist/qti-test/components/test-section-buttons-stamp.js.map +1 -0
  331. package/dist/qti-test/components/test-section-link.d.ts +18 -0
  332. package/dist/qti-test/components/test-section-link.js +9 -0
  333. package/dist/qti-test/components/test-section-link.js.map +1 -0
  334. package/dist/qti-test/components/test-show-correct-response.d.ts +0 -3
  335. package/dist/qti-test/components/test-show-correct-response.js +1 -3
  336. package/dist/qti-test/core/index.d.ts +5 -5
  337. package/dist/qti-test/core/index.js +1 -1
  338. package/dist/qti-test-part-8W7-lWmu.d.ts +85 -0
  339. package/dist/qti-test-part-BEPYFFNO.d.ts +85 -0
  340. package/dist/qti-test-part-CTzSuEgA.d.ts +85 -0
  341. package/dist/qti-test-part-CcFpkf1G.d.ts +85 -0
  342. package/dist/variables-D70AFbp2.d.ts +47 -0
  343. package/dist/vscode.html-custom-data.json +35 -10
  344. package/package.json +2 -1
@@ -0,0 +1,8 @@
1
+ import{a as u}from"./chunk-GCKESRQG.js";import{b as p,c}from"./chunk-L4CUWIE6.js";import{a as l}from"./chunk-XUJ7TXHW.js";import{a as h}from"./chunk-IKDNYCM7.js";import{a as d}from"./chunk-5GCSZ3CH.js";import{a as r,d as a,i as m}from"./chunk-LZZB4VGC.js";import{b as o}from"./chunk-M5PPZ5M3.js";import{a as s}from"./chunk-IAP2CEE7.js";var t=class extends m{constructor(){super();this.disabled=!0;this._internals=this.attachInternals(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",e=>{e.preventDefault(),this.disabled||this._requestItem(this.sectionItems[this.itemIndex-1].identifier)})}_handleTestElementChange(e,n){n&&(this.disabled=!1)}willUpdate(e){if(!this.computedContext)return;let n=this.computedContext?.testParts.find(i=>i.active);n&&(this.sectionItems=n.sections.flatMap(i=>i.items),this.itemIndex=this.sectionItems.findIndex(i=>i.active),this.checkDisabled())}checkDisabled(){this.disabled=!this.computedContext||this.itemIndex===0||this.itemIndex===-1}_requestItem(e){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:e}}))}render(){return a`<slot></slot>`}};t.styles=r`
2
+ :host {
3
+ ${p};
4
+ }
5
+ :host([disabled]) {
6
+ ${c};
7
+ }
8
+ `,s([u({type:Boolean,reflect:!0,aria:"ariaDisabled"})],t.prototype,"disabled",2),s([o({context:h,subscribe:!0})],t.prototype,"computedContext",2),s([l("computedContext")],t.prototype,"_handleTestElementChange",1),t=s([d("test-prev")],t);export{t as a};
@@ -0,0 +1,41 @@
1
+ import{g as U,h as z,i as v}from"./chunk-EUHRWJ5R.js";import{d as E}from"./chunk-6A2O5DS7.js";var T=["this"],F=["+","-","!"],W=["=","+","-","*","/","%","^","==","!=",">","<",">=","<=","||","&&","??","&","===","!==","|","|>"],C={"!":0,":":0,",":0,")":0,"]":0,"}":0,"|>":1,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"{":13},w=13;var Q=["==","!=","<=",">=","||","&&","??","|>"],J=["===","!=="],i;(function(t){t[t.STRING=1]="STRING",t[t.IDENTIFIER=2]="IDENTIFIER",t[t.DOT=3]="DOT",t[t.COMMA=4]="COMMA",t[t.COLON=5]="COLON",t[t.INTEGER=6]="INTEGER",t[t.DECIMAL=7]="DECIMAL",t[t.OPERATOR=8]="OPERATOR",t[t.GROUPER=9]="GROUPER",t[t.KEYWORD=10]="KEYWORD",t[t.ARROW=11]="ARROW"})(i||(i={}));var g=(t,e,r=0)=>({kind:t,value:e,precedence:r}),Z=t=>t===9||t===10||t===13||t===32,V=t=>t===95||t===36||(t&=-33,65<=t&&t<=90),K=t=>V(t)||O(t),ee=t=>T.indexOf(t)!==-1,te=t=>t===34||t===39,O=t=>48<=t&&t<=57,re=t=>t===43||t===45||t===42||t===47||t===33||t===38||t===37||t===60||t===61||t===62||t===63||t===94||t===124,ne=t=>t===40||t===41||t===91||t===93||t===123||t===125,se=t=>t.replace(/\\(.)/g,(e,r)=>{switch(r){case"n":return`
2
+ `;case"r":return"\r";case"t":return" ";case"b":return"\b";case"f":return"\f";default:return r}}),A=class{constructor(e){E(this,"_input");E(this,"_index",-1);E(this,"_tokenStart",0);E(this,"_next");this._input=e,this._advance()}nextToken(){for(;Z(this._next);)this._advance(!0);if(te(this._next))return this._tokenizeString();if(V(this._next))return this._tokenizeIdentOrKeyword();if(O(this._next))return this._tokenizeNumber();if(this._next===46)return this._tokenizeDot();if(this._next===44)return this._tokenizeComma();if(this._next===58)return this._tokenizeColon();if(re(this._next))return this._tokenizeOperator();if(ne(this._next))return this._tokenizeGrouper();if(this._advance(),this._next!==void 0)throw new Error(`Expected end of input, got ${this._next}`)}_advance(e){this._index++,this._index<this._input.length?(this._next=this._input.charCodeAt(this._index),e===!0&&(this._tokenStart=this._index)):this._next=void 0}_getValue(e=0){let r=this._input.substring(this._tokenStart,this._index+e);return e===0&&this._clearValue(),r}_clearValue(){this._tokenStart=this._index}_tokenizeString(){let e="unterminated string",r=this._next;for(this._advance(!0);this._next!==r;){if(this._next===void 0)throw new Error(e);if(this._next===92&&(this._advance(),this._next===void 0))throw new Error(e);this._advance()}let n=g(i.STRING,se(this._getValue()));return this._advance(),n}_tokenizeIdentOrKeyword(){do this._advance();while(K(this._next));let e=this._getValue(),r=ee(e)?i.KEYWORD:i.IDENTIFIER;return g(r,e)}_tokenizeNumber(){do this._advance();while(O(this._next));return this._next===46?this._tokenizeDot():g(i.INTEGER,this._getValue())}_tokenizeDot(){return this._advance(),O(this._next)?this._tokenizeFraction():(this._clearValue(),g(i.DOT,".",w))}_tokenizeComma(){return this._advance(!0),g(i.COMMA,",")}_tokenizeColon(){return this._advance(!0),g(i.COLON,":")}_tokenizeFraction(){do this._advance();while(O(this._next));return g(i.DECIMAL,this._getValue())}_tokenizeOperator(){this._advance();let e=this._getValue(2);if(J.indexOf(e)!==-1)this._advance(),this._advance();else{if(e=this._getValue(1),e==="=>")return this._advance(),g(i.ARROW,e);Q.indexOf(e)!==-1&&this._advance()}return e=this._getValue(),g(i.OPERATOR,e,C[e])}_tokenizeGrouper(){let e=String.fromCharCode(this._next),r=g(i.GROUPER,e,C[e]);return this._advance(!0),r}};var D=(t,e)=>new y(t,e).parse(),y=class{constructor(e,r){E(this,"_kind");E(this,"_tokenizer");E(this,"_ast");E(this,"_token");E(this,"_value");this._tokenizer=new A(e),this._ast=r}parse(){return this._advance(),this._parseExpression()}_advance(e,r){if(!this._matches(e,r))throw new Error(`Expected kind ${e} (${r}), was ${this._token?.kind} (${this._token?.value})`);let n=this._tokenizer.nextToken();this._token=n,this._kind=n?.kind,this._value=n?.value}_matches(e,r){return!(e&&this._kind!==e||r&&this._value!==r)}_parseExpression(){if(!this._token)return this._ast.empty();let e=this._parseUnary();return e===void 0?void 0:this._parsePrecedence(e,0)}_parsePrecedence(e,r){if(e===void 0)throw new Error("Expected left to be defined.");for(;this._token;)if(this._matches(i.GROUPER,"(")){let n=this._parseArguments();e=this._ast.invoke(e,void 0,n)}else if(this._matches(i.GROUPER,"[")){let n=this._parseIndex();e=this._ast.index(e,n)}else if(this._matches(i.DOT)){this._advance();let n=this._parseUnary();e=this._makeInvokeOrGetter(e,n)}else{if(this._matches(i.KEYWORD))break;if(this._matches(i.OPERATOR)&&this._token.precedence>=r)e=this._value==="?"?this._parseTernary(e):this._parseBinary(e,this._token);else break}return e}_makeInvokeOrGetter(e,r){if(r===void 0)throw new Error("expected identifier");if(r.type==="ID")return this._ast.getter(e,r.value);if(r.type==="Invoke"&&r.receiver.type==="ID"){let n=r.receiver;return this._ast.invoke(e,n.value,r.arguments)}else throw new Error(`expected identifier: ${r}`)}_parseBinary(e,r){if(W.indexOf(r.value)===-1)throw new Error(`unknown operator: ${r.value}`);this._advance();let n=this._parseUnary();for(;(this._kind===i.OPERATOR||this._kind===i.DOT||this._kind===i.GROUPER)&&this._token.precedence>r.precedence;)n=this._parsePrecedence(n,this._token.precedence);return this._ast.binary(e,r.value,n)}_parseUnary(){if(this._matches(i.OPERATOR)){let e=this._value;if(this._advance(),e==="+"||e==="-"){if(this._matches(i.INTEGER))return this._parseInteger(e);if(this._matches(i.DECIMAL))return this._parseDecimal(e)}if(F.indexOf(e)===-1)throw new Error(`unexpected token: ${e}`);let r=this._parsePrecedence(this._parsePrimary(),w);return this._ast.unary(e,r)}return this._parsePrimary()}_parseTernary(e){this._advance(i.OPERATOR,"?");let r=this._parseExpression();this._advance(i.COLON);let n=this._parseExpression();return this._ast.ternary(e,r,n)}_parsePrimary(){switch(this._kind){case i.KEYWORD:let e=this._value;if(e==="this")return this._advance(),this._ast.id(e);throw T.indexOf(e)!==-1?new Error(`unexpected keyword: ${e}`):new Error(`unrecognized keyword: ${e}`);case i.IDENTIFIER:return this._parseInvokeOrIdentifier();case i.STRING:return this._parseString();case i.INTEGER:return this._parseInteger();case i.DECIMAL:return this._parseDecimal();case i.GROUPER:return this._value==="("?this._parseParenOrFunction():this._value==="{"?this._parseMap():this._value==="["?this._parseList():void 0;case i.COLON:throw new Error('unexpected token ":"');default:return}}_parseList(){let e=[];do{if(this._advance(),this._matches(i.GROUPER,"]"))break;e.push(this._parseExpression())}while(this._matches(i.COMMA));return this._advance(i.GROUPER,"]"),this._ast.list(e)}_parseMap(){let e={};do{if(this._advance(),this._matches(i.GROUPER,"}"))break;let r=this._value;(this._matches(i.STRING)||this._matches(i.IDENTIFIER))&&this._advance(),this._advance(i.COLON),e[r]=this._parseExpression()}while(this._matches(i.COMMA));return this._advance(i.GROUPER,"}"),this._ast.map(e)}_parseInvokeOrIdentifier(){let e=this._value;if(e==="true")return this._advance(),this._ast.literal(!0);if(e==="false")return this._advance(),this._ast.literal(!1);if(e==="null")return this._advance(),this._ast.literal(null);if(e==="undefined")return this._advance(),this._ast.literal(void 0);let r=this._parseIdentifier(),n=this._parseArguments();return n?this._ast.invoke(r,void 0,n):r}_parseIdentifier(){if(!this._matches(i.IDENTIFIER))throw new Error(`expected identifier: ${this._value}`);let e=this._value;return this._advance(),this._ast.id(e)}_parseArguments(){if(!this._matches(i.GROUPER,"("))return;let e=[];do{if(this._advance(),this._matches(i.GROUPER,")"))break;let r=this._parseExpression();e.push(r)}while(this._matches(i.COMMA));return this._advance(i.GROUPER,")"),e}_parseIndex(){this._advance();let e=this._parseExpression();return this._advance(i.GROUPER,"]"),e}_parseParenOrFunction(){let e=this._parseArguments();if(this._matches(i.ARROW)){this._advance();let r=this._parseExpression(),n=e?.map(s=>s.value)??[];return this._ast.arrowFunction(n,r)}else return this._ast.paren(e[0])}_parseString(){let e=this._ast.literal(this._value);return this._advance(),e}_parseInteger(e=""){let r=this._ast.literal(parseInt(`${e}${this._value}`,10));return this._advance(),r}_parseDecimal(e=""){let r=this._ast.literal(parseFloat(`${e}${this._value}`));return this._advance(),r}};var ie={"+":(t,e)=>t+e,"-":(t,e)=>t-e,"*":(t,e)=>t*e,"/":(t,e)=>t/e,"%":(t,e)=>t%e,"==":(t,e)=>t==e,"!=":(t,e)=>t!=e,"===":(t,e)=>t===e,"!==":(t,e)=>t!==e,">":(t,e)=>t>e,">=":(t,e)=>t>=e,"<":(t,e)=>t<e,"<=":(t,e)=>t<=e,"||":(t,e)=>t||e,"&&":(t,e)=>t&&e,"??":(t,e)=>t??e,"|":(t,e)=>e(t),"|>":(t,e)=>e(t)},ae={"+":t=>t,"-":t=>-t,"!":t=>!t},P=class{empty(){return{type:"Empty",evaluate(e){return e},getIds(e){return e}}}literal(e){return{type:"Literal",value:e,evaluate(r){return this.value},getIds(r){return r}}}id(e){return{type:"ID",value:e,evaluate(r){return this.value==="this"?r:r?.[this.value]},getIds(r){return r.push(this.value),r}}}unary(e,r){let n=ae[e];return{type:"Unary",operator:e,child:r,evaluate(s){return n(this.child.evaluate(s))},getIds(s){return this.child.getIds(s)}}}binary(e,r,n){let s=ie[r];return{type:"Binary",operator:r,left:e,right:n,evaluate(o){if(this.operator==="="){if(this.left.type!=="ID"&&this.left.type!=="Getter"&&this.left.type!=="Index")throw new Error(`Invalid assignment target: ${this.left}`);let a=this.right.evaluate(o),l,u;return this.left.type==="Getter"?(l=this.left.receiver.evaluate(o),u=this.left.name):this.left.type==="Index"?(l=this.left.receiver.evaluate(o),u=this.left.argument.evaluate(o)):this.left.type==="ID"&&(l=o,u=this.left.value),l===void 0?void 0:l[u]=a}return s(this.left.evaluate(o),this.right.evaluate(o))},getIds(o){return this.left.getIds(o),this.right.getIds(o),o}}}getter(e,r){return{type:"Getter",receiver:e,name:r,evaluate(n){return this.receiver.evaluate(n)?.[this.name]},getIds(n){return this.receiver.getIds(n),n}}}invoke(e,r,n){if(r!=null&&typeof r!="string")throw new Error("method not a string");return{type:"Invoke",receiver:e,method:r,arguments:n,evaluate(s){let o=this.receiver.evaluate(s),a=this.method?o:s?.this??s,l=this.method?o?.[r]:o,c=(this.arguments??[]).map(h=>h?.evaluate(s));return l?.apply?.(a,c)},getIds(s){return this.receiver.getIds(s),this.arguments?.forEach(o=>o?.getIds(s)),s}}}paren(e){return e}index(e,r){return{type:"Index",receiver:e,argument:r,evaluate(n){return this.receiver.evaluate(n)?.[this.argument.evaluate(n)]},getIds(n){return this.receiver.getIds(n),n}}}ternary(e,r,n){return{type:"Ternary",condition:e,trueExpr:r,falseExpr:n,evaluate(s){return this.condition.evaluate(s)?this.trueExpr.evaluate(s):this.falseExpr.evaluate(s)},getIds(s){return this.condition.getIds(s),this.trueExpr.getIds(s),this.falseExpr.getIds(s),s}}}map(e){return{type:"Map",entries:e,evaluate(r){let n={};if(e&&this.entries)for(let s in e){let o=this.entries[s];o&&(n[s]=o.evaluate(r))}return n},getIds(r){if(e&&this.entries)for(let n in e){let s=this.entries[n];s&&s.getIds(r)}return r}}}list(e){return{type:"List",items:e,evaluate(r){return this.items?.map(n=>n?.evaluate(r))},getIds(r){return this.items?.forEach(n=>n?.getIds(r)),r}}}arrowFunction(e,r){return{type:"ArrowFunction",params:e,body:r,evaluate(n){let s=this.params,o=this.body;return function(...a){let l=Object.fromEntries(s.map((c,h)=>[c,a[h]])),u=new Proxy(n??{},{set(c,h,d){return l.hasOwnProperty(h)&&(l[h]=d),c[h]=d},get(c,h){return l.hasOwnProperty(h)?l[h]:c[h]}});return o.evaluate(u)}},getIds(n){return this.body.getIds(n).filter(s=>!this.params.includes(s))}}}};var S=null,B={boundAttributeSuffix:v.M,marker:v.P,markerMatch:v.A,HTML_RESULT:v.C,getTemplateHtml:v.L,overrideDirectiveResolve:(t,e)=>class extends t{_$AS(r,n){return e(this,n)}},patchDirectiveResolve:(t,e)=>{if(t.prototype._$AS!==e){S??(S=t.prototype._$AS.name);for(let r=t.prototype;r!==Object.prototype;r=Object.getPrototypeOf(r))if(r.hasOwnProperty(S))return void(r[S]=e);throw Error("Internal error: It is possible that both dev mode and production mode Lit was mixed together during SSR. Please comment on the issue: https://github.com/lit/lit/issues/4527")}},setDirectiveClass(t,e){t._$litDirective$=e},getAttributePartCommittedValue:(t,e,r)=>{let n=U;return t.j=s=>n=s,t._$AI(e,t,r),n},connectedDisconnectable:t=>({...t,_$AU:!0}),resolveDirective:v.V,AttributePart:v.H,PropertyPart:v.B,BooleanAttributePart:v.N,EventPart:v.U,ElementPart:v.F,TemplateInstance:v.R,isIterable:v.D,ChildPart:v.I};var{AttributePart:oe,PropertyPart:ue,BooleanAttributePart:he,EventPart:le}=B,M=new P,G=new Map,H=t=>t.replace(/-(-|\w)/g,(e,r)=>r.toUpperCase()),N=(t,e)=>{let r=G.get(t);if(r===void 0){if(G.has(t))return;if(t=t.trim(),t.startsWith("{{")&&t.endsWith("}}")){let n=t.substring(2,t.length-2).trim();r=new y(n,M).parse(),G.set(t,r)}}return r?.evaluate(e)},ce=(t,e,r,n)=>{let s=t.getAttribute("if");if(s!==null&&N(s,e))return b(t,e,r,n)},Y=/(?<!\\){{(.*?)(?:(?<!\\)}})/g,j=t=>/(?:\\{{)|(?:\\}})/g.test(t),I=t=>t.replaceAll(/\\{{/g,"{{").replace(/\\}}/g,"}}"),_e=(t,e,r,n)=>{let s=t.getAttribute("repeat");if(s!==null){let o=N(s,e);if(!o[Symbol.iterator])return z;let a=k(t),l=-1,u=[];for(let c of o){l++;let h=Object.create(e);h.item=c,h.index=l,h.this=e.this??e;let d=[];for(let f of a.parts){let p=f.update(h,r,n);f.type===1?d.push(...p):d.push(p)}let _={_$litType$:a,values:d};u.push(_)}return u}},q={if:ce,repeat:_e},Ge=(t,e=q,r={},n)=>{let o=k(t).renderers;if(n){let l=k(n).renderers,u=o.super;u!==void 0?r={...o,...r,super:(c,h,d)=>(d={...l,...d,super:(_,f,p)=>b(n,_,f,p)},u(c,h,d))}:(r={...l,...o,...r},t=n)}else r={...o,...r};return a=>b(t,a,e,r)};var b=(t,e,r=q,n={})=>{let s=k(t),o=[];for(let l of s.parts){let u=l.update(e,r,n);l.type===1?o.push(...u):o.push(u)}return{_$litType$:s,values:o}},X=new Map,k=t=>{let e=X.get(t);return e===void 0&&X.set(t,e=pe(t)),e},pe=t=>{let e={h:void 0,el:t.cloneNode(!0),parts:[],renderers:{}},r=document.createTreeWalker(e.el.content,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_COMMENT),n=r.currentNode,s=-1,o=[];for(;(n=r.nextNode())!==null;)if(n.nodeType===Node.ELEMENT_NODE){s++;let a=n;if(a.tagName==="TEMPLATE"){let u=a.getAttribute("type"),c=a.getAttribute("name"),h=a.getAttribute("call");if(h!==null||u!==null||c!==null){a.parentNode.insertBefore(document.createComment(""),a),o.push(a);let d;if(h!==null){let _=h.trim(),f=_.startsWith("{{")&&_.endsWith("}}");d=(p,x,m)=>{let R=a.getAttribute("data"),L=R===null?void 0:N(R,p);return(f?N(_,p):m[h])?.(L,x,m)}}else u!==null?d=(_,f,p)=>{let x=f[u];return x?.(a,_,f,p)}:(c==="super"?e.renderers.super=(_,f,p)=>{let x=p.super,m=k(a);return p={...p,...m.renderers},x(_,f,p)}:e.renderers[c]=(_,f,p)=>b(a,_,f,p),d=(_,f,p)=>{let x=p[c];return x?.(_,f,p)});e.parts.push({type:2,index:s,update:d});continue}}let l=a.getAttributeNames();for(let u of l){let c=a.getAttribute(u),h=c.split(Y);if(h.length===1){j(c)&&a.setAttribute(u,I(c));continue}a.removeAttribute(u);let d=u,_=oe,f=u[0];f==="."?(d=H(u.substring(1)),_=ue):f==="?"?(d=u.substring(1),_=he):f==="@"&&(d=H(u.substring(1)),_=le);let p=[I(h[0])],x=[];for(let m=1;m<h.length;m+=2){let R=h[m];x.push(D(R,M)),p.push(I(h[m+1]))}e.parts.push({type:1,index:s,name:d,strings:p,ctor:_,update:(m,R,L)=>x.map($=>$.evaluate(m))})}}else if(n.nodeType===Node.TEXT_NODE){let a=n,l=a.textContent,u=l.split(Y);u.length>1?a.textContent=I(u[0]):j(l)&&(a.textContent=I(l));for(let c=1;c<u.length;c+=2){let h=u[c],d=D(h,M);e.parts.push({type:2,index:++s,update:(f,p)=>d.evaluate(f)});let _=new Text(u[c+1].replace("\\{{","{{"));a.parentNode.insertBefore(_,a.nextSibling),a.parentNode.insertBefore(document.createComment(""),a.nextSibling),a=_,r.currentNode=_}}for(let a of o)a.remove();return e};export{Ge as a};
3
+ /*! Bundled license information:
4
+
5
+ jexpr/lib/constants.js:
6
+ (*
7
+ * @license
8
+ * Portions Copyright (c) 2013, the Dart project authors.
9
+ *)
10
+
11
+ jexpr/lib/tokenizer.js:
12
+ (*
13
+ * @license
14
+ * Portions Copyright (c) 2013, the Dart project authors.
15
+ *)
16
+
17
+ jexpr/lib/parser.js:
18
+ (*
19
+ * @license
20
+ * Portions Copyright (c) 2013, the Dart project authors.
21
+ *)
22
+
23
+ jexpr/lib/ast_factory.js:
24
+ (*
25
+ * @license
26
+ * Portions Copyright (c) 2013, the Dart project authors.
27
+ *)
28
+
29
+ jexpr/lib/eval.js:
30
+ (*
31
+ * @license
32
+ * Portions Copyright (c) 2013, the Dart project authors.
33
+ *)
34
+
35
+ lit-html/node/private-ssr-support.js:
36
+ (**
37
+ * @license
38
+ * Copyright 2019 Google LLC
39
+ * SPDX-License-Identifier: BSD-3-Clause
40
+ *)
41
+ */
@@ -0,0 +1 @@
1
+ import{a as y}from"./chunk-KQPTKMFJ.js";import{a as I}from"./chunk-KDO3T66B.js";import{a as b}from"./chunk-IKDNYCM7.js";import{a as v,b as u,c as l}from"./chunk-5GCSZ3CH.js";import{d as x,i as E}from"./chunk-LZZB4VGC.js";import{a as h,b as f}from"./chunk-M5PPZ5M3.js";import{a}from"./chunk-IAP2CEE7.js";var o=class extends E{constructor(){super();this.identifier=void 0;this.initContext=[];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))}_handleTestEndAttempt(r){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._sessionContext.navItemId}"]`).assessmentItem.processResponse()}_handleTestShowCorrectResponse(r){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._sessionContext.navItemId}"]`).assessmentItem.showCorrectResponse(r.detail)}_handleInteractionChanged(r){if(this.autoScoreItems){let t=r.composedPath()[0].closest("qti-assessment-item");t.variables.find(i=>i.identifier==="SCORE").externalScored===null&&t.adaptive==="false"&&t.processResponse()}}render(){return x`<slot></slot>`}_handleTestConnected(r){this._testElement=r.detail;let t=Array.from(this._testElement?.querySelectorAll("qti-test-part")||[]);this.computedContext={testParts:t.map(s=>{let i=[...s.querySelectorAll("qti-assessment-section")];return{active:!1,identifier:s.identifier,sections:i.map(e=>{let c=[...e.querySelectorAll("qti-assessment-item-ref")];return{active:!1,identifier:e.identifier,title:e.title,items:c.map(n=>({active:!1,identifier:n.identifier,href:n.href}))}})}})}}_handleItemConnected(r){let t=r.detail;this.computedContext={...this.computedContext,testParts:this.computedContext.testParts.map(s=>({...s,sections:s.sections.map(i=>({...i,items:i.items.map(e=>e.identifier===t.identifier?{...e,title:t.title,adaptive:t.adaptive=="true"||!1,timeDependent:t.timeDependent=="true"||!1}:e)}))}))}}willUpdate(r){if(!this.computedContext)return;let t=1;this.computedContext={...this.computedContext,testParts:this.computedContext.testParts.map(s=>({...s,active:this._sessionContext?.navPartId===s.identifier||!1,sections:s.sections.map(i=>({...i,active:this._sessionContext?.navSectionId===i.identifier||!1,completed:i.items.every(e=>this._testContext.items.find(c=>c.identifier===e.identifier)?.variables.find(c=>c.identifier==="completionStatus").value==="completed"),items:i.items.map(e=>{let c=this._testContext?.items.find(m=>m.identifier===e.identifier),n;if(this.initContext){let m=this.initContext.find(w=>w.identifier===e.identifier);n={...e,...c,...m}}else n={...e,...c};let _=n.variables?.find(m=>m.identifier=="SCORE")?.value,d=parseInt(_?.toString()),S=n.variables?.find(m=>m.identifier==="completionStatus")?.value,C=n.category?n.category?.split(" "):[],p=C.includes(this.configContext?.infoItemCategory)?"info":"regular",q=this._sessionContext?.navItemId===n.identifier||!1,A=p=="regular"&&d!==void 0&&!isNaN(d)&&d>0||!1,g=p=="regular"&&d!==void 0&&!isNaN(d)&&d<=0||!1,Q=S==="completed",R=n.variables?.find(m=>m.identifier==="RESPONSE")?.value||"",P=C.includes(this.configContext?.infoItemCategory)?null:t++;return{...n,type:p,active:q,correct:A,incorrect:g,completed:Q,index:P,response:R}})}))}))}}};a([u({type:String})],o.prototype,"identifier",2),a([l()],o.prototype,"initContext",2),a([l(),f({context:I,subscribe:!0})],o.prototype,"_testContext",2),a([l(),f({context:y,subscribe:!0})],o.prototype,"_sessionContext",2),a([l()],o.prototype,"configContext",2),a([l(),h({context:b})],o.prototype,"computedContext",2),a([u({type:Boolean,attribute:"auto-score-items"})],o.prototype,"autoScoreItems",2),o=a([v("test-navigation")],o);export{o as a};
@@ -0,0 +1 @@
1
+ import{a as S}from"./chunk-KQPTKMFJ.js";import{a as g}from"./chunk-KDO3T66B.js";import{a as w}from"./chunk-5FCXUJAG.js";import{a as C,b as n,c as T}from"./chunk-5GCSZ3CH.js";import{d as l,i as u}from"./chunk-LZZB4VGC.js";import{a as q,b as v}from"./chunk-M5PPZ5M3.js";import{a as s}from"./chunk-IAP2CEE7.js";var R=(o,m)=>sessionStorage.setItem(o,JSON.stringify(m)),A=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,V=o=>{class m extends o{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:e})=>{e.promise=(async()=>(await w().load(`${e.href}`,e.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=A(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&R(this.autoStoreRestoreContext,this.testContext)}}return s([n({type:String,attribute:"auto-store-restore"})],m.prototype,"autoStoreRestoreContext",2),s([n({type:String,attribute:"nav-item-id"})],m.prototype,"navItemId",2),m};var _=o=>{class m extends o{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",async({detail:e})=>{if(e?.id){if(e.type==="item"){await this._loadItems([e.id]);let r=e.id,h=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${e.id}"]`),a=h.closest("qti-test-part")?.identifier,x=h.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:a,navSectionId:x,navItemId:r,navItemLoading:!1}}else if(e.type==="section"){let r=this._getSectionItemIds(e.id);await this._loadItems(r);let h=e.id,x=(this._testElement?.querySelector(`qti-assessment-section[identifier="${h}"]`)).closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:x,navSectionId:h,navItemId:null,navItemLoading:!1}}}}),this.addEventListener("qti-assessment-test-connected",e=>{this._testElement=e.detail;let r;this.navigate==="section"?r=this._testElement.querySelector("qti-assessment-section")?.identifier:r=this.sessionContext.navItemId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier,r&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:r},bubbles:!0,composed:!0}))})}async _loadItems(t){let e;if(!this._testElement||t.length===0)return;let r=t.map(a=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${a}"]`));if(r.includes(null)){console.warn(`One or more items not found: ${t}`);return}this._clearLoadedItems(),this.sessionContext={...this.sessionContext,navItemLoading:!0};let h=r.map(async a=>a?{itemRef:a,doc:await this._loadItemRequest(a.href)}:null);try{e=await Promise.all(h),e.forEach(({itemRef:a,doc:x})=>{a&&x&&(a.xmlDoc=x)}),requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:e.map(({itemRef:a})=>({identifier:a?.identifier,element:a})),bubbles:!0,composed:!0})),console.info(`Loaded ${e.length} items successfully.`)})}catch(a){console.error("Error loading items:",a)}return e}_getSectionItemIds(t){return this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`)?Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(r=>r.identifier):(console.warn(`Section with identifier "${t}" not found.`),[])}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(e=>{e.xmlDoc=null})}_loadItemRequest(t){let e=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null}});return this.dispatchEvent(e),e.detail.promise}}return s([n({type:String})],m.prototype,"navigate",2),m};var L=o=>{class m extends o{constructor(...i){super(...i),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(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(e=>{e.classList.toggle("show",e.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return m};var y=class extends u{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=c=>{let{identifier:i,variables:t}=c,e=this.testContext.items.find(r=>r?.identifier===i);if(!e){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}e.variables?.length===1?this._updateItemVariablesInTestContext(i,t):c.variables=[...e.variables||[]]};this.addEventListener("qti-assessment-test-connected",c=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=c.detail;let i=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:i}}),this.addEventListener("qti-assessment-item-connected",c=>{this._updateItemInTestContext(c.detail)}),this.addEventListener("qti-outcome-changed",c=>{let i=c.composedPath()[0];this._updateItemVariablesInTestContext(i.identifier,i.variables)})}_updateItemVariablesInTestContext(c,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==c?t:{...t,variables:i.map(e=>{let r=t.variables.find(h=>h.identifier===e.identifier);return r?{...r,...e}:e})})}}};s([T(),q({context:g})],y.prototype,"testContext",2),s([T(),q({context:S})],y.prototype,"sessionContext",2);var M=o=>{class m extends o{constructor(...i){super(...i),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:r}=t.detail;this.updateOutcomeVariable(e,r),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let e=this.getOutcome(i);if(!e){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==i?r:{...r,value:e.cardinality==="single"?t:[...r.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return m};var E=class extends V(_(L(M(y)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};E=s([C("qti-test")],E);var O={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},d=class extends u{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 l`${this.xmlDoc}`}};s([n({type:String})],d.prototype,"category",2),s([n({type:String})],d.prototype,"identifier",2),s([n({type:Boolean,converter:O})],d.prototype,"required",2),s([n({type:Boolean,converter:O})],d.prototype,"fixed",2),s([n({type:String})],d.prototype,"href",2),s([v({context:g,subscribe:!0})],d.prototype,"_testContext",2),s([n({type:Object,attribute:!1})],d.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",d);var I={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};s([n({type:String})],p.prototype,"identifier",2),s([n({type:String})],p.prototype,"required",2),s([n({type:Boolean,converter:I})],p.prototype,"fixed",2),s([n({type:String})],p.prototype,"title",2),s([n({type:Boolean,converter:I})],p.prototype,"visible",2),s([n({type:Boolean,converter:I,attribute:"keep-together"})],p.prototype,"keepTogether",2),s([v({context:g,subscribe:!0})],p.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",p);var b=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([n({type:String})],b.prototype,"identifier",2),s([n({type:String})],b.prototype,"title",2),s([v({context:g,subscribe:!0})],b.prototype,"_testContext",2),b=s([C("qti-assessment-test")],b);var f=class extends u{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([n({type:String})],f.prototype,"identifier",2),s([n({type:String})],f.prototype,"title",2),s([n({type:String})],f.prototype,"class",2),s([n({type:String,attribute:"navigation-mode"})],f.prototype,"NavigationMode",2),s([n({type:String,attribute:"submission-mode"})],f.prototype,"submissionMode",2),f=s([C("qti-test-part")],f);customElements.get("qti-test-part")||customElements.define("qti-test-part",f);export{E as a,d as b,p as c,b as d,f as e};
@@ -0,0 +1,8 @@
1
+ import{a as h}from"./chunk-GCKESRQG.js";import{b as p,c as u}from"./chunk-L4CUWIE6.js";import{a as l}from"./chunk-XUJ7TXHW.js";import{a as c}from"./chunk-IKDNYCM7.js";import{a as d}from"./chunk-5GCSZ3CH.js";import{a as r,d as a,i as m}from"./chunk-LZZB4VGC.js";import{b as o}from"./chunk-M5PPZ5M3.js";import{a as i}from"./chunk-IAP2CEE7.js";var t=class extends m{constructor(){super();this.disabled=!0;this._internals=this.attachInternals(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",e=>{e.preventDefault(),this.disabled||this._requestItem(this.sectionItems[this.itemIndex+1].identifier)})}_handleTestElementChange(e,n){n&&(this.disabled=!1)}connectedCallback(){super.connectedCallback(),this.checkDisabled()}willUpdate(e){if(!this.computedContext)return;let n=this.computedContext?.testParts.find(s=>s.active);n&&(this.sectionItems=n.sections.flatMap(s=>s.items),this.itemIndex=this.sectionItems.findIndex(s=>s.active),this.checkDisabled())}checkDisabled(){this.disabled=!this.computedContext||this.itemIndex<0||this.itemIndex>=this.sectionItems.length-1}_requestItem(e){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:e}}))}render(){return a`<slot></slot>`}};t.styles=r`
2
+ :host {
3
+ ${p};
4
+ }
5
+ :host([disabled]) {
6
+ ${u};
7
+ }
8
+ `,i([h({type:Boolean,reflect:!0,aria:"ariaDisabled"})],t.prototype,"disabled",2),i([o({context:c,subscribe:!0})],t.prototype,"computedContext",2),i([l("computedContext")],t.prototype,"_handleTestElementChange",1),t=i([d("test-next")],t);export{t as a};
@@ -0,0 +1,8 @@
1
+ import{b as a,c as n}from"./chunk-4PWQZQY3.js";import{a as o}from"./chunk-FCESHSJ3.js";import{a as s,d as r,j as l}from"./chunk-EUHRWJ5R.js";import{c as e}from"./chunk-6A2O5DS7.js";var t=class extends l{constructor(){super(),this.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("test-end-attempt",{bubbles:!0})))}render(){return r` <slot></slot> `}};t.styles=s`
2
+ :host {
3
+ ${a};
4
+ }
5
+ :host([disabled]) {
6
+ ${n};
7
+ }
8
+ `,t=e([o("test-end-attempt")],t);export{t as a};
@@ -0,0 +1 @@
1
+ import{a as _}from"./chunk-KQPTKMFJ.js";import{a as g}from"./chunk-KDO3T66B.js";import{a as S}from"./chunk-5FCXUJAG.js";import{a as C,b as o,c as w}from"./chunk-5GCSZ3CH.js";import{d as l,i as c}from"./chunk-LZZB4VGC.js";import{a as T,b as x}from"./chunk-M5PPZ5M3.js";import{a as e}from"./chunk-IAP2CEE7.js";var P=(r,a)=>sessionStorage.setItem(r,JSON.stringify(a)),k=r=>sessionStorage.getItem(r)?JSON.parse(sessionStorage.getItem(r)):null,L=r=>{class a extends r{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:s})=>{s.promise=(async()=>(await S().load(`${s.href}`,s.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=k(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&P(this.autoStoreRestoreContext,this.testContext)}}return e([o({type:String,attribute:"auto-store-restore"})],a.prototype,"autoStoreRestoreContext",2),e([o({type:String,attribute:"nav-item-id"})],a.prototype,"navItemId",2),a};var M=r=>{class a extends r{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",({detail:s})=>{s?.id&&(this._clearLoadedItems(),s.type==="item"?this._loadSingleItem(s.id):s.type==="section"&&this._loadSectionItems(s.id))}),this.addEventListener("qti-assessment-test-connected",s=>{this._testElement=s.detail;let n;this.navigate==="section"?n=this._testElement.querySelector("qti-assessment-section")?.identifier:n=this.sessionContext.navItemId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier,n&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:n},bubbles:!0,composed:!0}))})}async _loadSingleItem(t,s=!0){let n=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${t}"]`);if(!n)return console.warn(`Item with identifier "${t}" not found.`),null;let y=n.href,q=n.closest("qti-test-part")?.identifier,f=n.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:q,navSectionId:f,navItemId:t,navItemLoading:!0};try{return await this._loadItemRequest(y,s)}catch(h){return console.error("Failed to load item:",h),null}}async _loadSectionItems(t){let s=this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`);if(!s){console.warn(`Section with identifier "${t}" not found.`);return}let n=this._testElement?.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`);if(!n||n.length===0){console.warn(`No items found in section "${t}".`);return}let y=s.closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:y,navSectionId:t,navItemId:null};let q=Array.from(n).map(async f=>{let h=await this._loadSingleItem(f.identifier,!1);return{itemRef:f,doc:h}});try{let f=await Promise.all(q);requestAnimationFrame(()=>{debugger;f.forEach(({itemRef:h,doc:V})=>{V&&(h.xmlDoc=V)}),this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:f.map(({itemRef:h})=>({identifier:h.identifier,element:h})),bubbles:!0,composed:!0})),this.sessionContext={...this.sessionContext,navItemLoading:!1},console.info("All items in section loaded successfully.")})}catch(f){console.error("One or more items failed to load:",f)}}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(s=>{s.xmlDoc=null})}_loadItemRequest(t,s=!0){let n=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null,cancelPreviousRequest:s}});return this.dispatchEvent(n),n.detail.promise}}return e([o({type:String})],a.prototype,"navigate",2),a};var O=r=>{class a extends r{constructor(...i){super(...i),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(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(s=>{s.classList.toggle("show",s.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return a};var v=class extends c{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=m=>{let{identifier:i,variables:t}=m,s=this.testContext.items.find(n=>n?.identifier===i);if(!s){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}s.variables?.length===1?this._updateItemVariablesInTestContext(i,t):m.variables=[...s.variables||[]]};this.addEventListener("qti-assessment-test-connected",m=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=m.detail;let i=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:i}}),this.addEventListener("qti-assessment-item-connected",m=>{this._updateItemInTestContext(m.detail)}),this.addEventListener("qti-outcome-changed",m=>{let i=m.composedPath()[0];this._updateItemVariablesInTestContext(i.identifier,i.variables)})}_updateItemVariablesInTestContext(m,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==m?t:{...t,variables:i.map(s=>{let n=t.variables.find(y=>y.identifier===s.identifier);return n?{...n,...s}:s})})}}};e([w(),T({context:g})],v.prototype,"testContext",2),e([w(),T({context:_})],v.prototype,"sessionContext",2);var R=r=>{class a extends r{constructor(...i){super(...i),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:s,value:n}=t.detail;this.updateOutcomeVariable(s,n),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let s=this.getOutcome(i);if(!s){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(n=>n.identifier!==i?n:{...n,value:s.cardinality==="single"?t:[...n.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return a};var E=class extends L(M(O(R(v)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};E=e([C("qti-test")],E);var A={fromAttribute(r){return r==="true"},toAttribute(r){return r?"true":"false"}},u=class extends c{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 l`${this.xmlDoc}`}};e([o({type:String})],u.prototype,"category",2),e([o({type:String})],u.prototype,"identifier",2),e([o({type:Boolean,converter:A})],u.prototype,"required",2),e([o({type:Boolean,converter:A})],u.prototype,"fixed",2),e([o({type:String})],u.prototype,"href",2),e([x({context:g,subscribe:!0})],u.prototype,"_testContext",2),e([o({type:Object,attribute:!1})],u.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",u);var I={fromAttribute(r){return r==="true"},toAttribute(r){return r?"true":"false"}},d=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};e([o({type:String})],d.prototype,"identifier",2),e([o({type:String})],d.prototype,"required",2),e([o({type:Boolean,converter:I})],d.prototype,"fixed",2),e([o({type:String})],d.prototype,"title",2),e([o({type:Boolean,converter:I})],d.prototype,"visible",2),e([o({type:Boolean,converter:I,attribute:"keep-together"})],d.prototype,"keepTogether",2),e([x({context:g,subscribe:!0})],d.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",d);var b=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};e([o({type:String})],b.prototype,"identifier",2),e([o({type:String})],b.prototype,"title",2),e([x({context:g,subscribe:!0})],b.prototype,"_testContext",2),b=e([C("qti-assessment-test")],b);var p=class extends c{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};e([o({type:String})],p.prototype,"identifier",2),e([o({type:String})],p.prototype,"title",2),e([o({type:String})],p.prototype,"class",2),e([o({type:String,attribute:"navigation-mode"})],p.prototype,"NavigationMode",2),e([o({type:String,attribute:"submission-mode"})],p.prototype,"submissionMode",2),p=e([C("qti-test-part")],p);customElements.get("qti-test-part")||customElements.define("qti-test-part",p);export{E as a,u as b,d as c,b as d,p as e};
@@ -0,0 +1 @@
1
+ import{a as S}from"./chunk-KQPTKMFJ.js";import{a as h}from"./chunk-KDO3T66B.js";import{a as V}from"./chunk-5FCXUJAG.js";import{a as C,b as o,c as w}from"./chunk-5GCSZ3CH.js";import{d as l,i as c}from"./chunk-LZZB4VGC.js";import{a as T,b as x}from"./chunk-M5PPZ5M3.js";import{a as s}from"./chunk-IAP2CEE7.js";var P=(n,a)=>sessionStorage.setItem(n,JSON.stringify(a)),k=n=>sessionStorage.getItem(n)?JSON.parse(sessionStorage.getItem(n)):null,L=n=>{class a extends n{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:i})=>{i.promise=(async()=>(await V().load(`${i.href}`,i.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=k(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&P(this.autoStoreRestoreContext,this.testContext)}}return s([o({type:String,attribute:"auto-store-restore"})],a.prototype,"autoStoreRestoreContext",2),s([o({type:String,attribute:"nav-item-id"})],a.prototype,"navItemId",2),a};var _=n=>{class a extends n{constructor(...e){super(...e),this.addEventListener("qti-request-navigation",({detail:t})=>{t?.id&&(this._clearLoadedItems(),t.type==="item"?this._loadSingleItem(t.id):t.type==="section"&&this._loadSectionItems(t.id))}),this.addEventListener("qti-assessment-test-connected",t=>{if(this._testElement=t.detail,!(this.sessionContext?.navItemId||this.sessionContext?.navSectionId)){let r=this._testElement.querySelector("qti-assessment-item-ref, qti-assessment-section"),b=r?.identifier,y=r?.tagName.toLowerCase().includes("section")?"section":"item";b&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:y,id:b},bubbles:!0,composed:!0}))}})}_loadSingleItem(e){return new Promise((t,i)=>{let r=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${e}"]`);if(!r)return console.warn(`Item with identifier "${e}" not found.`),i(new Error(`Item not found: ${e}`));let b=r.href,y=r.closest("qti-test-part")?.identifier,f=r.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:y,navSectionId:f,navItemId:e,navItemLoading:!0},this._loadItemRequest(b,!1)?.then(E=>{r.xmlDoc=E,requestAnimationFrame(()=>this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:[{identifier:e,element:r}],bubbles:!0,composed:!0}))),this.sessionContext={...this.sessionContext,navItemLoading:!1},t()}).catch(E=>{console.error("Failed to load item:",E),i(E)})})}_loadSectionItems(e){let t=this._testElement?.querySelector(`qti-assessment-section[identifier="${e}"]`);if(!t){console.warn(`Section with identifier "${e}" not found.`);return}let i=this._testElement?.querySelectorAll(`qti-assessment-section[identifier="${e}"] > qti-assessment-item-ref`),r=t.closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:r,navSectionId:e,navItemId:null};let y=Array.from(i||[]).map(f=>f.identifier).map(f=>this._loadSingleItem(f));Promise.all(y).then(f=>{console.info("All items in section loaded successfully.")}).catch(f=>{console.error("One or more items failed to load:",f)})}_clearLoadedItems(){let e=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(e||[]).forEach(t=>{t.xmlDoc=null})}_loadItemRequest(e,t=!0){let i=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:e,promise:null,cancelPreviousRequest:t}});return this.dispatchEvent(i),i.detail.promise}}return s([state(),consume({context:sessionContext,subscribe:!0})],a.prototype,"sessionContext",2),a};var M=n=>{class a extends n{constructor(...e){super(...e),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(e){super.willUpdate(e),e.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(i=>{i.classList.toggle("show",i.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(e){e.showCorrectResponse(this.sessionContext.view==="scorer")}}return a};var v=class extends c{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=m=>{let{identifier:e,variables:t}=m,i=this.testContext.items.find(r=>r?.identifier===e);if(!i){console.warn(`Item IDs between assessment.xml and item.xml should match: ${e} is not found!`);return}i.variables?.length===1?this._updateItemVariablesInTestContext(e,t):m.variables=[...i.variables||[]]};this.addEventListener("qti-assessment-test-connected",m=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=m.detail;let e=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:e}}),this.addEventListener("qti-assessment-item-connected",m=>{this._updateItemInTestContext(m.detail)}),this.addEventListener("qti-outcome-changed",m=>{let e=m.composedPath()[0];this._updateItemVariablesInTestContext(e.identifier,e.variables)})}_updateItemVariablesInTestContext(m,e){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==m?t:{...t,variables:e.map(i=>{let r=t.variables.find(b=>b.identifier===i.identifier);return r?{...r,...i}:i})})}}};s([w(),T({context:h})],v.prototype,"testContext",2),s([w(),T({context:S})],v.prototype,"sessionContext",2);var O=n=>{class a extends n{constructor(...e){super(...e),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:i,value:r}=t.detail;this.updateOutcomeVariable(i,r),t.stopPropagation()})}outcomeProcessing(){let e=this.querySelector("qti-outcome-processing");return e?(e?.process(),!0):!1}updateOutcomeVariable(e,t){let i=this.getOutcome(e);if(!i){console.warn(`Can not set qti-outcome-identifier: ${e}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==e?r:{...r,value:i.cardinality==="single"?t:[...r.value,t]})}}getOutcome(e){return this.getVariable(e)}getVariable(e){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===e)||null}}return a};var q=class extends L(_(M(O(v)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};q=s([C("qti-test")],q);var R={fromAttribute(n){return n==="true"},toAttribute(n){return n?"true":"false"}},u=class extends c{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 l`${this.xmlDoc}`}};s([o({type:String})],u.prototype,"category",2),s([o({type:String})],u.prototype,"identifier",2),s([o({type:Boolean,converter:R})],u.prototype,"required",2),s([o({type:Boolean,converter:R})],u.prototype,"fixed",2),s([o({type:String})],u.prototype,"href",2),s([x({context:h,subscribe:!0})],u.prototype,"_testContext",2),s([o({type:Object,attribute:!1})],u.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",u);var I={fromAttribute(n){return n==="true"},toAttribute(n){return n?"true":"false"}},d=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};s([o({type:String})],d.prototype,"identifier",2),s([o({type:String})],d.prototype,"required",2),s([o({type:Boolean,converter:I})],d.prototype,"fixed",2),s([o({type:String})],d.prototype,"title",2),s([o({type:Boolean,converter:I})],d.prototype,"visible",2),s([o({type:Boolean,converter:I,attribute:"keep-together"})],d.prototype,"keepTogether",2),s([x({context:h,subscribe:!0})],d.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",d);var g=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([o({type:String})],g.prototype,"identifier",2),s([o({type:String})],g.prototype,"title",2),s([x({context:h,subscribe:!0})],g.prototype,"_testContext",2),g=s([C("qti-assessment-test")],g);var p=class extends c{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([o({type:String})],p.prototype,"identifier",2),s([o({type:String})],p.prototype,"title",2),s([o({type:String})],p.prototype,"class",2),s([o({type:String,attribute:"navigation-mode"})],p.prototype,"NavigationMode",2),s([o({type:String,attribute:"submission-mode"})],p.prototype,"submissionMode",2),p=s([C("qti-test-part")],p);customElements.get("qti-test-part")||customElements.define("qti-test-part",p);export{q as a,u as b,d as c,g as d,p as e};
@@ -0,0 +1 @@
1
+ import{a as V}from"./chunk-KQPTKMFJ.js";import{a as g}from"./chunk-KDO3T66B.js";import{a as I}from"./chunk-5FCXUJAG.js";import{a as x,b as n,c as q}from"./chunk-FCESHSJ3.js";import{d as c,j as u}from"./chunk-EUHRWJ5R.js";import{a as E,b}from"./chunk-M5PPZ5M3.js";import{c as e}from"./chunk-6A2O5DS7.js";var A=(o,a)=>sessionStorage.setItem(o,JSON.stringify(a)),R=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,S=o=>{class a extends o{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:s})=>{s.promise=(async()=>(await I().load(`${s.href}`,s.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=R(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&A(this.autoStoreRestoreContext,this.testContext)}}return e([n({type:String,attribute:"auto-store-restore"})],a.prototype,"autoStoreRestoreContext",2),e([n({type:String,attribute:"nav-item-id"})],a.prototype,"navItemId",2),a};var _=o=>{class a extends o{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",({detail:s})=>{if(s?.id){if(s.type==="item")this._loadItems([s.id]);else if(s.type==="section"){let r=this._getSectionItemIds(s.id);this._loadItems(r)}}}),this.addEventListener("qti-assessment-test-connected",s=>{this._testElement=s.detail;let r;this.navigate==="section"?r=this._testElement.querySelector("qti-assessment-section")?.identifier:r=this.sessionContext.navItemId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier,r&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:r},bubbles:!0,composed:!0}))})}async _loadItems(t){if(!this._testElement||t.length===0)return;let s=t.map(l=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${l}"]`));if(s.includes(null)){console.warn(`One or more items not found: ${t}`);return}this._clearLoadedItems(),this.sessionContext={...this.sessionContext,navItemLoading:!0};let r=s.map(async l=>l?{itemRef:l,doc:await this._loadItemRequest(l.href)}:null);try{let l=await Promise.all(r);l.forEach(({itemRef:v,doc:w})=>{v&&w&&(v.xmlDoc=w)}),requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:l.map(({itemRef:v})=>({identifier:v?.identifier,element:v})),bubbles:!0,composed:!0})),this.sessionContext={...this.sessionContext,navItemLoading:!1},console.info(`Loaded ${l.length} items successfully.`)})}catch(l){console.error("Error loading items:",l)}}_getSectionItemIds(t){return this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`)?Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(r=>r.identifier):(console.warn(`Section with identifier "${t}" not found.`),[])}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(s=>{s.xmlDoc=null})}_loadItemRequest(t){let s=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null}});return this.dispatchEvent(s),s.detail.promise}}return e([n({type:String})],a.prototype,"navigate",2),a};var L=o=>{class a extends o{constructor(...i){super(...i),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(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(s=>{s.classList.toggle("show",s.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return a};var C=class extends u{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=m=>{let{identifier:i,variables:t}=m,s=this.testContext.items.find(r=>r?.identifier===i);if(!s){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}s.variables?.length===1?this._updateItemVariablesInTestContext(i,t):m.variables=[...s.variables||[]]};this.addEventListener("qti-assessment-test-connected",m=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=m.detail;let i=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:i}}),this.addEventListener("qti-assessment-item-connected",m=>{this._updateItemInTestContext(m.detail)}),this.addEventListener("qti-outcome-changed",m=>{let i=m.composedPath()[0];this._updateItemVariablesInTestContext(i.identifier,i.variables)})}_updateItemVariablesInTestContext(m,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==m?t:{...t,variables:i.map(s=>{let r=t.variables.find(l=>l.identifier===s.identifier);return r?{...r,...s}:s})})}}};e([q(),E({context:g})],C.prototype,"testContext",2),e([q(),E({context:V})],C.prototype,"sessionContext",2);var M=o=>{class a extends o{constructor(...i){super(...i),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:s,value:r}=t.detail;this.updateOutcomeVariable(s,r),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let s=this.getOutcome(i);if(!s){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==i?r:{...r,value:s.cardinality==="single"?t:[...r.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return a};var y=class extends S(_(L(M(C)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return c`<slot></slot>`}};y=e([x("qti-test")],y);var O={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends u{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 c`${this.xmlDoc}`}};e([n({type:String})],p.prototype,"category",2),e([n({type:String})],p.prototype,"identifier",2),e([n({type:Boolean,converter:O})],p.prototype,"required",2),e([n({type:Boolean,converter:O})],p.prototype,"fixed",2),e([n({type:String})],p.prototype,"href",2),e([b({context:g,subscribe:!0})],p.prototype,"_testContext",2),e([n({type:Object,attribute:!1})],p.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",p);var T={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},d=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return c`<slot name="qti-rubric-block"></slot><slot></slot>`}};e([n({type:String})],d.prototype,"identifier",2),e([n({type:String})],d.prototype,"required",2),e([n({type:Boolean,converter:T})],d.prototype,"fixed",2),e([n({type:String})],d.prototype,"title",2),e([n({type:Boolean,converter:T})],d.prototype,"visible",2),e([n({type:Boolean,converter:T,attribute:"keep-together"})],d.prototype,"keepTogether",2),e([b({context:g,subscribe:!0})],d.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",d);var h=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return c` <slot></slot>`}};e([n({type:String})],h.prototype,"identifier",2),e([n({type:String})],h.prototype,"title",2),e([b({context:g,subscribe:!0})],h.prototype,"_testContext",2),h=e([x("qti-assessment-test")],h);var f=class extends u{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return c` <slot></slot>`}};e([n({type:String})],f.prototype,"identifier",2),e([n({type:String})],f.prototype,"title",2),e([n({type:String})],f.prototype,"class",2),e([n({type:String,attribute:"navigation-mode"})],f.prototype,"NavigationMode",2),e([n({type:String,attribute:"submission-mode"})],f.prototype,"submissionMode",2),f=e([x("qti-test-part")],f);customElements.get("qti-test-part")||customElements.define("qti-test-part",f);export{y as a,p as b,d as c,h as d,f as e};
@@ -0,0 +1 @@
1
+ import{a as S}from"./chunk-KQPTKMFJ.js";import{a as g}from"./chunk-KDO3T66B.js";import{a as w}from"./chunk-5FCXUJAG.js";import{a as q,b as v}from"./chunk-M5PPZ5M3.js";import{a as C,b as n,c as T}from"./chunk-5GCSZ3CH.js";import{d as l,i as u}from"./chunk-LZZB4VGC.js";import{a as s}from"./chunk-IAP2CEE7.js";var R=(o,m)=>sessionStorage.setItem(o,JSON.stringify(m)),A=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,V=o=>{class m extends o{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:e})=>{e.promise=(async()=>(await w().load(`${e.href}`,e.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=A(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&R(this.autoStoreRestoreContext,this.testContext)}}return s([n({type:String,attribute:"auto-store-restore"})],m.prototype,"autoStoreRestoreContext",2),s([n({type:String,attribute:"nav-item-id"})],m.prototype,"navItemId",2),m};var _=o=>{class m extends o{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",async({detail:e})=>{if(e?.id){if(e.type==="item"){await this._loadItems([e.id]);let r=e.id,h=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${e.id}"]`),a=h.closest("qti-test-part")?.identifier,x=h.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:a,navSectionId:x,navItemId:r,navItemLoading:!1}}else if(e.type==="section"){let r=this._getSectionItemIds(e.id);await this._loadItems(r);let h=e.id,x=(this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${h}"]`)).closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:x,navSectionId:h,navItemId:null,navItemLoading:!1}}}}),this.addEventListener("qti-assessment-test-connected",e=>{this._testElement=e.detail;let r;this.navigate==="section"?r=this._testElement.querySelector("qti-assessment-section")?.identifier:r=this.sessionContext.navItemId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier,r&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:r},bubbles:!0,composed:!0}))})}async _loadItems(t){let e;if(!this._testElement||t.length===0)return;let r=t.map(a=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${a}"]`));if(r.includes(null)){console.warn(`One or more items not found: ${t}`);return}this._clearLoadedItems(),this.sessionContext={...this.sessionContext,navItemLoading:!0};let h=r.map(async a=>a?{itemRef:a,doc:await this._loadItemRequest(a.href)}:null);try{e=await Promise.all(h),e.forEach(({itemRef:a,doc:x})=>{a&&x&&(a.xmlDoc=x)}),requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:e.map(({itemRef:a})=>({identifier:a?.identifier,element:a})),bubbles:!0,composed:!0})),console.info(`Loaded ${e.length} items successfully.`)})}catch(a){console.error("Error loading items:",a)}return e}_getSectionItemIds(t){return this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`)?Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(r=>r.identifier):(console.warn(`Section with identifier "${t}" not found.`),[])}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(e=>{e.xmlDoc=null})}_loadItemRequest(t){let e=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null}});return this.dispatchEvent(e),e.detail.promise}}return s([n({type:String})],m.prototype,"navigate",2),m};var L=o=>{class m extends o{constructor(...i){super(...i),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(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(e=>{e.classList.toggle("show",e.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return m};var y=class extends u{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=c=>{let{identifier:i,variables:t}=c,e=this.testContext.items.find(r=>r?.identifier===i);if(!e){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}e.variables?.length===1?this._updateItemVariablesInTestContext(i,t):c.variables=[...e.variables||[]]};this.addEventListener("qti-assessment-test-connected",c=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=c.detail;let i=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:i}}),this.addEventListener("qti-assessment-item-connected",c=>{this._updateItemInTestContext(c.detail)}),this.addEventListener("qti-outcome-changed",c=>{let i=c.composedPath()[0];this._updateItemVariablesInTestContext(i.identifier,i.variables)})}_updateItemVariablesInTestContext(c,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==c?t:{...t,variables:i.map(e=>{let r=t.variables.find(h=>h.identifier===e.identifier);return r?{...r,...e}:e})})}}};s([T(),q({context:g})],y.prototype,"testContext",2),s([T(),q({context:S})],y.prototype,"sessionContext",2);var M=o=>{class m extends o{constructor(...i){super(...i),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:r}=t.detail;this.updateOutcomeVariable(e,r),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let e=this.getOutcome(i);if(!e){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==i?r:{...r,value:e.cardinality==="single"?t:[...r.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return m};var E=class extends V(_(L(M(y)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};E=s([C("qti-test")],E);var O={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},d=class extends u{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 l`${this.xmlDoc}`}};s([n({type:String})],d.prototype,"category",2),s([n({type:String})],d.prototype,"identifier",2),s([n({type:Boolean,converter:O})],d.prototype,"required",2),s([n({type:Boolean,converter:O})],d.prototype,"fixed",2),s([n({type:String})],d.prototype,"href",2),s([v({context:g,subscribe:!0})],d.prototype,"_testContext",2),s([n({type:Object,attribute:!1})],d.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",d);var I={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};s([n({type:String})],p.prototype,"identifier",2),s([n({type:String})],p.prototype,"required",2),s([n({type:Boolean,converter:I})],p.prototype,"fixed",2),s([n({type:String})],p.prototype,"title",2),s([n({type:Boolean,converter:I})],p.prototype,"visible",2),s([n({type:Boolean,converter:I,attribute:"keep-together"})],p.prototype,"keepTogether",2),s([v({context:g,subscribe:!0})],p.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",p);var b=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([n({type:String})],b.prototype,"identifier",2),s([n({type:String})],b.prototype,"title",2),s([v({context:g,subscribe:!0})],b.prototype,"_testContext",2),b=s([C("qti-assessment-test")],b);var f=class extends u{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([n({type:String})],f.prototype,"identifier",2),s([n({type:String})],f.prototype,"title",2),s([n({type:String})],f.prototype,"class",2),s([n({type:String,attribute:"navigation-mode"})],f.prototype,"NavigationMode",2),s([n({type:String,attribute:"submission-mode"})],f.prototype,"submissionMode",2),f=s([C("qti-test-part")],f);customElements.get("qti-test-part")||customElements.define("qti-test-part",f);export{E as a,d as b,p as c,b as d,f as e};
@@ -0,0 +1 @@
1
+ import{a as S}from"./chunk-KQPTKMFJ.js";import{a as g}from"./chunk-KDO3T66B.js";import{a as w}from"./chunk-5FCXUJAG.js";import{a as C,b as n,c as T}from"./chunk-5GCSZ3CH.js";import{d as l,i as u}from"./chunk-LZZB4VGC.js";import{a as q,b as v}from"./chunk-M5PPZ5M3.js";import{a as s}from"./chunk-IAP2CEE7.js";var R=(o,m)=>sessionStorage.setItem(o,JSON.stringify(m)),A=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,V=o=>{class m extends o{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:e})=>{e.promise=(async()=>(await w().load(`${e.href}`,e.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=A(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&R(this.autoStoreRestoreContext,this.testContext)}}return s([n({type:String,attribute:"auto-store-restore"})],m.prototype,"autoStoreRestoreContext",2),s([n({type:String,attribute:"nav-item-id"})],m.prototype,"navItemId",2),m};var _=o=>{class m extends o{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",async({detail:e})=>{if(e?.id){if(e.type==="item"){await this._loadItems([e.id]);let r=e.id,h=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${e.id}"]`),a=h.closest("qti-test-part")?.identifier,x=h.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:a,navSectionId:x,navItemId:r,navItemLoading:!1}}else if(e.type==="section"){let r=this._getSectionItemIds(e.id);await this._loadItems(r);let h=e.id,x=(this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${h}"]`)).closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:x,navSectionId:h,navItemId:null,navItemLoading:!1}}}}),this.addEventListener("qti-assessment-test-connected",e=>{this._testElement=e.detail;let r;this.navigate==="section"?r=this._testElement.querySelector("qti-assessment-section")?.identifier:r=this.sessionContext.navItemId??this._testElement.querySelector("qti-assessment-item-ref")?.identifier,r&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?"section":"item",id:r},bubbles:!0,composed:!0}))})}async _loadItems(t){let e;if(!this._testElement||t.length===0)return;let r=t.map(a=>this._testElement.querySelector(`qti-assessment-item-ref[identifier="${a}"]`));if(r.includes(null)){console.warn(`One or more items not found: ${t}`);return}this._clearLoadedItems(),this.sessionContext={...this.sessionContext,navItemLoading:!0};let h=r.map(async a=>a?{itemRef:a,doc:await this._loadItemRequest(a.href)}:null);try{e=await Promise.all(h),e.forEach(({itemRef:a,doc:x})=>{a&&x&&(a.xmlDoc=x)}),requestAnimationFrame(()=>{this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:e.map(({itemRef:a})=>({identifier:a?.identifier,element:a})),bubbles:!0,composed:!0})),console.info(`Loaded ${e.length} items successfully.`)})}catch(a){console.error("Error loading items:",a)}return e}_getSectionItemIds(t){return this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`)?Array.from(this._testElement.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`)).map(r=>r.identifier):(console.warn(`Section with identifier "${t}" not found.`),[])}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(e=>{e.xmlDoc=null})}_loadItemRequest(t){let e=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null}});return this.dispatchEvent(e),e.detail.promise}}return s([n({type:String})],m.prototype,"navigate",2),m};var L=o=>{class m extends o{constructor(...i){super(...i),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(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(e=>{e.classList.toggle("show",e.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return m};var y=class extends u{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=c=>{let{identifier:i,variables:t}=c,e=this.testContext.items.find(r=>r?.identifier===i);if(!e){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}e.variables?.length===1?this._updateItemVariablesInTestContext(i,t):c.variables=[...e.variables||[]]};this.addEventListener("qti-assessment-test-connected",c=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=c.detail;let i=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:i}}),this.addEventListener("qti-assessment-item-connected",c=>{this._updateItemInTestContext(c.detail)}),this.addEventListener("qti-outcome-changed",c=>{let i=c.composedPath()[0];this._updateItemVariablesInTestContext(i.identifier,i.variables)})}_updateItemVariablesInTestContext(c,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==c?t:{...t,variables:i.map(e=>{let r=t.variables.find(h=>h.identifier===e.identifier);return r?{...r,...e}:e})})}}};s([T(),q({context:g})],y.prototype,"testContext",2),s([T(),q({context:S})],y.prototype,"sessionContext",2);var M=o=>{class m extends o{constructor(...i){super(...i),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:r}=t.detail;this.updateOutcomeVariable(e,r),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let e=this.getOutcome(i);if(!e){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==i?r:{...r,value:e.cardinality==="single"?t:[...r.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return m};var E=class extends V(_(L(M(y)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};E=s([C("qti-test")],E);var O={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},d=class extends u{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 l`${this.xmlDoc}`}};s([n({type:String})],d.prototype,"category",2),s([n({type:String})],d.prototype,"identifier",2),s([n({type:Boolean,converter:O})],d.prototype,"required",2),s([n({type:Boolean,converter:O})],d.prototype,"fixed",2),s([n({type:String})],d.prototype,"href",2),s([v({context:g,subscribe:!0})],d.prototype,"_testContext",2),s([n({type:Object,attribute:!1})],d.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",d);var I={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};s([n({type:String})],p.prototype,"identifier",2),s([n({type:String})],p.prototype,"required",2),s([n({type:Boolean,converter:I})],p.prototype,"fixed",2),s([n({type:String})],p.prototype,"title",2),s([n({type:Boolean,converter:I})],p.prototype,"visible",2),s([n({type:Boolean,converter:I,attribute:"keep-together"})],p.prototype,"keepTogether",2),s([v({context:g,subscribe:!0})],p.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",p);var b=class extends u{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([n({type:String})],b.prototype,"identifier",2),s([n({type:String})],b.prototype,"title",2),s([v({context:g,subscribe:!0})],b.prototype,"_testContext",2),b=s([C("qti-assessment-test")],b);var f=class extends u{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([n({type:String})],f.prototype,"identifier",2),s([n({type:String})],f.prototype,"title",2),s([n({type:String})],f.prototype,"class",2),s([n({type:String,attribute:"navigation-mode"})],f.prototype,"NavigationMode",2),s([n({type:String,attribute:"submission-mode"})],f.prototype,"submissionMode",2),f=s([C("qti-test-part")],f);customElements.get("qti-test-part")||customElements.define("qti-test-part",f);export{E as a,d as b,p as c,b as d,f as e};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunk-IKDNYCM7.js";import{b as m}from"./chunk-M5PPZ5M3.js";import{a as n}from"./chunk-5GCSZ3CH.js";import{d as p,i as r}from"./chunk-LZZB4VGC.js";import{a as o}from"./chunk-IAP2CEE7.js";var t=class extends r{render(){let i=this.computedContext?.testParts.flatMap(l=>l.sections.flatMap(e=>e.items).find(e=>e.active));return p` <small><pre>${JSON.stringify(i,null,2)}</pre></small> `}};o([m({context:c,subscribe:!0})],t.prototype,"computedContext",2),t=o([n("test-print-item-variables")],t);export{t as a};
@@ -0,0 +1 @@
1
+ import{a as e}from"./chunk-QYXRVCGM.js";var t=class extends e{calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}};export{t as a};
@@ -0,0 +1 @@
1
+ import{a as l}from"./chunk-PZ7WEWHR.js";import{a as i}from"./chunk-IKDNYCM7.js";import{b as n}from"./chunk-M5PPZ5M3.js";import{a as p}from"./chunk-5GCSZ3CH.js";import{d as r,i as a}from"./chunk-LZZB4VGC.js";import{a as m}from"./chunk-IAP2CEE7.js";var t=class extends a{createRenderRoot(){return this}constructor(){super(),this._internals=this.attachInternals(),this._internals.ariaLabel="pagination"}connectedCallback(){super.connectedCallback();let e=this.querySelector("template");this.myTemplate=l(e)}render(){if(!this.computedContext)return r``;let e=this.computedContext.testParts.flatMap(o=>o.sections.flatMap(s=>s.items));return r` ${e.map(o=>this.myTemplate({item:o}))} `}};m([n({context:i,subscribe:!0})],t.prototype,"computedContext",2),t=m([p("test-paging-buttons-stamp")],t);export{t as a};
@@ -0,0 +1 @@
1
+ import{a as _}from"./chunk-KQPTKMFJ.js";import{a as h}from"./chunk-KDO3T66B.js";import{a as S}from"./chunk-5FCXUJAG.js";import{a as v,b as n,c as I}from"./chunk-5GCSZ3CH.js";import{d as l,i as c}from"./chunk-LZZB4VGC.js";import{a as w,b as C}from"./chunk-M5PPZ5M3.js";import{a as e}from"./chunk-IAP2CEE7.js";var k=(o,a)=>sessionStorage.setItem(o,JSON.stringify(a)),D=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,L=o=>{class a extends o{constructor(...t){super(...t);this.autoStoreRestoreContext=null;this.navItemId=null;this.addEventListener("qti-load-item-request",({detail:s})=>{s.promise=(async()=>(await S().load(`${s.href}`,s.cancelPreviousRequest)).htmlDoc())()})}async connectedCallback(){if(super.connectedCallback(),this.navItemId&&(this.sessionContext={...this.sessionContext,navItemId:this.navItemId}),this.autoStoreRestoreContext){let t=D(this.autoStoreRestoreContext);t&&(this.testContext=t)}}updated(t){t.has("testContext")&&this.autoStoreRestoreContext&&k(this.autoStoreRestoreContext,this.testContext)}}return e([n({type:String,attribute:"auto-store-restore"})],a.prototype,"autoStoreRestoreContext",2),e([n({type:String,attribute:"nav-item-id"})],a.prototype,"navItemId",2),a};var M=o=>{class a extends o{constructor(...t){super(...t);this.navigate="item";this.addEventListener("qti-request-navigation",({detail:s})=>{s?.id&&(this._clearLoadedItems(),s.type==="item"?this._loadSingleItem(s.id):s.type==="section"&&this._loadSectionItems(s.id))}),this.addEventListener("qti-assessment-test-connected",s=>{this._testElement=s.detail;let r=this._testElement.querySelector("qti-assessment-item-ref").identifier;this.navigate==="section"&&(r=this._testElement.querySelector("qti-assessment-section").identifier),r&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:this.navigate==="section"?this.navigate:"item",id:r},bubbles:!0,composed:!0}))})}_loadSingleItem(t,s=!0){return new Promise((r,x)=>{let g=this._testElement?.querySelector(`qti-assessment-item-ref[identifier="${t}"]`);if(!g)return console.warn(`Item with identifier "${t}" not found.`),x(new Error(`Item not found: ${t}`));let T=g.href,f=g.closest("qti-test-part")?.identifier,P=g.closest("qti-assessment-section")?.identifier;this.sessionContext={...this.sessionContext,navPartId:f,navSectionId:P,navItemId:t,navItemLoading:!0},this._loadItemRequest(T,s)?.then(E=>{g.xmlDoc=E,requestAnimationFrame(()=>this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:[{identifier:t,element:g}],bubbles:!0,composed:!0}))),this.sessionContext={...this.sessionContext,navItemLoading:!1},r()}).catch(E=>{console.error("Failed to load item:",E),x(E)})})}_loadSectionItems(t){let s=this._testElement?.querySelector(`qti-assessment-section[identifier="${t}"]`);if(!s){console.warn(`Section with identifier "${t}" not found.`);return}let r=this._testElement?.querySelectorAll(`qti-assessment-section[identifier="${t}"] > qti-assessment-item-ref`),x=s.closest("qti-test-part")?.identifier;this.sessionContext={...this.sessionContext,navPartId:x,navSectionId:t,navItemId:null};let T=Array.from(r||[]).map(f=>f.identifier).map(f=>this._loadSingleItem(f,!1));Promise.all(T).then(f=>{console.info("All items in section loaded successfully.")}).catch(f=>{console.error("One or more items failed to load:",f)})}_clearLoadedItems(){let t=this._testElement?.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t||[]).forEach(s=>{s.xmlDoc=null})}_loadItemRequest(t,s=!0){let r=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null,cancelPreviousRequest:s}});return this.dispatchEvent(r),r.detail.promise}}return e([n({type:String})],a.prototype,"navigate",2),a};var O=o=>{class a extends o{constructor(...i){super(...i),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(i){super.willUpdate(i),i.has("sessionContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(s=>{s.classList.toggle("show",s.getAttribute("view")===this.sessionContext.view)});let t=this.testElement.querySelector(`qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`);t&&t.showCorrectResponse(this.sessionContext.view==="scorer")}}_setCorrectResponseVisibility(i){i.showCorrectResponse(this.sessionContext.view==="scorer")}}return a};var y=class extends c{constructor(){super();this.testContext={items:[],testOutcomeVariables:[]};this.sessionContext={};this._updateItemInTestContext=m=>{let{identifier:i,variables:t}=m,s=this.testContext.items.find(r=>r?.identifier===i);if(!s){console.warn(`Item IDs between assessment.xml and item.xml should match: ${i} is not found!`);return}s.variables?.length===1?this._updateItemVariablesInTestContext(i,t):m.variables=[...s.variables||[]]};this.addEventListener("qti-assessment-test-connected",m=>{if(this.testContext&&this.testContext.items.length>0)return;this.testElement=m.detail;let i=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:i}}),this.addEventListener("qti-assessment-item-connected",m=>{this._updateItemInTestContext(m.detail)}),this.addEventListener("qti-outcome-changed",m=>{let i=m.composedPath()[0];this._updateItemVariablesInTestContext(i.identifier,i.variables)})}_updateItemVariablesInTestContext(m,i){this.testContext={...this.testContext,items:this.testContext.items.map(t=>t.identifier!==m?t:{...t,variables:i.map(s=>{let r=t.variables.find(x=>x.identifier===s.identifier);return r?{...r,...s}:s})})}}};e([I(),w({context:h})],y.prototype,"testContext",2),e([I(),w({context:_})],y.prototype,"sessionContext",2);var R=o=>{class a extends o{constructor(...i){super(...i),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:s,value:r}=t.detail;this.updateOutcomeVariable(s,r),t.stopPropagation()})}outcomeProcessing(){let i=this.querySelector("qti-outcome-processing");return i?(i?.process(),!0):!1}updateOutcomeVariable(i,t){let s=this.getOutcome(i);if(!s){console.warn(`Can not set qti-outcome-identifier: ${i}, it is not available`);return}this.testContext={...this.testContext,testOutcomeVariables:this.testContext.testOutcomeVariables?.map(r=>r.identifier!==i?r:{...r,value:s.cardinality==="single"?t:[...r.value,t]})}}getOutcome(i){return this.getVariable(i)}getVariable(i){return this.testContext.testOutcomeVariables?.find(t=>t.identifier===i)||null}}return a};var q=class extends L(M(O(R(y)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};q=e([v("qti-test")],q);var A={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},u=class extends c{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),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 l`${this.xmlDoc}`}};e([n({type:String})],u.prototype,"category",2),e([n({type:String})],u.prototype,"identifier",2),e([n({type:Boolean,converter:A})],u.prototype,"required",2),e([n({type:Boolean,converter:A})],u.prototype,"fixed",2),e([n({type:String})],u.prototype,"href",2),e([C({context:h,subscribe:!0})],u.prototype,"_testContext",2),e([n({type:Object,attribute:!1})],u.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",u);var V={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};e([n({type:String})],p.prototype,"identifier",2),e([n({type:String})],p.prototype,"required",2),e([n({type:Boolean,converter:V})],p.prototype,"fixed",2),e([n({type:String})],p.prototype,"title",2),e([n({type:Boolean,converter:V})],p.prototype,"visible",2),e([n({type:Boolean,converter:V,attribute:"keep-together"})],p.prototype,"keepTogether",2),e([C({context:h,subscribe:!0})],p.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",p);var b=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};e([n({type:String})],b.prototype,"identifier",2),e([n({type:String})],b.prototype,"title",2),e([C({context:h,subscribe:!0})],b.prototype,"_testContext",2),b=e([v("qti-assessment-test")],b);var d=class extends c{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};e([n({type:String})],d.prototype,"identifier",2),e([n({type:String})],d.prototype,"title",2),e([n({type:String})],d.prototype,"class",2),e([n({type:String,attribute:"navigation-mode"})],d.prototype,"NavigationMode",2),e([n({type:String,attribute:"submission-mode"})],d.prototype,"submissionMode",2),d=e([v("qti-test-part")],d);customElements.get("qti-test-part")||customElements.define("qti-test-part",d);export{q as a,u as b,p as c,b as d,d as e};
@@ -0,0 +1 @@
1
+ import{b as r,c as n}from"./chunk-5GCSZ3CH.js";import{i}from"./chunk-LZZB4VGC.js";import{a as s}from"./chunk-IAP2CEE7.js";var t=class extends i{constructor(){super();this.disabled=!1;this.readonly=!1;this._internals=this.attachInternals()}get correctResponse(){return this._correctResponse}set correctResponse(e){this._correctResponse=e}reportValidity(){return this._internals.reportValidity()}reset(){this.value=""}toggleCorrectResponse(e,o){this.correctResponse=o?e?.correctResponse:e.cardinality==="single"?"":[]}connectedCallback(){super.connectedCallback(),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}}))}};t.formAssociated=!0,s([r({type:String,attribute:"response-identifier"})],t.prototype,"responseIdentifier",2),s([r({reflect:!0,type:Boolean})],t.prototype,"disabled",2),s([r({reflect:!0,type:Boolean})],t.prototype,"readonly",2),s([n()],t.prototype,"_correctResponse",2);export{t as a};
@@ -0,0 +1 @@
1
+ import{b as s,c as n}from"./chunk-FCESHSJ3.js";import{j as i}from"./chunk-EUHRWJ5R.js";import{c as r}from"./chunk-6A2O5DS7.js";var e=class extends i{constructor(){super();this.disabled=!1;this.readonly=!1;this._internals=this.attachInternals()}reportValidity(){return this._internals.reportValidity()}reset(){this.value=""}get correctResponse(){return this._correctResponse}set correctResponse(t){this._correctResponse=t}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}saveResponse(t){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(t)?[...t]:t}}))}};e.formAssociated=!0,r([s({type:String,attribute:"response-identifier"})],e.prototype,"responseIdentifier",2),r([s({reflect:!0,type:Boolean})],e.prototype,"disabled",2),r([s({reflect:!0,type:Boolean})],e.prototype,"readonly",2),r([n()],e.prototype,"_correctResponse",2);export{e as a};
@@ -0,0 +1,8 @@
1
+ import{a as h}from"./chunk-GCKESRQG.js";import{b as c,c as u}from"./chunk-L4CUWIE6.js";import{a as l}from"./chunk-XUJ7TXHW.js";import{a as p}from"./chunk-IKDNYCM7.js";import{a as d}from"./chunk-5GCSZ3CH.js";import{a as r,d as a,i as m}from"./chunk-LZZB4VGC.js";import{b as o}from"./chunk-M5PPZ5M3.js";import{a as s}from"./chunk-IAP2CEE7.js";var t=class extends m{constructor(){super();this.disabled=!0;this._internals=this.attachInternals(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",e=>{e.preventDefault(),this.disabled||this._requestItem(this.sectionItems[this.itemIndex-1].identifier)})}_handleTestElementChange(e,n){n&&(this.disabled=!1)}willUpdate(e){if(!this.computedContext)return;let n=this.computedContext?.testParts.find(i=>i.active);n&&(this.sectionItems=n.sections.flatMap(i=>i.items),this.itemIndex=this.sectionItems.findIndex(i=>i.active),this.checkDisabled())}checkDisabled(){this.disabled=!this.computedContext||this.itemIndex===0||this.itemIndex===-1}_requestItem(e){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:e}}))}render(){return a`<slot></slot>`}};t.styles=r`
2
+ :host {
3
+ ${c};
4
+ }
5
+ :host([disabled]) {
6
+ ${u};
7
+ }
8
+ `,s([h({type:Boolean,reflect:!0,aria:"ariaDisabled"})],t.prototype,"disabled",2),s([o({context:p,subscribe:!0})],t.prototype,"computedContext",2),s([l("computedContext")],t.prototype,"_handleTestElementChange",1),t=s([d("test-prev")],t);export{t as a};