@citolab/qti-components 7.1.0 → 7.1.2

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 (281) hide show
  1. package/cdn/chunks/chunk-27WPPEWB.js +1 -0
  2. package/cdn/chunks/chunk-2HL3OFY7.js +1 -0
  3. package/cdn/chunks/chunk-33UT2QKP.js +5 -0
  4. package/cdn/chunks/chunk-3M3VWZCU.js +8 -0
  5. package/cdn/chunks/chunk-3QAOJL7Y.js +1007 -0
  6. package/cdn/chunks/chunk-3R4ZTZYA.js +5 -0
  7. package/cdn/chunks/chunk-6DWYLZ5E.js +5 -0
  8. package/cdn/chunks/chunk-6RVWXAM7.js +8 -0
  9. package/cdn/chunks/chunk-7HXSSTSU.js +1 -0
  10. package/cdn/chunks/chunk-7JXSJZV5.js +8 -0
  11. package/cdn/chunks/chunk-7QMIMK5V.js +5 -0
  12. package/cdn/chunks/chunk-7RLNGBXK.js +1 -0
  13. package/cdn/chunks/chunk-AHZ3W4YP.js +8 -0
  14. package/cdn/chunks/chunk-BGHD6LZP.js +1007 -0
  15. package/cdn/chunks/chunk-C73FEG6J.js +1 -0
  16. package/cdn/chunks/chunk-CFS5WXCD.js +1 -0
  17. package/cdn/chunks/chunk-CZDMOYYF.js +1 -0
  18. package/cdn/chunks/chunk-EBVKDAVL.js +5 -0
  19. package/cdn/chunks/chunk-EEFB2V7Q.js +27 -0
  20. package/cdn/chunks/chunk-ELZQC26E.js +5 -0
  21. package/cdn/chunks/chunk-EPOG3VSF.js +5 -0
  22. package/cdn/chunks/chunk-FDKTSUOQ.js +48 -0
  23. package/cdn/chunks/chunk-FJOHSSA3.js +1 -0
  24. package/cdn/chunks/chunk-G5YNM432.js +5 -0
  25. package/cdn/chunks/chunk-GIJVMMKY.js +1007 -0
  26. package/cdn/chunks/chunk-GNIERKRX.js +1007 -0
  27. package/cdn/chunks/chunk-GTHARXCW.js +10 -0
  28. package/cdn/chunks/chunk-IRLG6H7G.js +1 -0
  29. package/cdn/chunks/chunk-J3F2YSRA.js +1007 -0
  30. package/cdn/chunks/chunk-J4ISS5TZ.js +5 -0
  31. package/cdn/chunks/chunk-KBJYE746.js +5 -0
  32. package/cdn/chunks/chunk-KIH2VB5Z.js +1 -0
  33. package/cdn/chunks/chunk-KJJG5SSY.js +1 -0
  34. package/cdn/chunks/chunk-KLRM2GAU.js +8 -0
  35. package/cdn/chunks/chunk-KQT5S3DK.js +5 -0
  36. package/cdn/chunks/chunk-LDKKOMIK.js +3570 -0
  37. package/cdn/chunks/chunk-LDXZOGPY.js +10 -0
  38. package/cdn/chunks/chunk-LUVDXKE2.js +5 -0
  39. package/cdn/chunks/chunk-LZQKENA3.js +1 -0
  40. package/cdn/chunks/chunk-MGLK2Q6K.js +5 -0
  41. package/cdn/chunks/chunk-MK2CR5DP.js +1 -0
  42. package/cdn/chunks/chunk-N5JQAYOR.js +1 -0
  43. package/cdn/chunks/chunk-NJUBWVY3.js +10 -0
  44. package/cdn/chunks/chunk-NQKAQ6AU.js +1007 -0
  45. package/cdn/chunks/chunk-NW5VVFA5.js +5 -0
  46. package/cdn/chunks/chunk-OYUWBJSX.js +1 -0
  47. package/cdn/chunks/chunk-PBZODDGJ.js +1 -0
  48. package/cdn/chunks/chunk-PJFJOZNR.js +48 -0
  49. package/cdn/chunks/chunk-PMIMCEQ2.js +1 -0
  50. package/cdn/chunks/chunk-PYOOOJUP.js +3547 -0
  51. package/cdn/chunks/chunk-Q6HFDDZ4.js +1 -0
  52. package/cdn/chunks/chunk-QQR6POPY.js +1 -0
  53. package/cdn/chunks/chunk-QS2LH2IW.js +1007 -0
  54. package/cdn/chunks/chunk-QUFRWTHS.js +1 -0
  55. package/cdn/chunks/chunk-RJB5E47I.js +1 -0
  56. package/cdn/chunks/chunk-SFY52QPM.js +1 -0
  57. package/cdn/chunks/chunk-SUXBSENJ.js +48 -0
  58. package/cdn/chunks/chunk-SYO32O6X.js +1 -0
  59. package/cdn/chunks/chunk-TUWPPE7H.js +1 -0
  60. package/cdn/chunks/chunk-UHILPQTT.js +10 -0
  61. package/cdn/chunks/chunk-UOY4MCKX.js +6 -0
  62. package/cdn/chunks/chunk-VLCD4DFD.js +8 -0
  63. package/cdn/chunks/chunk-VRTU4ZV6.js +48 -0
  64. package/cdn/chunks/chunk-VXDODYB5.js +1007 -0
  65. package/cdn/chunks/chunk-W7GYEQJQ.js +1 -0
  66. package/cdn/chunks/chunk-WNI2D7SG.js +1 -0
  67. package/cdn/chunks/chunk-WNJ3YFMW.js +1 -0
  68. package/cdn/chunks/chunk-WRFAZSRX.js +1007 -0
  69. package/cdn/chunks/chunk-WTUTTA5R.js +1 -0
  70. package/cdn/chunks/chunk-WVVKSWZV.js +5 -0
  71. package/cdn/chunks/chunk-WXFIEBQR.js +0 -0
  72. package/cdn/chunks/chunk-X75XIXUI.js +10 -0
  73. package/cdn/chunks/chunk-XPI6OOWN.js +27 -0
  74. package/cdn/chunks/chunk-YBPCVJIX.js +10 -0
  75. package/cdn/chunks/chunk-YTSCJPU2.js +1007 -0
  76. package/cdn/chunks/chunk-YZQZGOYM.js +1 -0
  77. package/cdn/chunks/chunk-ZHVOZ7WZ.js +1007 -0
  78. package/cdn/exports/session.context.js +1 -1
  79. package/cdn/exports/test.context.js +1 -1
  80. package/cdn/index.global.js +1 -1
  81. package/cdn/index.js +1 -1
  82. package/cdn/qti-components/index.js +1 -1
  83. package/cdn/qti-test/components/index.js +1 -1
  84. package/cdn/qti-test/components/test-navigation.js +1 -1
  85. package/cdn/qti-test/components/test-print-context.js +1 -0
  86. package/cdn/qti-test/components/test-print-item-variables copy.js +1 -0
  87. package/cdn/qti-test/components/test-print-item-variables.js +1 -1
  88. package/cdn/qti-test/components/test-print-item-variables.stories copy.js +233 -0
  89. package/cdn/qti-test/components/test-print-test-context.js +1 -0
  90. package/cdn/qti-test/components/test-view.js +1 -1
  91. package/cdn/qti-test/core/index.js +1 -1
  92. package/dist/chunks/chunk-2BVFKYAB.js +659 -0
  93. package/dist/chunks/chunk-2BVFKYAB.js.map +1 -0
  94. package/dist/chunks/chunk-2RXVRB7Z.js +659 -0
  95. package/dist/chunks/chunk-2RXVRB7Z.js.map +1 -0
  96. package/dist/chunks/chunk-2ZTRBYHP.js +660 -0
  97. package/dist/chunks/chunk-2ZTRBYHP.js.map +1 -0
  98. package/dist/chunks/chunk-36LEJZEY.js +87 -0
  99. package/dist/chunks/chunk-36LEJZEY.js.map +1 -0
  100. package/dist/chunks/chunk-373M5NVS.js +62 -0
  101. package/dist/chunks/chunk-373M5NVS.js.map +1 -0
  102. package/dist/chunks/chunk-3DEV5ARX.js +89 -0
  103. package/dist/chunks/chunk-3DEV5ARX.js.map +1 -0
  104. package/dist/chunks/chunk-3GCBMXXY.js +62 -0
  105. package/dist/chunks/chunk-3GCBMXXY.js.map +1 -0
  106. package/dist/chunks/chunk-3NH5KOQ4.js +89 -0
  107. package/dist/chunks/chunk-3NH5KOQ4.js.map +1 -0
  108. package/dist/chunks/chunk-4BDSKOGB.js +6873 -0
  109. package/dist/chunks/chunk-4BDSKOGB.js.map +1 -0
  110. package/dist/chunks/chunk-4BIRH5VP.js +99 -0
  111. package/dist/chunks/chunk-4BIRH5VP.js.map +1 -0
  112. package/dist/chunks/chunk-4O3EJ3SA.js +3884 -0
  113. package/dist/chunks/chunk-4O3EJ3SA.js.map +1 -0
  114. package/dist/chunks/chunk-4Z3IMDB5.js +84 -0
  115. package/dist/chunks/chunk-4Z3IMDB5.js.map +1 -0
  116. package/dist/chunks/chunk-6ITJ2I3A.js +82 -0
  117. package/dist/chunks/chunk-6ITJ2I3A.js.map +1 -0
  118. package/dist/chunks/chunk-75ZDJN64.js +32 -0
  119. package/dist/chunks/chunk-75ZDJN64.js.map +1 -0
  120. package/dist/chunks/chunk-76SJLOAE.js +84 -0
  121. package/dist/chunks/chunk-76SJLOAE.js.map +1 -0
  122. package/dist/chunks/chunk-7JS7FRDO.js +89 -0
  123. package/dist/chunks/chunk-7JS7FRDO.js.map +1 -0
  124. package/dist/chunks/chunk-7WL6TAJE.js +6872 -0
  125. package/dist/chunks/chunk-7WL6TAJE.js.map +1 -0
  126. package/dist/chunks/chunk-AD5H6KYS.js +78 -0
  127. package/dist/chunks/chunk-AD5H6KYS.js.map +1 -0
  128. package/dist/chunks/chunk-AQLCQATM.js +62 -0
  129. package/dist/chunks/chunk-AQLCQATM.js.map +1 -0
  130. package/dist/chunks/chunk-AWQHFFVL.js +659 -0
  131. package/dist/chunks/chunk-AWQHFFVL.js.map +1 -0
  132. package/dist/chunks/chunk-BLUHTHXX.js +6877 -0
  133. package/dist/chunks/chunk-BLUHTHXX.js.map +1 -0
  134. package/dist/chunks/chunk-BO6QD3VK.js +27 -0
  135. package/dist/chunks/chunk-BO6QD3VK.js.map +1 -0
  136. package/dist/chunks/chunk-BQ22JHXC.js +6877 -0
  137. package/dist/chunks/chunk-BQ22JHXC.js.map +1 -0
  138. package/dist/chunks/chunk-BWM6SEM3.js +659 -0
  139. package/dist/chunks/chunk-BWM6SEM3.js.map +1 -0
  140. package/dist/chunks/chunk-C2FVCRYJ.js +660 -0
  141. package/dist/chunks/chunk-C2FVCRYJ.js.map +1 -0
  142. package/dist/chunks/chunk-CIVMCP3W.js +78 -0
  143. package/dist/chunks/chunk-CIVMCP3W.js.map +1 -0
  144. package/dist/chunks/chunk-CJADUWEC.js +10 -0
  145. package/dist/chunks/chunk-CJADUWEC.js.map +1 -0
  146. package/dist/chunks/chunk-DCKLAFBL.js +79 -0
  147. package/dist/chunks/chunk-DCKLAFBL.js.map +1 -0
  148. package/dist/chunks/chunk-EHRC7LG6.js +3638 -0
  149. package/dist/chunks/chunk-EHRC7LG6.js.map +1 -0
  150. package/dist/chunks/chunk-ELXD2ZSR.js +218 -0
  151. package/dist/chunks/chunk-ELXD2ZSR.js.map +1 -0
  152. package/dist/chunks/chunk-EQUEIZJL.js +27 -0
  153. package/dist/chunks/chunk-EQUEIZJL.js.map +1 -0
  154. package/dist/chunks/chunk-EREPAU3B.js +80 -0
  155. package/dist/chunks/chunk-EREPAU3B.js.map +1 -0
  156. package/dist/chunks/chunk-EXOIDEQ6.js +660 -0
  157. package/dist/chunks/chunk-EXOIDEQ6.js.map +1 -0
  158. package/dist/chunks/chunk-FFF7WZJF.js +33 -0
  159. package/dist/chunks/chunk-FFF7WZJF.js.map +1 -0
  160. package/dist/chunks/chunk-FJJMZEPV.js +95 -0
  161. package/dist/chunks/chunk-FJJMZEPV.js.map +1 -0
  162. package/dist/chunks/chunk-G5DLHZE2.js +659 -0
  163. package/dist/chunks/chunk-G5DLHZE2.js.map +1 -0
  164. package/dist/chunks/chunk-HD63HGFY.js +52 -0
  165. package/dist/chunks/chunk-HD63HGFY.js.map +1 -0
  166. package/dist/chunks/chunk-HUKKTEBP.js +99 -0
  167. package/dist/chunks/chunk-HUKKTEBP.js.map +1 -0
  168. package/dist/chunks/chunk-HXGGGOV2.js +86 -0
  169. package/dist/chunks/chunk-HXGGGOV2.js.map +1 -0
  170. package/dist/chunks/chunk-HZYAIUVZ.js +6872 -0
  171. package/dist/chunks/chunk-HZYAIUVZ.js.map +1 -0
  172. package/dist/chunks/chunk-IT744RXI.js +75 -0
  173. package/dist/chunks/chunk-IT744RXI.js.map +1 -0
  174. package/dist/chunks/chunk-IXVOEGNZ.js +87 -0
  175. package/dist/chunks/chunk-IXVOEGNZ.js.map +1 -0
  176. package/dist/chunks/chunk-JEM74SR3.js +85 -0
  177. package/dist/chunks/chunk-JEM74SR3.js.map +1 -0
  178. package/dist/chunks/chunk-JP22YLJ6.js +219 -0
  179. package/dist/chunks/chunk-JP22YLJ6.js.map +1 -0
  180. package/dist/chunks/chunk-JVGOS45U.js +660 -0
  181. package/dist/chunks/chunk-JVGOS45U.js.map +1 -0
  182. package/dist/chunks/chunk-JWVGRAWQ.js +6872 -0
  183. package/dist/chunks/chunk-JWVGRAWQ.js.map +1 -0
  184. package/dist/chunks/chunk-JWX6ZOZ6.js +86 -0
  185. package/dist/chunks/chunk-JWX6ZOZ6.js.map +1 -0
  186. package/dist/chunks/chunk-JZMZLOTW.js +32 -0
  187. package/dist/chunks/chunk-JZMZLOTW.js.map +1 -0
  188. package/dist/chunks/chunk-KS3SCUUO.js +92 -0
  189. package/dist/chunks/chunk-KS3SCUUO.js.map +1 -0
  190. package/dist/chunks/chunk-LOPCNZ26.js +95 -0
  191. package/dist/chunks/chunk-LOPCNZ26.js.map +1 -0
  192. package/dist/chunks/chunk-LSNOL7NJ.js +6872 -0
  193. package/dist/chunks/chunk-LSNOL7NJ.js.map +1 -0
  194. package/dist/chunks/chunk-M4E2ACHZ.js +75 -0
  195. package/dist/chunks/chunk-M4E2ACHZ.js.map +1 -0
  196. package/dist/chunks/chunk-MQS7RZFR.js +85 -0
  197. package/dist/chunks/chunk-MQS7RZFR.js.map +1 -0
  198. package/dist/chunks/chunk-N3JFTFIL.js +79 -0
  199. package/dist/chunks/chunk-N3JFTFIL.js.map +1 -0
  200. package/dist/chunks/chunk-OSMLF3OH.js +6868 -0
  201. package/dist/chunks/chunk-OSMLF3OH.js.map +1 -0
  202. package/dist/chunks/chunk-OWWUE3LK.js +660 -0
  203. package/dist/chunks/chunk-OWWUE3LK.js.map +1 -0
  204. package/dist/chunks/chunk-P36CLOLO.js +27 -0
  205. package/dist/chunks/chunk-P36CLOLO.js.map +1 -0
  206. package/dist/chunks/chunk-PL32YWZA.js +30 -0
  207. package/dist/chunks/chunk-PL32YWZA.js.map +1 -0
  208. package/dist/chunks/chunk-Q5JLRHTY.js +659 -0
  209. package/dist/chunks/chunk-Q5JLRHTY.js.map +1 -0
  210. package/dist/chunks/chunk-RB227QQP.js +659 -0
  211. package/dist/chunks/chunk-RB227QQP.js.map +1 -0
  212. package/dist/chunks/chunk-TC5ZLAPV.js +218 -0
  213. package/dist/chunks/chunk-TC5ZLAPV.js.map +1 -0
  214. package/dist/chunks/chunk-TRSEENUK.js +45 -0
  215. package/dist/chunks/chunk-TRSEENUK.js.map +1 -0
  216. package/dist/chunks/chunk-U7VUCT7D.js +659 -0
  217. package/dist/chunks/chunk-U7VUCT7D.js.map +1 -0
  218. package/dist/chunks/chunk-UEX52I7G.js +1 -0
  219. package/dist/chunks/chunk-UEX52I7G.js.map +1 -0
  220. package/dist/chunks/chunk-UFRDMBKM.js +43 -0
  221. package/dist/chunks/chunk-UFRDMBKM.js.map +1 -0
  222. package/dist/chunks/chunk-USJXIVR4.js +6872 -0
  223. package/dist/chunks/chunk-USJXIVR4.js.map +1 -0
  224. package/dist/chunks/chunk-UZ4QB5IO.js +10 -0
  225. package/dist/chunks/chunk-UZ4QB5IO.js.map +1 -0
  226. package/dist/chunks/chunk-V2EYNAG4.js +659 -0
  227. package/dist/chunks/chunk-V2EYNAG4.js.map +1 -0
  228. package/dist/chunks/chunk-WJBYWKIF.js +32 -0
  229. package/dist/chunks/chunk-WJBYWKIF.js.map +1 -0
  230. package/dist/chunks/chunk-WOVQFPIV.js +6872 -0
  231. package/dist/chunks/chunk-WOVQFPIV.js.map +1 -0
  232. package/dist/chunks/chunk-WPUMEBSF.js +33 -0
  233. package/dist/chunks/chunk-WPUMEBSF.js.map +1 -0
  234. package/dist/chunks/chunk-WVVYYP6F.js +218 -0
  235. package/dist/chunks/chunk-WVVYYP6F.js.map +1 -0
  236. package/dist/chunks/chunk-XSHHCMRC.js +217 -0
  237. package/dist/chunks/chunk-XSHHCMRC.js.map +1 -0
  238. package/dist/chunks/chunk-XZTGFLMB.js +6872 -0
  239. package/dist/chunks/chunk-XZTGFLMB.js.map +1 -0
  240. package/dist/chunks/chunk-ZBMTSE6Q.js +660 -0
  241. package/dist/chunks/chunk-ZBMTSE6Q.js.map +1 -0
  242. package/dist/chunks/chunk-ZMTMIG3C.js +77 -0
  243. package/dist/chunks/chunk-ZMTMIG3C.js.map +1 -0
  244. package/dist/chunks/chunk-ZSR4X4I6.js +638 -0
  245. package/dist/chunks/chunk-ZSR4X4I6.js.map +1 -0
  246. package/dist/exports/interaction.js +1 -1
  247. package/dist/exports/session.context.d.ts +1 -1
  248. package/dist/exports/session.context.js +3 -1
  249. package/dist/exports/test.context.d.ts +2 -1
  250. package/dist/exports/test.context.js +3 -1
  251. package/dist/index.d.ts +3 -2
  252. package/dist/index.js +20 -12
  253. package/dist/qti-components/index.js +2 -2
  254. package/dist/qti-components-jsx.d.ts +35 -2
  255. package/dist/qti-response-declaration-5PnLgbOQ.d.ts +1143 -0
  256. package/dist/qti-response-declaration-PJkGU8F8.d.ts +1151 -0
  257. package/dist/qti-test/components/index.d.ts +2 -1
  258. package/dist/qti-test/components/index.js +13 -9
  259. package/dist/qti-test/components/test-navigation.d.ts +1 -1
  260. package/dist/qti-test/components/test-navigation.js +3 -3
  261. package/dist/qti-test/components/test-print-context.d.ts +20 -0
  262. package/dist/qti-test/components/test-print-context.js +9 -0
  263. package/dist/qti-test/components/test-print-context.js.map +1 -0
  264. package/dist/qti-test/components/test-print-item-variables copy.js +86 -0
  265. package/dist/qti-test/components/test-print-item-variables copy.js.map +1 -0
  266. package/dist/qti-test/components/test-print-item-variables.d.ts +2 -2
  267. package/dist/qti-test/components/test-print-item-variables.js +1 -1
  268. package/dist/qti-test/components/test-print-item-variables.stories copy.js +9731 -0
  269. package/dist/qti-test/components/test-print-item-variables.stories copy.js.map +1 -0
  270. package/dist/qti-test/components/test-print-test-context.js +86 -0
  271. package/dist/qti-test/components/test-print-test-context.js.map +1 -0
  272. package/dist/qti-test/components/test-view.js +2 -2
  273. package/dist/qti-test/core/index.d.ts +3 -3
  274. package/dist/qti-test/core/index.js +15 -3
  275. package/dist/qti-test-feedback-BuFBq7JH.d.ts +97 -0
  276. package/dist/qti-test-feedback-CZsPCqSt.d.ts +97 -0
  277. package/dist/qti-test-feedback-CaNdRC7L.d.ts +96 -0
  278. package/dist/qti-test-part-BIeEZIWw.d.ts +85 -0
  279. package/dist/qti-test-part-C_jSX7Zz.d.ts +85 -0
  280. package/dist/vscode.html-custom-data.json +17 -6
  281. package/package.json +1 -1
