@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,614 @@
1
+ import {
2
+ sessionContext
3
+ } from "./chunk-QTH3WLGY.js";
4
+ import {
5
+ testContext
6
+ } from "./chunk-ODLYMQOS.js";
7
+ import {
8
+ qtiTransformItem
9
+ } from "./chunk-XDMSEAYC.js";
10
+ import {
11
+ __decorateClass
12
+ } from "./chunk-H2JE6IVU.js";
13
+
14
+ // src/lib/qti-test/core/qti-test.ts
15
+ import { html } from "lit";
16
+ import { customElement } from "lit/decorators.js";
17
+
18
+ // src/lib/qti-test/core/mixins/test-loader.mixin.ts
19
+ import { property } from "lit/decorators.js";
20
+ var setSessionData = (key, value) => sessionStorage.setItem(key, JSON.stringify(value));
21
+ var getSessionData = (key) => sessionStorage.getItem(key) ? JSON.parse(sessionStorage.getItem(key)) : null;
22
+ var TestLoaderMixin = (superClass) => {
23
+ class TestLoaderClass extends superClass {
24
+ constructor(...args) {
25
+ super(...args);
26
+ this.autoStoreRestoreContext = null;
27
+ this.navItemId = null;
28
+ this.addEventListener("qti-load-item-request", ({ detail }) => {
29
+ detail.promise = (async () => {
30
+ const api = await qtiTransformItem().load(`${detail.href}`, detail.cancelPreviousRequest);
31
+ return api.htmlDoc();
32
+ })();
33
+ });
34
+ }
35
+ async connectedCallback() {
36
+ super.connectedCallback();
37
+ if (this.navItemId) {
38
+ this.sessionContext = { ...this.sessionContext, navItemId: this.navItemId };
39
+ }
40
+ if (this.autoStoreRestoreContext) {
41
+ const testContext2 = getSessionData(this.autoStoreRestoreContext);
42
+ if (testContext2) {
43
+ this.testContext = testContext2;
44
+ }
45
+ }
46
+ }
47
+ updated(changedProperties) {
48
+ if (changedProperties.has("testContext")) {
49
+ if (this.autoStoreRestoreContext) {
50
+ setSessionData(this.autoStoreRestoreContext, this.testContext);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ __decorateClass([
56
+ property({ type: String, attribute: "auto-store-restore" })
57
+ ], TestLoaderClass.prototype, "autoStoreRestoreContext", 2);
58
+ __decorateClass([
59
+ property({ type: String, attribute: "nav-item-id" })
60
+ ], TestLoaderClass.prototype, "navItemId", 2);
61
+ return TestLoaderClass;
62
+ };
63
+
64
+ // src/lib/qti-test/core/mixins/test-navigation.mixin.ts
65
+ import { property as property2 } from "lit/decorators.js";
66
+ var TestNavigationMixin = (superClass) => {
67
+ class TestNavigationClass extends superClass {
68
+ constructor(...args) {
69
+ super(...args);
70
+ this.navigate = "item";
71
+ this.addEventListener(
72
+ "qti-request-navigation",
73
+ ({ detail }) => {
74
+ if (!detail?.id) return;
75
+ if (detail.type === "item") {
76
+ this._loadItems([detail.id]);
77
+ } else if (detail.type === "section") {
78
+ const itemIds = this._getSectionItemIds(detail.id);
79
+ this._loadItems(itemIds);
80
+ }
81
+ }
82
+ );
83
+ this.addEventListener("qti-assessment-test-connected", (e) => {
84
+ this._testElement = e.detail;
85
+ let id;
86
+ if (this.navigate === "section") {
87
+ id = this._testElement.querySelector("qti-assessment-section")?.identifier;
88
+ } else {
89
+ id = this.sessionContext.navItemId ?? this._testElement.querySelector("qti-assessment-item-ref")?.identifier;
90
+ }
91
+ if (id) {
92
+ this.dispatchEvent(
93
+ new CustomEvent("qti-request-navigation", {
94
+ detail: { type: this.navigate === "section" ? "section" : "item", id },
95
+ bubbles: true,
96
+ composed: true
97
+ })
98
+ );
99
+ }
100
+ });
101
+ }
102
+ async _loadItems(itemIds) {
103
+ if (!this._testElement || itemIds.length === 0) return;
104
+ const itemRefEls = itemIds.map(
105
+ (id) => this._testElement.querySelector(`qti-assessment-item-ref[identifier="${id}"]`)
106
+ );
107
+ if (itemRefEls.includes(null)) {
108
+ console.warn(`One or more items not found: ${itemIds}`);
109
+ return;
110
+ }
111
+ this._clearLoadedItems();
112
+ this.sessionContext = { ...this.sessionContext, navItemLoading: true };
113
+ const itemLoadPromises = itemRefEls.map(async (itemRef) => {
114
+ if (!itemRef) return null;
115
+ return { itemRef, doc: await this._loadItemRequest(itemRef.href) };
116
+ });
117
+ try {
118
+ const results = await Promise.all(itemLoadPromises);
119
+ results.forEach(({ itemRef, doc }) => {
120
+ if (itemRef && doc) itemRef.xmlDoc = doc;
121
+ });
122
+ requestAnimationFrame(() => {
123
+ this.dispatchEvent(
124
+ new CustomEvent("qti-test-connected", {
125
+ detail: results.map(({ itemRef }) => ({ identifier: itemRef?.identifier, element: itemRef })),
126
+ bubbles: true,
127
+ composed: true
128
+ })
129
+ );
130
+ this.sessionContext = { ...this.sessionContext, navItemLoading: false };
131
+ console.info(`Loaded ${results.length} items successfully.`);
132
+ });
133
+ } catch (error) {
134
+ console.error("Error loading items:", error);
135
+ }
136
+ }
137
+ _getSectionItemIds(navSectionId) {
138
+ const sectionRefEl = this._testElement?.querySelector(
139
+ `qti-assessment-section[identifier="${navSectionId}"]`
140
+ );
141
+ if (!sectionRefEl) {
142
+ console.warn(`Section with identifier "${navSectionId}" not found.`);
143
+ return [];
144
+ }
145
+ return Array.from(
146
+ this._testElement.querySelectorAll(
147
+ `qti-assessment-section[identifier="${navSectionId}"] > qti-assessment-item-ref`
148
+ )
149
+ ).map((itemRef) => itemRef.identifier);
150
+ }
151
+ _clearLoadedItems() {
152
+ const itemRefEls = this._testElement?.querySelectorAll(
153
+ `qti-assessment-test qti-assessment-item-ref`
154
+ );
155
+ Array.from(itemRefEls || []).forEach((itemElement) => {
156
+ itemElement.xmlDoc = null;
157
+ });
158
+ }
159
+ _loadItemRequest(href) {
160
+ const event = new CustomEvent("qti-load-item-request", {
161
+ bubbles: true,
162
+ composed: true,
163
+ detail: { href, promise: null }
164
+ });
165
+ this.dispatchEvent(event);
166
+ return event.detail.promise;
167
+ }
168
+ }
169
+ __decorateClass([
170
+ property2({ type: String })
171
+ ], TestNavigationClass.prototype, "navigate", 2);
172
+ return TestNavigationClass;
173
+ };
174
+
175
+ // src/lib/qti-test/core/mixins/test-view.mixin.ts
176
+ var TestViewMixin = (superClass) => {
177
+ class TestViewClass extends superClass {
178
+ constructor(...args) {
179
+ super(...args);
180
+ this.sessionContext = { ...this.sessionContext, view: "candidate" };
181
+ this.addEventListener("on-test-switch-view", (e) => {
182
+ this.sessionContext = { ...this.sessionContext, view: e.detail };
183
+ this._updateElementView();
184
+ });
185
+ this.addEventListener("qti-assessment-test-connected", () => {
186
+ this._updateElementView();
187
+ });
188
+ this.addEventListener("qti-assessment-item-connected", (e) => {
189
+ this._updateElementView();
190
+ this._setCorrectResponseVisibility(e.detail);
191
+ });
192
+ }
193
+ willUpdate(changedProperties) {
194
+ super.willUpdate(changedProperties);
195
+ if (changedProperties.has("sessionContext")) {
196
+ this._updateElementView();
197
+ }
198
+ }
199
+ // Method to handle view updates for elements based on the current context view
200
+ _updateElementView() {
201
+ if (this.testElement && this.testElement) {
202
+ const viewElements = Array.from(this.testElement.querySelectorAll("[view]"));
203
+ viewElements.forEach((element) => {
204
+ element.classList.toggle("show", element.getAttribute("view") === this.sessionContext.view);
205
+ });
206
+ const assessmentItem = this.testElement.querySelector(
207
+ `qti-assessment-item[identifier="${this.sessionContext.navItemId}"]`
208
+ );
209
+ if (assessmentItem) {
210
+ assessmentItem.showCorrectResponse(this.sessionContext.view === "scorer");
211
+ }
212
+ }
213
+ }
214
+ // Event handler for connected QTI assessment items
215
+ _setCorrectResponseVisibility(assessmentItem) {
216
+ assessmentItem.showCorrectResponse(this.sessionContext.view === "scorer");
217
+ }
218
+ }
219
+ return TestViewClass;
220
+ };
221
+
222
+ // src/lib/qti-test/core/test-base.ts
223
+ import { provide } from "@lit/context";
224
+ import { LitElement } from "lit";
225
+ import { state } from "lit/decorators.js";
226
+ var TestBase = class extends LitElement {
227
+ constructor() {
228
+ super();
229
+ this.testContext = { items: [], testOutcomeVariables: [] };
230
+ this.sessionContext = {};
231
+ /**
232
+ * Updates the variables of an assessment item in the test context.
233
+ * - Matches the assessment item with the corresponding test context item.
234
+ * - If the item is not found, logs a warning.
235
+ * - Updates variables in the test context if exactly one variable exists.
236
+ * - Otherwise, syncs the assessment item's variables with the test context.
237
+ *
238
+ * @param assessmentItem - The assessment item to update.
239
+ */
240
+ this._updateItemInTestContext = (assessmentItem) => {
241
+ const { identifier, variables } = assessmentItem;
242
+ const itemContext = this.testContext.items.find((i) => i?.identifier === identifier);
243
+ if (!itemContext) {
244
+ console.warn(`Item IDs between assessment.xml and item.xml should match: ${identifier} is not found!`);
245
+ return;
246
+ }
247
+ if (itemContext.variables?.length === 1) {
248
+ this._updateItemVariablesInTestContext(identifier, variables);
249
+ } else {
250
+ assessmentItem.variables = [...itemContext.variables || []];
251
+ }
252
+ };
253
+ this.addEventListener("qti-assessment-test-connected", (e) => {
254
+ if (this.testContext && this.testContext.items.length > 0) return;
255
+ this.testElement = e.detail;
256
+ const items = Array.from(this.testElement.querySelectorAll("qti-assessment-item-ref")).map((itemRef) => {
257
+ return {
258
+ href: itemRef.href,
259
+ identifier: itemRef.identifier,
260
+ category: itemRef.category,
261
+ variables: [
262
+ {
263
+ identifier: "completionStatus",
264
+ value: "not_attempted",
265
+ type: "outcome"
266
+ }
267
+ ]
268
+ };
269
+ });
270
+ this.testContext = { ...this.testContext, items };
271
+ });
272
+ this.addEventListener("qti-assessment-item-connected", (e) => {
273
+ this._updateItemInTestContext(e.detail);
274
+ });
275
+ this.addEventListener("qti-outcome-changed", (e) => {
276
+ const assessmentitem = e.composedPath()[0];
277
+ this._updateItemVariablesInTestContext(assessmentitem.identifier, assessmentitem.variables);
278
+ });
279
+ }
280
+ // get testContext(): TestContext {
281
+ // return this._testContext;
282
+ // }
283
+ // // /* restores the context by updating existing items and adding new items from the "contextToRestore" parameter into the "this._context.items" array. */
284
+ // set testContext(testContext: TestContext) {
285
+ // if (this._testContext.items.length > 0) {
286
+ // console.warn(
287
+ // 'testContext already set and can not be overwritten. Set the testContext before loading the assessment test'
288
+ // );
289
+ // return;
290
+ // }
291
+ // if (testContext === null || testContext === undefined) return;
292
+ // this._testContext = { ...testContext }; // Clone the context to avoid modifying the original object
293
+ // // // append the items that are not yet in the context and replace the ones that are
294
+ // testContext.items?.forEach(itemContext => {
295
+ // const existingItemContext = this._testContext.items.find(i => i.identifier === itemContext.identifier);
296
+ // if (existingItemContext) {
297
+ // existingItemContext.variables = itemContext.variables;
298
+ // } else {
299
+ // this._testContext.items.push(itemContext);
300
+ // }
301
+ // });
302
+ // }
303
+ _updateItemVariablesInTestContext(identifier, variables) {
304
+ this.testContext = {
305
+ ...this.testContext,
306
+ // Spread existing test context properties
307
+ items: this.testContext.items.map((itemContext) => {
308
+ if (itemContext.identifier !== identifier) {
309
+ return itemContext;
310
+ }
311
+ return {
312
+ ...itemContext,
313
+ // Keep other properties of the item context
314
+ variables: variables.map((variable) => {
315
+ const matchingVariable = itemContext.variables.find((v) => v.identifier === variable.identifier);
316
+ return matchingVariable ? { ...matchingVariable, ...variable } : variable;
317
+ })
318
+ };
319
+ })
320
+ };
321
+ }
322
+ };
323
+ __decorateClass([
324
+ state(),
325
+ provide({ context: testContext })
326
+ ], TestBase.prototype, "testContext", 2);
327
+ __decorateClass([
328
+ state(),
329
+ provide({ context: sessionContext })
330
+ ], TestBase.prototype, "sessionContext", 2);
331
+
332
+ // src/lib/qti-test/core/mixins/test-processing.mixin.ts
333
+ var TestProcessingMixin = (superClass) => {
334
+ class TestProcessingElement extends superClass {
335
+ constructor(...args) {
336
+ super(...args);
337
+ this.addEventListener("qti-register-variable", (e) => {
338
+ this.testContext = {
339
+ ...this.testContext,
340
+ testOutcomeVariables: [...this.testContext.testOutcomeVariables || [], e.detail.variable]
341
+ };
342
+ e.stopPropagation();
343
+ });
344
+ this.addEventListener(
345
+ "qti-set-outcome-value",
346
+ (e) => {
347
+ const { outcomeIdentifier, value } = e.detail;
348
+ this.updateOutcomeVariable(outcomeIdentifier, value);
349
+ e.stopPropagation();
350
+ }
351
+ );
352
+ }
353
+ outcomeProcessing() {
354
+ const outcomeProcessor = this.querySelector("qti-outcome-processing");
355
+ if (!outcomeProcessor) return false;
356
+ outcomeProcessor?.process();
357
+ return true;
358
+ }
359
+ /* --------------------------- ENABLED WHEN UNIT TESTING OUTCOME PROCESSING ------------------------------------ */
360
+ updateOutcomeVariable(identifier, value) {
361
+ const outcomeVariable = this.getOutcome(identifier);
362
+ if (!outcomeVariable) {
363
+ console.warn(`Can not set qti-outcome-identifier: ${identifier}, it is not available`);
364
+ return;
365
+ }
366
+ this.testContext = {
367
+ ...this.testContext,
368
+ testOutcomeVariables: this.testContext.testOutcomeVariables?.map((v) => {
369
+ if (v.identifier !== identifier) {
370
+ return v;
371
+ }
372
+ return {
373
+ ...v,
374
+ value: outcomeVariable.cardinality === "single" ? value : [...v.value, value]
375
+ };
376
+ })
377
+ };
378
+ }
379
+ getOutcome(identifier) {
380
+ return this.getVariable(identifier);
381
+ }
382
+ getVariable(identifier) {
383
+ return this.testContext.testOutcomeVariables?.find((v) => v.identifier === identifier) || null;
384
+ }
385
+ /* --------------------------- ENABLED WHEN UNIT TESTING OUTCOME PROCESSING ------------------------------------ */
386
+ }
387
+ return TestProcessingElement;
388
+ };
389
+
390
+ // src/lib/qti-test/core/qti-test.ts
391
+ var QtiTest = class extends TestLoaderMixin(TestNavigationMixin(TestViewMixin(TestProcessingMixin(TestBase)))) {
392
+ // export class QtiTest extends TestLoaderMixin(TestNavigationMixin(TestViewMixin(TestBase))) {
393
+ /**
394
+ * Renders the component's template.
395
+ * Provides a default `<slot>` for content projection.
396
+ */
397
+ async connectedCallback() {
398
+ super.connectedCallback();
399
+ await this.updateComplete;
400
+ this.dispatchEvent(new CustomEvent("qti-test-connected", { detail: this }));
401
+ }
402
+ render() {
403
+ return html`<slot></slot>`;
404
+ }
405
+ };
406
+ QtiTest = __decorateClass([
407
+ customElement("qti-test")
408
+ ], QtiTest);
409
+
410
+ // src/lib/qti-test/core/qti-assessment-test/qti-assessment-item-ref.ts
411
+ import { consume } from "@lit/context";
412
+ import { html as html2, LitElement as LitElement2 } from "lit";
413
+ import { property as property3 } from "lit/decorators.js";
414
+ var stringToBooleanConverter = {
415
+ fromAttribute(value) {
416
+ return value === "true";
417
+ },
418
+ toAttribute(value) {
419
+ return value ? "true" : "false";
420
+ }
421
+ };
422
+ var QtiAssessmentItemRef = class extends LitElement2 {
423
+ constructor() {
424
+ super(...arguments);
425
+ this.weigths = /* @__PURE__ */ new Map();
426
+ }
427
+ // the XMLDocument
428
+ createRenderRoot() {
429
+ return this;
430
+ }
431
+ get assessmentItem() {
432
+ return this.renderRoot?.querySelector("qti-assessment-item");
433
+ }
434
+ async connectedCallback() {
435
+ super.connectedCallback();
436
+ await this.updateComplete;
437
+ this.dispatchEvent(
438
+ new CustomEvent("qti-assessment-item-ref-connected", {
439
+ bubbles: true,
440
+ composed: true,
441
+ detail: { identifier: this.identifier, href: this.href, category: this.category }
442
+ })
443
+ );
444
+ }
445
+ render() {
446
+ return html2`${this.xmlDoc}`;
447
+ }
448
+ };
449
+ __decorateClass([
450
+ property3({ type: String })
451
+ ], QtiAssessmentItemRef.prototype, "category", 2);
452
+ __decorateClass([
453
+ property3({ type: String })
454
+ ], QtiAssessmentItemRef.prototype, "identifier", 2);
455
+ __decorateClass([
456
+ property3({ type: Boolean, converter: stringToBooleanConverter })
457
+ ], QtiAssessmentItemRef.prototype, "required", 2);
458
+ __decorateClass([
459
+ property3({ type: Boolean, converter: stringToBooleanConverter })
460
+ ], QtiAssessmentItemRef.prototype, "fixed", 2);
461
+ __decorateClass([
462
+ property3({ type: String })
463
+ ], QtiAssessmentItemRef.prototype, "href", 2);
464
+ __decorateClass([
465
+ consume({ context: testContext, subscribe: true })
466
+ ], QtiAssessmentItemRef.prototype, "_testContext", 2);
467
+ __decorateClass([
468
+ property3({ type: Object, attribute: false })
469
+ ], QtiAssessmentItemRef.prototype, "xmlDoc", 2);
470
+ if (!customElements.get("qti-assessment-item-ref")) {
471
+ customElements.define("qti-assessment-item-ref", QtiAssessmentItemRef);
472
+ }
473
+
474
+ // src/lib/qti-test/core/qti-assessment-test/qti-assessment-section.ts
475
+ import { consume as consume2 } from "@lit/context";
476
+ import { html as html3, LitElement as LitElement3 } from "lit";
477
+ import { property as property4 } from "lit/decorators.js";
478
+ var stringToBooleanConverter2 = {
479
+ fromAttribute(value) {
480
+ return value === "true";
481
+ },
482
+ toAttribute(value) {
483
+ return value ? "true" : "false";
484
+ }
485
+ };
486
+ var QtiAssessmentSection = class extends LitElement3 {
487
+ async connectedCallback() {
488
+ super.connectedCallback();
489
+ await this.updateComplete;
490
+ this.dispatchEvent(
491
+ new Event("qti-assessment-section-connected", {
492
+ bubbles: true,
493
+ composed: true
494
+ })
495
+ );
496
+ }
497
+ render() {
498
+ return html3`<slot name="qti-rubric-block"></slot><slot></slot>`;
499
+ }
500
+ };
501
+ __decorateClass([
502
+ property4({ type: String })
503
+ ], QtiAssessmentSection.prototype, "identifier", 2);
504
+ __decorateClass([
505
+ property4({ type: String })
506
+ ], QtiAssessmentSection.prototype, "required", 2);
507
+ __decorateClass([
508
+ property4({ type: Boolean, converter: stringToBooleanConverter2 })
509
+ ], QtiAssessmentSection.prototype, "fixed", 2);
510
+ __decorateClass([
511
+ property4({ type: String })
512
+ ], QtiAssessmentSection.prototype, "title", 2);
513
+ __decorateClass([
514
+ property4({ type: Boolean, converter: stringToBooleanConverter2 })
515
+ ], QtiAssessmentSection.prototype, "visible", 2);
516
+ __decorateClass([
517
+ property4({ type: Boolean, converter: stringToBooleanConverter2, attribute: "keep-together" })
518
+ ], QtiAssessmentSection.prototype, "keepTogether", 2);
519
+ __decorateClass([
520
+ consume2({ context: testContext, subscribe: true })
521
+ ], QtiAssessmentSection.prototype, "_testContext", 2);
522
+ if (!customElements.get("qti-assessment-section")) {
523
+ customElements.define("qti-assessment-section", QtiAssessmentSection);
524
+ }
525
+
526
+ // src/lib/qti-test/core/qti-assessment-test/qti-assessment-test.ts
527
+ import { consume as consume3 } from "@lit/context";
528
+ import { html as html4, LitElement as LitElement4 } from "lit";
529
+ import { customElement as customElement2, property as property5 } from "lit/decorators.js";
530
+ var QtiAssessmentTest = class extends LitElement4 {
531
+ async connectedCallback() {
532
+ super.connectedCallback();
533
+ await this.updateComplete;
534
+ this.dispatchEvent(
535
+ new CustomEvent("qti-assessment-test-connected", {
536
+ detail: this,
537
+ bubbles: true,
538
+ composed: true
539
+ })
540
+ );
541
+ }
542
+ render() {
543
+ return html4` <slot></slot>`;
544
+ }
545
+ };
546
+ __decorateClass([
547
+ property5({ type: String })
548
+ ], QtiAssessmentTest.prototype, "identifier", 2);
549
+ __decorateClass([
550
+ property5({ type: String })
551
+ ], QtiAssessmentTest.prototype, "title", 2);
552
+ __decorateClass([
553
+ consume3({ context: testContext, subscribe: true })
554
+ ], QtiAssessmentTest.prototype, "_testContext", 2);
555
+ QtiAssessmentTest = __decorateClass([
556
+ customElement2("qti-assessment-test")
557
+ ], QtiAssessmentTest);
558
+
559
+ // src/lib/qti-test/core/qti-assessment-test/qti-test-part.ts
560
+ import { html as html5, LitElement as LitElement5 } from "lit";
561
+ import { customElement as customElement3, property as property6 } from "lit/decorators.js";
562
+ var QtiTestPart = class extends LitElement5 {
563
+ constructor() {
564
+ super(...arguments);
565
+ this.identifier = "";
566
+ this.title = "";
567
+ this.class = "";
568
+ this.NavigationMode = "nonlinear";
569
+ this.submissionMode = "individual";
570
+ }
571
+ async connectedCallback() {
572
+ super.connectedCallback();
573
+ await this.updateComplete;
574
+ this.dispatchEvent(
575
+ new Event("qti-test-part-connected", {
576
+ bubbles: true,
577
+ composed: true
578
+ })
579
+ );
580
+ }
581
+ render() {
582
+ return html5` <slot></slot>`;
583
+ }
584
+ };
585
+ __decorateClass([
586
+ property6({ type: String })
587
+ ], QtiTestPart.prototype, "identifier", 2);
588
+ __decorateClass([
589
+ property6({ type: String })
590
+ ], QtiTestPart.prototype, "title", 2);
591
+ __decorateClass([
592
+ property6({ type: String })
593
+ ], QtiTestPart.prototype, "class", 2);
594
+ __decorateClass([
595
+ property6({ type: String, attribute: "navigation-mode" })
596
+ ], QtiTestPart.prototype, "NavigationMode", 2);
597
+ __decorateClass([
598
+ property6({ type: String, attribute: "submission-mode" })
599
+ ], QtiTestPart.prototype, "submissionMode", 2);
600
+ QtiTestPart = __decorateClass([
601
+ customElement3("qti-test-part")
602
+ ], QtiTestPart);
603
+ if (!customElements.get("qti-test-part")) {
604
+ customElements.define("qti-test-part", QtiTestPart);
605
+ }
606
+
607
+ export {
608
+ QtiTest,
609
+ QtiAssessmentItemRef,
610
+ QtiAssessmentSection,
611
+ QtiAssessmentTest,
612
+ QtiTestPart
613
+ };
614
+ //# sourceMappingURL=chunk-TN5UCQIV.js.map