@@ -0,0 +1,86 @@
1
+ import {
2
+ computedContext
3
+ } from "../../chunks/chunk-6Z5YR5U2.js";
4
+ import {
5
+ __decorateClass
6
+ } from "../../chunks/chunk-H2JE6IVU.js";
7
+
8
+ // src/lib/qti-test/components/test-print-test-context.ts
9
+ import { html, LitElement } from "lit";
10
+ import { consume } from "@lit/context";
11
+ import { customElement, property } from "lit/decorators.js";
12
+ var TestPrintContext = class extends LitElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.mode = "summed";
16
+ }
17
+ // Store previous active item reference
18
+ render() {
19
+ const activeItems = this.computedContext?.testParts.flatMap(
20
+ (testPart) => testPart.sections.flatMap((section) => section.items).find((item) => item.active)
21
+ );
22
+ if (!activeItems) return html``;
23
+ const activeItem = activeItems.length > 0 ? activeItems[0] : null;
24
+ if (activeItem) {
25
+ const responseVariables = activeItem.variables?.filter((v) => {
26
+ if (v.type !== "response") {
27
+ return false;
28
+ }
29
+ if (v.identifier.toLowerCase().startsWith("response")) {
30
+ return true;
31
+ }
32
+ if (v.correctResponse) {
33
+ return true;
34
+ }
35
+ });
36
+ const sortedResponseVariables = responseVariables?.sort((a, b) => a.identifier.localeCompare(b.identifier));
37
+ const correctResponseArray = sortedResponseVariables.map((r) => {
38
+ if (r.mapping && r.mapping.mapEntries.length > 0) {
39
+ return r.mapping.mapEntries.map((m) => {
40
+ return `${m.mapKey}=${m.mappedValue}pt `;
41
+ }).join("&");
42
+ }
43
+ if (r.areaMapping && r.areaMapping.areaMapEntries.length > 0) {
44
+ return r.areaMapping.areaMapEntries.map((m) => {
45
+ return `${m.coords} ${m.shape}=${m.mappedValue}`;
46
+ });
47
+ }
48
+ if (r.correctResponse) {
49
+ return Array.isArray(r.correctResponse) ? r.correctResponse.join("&") : r.correctResponse;
50
+ }
51
+ return [];
52
+ });
53
+ const correctResponse = correctResponseArray.join("&");
54
+ const response = sortedResponseVariables.length === 0 ? "" : sortedResponseVariables?.map((v) => {
55
+ if (Array.isArray(v.value)) {
56
+ return v.value.join("&");
57
+ }
58
+ return v.value;
59
+ }).join("#");
60
+ const itemToReturn = {
61
+ ...activeItem,
62
+ response,
63
+ correctResponse: this._previousActiveItem?.identifier === activeItem.identifier && this._previousActiveItem?.correctResponse ? this._previousActiveItem.correctResponse : correctResponse
64
+ };
65
+ if (this.mode === "summed") {
66
+ delete itemToReturn.variables;
67
+ }
68
+ this._previousActiveItem = itemToReturn;
69
+ return html` <small><pre>${JSON.stringify(itemToReturn, null, 2)}</pre></small> `;
70
+ }
71
+ return html``;
72
+ }
73
+ };
74
+ __decorateClass([
75
+ consume({ context: computedContext, subscribe: true })
76
+ ], TestPrintContext.prototype, "computedContext", 2);
77
+ __decorateClass([
78
+ property({ type: String, reflect: true })
79
+ ], TestPrintContext.prototype, "mode", 2);
80
+ TestPrintContext = __decorateClass([
81
+ customElement("test-print-context")
82
+ ], TestPrintContext);
83
+ export {
84
+ TestPrintContext
85
+ };
86
+ //# sourceMappingURL=test-print-test-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/qti-test/components/test-print-test-context.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { consume } from '@lit/context';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { computedContext } from '../../exports/computed.context';\n\nimport type { ResponseVariable } from '../../exports/variables';\nimport type { ComputedContext, ComputedItem } from '../../exports/computed.context';\n\n@customElement('test-print-context')\nexport class TestPrintContext extends LitElement {\n @consume({ context: computedContext, subscribe: true })\n public computedContext?: ComputedContext;\n\n @property({ type: String, reflect: true })\n public mode: 'summed' | 'complete' = 'summed';\n\n private _previousActiveItem?: ComputedItem & { correctResponse: string; response: string }; // Store previous active item reference\n\n render() {\n const activeItems = this.computedContext?.testParts.flatMap(testPart =>\n testPart.sections.flatMap(section => section.items).find(item => item.active)\n );\n if (!activeItems) return html``;\n const activeItem = activeItems.length > 0 ? activeItems[0] : null;\n if (activeItem) {\n const responseVariables: ResponseVariable[] = activeItem.variables?.filter(v => {\n if (v.type !== 'response') {\n return false;\n }\n if (v.identifier.toLowerCase().startsWith('response')) {\n return true;\n }\n if ((v as ResponseVariable).correctResponse) {\n return true;\n }\n });\n // sort the response variables by the order of the string: identifier\n const sortedResponseVariables = responseVariables?.sort((a, b) => a.identifier.localeCompare(b.identifier));\n const correctResponseArray = sortedResponseVariables.map(r => {\n if (r.mapping && r.mapping.mapEntries.length > 0) {\n return r.mapping.mapEntries\n .map(m => {\n return `${m.mapKey}=${m.mappedValue}pt `;\n })\n .join('&');\n }\n if (r.areaMapping && r.areaMapping.areaMapEntries.length > 0) {\n return r.areaMapping.areaMapEntries.map(m => {\n return `${m.coords} ${m.shape}=${m.mappedValue}`;\n });\n }\n if (r.correctResponse) {\n return Array.isArray(r.correctResponse) ? r.correctResponse.join('&') : r.correctResponse;\n }\n return [];\n });\n const correctResponse = correctResponseArray.join('&');\n const response =\n sortedResponseVariables.length === 0\n ? ''\n : sortedResponseVariables\n ?.map(v => {\n if (Array.isArray(v.value)) {\n return v.value.join('&');\n }\n return v.value;\n })\n .join('#');\n const itemToReturn = {\n ...activeItem,\n response,\n correctResponse:\n this._previousActiveItem?.identifier === activeItem.identifier && this._previousActiveItem?.correctResponse\n ? this._previousActiveItem.correctResponse\n : correctResponse\n };\n if (this.mode === 'summed') {\n delete itemToReturn.variables;\n }\n this._previousActiveItem = itemToReturn;\n return html` <small><pre>${JSON.stringify(itemToReturn, null, 2)}</pre></small> `;\n }\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'test-print-item-variables': TestPrintVariables;\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,MAAM,kBAAkB;AACjC,SAAS,eAAe;AACxB,SAAS,eAAe,gBAAgB;AAQjC,IAAM,mBAAN,cAA+B,WAAW;AAAA,EAA1C;AAAA;AAKL,SAAO,OAA8B;AAAA;AAAA;AAAA,EAIrC,SAAS;AACP,UAAM,cAAc,KAAK,iBAAiB,UAAU;AAAA,MAAQ,cAC1D,SAAS,SAAS,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,MAAM;AAAA,IAC9E;AACA,QAAI,CAAC,YAAa,QAAO;AACzB,UAAM,aAAa,YAAY,SAAS,IAAI,YAAY,CAAC,IAAI;AAC7D,QAAI,YAAY;AACd,YAAM,oBAAwC,WAAW,WAAW,OAAO,OAAK;AAC9E,YAAI,EAAE,SAAS,YAAY;AACzB,iBAAO;AAAA,QACT;AACA,YAAI,EAAE,WAAW,YAAY,EAAE,WAAW,UAAU,GAAG;AACrD,iBAAO;AAAA,QACT;AACA,YAAK,EAAuB,iBAAiB;AAC3C,iBAAO;AAAA,QACT;AAAA,MACF,CAAC;AAED,YAAM,0BAA0B,mBAAmB,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,cAAc,EAAE,UAAU,CAAC;AAC1G,YAAM,uBAAuB,wBAAwB,IAAI,OAAK;AAC5D,YAAI,EAAE,WAAW,EAAE,QAAQ,WAAW,SAAS,GAAG;AAChD,iBAAO,EAAE,QAAQ,WACd,IAAI,OAAK;AACR,mBAAO,GAAG,EAAE,MAAM,IAAI,EAAE,WAAW;AAAA,UACrC,CAAC,EACA,KAAK,GAAG;AAAA,QACb;AACA,YAAI,EAAE,eAAe,EAAE,YAAY,eAAe,SAAS,GAAG;AAC5D,iBAAO,EAAE,YAAY,eAAe,IAAI,OAAK;AAC3C,mBAAO,GAAG,EAAE,MAAM,IAAI,EAAE,KAAK,IAAI,EAAE,WAAW;AAAA,UAChD,CAAC;AAAA,QACH;AACA,YAAI,EAAE,iBAAiB;AACrB,iBAAO,MAAM,QAAQ,EAAE,eAAe,IAAI,EAAE,gBAAgB,KAAK,GAAG,IAAI,EAAE;AAAA,QAC5E;AACA,eAAO,CAAC;AAAA,MACV,CAAC;AACD,YAAM,kBAAkB,qBAAqB,KAAK,GAAG;AACrD,YAAM,WACJ,wBAAwB,WAAW,IAC/B,KACA,yBACI,IAAI,OAAK;AACT,YAAI,MAAM,QAAQ,EAAE,KAAK,GAAG;AAC1B,iBAAO,EAAE,MAAM,KAAK,GAAG;AAAA,QACzB;AACA,eAAO,EAAE;AAAA,MACX,CAAC,EACA,KAAK,GAAG;AACjB,YAAM,eAAe;AAAA,QACnB,GAAG;AAAA,QACH;AAAA,QACA,iBACE,KAAK,qBAAqB,eAAe,WAAW,cAAc,KAAK,qBAAqB,kBACxF,KAAK,oBAAoB,kBACzB;AAAA,MACR;AACA,UAAI,KAAK,SAAS,UAAU;AAC1B,eAAO,aAAa;AAAA,MACtB;AACA,WAAK,sBAAsB;AAC3B,aAAO,oBAAoB,KAAK,UAAU,cAAc,MAAM,CAAC,CAAC;AAAA,IAClE;AACA,WAAO;AAAA,EACT;AACF;AAzES;AAAA,EADN,QAAQ,EAAE,SAAS,iBAAiB,WAAW,KAAK,CAAC;AAAA,GAD3C,iBAEJ;AAGA;AAAA,EADN,SAAS,EAAE,MAAM,QAAQ,SAAS,KAAK,CAAC;AAAA,GAJ9B,iBAKJ;AALI,mBAAN;AAAA,EADN,cAAc,oBAAoB;AAAA,GACtB;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TestView
3
- } from "../../chunks/chunk-CHINL5UJ.js";
4
- import "../../chunks/chunk-QTH3WLGY.js";
3
+ } from "../../chunks/chunk-HXGGGOV2.js";
4
+ import "../../chunks/chunk-UZ4QB5IO.js";
5
5
  import "../../chunks/chunk-ELDMXTUQ.js";
6
6
  import "../../chunks/chunk-H2JE6IVU.js";
7
7
  export {
@@ -1,10 +1,10 @@
1
1
  import * as lit_html from 'lit-html';
2
2
  import { a9 as OutcomeVariable, a6 as VariableDeclaration } from '../../qti-response-declaration-4hDeS38c.js';
3
3
  import { LitElement } from 'lit';
4
- import { S as SessionContext, b as QtiAssessmentTest } from '../../qti-test-part-Dk4Zf9_J.js';
5
- export { Q as QtiAssessmentItemRef, a as QtiAssessmentSection, c as QtiTestPart } from '../../qti-test-part-Dk4Zf9_J.js';
4
+ import { S as SessionContext, b as QtiAssessmentTest } from '../../qti-test-feedback-BuFBq7JH.js';
5
+ export { Q as QtiAssessmentItemRef, a as QtiAssessmentSection, d as QtiTestFeedback, c as QtiTestPart } from '../../qti-test-feedback-BuFBq7JH.js';
6
6
  import { TestContext } from '../../exports/test.context.js';
7
- export { testContext } from '../../exports/test.context.js';
7
+ export { INITIAL_TEST_CONTEXT, testContext } from '../../exports/test.context.js';
8
8
  import '../../exports/expression-result.js';
9
9
  import '../../exports/interaction.interface.js';
10
10
  import 'lit-html/directives/ref.js';
@@ -3,19 +3,31 @@ import {
3
3
  QtiAssessmentSection,
4
4
  QtiAssessmentTest,
5
5
  QtiTest,
6
+ QtiTestFeedback,
6
7
  QtiTestPart
7
- } from "../../chunks/chunk-QQHBTJRD.js";
8
- import "../../chunks/chunk-QTH3WLGY.js";
8
+ } from "../../chunks/chunk-V2EYNAG4.js";
9
+ import "../../chunks/chunk-UZ4QB5IO.js";
9
10
  import {
11
+ INITIAL_TEST_CONTEXT,
10
12
  testContext
11
- } from "../../chunks/chunk-ODLYMQOS.js";
13
+ } from "../../chunks/chunk-CJADUWEC.js";
14
+ import "../../chunks/chunk-BQ22JHXC.js";
15
+ import "../../chunks/chunk-D3RGDWKP.js";
16
+ import "../../chunks/chunk-ELDMXTUQ.js";
17
+ import "../../chunks/chunk-OOQLWOYU.js";
18
+ import "../../chunks/chunk-I7HVKMDI.js";
19
+ import "../../chunks/chunk-NJNQOQUU.js";
12
20
  import "../../chunks/chunk-XDMSEAYC.js";
21
+ import "../../chunks/chunk-M4E2ACHZ.js";
22
+ import "../../chunks/chunk-W7ZXKJ5O.js";
13
23
  import "../../chunks/chunk-H2JE6IVU.js";
14
24
  export {
25
+ INITIAL_TEST_CONTEXT,
15
26
  QtiAssessmentItemRef,
16
27
  QtiAssessmentSection,
17
28
  QtiAssessmentTest,
18
29
  QtiTest,
30
+ QtiTestFeedback,
19
31
  QtiTestPart,
20
32
  testContext
21
33
  };
@@ -0,0 +1,97 @@
1
+ import { Q as QtiAssessmentItem, f as QtiModalFeedback } from './qti-response-declaration-4hDeS38c.js';
2
+ import * as lit_html from 'lit-html';
3
+ import * as lit from 'lit';
4
+ import { LitElement } from 'lit';
5
+ import { TestContext } from './exports/test.context.js';
6
+
7
+ type View = 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor' | '';
8
+
9
+ interface SessionContext {
10
+ navPartId?: string | null;
11
+ navSectionId?: string | null;
12
+ navItemId?: string | null;
13
+ navItemLoading?: boolean;
14
+ navTestLoading?: boolean;
15
+ view?: View;
16
+ }
17
+ declare const INITIAL_SESSION_CONTEXT: Readonly<SessionContext>;
18
+ declare const sessionContext: {
19
+ __context__: Readonly<SessionContext>;
20
+ };
21
+
22
+ declare class QtiAssessmentItemRef extends LitElement {
23
+ category?: string;
24
+ identifier?: string;
25
+ required?: boolean;
26
+ fixed?: boolean;
27
+ href?: string;
28
+ _testContext?: TestContext;
29
+ weigths: Map<string, number>;
30
+ xmlDoc: DocumentFragment;
31
+ protected createRenderRoot(): HTMLElement | DocumentFragment;
32
+ get assessmentItem(): QtiAssessmentItem | null;
33
+ connectedCallback(): Promise<void>;
34
+ render(): lit_html.TemplateResult<1>;
35
+ }
36
+ declare global {
37
+ interface HTMLElementTagNameMap {
38
+ 'qti-assessment-item-ref': QtiAssessmentItemRef;
39
+ }
40
+ }
41
+
42
+ declare class QtiAssessmentSection extends LitElement {
43
+ identifier: string;
44
+ required: string;
45
+ fixed: boolean;
46
+ title: string;
47
+ visible: boolean;
48
+ keepTogether: boolean;
49
+ _testContext?: TestContext;
50
+ connectedCallback(): Promise<void>;
51
+ render(): lit_html.TemplateResult<1>;
52
+ }
53
+ declare global {
54
+ interface HTMLElementTagNameMap {
55
+ 'qti-assessment-section': QtiAssessmentSection;
56
+ }
57
+ }
58
+
59
+ declare class QtiAssessmentTest extends LitElement {
60
+ identifier: string;
61
+ title: string;
62
+ _testContext?: TestContext;
63
+ connectedCallback(): Promise<void>;
64
+ render(): lit_html.TemplateResult<1>;
65
+ }
66
+ declare global {
67
+ interface HTMLElementTagNameMap {
68
+ 'qti-assessment-test': QtiAssessmentTest;
69
+ }
70
+ }
71
+
72
+ declare class QtiTestPart extends LitElement {
73
+ identifier: string;
74
+ title: string;
75
+ class: string;
76
+ NavigationMode: 'linear' | 'nonlinear';
77
+ submissionMode: 'individual' | 'simultaneous';
78
+ connectedCallback(): Promise<void>;
79
+ render(): lit_html.TemplateResult<1>;
80
+ }
81
+ declare global {
82
+ interface HTMLElementTagNameMap {
83
+ 'qti-test-part': QtiTestPart;
84
+ }
85
+ }
86
+
87
+ declare class QtiTestFeedback extends QtiModalFeedback {
88
+ static styles: lit.CSSResult;
89
+ render(): lit_html.TemplateResult<1>;
90
+ }
91
+ declare global {
92
+ interface HTMLElementTagNameMap {
93
+ 'qti-test-feedback': QtiTestFeedback;
94
+ }
95
+ }
96
+
97
+ export { INITIAL_SESSION_CONTEXT as I, QtiAssessmentItemRef as Q, type SessionContext as S, QtiAssessmentSection as a, QtiAssessmentTest as b, QtiTestPart as c, QtiTestFeedback as d, sessionContext as s };
@@ -0,0 +1,97 @@
1
+ import { Q as QtiAssessmentItem, f as QtiModalFeedback } from './qti-response-declaration-PJkGU8F8.js';
2
+ import * as lit_html from 'lit-html';
3
+ import * as lit from 'lit';
4
+ import { LitElement } from 'lit';
5
+ import { TestContext } from './exports/test.context.js';
6
+
7
+ type View = 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor' | '';
8
+
9
+ interface SessionContext {
10
+ navPartId?: string | null;
11
+ navSectionId?: string | null;
12
+ navItemId?: string | null;
13
+ navItemLoading?: boolean;
14
+ navTestLoading?: boolean;
15
+ view?: View;
16
+ }
17
+ declare const INITIAL_SESSION_CONTEXT: Readonly<SessionContext>;
18
+ declare const sessionContext: {
19
+ __context__: Readonly<SessionContext>;
20
+ };
21
+
22
+ declare class QtiAssessmentItemRef extends LitElement {
23
+ category?: string;
24
+ identifier?: string;
25
+ required?: boolean;
26
+ fixed?: boolean;
27
+ href?: string;
28
+ _testContext?: TestContext;
29
+ weigths: Map<string, number>;
30
+ xmlDoc: DocumentFragment;
31
+ protected createRenderRoot(): HTMLElement | DocumentFragment;
32
+ get assessmentItem(): QtiAssessmentItem | null;
33
+ connectedCallback(): Promise<void>;
34
+ render(): lit_html.TemplateResult<1>;
35
+ }
36
+ declare global {
37
+ interface HTMLElementTagNameMap {
38
+ 'qti-assessment-item-ref': QtiAssessmentItemRef;
39
+ }
40
+ }
41
+
42
+ declare class QtiAssessmentSection extends LitElement {
43
+ identifier: string;
44
+ required: string;
45
+ fixed: boolean;
46
+ title: string;
47
+ visible: boolean;
48
+ keepTogether: boolean;
49
+ _testContext?: TestContext;
50
+ connectedCallback(): Promise<void>;
51
+ render(): lit_html.TemplateResult<1>;
52
+ }
53
+ declare global {
54
+ interface HTMLElementTagNameMap {
55
+ 'qti-assessment-section': QtiAssessmentSection;
56
+ }
57
+ }
58
+
59
+ declare class QtiAssessmentTest extends LitElement {
60
+ identifier: string;
61
+ title: string;
62
+ _testContext?: TestContext;
63
+ connectedCallback(): Promise<void>;
64
+ render(): lit_html.TemplateResult<1>;
65
+ }
66
+ declare global {
67
+ interface HTMLElementTagNameMap {
68
+ 'qti-assessment-test': QtiAssessmentTest;
69
+ }
70
+ }
71
+
72
+ declare class QtiTestPart extends LitElement {
73
+ identifier: string;
74
+ title: string;
75
+ class: string;
76
+ NavigationMode: 'linear' | 'nonlinear';
77
+ submissionMode: 'individual' | 'simultaneous';
78
+ connectedCallback(): Promise<void>;
79
+ render(): lit_html.TemplateResult<1>;
80
+ }
81
+ declare global {
82
+ interface HTMLElementTagNameMap {
83
+ 'qti-test-part': QtiTestPart;
84
+ }
85
+ }
86
+
87
+ declare class QtiTestFeedback extends QtiModalFeedback {
88
+ static styles: lit.CSSResult;
89
+ render(): lit_html.TemplateResult<1>;
90
+ }
91
+ declare global {
92
+ interface HTMLElementTagNameMap {
93
+ 'qti-test-feedback': QtiTestFeedback;
94
+ }
95
+ }
96
+
97
+ export { INITIAL_SESSION_CONTEXT as I, QtiAssessmentItemRef as Q, type SessionContext as S, QtiAssessmentSection as a, QtiAssessmentTest as b, QtiTestPart as c, QtiTestFeedback as d, sessionContext as s };
@@ -0,0 +1,96 @@
1
+ import { Q as QtiAssessmentItem, f as QtiModalFeedback } from './qti-response-declaration-PJkGU8F8.js';
2
+ import * as lit_html from 'lit-html';
3
+ import * as lit from 'lit';
4
+ import { LitElement } from 'lit';
5
+ import { TestContext } from './exports/test.context.js';
6
+
7
+ type View = 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor' | '';
8
+
9
+ interface SessionContext {
10
+ navPartId?: string | null;
11
+ navSectionId?: string | null;
12
+ navItemId?: string | null;
13
+ navItemLoading?: boolean;
14
+ navTestLoading?: boolean;
15
+ view?: View;
16
+ }
17
+ declare const sessionContext: {
18
+ __context__: Readonly<SessionContext>;
19
+ };
20
+
21
+ declare class QtiAssessmentItemRef extends LitElement {
22
+ category?: string;
23
+ identifier?: string;
24
+ required?: boolean;
25
+ fixed?: boolean;
26
+ href?: string;
27
+ _testContext?: TestContext;
28
+ weigths: Map<string, number>;
29
+ xmlDoc: DocumentFragment;
30
+ protected createRenderRoot(): HTMLElement | DocumentFragment;
31
+ get assessmentItem(): QtiAssessmentItem | null;
32
+ connectedCallback(): Promise<void>;
33
+ render(): lit_html.TemplateResult<1>;
34
+ }
35
+ declare global {
36
+ interface HTMLElementTagNameMap {
37
+ 'qti-assessment-item-ref': QtiAssessmentItemRef;
38
+ }
39
+ }
40
+
41
+ declare class QtiAssessmentSection extends LitElement {
42
+ identifier: string;
43
+ required: string;
44
+ fixed: boolean;
45
+ title: string;
46
+ visible: boolean;
47
+ keepTogether: boolean;
48
+ _testContext?: TestContext;
49
+ connectedCallback(): Promise<void>;
50
+ render(): lit_html.TemplateResult<1>;
51
+ }
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ 'qti-assessment-section': QtiAssessmentSection;
55
+ }
56
+ }
57
+
58
+ declare class QtiAssessmentTest extends LitElement {
59
+ identifier: string;
60
+ title: string;
61
+ _testContext?: TestContext;
62
+ connectedCallback(): Promise<void>;
63
+ render(): lit_html.TemplateResult<1>;
64
+ }
65
+ declare global {
66
+ interface HTMLElementTagNameMap {
67
+ 'qti-assessment-test': QtiAssessmentTest;
68
+ }
69
+ }
70
+
71
+ declare class QtiTestPart extends LitElement {
72
+ identifier: string;
73
+ title: string;
74
+ class: string;
75
+ NavigationMode: 'linear' | 'nonlinear';
76
+ submissionMode: 'individual' | 'simultaneous';
77
+ connectedCallback(): Promise<void>;
78
+ render(): lit_html.TemplateResult<1>;
79
+ }
80
+ declare global {
81
+ interface HTMLElementTagNameMap {
82
+ 'qti-test-part': QtiTestPart;
83
+ }
84
+ }
85
+
86
+ declare class QtiTestFeedback extends QtiModalFeedback {
87
+ static styles: lit.CSSResult;
88
+ render(): lit_html.TemplateResult<1>;
89
+ }
90
+ declare global {
91
+ interface HTMLElementTagNameMap {
92
+ 'qti-test-feedback': QtiTestFeedback;
93
+ }
94
+ }
95
+
96
+ export { QtiAssessmentItemRef as Q, type SessionContext as S, QtiAssessmentSection as a, QtiAssessmentTest as b, QtiTestPart as c, QtiTestFeedback as d, sessionContext as s };
@@ -0,0 +1,85 @@
1
+ import { Q as QtiAssessmentItem } from './qti-response-declaration-5PnLgbOQ.js';
2
+ import * as lit_html from 'lit-html';
3
+ import { LitElement } from 'lit';
4
+ import { TestContext } from './exports/test.context.js';
5
+
6
+ type View = 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor' | '';
7
+
8
+ interface SessionContext {
9
+ navPartId?: string | null;
10
+ navSectionId?: string | null;
11
+ navItemId?: string | null;
12
+ navItemLoading?: boolean;
13
+ navTestLoading?: boolean;
14
+ view?: View;
15
+ }
16
+ declare const sessionContext: {
17
+ __context__: Readonly<SessionContext>;
18
+ };
19
+
20
+ declare class QtiAssessmentItemRef extends LitElement {
21
+ category?: string;
22
+ identifier?: string;
23
+ required?: boolean;
24
+ fixed?: boolean;
25
+ href?: string;
26
+ _testContext?: TestContext;
27
+ weigths: Map<string, number>;
28
+ xmlDoc: DocumentFragment;
29
+ protected createRenderRoot(): HTMLElement | DocumentFragment;
30
+ get assessmentItem(): QtiAssessmentItem | null;
31
+ connectedCallback(): Promise<void>;
32
+ render(): lit_html.TemplateResult<1>;
33
+ }
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'qti-assessment-item-ref': QtiAssessmentItemRef;
37
+ }
38
+ }
39
+
40
+ declare class QtiAssessmentSection extends LitElement {
41
+ identifier: string;
42
+ required: string;
43
+ fixed: boolean;
44
+ title: string;
45
+ visible: boolean;
46
+ keepTogether: boolean;
47
+ _testContext?: TestContext;
48
+ connectedCallback(): Promise<void>;
49
+ render(): lit_html.TemplateResult<1>;
50
+ }
51
+ declare global {
52
+ interface HTMLElementTagNameMap {
53
+ 'qti-assessment-section': QtiAssessmentSection;
54
+ }
55
+ }
56
+
57
+ declare class QtiAssessmentTest extends LitElement {
58
+ identifier: string;
59
+ title: string;
60
+ _testContext?: TestContext;
61
+ connectedCallback(): Promise<void>;
62
+ render(): lit_html.TemplateResult<1>;
63
+ }
64
+ declare global {
65
+ interface HTMLElementTagNameMap {
66
+ 'qti-assessment-test': QtiAssessmentTest;
67
+ }
68
+ }
69
+
70
+ declare class QtiTestPart extends LitElement {
71
+ identifier: string;
72
+ title: string;
73
+ class: string;
74
+ NavigationMode: 'linear' | 'nonlinear';
75
+ submissionMode: 'individual' | 'simultaneous';
76
+ connectedCallback(): Promise<void>;
77
+ render(): lit_html.TemplateResult<1>;
78
+ }
79
+ declare global {
80
+ interface HTMLElementTagNameMap {
81
+ 'qti-test-part': QtiTestPart;
82
+ }
83
+ }
84
+
85
+ export { QtiAssessmentItemRef as Q, type SessionContext as S, QtiAssessmentSection as a, QtiAssessmentTest as b, QtiTestPart as c, sessionContext as s };
@@ -0,0 +1,85 @@
1
+ import { Q as QtiAssessmentItem } from './qti-response-declaration-PJkGU8F8.js';
2
+ import * as lit_html from 'lit-html';
3
+ import { LitElement } from 'lit';
4
+ import { TestContext } from './exports/test.context.js';
5
+
6
+ type View = 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor' | '';
7
+
8
+ interface SessionContext {
9
+ navPartId?: string | null;
10
+ navSectionId?: string | null;
11
+ navItemId?: string | null;
12
+ navItemLoading?: boolean;
13
+ navTestLoading?: boolean;
14
+ view?: View;
15
+ }
16
+ declare const sessionContext: {
17
+ __context__: Readonly<SessionContext>;
18
+ };
19
+
20
+ declare class QtiAssessmentItemRef extends LitElement {
21
+ category?: string;
22
+ identifier?: string;
23
+ required?: boolean;
24
+ fixed?: boolean;
25
+ href?: string;
26
+ _testContext?: TestContext;
27
+ weigths: Map<string, number>;
28
+ xmlDoc: DocumentFragment;
29
+ protected createRenderRoot(): HTMLElement | DocumentFragment;
30
+ get assessmentItem(): QtiAssessmentItem | null;
31
+ connectedCallback(): Promise<void>;
32
+ render(): lit_html.TemplateResult<1>;
33
+ }
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'qti-assessment-item-ref': QtiAssessmentItemRef;
37
+ }
38
+ }
39
+
40
+ declare class QtiAssessmentSection extends LitElement {
41
+ identifier: string;
42
+ required: string;
43
+ fixed: boolean;
44
+ title: string;
45
+ visible: boolean;
46
+ keepTogether: boolean;
47
+ _testContext?: TestContext;
48
+ connectedCallback(): Promise<void>;
49
+ render(): lit_html.TemplateResult<1>;
50
+ }
51
+ declare global {
52
+ interface HTMLElementTagNameMap {
53
+ 'qti-assessment-section': QtiAssessmentSection;
54
+ }
55
+ }
56
+
57
+ declare class QtiAssessmentTest extends LitElement {
58
+ identifier: string;
59
+ title: string;
60
+ _testContext?: TestContext;
61
+ connectedCallback(): Promise<void>;
62
+ render(): lit_html.TemplateResult<1>;
63
+ }
64
+ declare global {
65
+ interface HTMLElementTagNameMap {
66
+ 'qti-assessment-test': QtiAssessmentTest;
67
+ }
68
+ }
69
+
70
+ declare class QtiTestPart extends LitElement {
71
+ identifier: string;
72
+ title: string;
73
+ class: string;
74
+ NavigationMode: 'linear' | 'nonlinear';
75
+ submissionMode: 'individual' | 'simultaneous';
76
+ connectedCallback(): Promise<void>;
77
+ render(): lit_html.TemplateResult<1>;
78
+ }
79
+ declare global {
80
+ interface HTMLElementTagNameMap {
81
+ 'qti-test-part': QtiTestPart;
82
+ }
83
+ }
84
+
85
+ export { QtiAssessmentItemRef as Q, type SessionContext as S, QtiAssessmentSection as a, QtiAssessmentTest as b, QtiTestPart as c, sessionContext as s };
@@ -842,6 +842,16 @@
842
842
  ],
843
843
  "references": []
844
844
  },
845
+ {
846
+ "name": "qti-test-feedback",
847
+ "description": "\n---\n\n\n### **Events:**\n - **qti-register-feedback**",
848
+ "attributes": [
849
+ { "name": "show-hide", "values": [] },
850
+ { "name": "outcome-identifier", "values": [] },
851
+ { "name": "identifier", "values": [] }
852
+ ],
853
+ "references": []
854
+ },
845
855
  {
846
856
  "name": "qti-test",
847
857
  "description": "`<qti-test>` is a custom element designed for rendering and interacting with QTI (Question and Test Interoperability) tests.\n\nThis component leverages several mixins to provide functionality for loading, navigating, processing, and displaying QTI test assessments.\n\n### Example Usage\n\nMinimal example including navigation:\n\n```html\n<qti-test>\n <test-navigation>\n <test-container test-url=\"./path/to/assessment.xml\"></test-container>\n <nav class=\"flex\">\n <test-prev></test-prev>\n <test-next></test-next>\n </nav>\n </test-navigation>\n</qti-test>\n```\n\nUse the following file structure\nA qti-test loads a QTI3.0 assessmenttest.xml file from a package folder.\n\n```plaintext\nRoot/\n├── index.html\n└── /assets/api/examples/\n ├── assessmenttest.xml\n └── imsmanifest.xml\n\n```\n\n### Test components\n\nUse test components inside the qti-test component for added functionality.\n### Test next\n`<test-next> | TestNext`\n\n### Test prev\n\n`<test-prev> | TestPrev`\n### Test components\n\nYou can use normal class names to style the elements.\nAnd you can use the `test-prev` and `test-next` elements to navigate through the test.\n---\n\n\n### **Events:**\n - **qti-test-connected**",
@@ -942,12 +952,7 @@
942
952
  {
943
953
  "name": "test-print-item-variables",
944
954
  "description": "\n---\n",
945
- "attributes": [
946
- {
947
- "name": "mode",
948
- "values": [{ "name": "summed" }, { "name": "complete" }]
949
- }
950
- ],
955
+ "attributes": [],
951
956
  "references": []
952
957
  },
953
958
  {
@@ -962,6 +967,12 @@
962
967
  "attributes": [{ "name": "section-id", "values": [] }],
963
968
  "references": []
964
969
  },
970
+ {
971
+ "name": "test-print-context",
972
+ "description": "\n---\n",
973
+ "attributes": [],
974
+ "references": []
975
+ },
965
976
  {
966
977
  "name": "qti-test-variables",
967
978
  "description": "\n---\n",
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20.0.0"
23
23
  },
24
- "version": "7.1.0",
24
+ "version": "7.1.2",
25
25
  "type": "module",
26
26
  "main": "dist/index.js",
27
27
  "exports": {