@citolab/qti-components 7.3.22 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/cdn/index.global.js +1 -1
  2. package/cdn/index.js +5485 -1
  3. package/custom-elements.json +29837 -0
  4. package/dist/chunks/chunk-6K4ROGDD.js +364 -0
  5. package/dist/chunks/chunk-6K4ROGDD.js.map +1 -0
  6. package/dist/chunks/chunk-GUDRSXIP.js +189 -0
  7. package/dist/chunks/chunk-GUDRSXIP.js.map +1 -0
  8. package/dist/chunks/{chunk-WFUXZ4UT.js → chunk-JDY5GL7E.js} +13 -1
  9. package/dist/chunks/{chunk-WFUXZ4UT.js.map → chunk-JDY5GL7E.js.map} +1 -1
  10. package/dist/chunks/{chunk-LF6SO3JU.js → chunk-LN74Z5QM.js} +653 -450
  11. package/dist/chunks/chunk-LN74Z5QM.js.map +1 -0
  12. package/dist/chunks/{chunk-ELDMXTUQ.js → chunk-O5N4DCU6.js} +7 -2
  13. package/dist/chunks/chunk-O5N4DCU6.js.map +1 -0
  14. package/dist/chunks/chunk-TJ6ZOT7A.js +2235 -0
  15. package/dist/chunks/chunk-TJ6ZOT7A.js.map +1 -0
  16. package/dist/computed-item.context-DpK-sS0T.d.ts +19 -0
  17. package/dist/{exports/config.context.d.ts → config.context-CmQ9L62n.d.ts} +1 -4
  18. package/dist/custom-elements.json +29837 -0
  19. package/dist/index.d.ts +8 -39
  20. package/dist/index.js +34 -104
  21. package/{cdn/chunks/chunk-5TDBMEY5.js → dist/item.css} +7 -24
  22. package/dist/qti-assessment-item-D77dJ1Ot.d.ts +104 -0
  23. package/dist/qti-components/index.d.ts +1238 -19
  24. package/dist/qti-components/index.js +6 -14
  25. package/dist/qti-components-jsx.d.ts +4463 -0
  26. package/dist/qti-item/index.d.ts +113 -0
  27. package/dist/qti-item/index.js +16 -0
  28. package/dist/qti-loader/index.d.ts +2 -6
  29. package/dist/qti-loader/index.js +24 -5
  30. package/dist/qti-loader/index.js.map +1 -1
  31. package/dist/qti-test/index.d.ts +593 -0
  32. package/dist/qti-test/index.js +62 -0
  33. package/dist/qti-transformers/index.d.ts +38 -2
  34. package/dist/qti-transformers/index.js +1 -2
  35. package/dist/test.context-L609DNAz.d.ts +58 -0
  36. package/dist/variables-Vgyr6yyW.d.ts +58 -0
  37. package/dist/vscode.css-custom-data.json +11 -0
  38. package/dist/vscode.html-custom-data.json +1135 -0
  39. package/package.json +74 -113
  40. package/cdn/chunks/chunk-2BSPQRNR.js +0 -6
  41. package/cdn/chunks/chunk-3CVBBZDT.js +0 -17
  42. package/cdn/chunks/chunk-3IBGLVHA.js +0 -1
  43. package/cdn/chunks/chunk-3YQMAZEO.js +0 -29
  44. package/cdn/chunks/chunk-5UQLGV7F.js +0 -5
  45. package/cdn/chunks/chunk-5WLHU3FH.js +0 -8
  46. package/cdn/chunks/chunk-6SGFGN34.js +0 -8
  47. package/cdn/chunks/chunk-6XVY32RS.js +0 -1
  48. package/cdn/chunks/chunk-7ME56ODO.js +0 -1
  49. package/cdn/chunks/chunk-CZDMOYYF.js +0 -1
  50. package/cdn/chunks/chunk-DNBBQ7LY.js +0 -1
  51. package/cdn/chunks/chunk-DP5FVJRS.js +0 -21
  52. package/cdn/chunks/chunk-E6IOJ4MV.js +0 -23
  53. package/cdn/chunks/chunk-G76Y52EL.js +0 -1471
  54. package/cdn/chunks/chunk-HCXHHI6V.js +0 -18
  55. package/cdn/chunks/chunk-HDMF4QZO.js +0 -48
  56. package/cdn/chunks/chunk-HKWYQB5Z.js +0 -37
  57. package/cdn/chunks/chunk-J5P2GBPV.js +0 -1
  58. package/cdn/chunks/chunk-KWPDTFYH.js +0 -1
  59. package/cdn/chunks/chunk-LIUOA3YV.js +0 -1
  60. package/cdn/chunks/chunk-LO2NM3CE.js +0 -1
  61. package/cdn/chunks/chunk-MD33BNWM.js +0 -1
  62. package/cdn/chunks/chunk-MRQ46JRY.js +0 -8
  63. package/cdn/chunks/chunk-NJP4VZB3.js +0 -8
  64. package/cdn/chunks/chunk-O4RAJ3LM.js +0 -25
  65. package/cdn/chunks/chunk-OSLUHYFD.js +0 -8
  66. package/cdn/chunks/chunk-P6SSTAJ2.js +0 -1
  67. package/cdn/chunks/chunk-PP62N3C4.js +0 -8
  68. package/cdn/chunks/chunk-PU7OABT3.js +0 -1
  69. package/cdn/chunks/chunk-PUI3LIFH.js +0 -0
  70. package/cdn/chunks/chunk-QBAXWCYQ.js +0 -5
  71. package/cdn/chunks/chunk-QEFO63QX.js +0 -8
  72. package/cdn/chunks/chunk-QQCGUVEV.js +0 -1
  73. package/cdn/chunks/chunk-QQR6POPY.js +0 -1
  74. package/cdn/chunks/chunk-RGNFAPWY.js +0 -2
  75. package/cdn/chunks/chunk-S5QDLZ6J.js +0 -1
  76. package/cdn/chunks/chunk-SEM2PEP6.js +0 -5
  77. package/cdn/chunks/chunk-SVVO2SFS.js +0 -1
  78. package/cdn/chunks/chunk-TCHROQU3.js +0 -1
  79. package/cdn/chunks/chunk-UMDZKG6K.js +0 -1
  80. package/cdn/chunks/chunk-VEG7LKS3.js +0 -48
  81. package/cdn/chunks/chunk-WCCTDLQ4.js +0 -8
  82. package/cdn/chunks/chunk-X4FA36TC.js +0 -1
  83. package/cdn/chunks/chunk-XJ2CFTZP.js +0 -1
  84. package/cdn/chunks/chunk-XUJ7TXHW.js +0 -1
  85. package/cdn/chunks/chunk-YCBNF5QU.js +0 -17
  86. package/cdn/chunks/chunk-YHLQ2JQ2.js +0 -1
  87. package/cdn/chunks/chunk-ZPCQH3EY.js +0 -10
  88. package/cdn/exports/computed-item.context.js +0 -1
  89. package/cdn/exports/computed.context.js +0 -1
  90. package/cdn/exports/config.context.js +0 -1
  91. package/cdn/exports/expression-result.js +0 -0
  92. package/cdn/exports/interaction.interface.js +0 -0
  93. package/cdn/exports/interaction.js +0 -1
  94. package/cdn/exports/item.context.js +0 -1
  95. package/cdn/exports/qti-assessment-item.context.js +0 -1
  96. package/cdn/exports/qti-condition-expression.js +0 -1
  97. package/cdn/exports/qti-expression.js +0 -1
  98. package/cdn/exports/qti-test.js +0 -0
  99. package/cdn/exports/qti.context.js +0 -1
  100. package/cdn/exports/session.context.js +0 -1
  101. package/cdn/exports/test.context.js +0 -1
  102. package/cdn/exports/variables.js +0 -0
  103. package/cdn/qti-components/index.js +0 -1
  104. package/cdn/qti-item/components/item-container.js +0 -1
  105. package/cdn/qti-item/components/item-correct-response-mode.js +0 -10
  106. package/cdn/qti-item/components/item-show-candidate-correction.js +0 -8
  107. package/cdn/qti-item/components/item-show-correct-response.js +0 -1
  108. package/cdn/qti-item/components/print-item-variables.js +0 -1
  109. package/cdn/qti-item/components/styles.js +0 -1
  110. package/cdn/qti-item/core/index.js +0 -1
  111. package/cdn/qti-loader/index.js +0 -1
  112. package/cdn/qti-test/components/index.js +0 -1
  113. package/cdn/qti-test/components/styles.js +0 -1
  114. package/cdn/qti-test/components/test-check-item.js +0 -1
  115. package/cdn/qti-test/components/test-container.js +0 -1
  116. package/cdn/qti-test/components/test-end-attempt.js +0 -1
  117. package/cdn/qti-test/components/test-item-link.js +0 -1
  118. package/cdn/qti-test/components/test-navigation.js +0 -1
  119. package/cdn/qti-test/components/test-next.js +0 -1
  120. package/cdn/qti-test/components/test-paging-buttons-stamp.js +0 -1
  121. package/cdn/qti-test/components/test-prev.js +0 -1
  122. package/cdn/qti-test/components/test-print-context.js +0 -1
  123. package/cdn/qti-test/components/test-print-item-variables.js +0 -1
  124. package/cdn/qti-test/components/test-scoring-buttons.js +0 -1
  125. package/cdn/qti-test/components/test-scoring-feedback.js +0 -1
  126. package/cdn/qti-test/components/test-section-buttons-stamp.js +0 -1
  127. package/cdn/qti-test/components/test-section-link.js +0 -1
  128. package/cdn/qti-test/components/test-show-correct-response.js +0 -1
  129. package/cdn/qti-test/components/test-stamp.js +0 -1
  130. package/cdn/qti-test/components/test-view-toggle.js +0 -1
  131. package/cdn/qti-test/components/test-view.js +0 -1
  132. package/cdn/qti-test/core/index.js +0 -1
  133. package/cdn/qti-transformers/index.js +0 -1
  134. package/dist/chunks/chunk-22IRJWWY.js +0 -10
  135. package/dist/chunks/chunk-22IRJWWY.js.map +0 -1
  136. package/dist/chunks/chunk-36G5MQKR.js +0 -85
  137. package/dist/chunks/chunk-36G5MQKR.js.map +0 -1
  138. package/dist/chunks/chunk-4OGJBG35.js +0 -8
  139. package/dist/chunks/chunk-4OGJBG35.js.map +0 -1
  140. package/dist/chunks/chunk-5KCXO2RP.js +0 -36
  141. package/dist/chunks/chunk-5KCXO2RP.js.map +0 -1
  142. package/dist/chunks/chunk-5ZHHNEDA.js +0 -30
  143. package/dist/chunks/chunk-5ZHHNEDA.js.map +0 -1
  144. package/dist/chunks/chunk-7K44TDQO.js +0 -91
  145. package/dist/chunks/chunk-7K44TDQO.js.map +0 -1
  146. package/dist/chunks/chunk-7OMJMXHK.js +0 -50
  147. package/dist/chunks/chunk-7OMJMXHK.js.map +0 -1
  148. package/dist/chunks/chunk-AZIKAG7K.js +0 -8
  149. package/dist/chunks/chunk-AZIKAG7K.js.map +0 -1
  150. package/dist/chunks/chunk-BLBSZDQ4.js +0 -52
  151. package/dist/chunks/chunk-BLBSZDQ4.js.map +0 -1
  152. package/dist/chunks/chunk-CJADUWEC.js +0 -10
  153. package/dist/chunks/chunk-CJADUWEC.js.map +0 -1
  154. package/dist/chunks/chunk-CP34TICQ.js +0 -45
  155. package/dist/chunks/chunk-CP34TICQ.js.map +0 -1
  156. package/dist/chunks/chunk-CTESMSQO.js +0 -56
  157. package/dist/chunks/chunk-CTESMSQO.js.map +0 -1
  158. package/dist/chunks/chunk-DZAMXOSC.js +0 -30
  159. package/dist/chunks/chunk-DZAMXOSC.js.map +0 -1
  160. package/dist/chunks/chunk-E6V3JHVT.js +0 -31
  161. package/dist/chunks/chunk-E6V3JHVT.js.map +0 -1
  162. package/dist/chunks/chunk-EJZQSOHU.js +0 -85
  163. package/dist/chunks/chunk-EJZQSOHU.js.map +0 -1
  164. package/dist/chunks/chunk-ELDMXTUQ.js.map +0 -1
  165. package/dist/chunks/chunk-EMVOKXSA.js +0 -84
  166. package/dist/chunks/chunk-EMVOKXSA.js.map +0 -1
  167. package/dist/chunks/chunk-ERYHQVOT.js +0 -8
  168. package/dist/chunks/chunk-ERYHQVOT.js.map +0 -1
  169. package/dist/chunks/chunk-ETLOKJAG.js +0 -94
  170. package/dist/chunks/chunk-ETLOKJAG.js.map +0 -1
  171. package/dist/chunks/chunk-FL72PF4D.js +0 -19
  172. package/dist/chunks/chunk-FL72PF4D.js.map +0 -1
  173. package/dist/chunks/chunk-GAHXUFMQ.js +0 -93
  174. package/dist/chunks/chunk-GAHXUFMQ.js.map +0 -1
  175. package/dist/chunks/chunk-H2JE6IVU.js +0 -15
  176. package/dist/chunks/chunk-H2JE6IVU.js.map +0 -1
  177. package/dist/chunks/chunk-H6KHXSIO.js +0 -8
  178. package/dist/chunks/chunk-H6KHXSIO.js.map +0 -1
  179. package/dist/chunks/chunk-HFAUM56X.js +0 -208
  180. package/dist/chunks/chunk-HFAUM56X.js.map +0 -1
  181. package/dist/chunks/chunk-JQ6HWGRY.js +0 -22
  182. package/dist/chunks/chunk-JQ6HWGRY.js.map +0 -1
  183. package/dist/chunks/chunk-KG5Z2CKO.js +0 -86
  184. package/dist/chunks/chunk-KG5Z2CKO.js.map +0 -1
  185. package/dist/chunks/chunk-KSXNC564.js +0 -43
  186. package/dist/chunks/chunk-KSXNC564.js.map +0 -1
  187. package/dist/chunks/chunk-LF6SO3JU.js.map +0 -1
  188. package/dist/chunks/chunk-NJNQOQUU.js +0 -8
  189. package/dist/chunks/chunk-NJNQOQUU.js.map +0 -1
  190. package/dist/chunks/chunk-ODHS7HDB.js +0 -94
  191. package/dist/chunks/chunk-ODHS7HDB.js.map +0 -1
  192. package/dist/chunks/chunk-QCB6P7DH.js +0 -146
  193. package/dist/chunks/chunk-QCB6P7DH.js.map +0 -1
  194. package/dist/chunks/chunk-QU7KR7VX.js +0 -367
  195. package/dist/chunks/chunk-QU7KR7VX.js.map +0 -1
  196. package/dist/chunks/chunk-TU6COU44.js +0 -82
  197. package/dist/chunks/chunk-TU6COU44.js.map +0 -1
  198. package/dist/chunks/chunk-TUKEQ36K.js +0 -60
  199. package/dist/chunks/chunk-TUKEQ36K.js.map +0 -1
  200. package/dist/chunks/chunk-TWYN56XO.js +0 -92
  201. package/dist/chunks/chunk-TWYN56XO.js.map +0 -1
  202. package/dist/chunks/chunk-UHQVQBCL.js +0 -89
  203. package/dist/chunks/chunk-UHQVQBCL.js.map +0 -1
  204. package/dist/chunks/chunk-WFFIUFJJ.js +0 -28
  205. package/dist/chunks/chunk-WFFIUFJJ.js.map +0 -1
  206. package/dist/chunks/chunk-WN6TJQI2.js +0 -103
  207. package/dist/chunks/chunk-WN6TJQI2.js.map +0 -1
  208. package/dist/chunks/chunk-WPEFNKMC.js +0 -923
  209. package/dist/chunks/chunk-WPEFNKMC.js.map +0 -1
  210. package/dist/chunks/chunk-YPMZLHGG.js +0 -52
  211. package/dist/chunks/chunk-YPMZLHGG.js.map +0 -1
  212. package/dist/chunks/chunk-YWEWSQJR.js +0 -40
  213. package/dist/chunks/chunk-YWEWSQJR.js.map +0 -1
  214. package/dist/chunks/chunk-ZGSNDSK3.js +0 -1
  215. package/dist/chunks/chunk-ZGSNDSK3.js.map +0 -1
  216. package/dist/exports/computed-item.context.d.ts +0 -29
  217. package/dist/exports/computed-item.context.js +0 -8
  218. package/dist/exports/computed-item.context.js.map +0 -1
  219. package/dist/exports/computed.context.d.ts +0 -42
  220. package/dist/exports/computed.context.js +0 -8
  221. package/dist/exports/computed.context.js.map +0 -1
  222. package/dist/exports/config.context.js +0 -8
  223. package/dist/exports/config.context.js.map +0 -1
  224. package/dist/exports/expression-result.d.ts +0 -19
  225. package/dist/exports/expression-result.js +0 -1
  226. package/dist/exports/expression-result.js.map +0 -1
  227. package/dist/exports/interaction.d.ts +0 -8
  228. package/dist/exports/interaction.interface.d.ts +0 -13
  229. package/dist/exports/interaction.interface.js +0 -1
  230. package/dist/exports/interaction.interface.js.map +0 -1
  231. package/dist/exports/interaction.js +0 -12
  232. package/dist/exports/interaction.js.map +0 -1
  233. package/dist/exports/item.context.d.ts +0 -8
  234. package/dist/exports/item.context.js +0 -8
  235. package/dist/exports/item.context.js.map +0 -1
  236. package/dist/exports/qti-assessment-item.context.d.ts +0 -14
  237. package/dist/exports/qti-assessment-item.context.js +0 -8
  238. package/dist/exports/qti-assessment-item.context.js.map +0 -1
  239. package/dist/exports/qti-condition-expression.d.ts +0 -15
  240. package/dist/exports/qti-condition-expression.js +0 -11
  241. package/dist/exports/qti-condition-expression.js.map +0 -1
  242. package/dist/exports/qti-expression.d.ts +0 -8
  243. package/dist/exports/qti-expression.js +0 -10
  244. package/dist/exports/qti-expression.js.map +0 -1
  245. package/dist/exports/qti-test.d.ts +0 -40
  246. package/dist/exports/qti-test.js +0 -1
  247. package/dist/exports/qti-test.js.map +0 -1
  248. package/dist/exports/qti.context.d.ts +0 -14
  249. package/dist/exports/qti.context.js +0 -8
  250. package/dist/exports/qti.context.js.map +0 -1
  251. package/dist/exports/session.context.d.ts +0 -26
  252. package/dist/exports/session.context.js +0 -10
  253. package/dist/exports/session.context.js.map +0 -1
  254. package/dist/exports/test.context.d.ts +0 -21
  255. package/dist/exports/test.context.js +0 -10
  256. package/dist/exports/test.context.js.map +0 -1
  257. package/dist/exports/variables.d.ts +0 -8
  258. package/dist/exports/variables.js +0 -1
  259. package/dist/exports/variables.js.map +0 -1
  260. package/dist/qti-item/components/item-container.d.ts +0 -40
  261. package/dist/qti-item/components/item-container.js +0 -11
  262. package/dist/qti-item/components/item-container.js.map +0 -1
  263. package/dist/qti-item/components/item-correct-response-mode.d.ts +0 -17
  264. package/dist/qti-item/components/item-correct-response-mode.js +0 -62
  265. package/dist/qti-item/components/item-correct-response-mode.js.map +0 -1
  266. package/dist/qti-item/components/item-show-candidate-correction.d.ts +0 -34
  267. package/dist/qti-item/components/item-show-candidate-correction.js +0 -88
  268. package/dist/qti-item/components/item-show-candidate-correction.js.map +0 -1
  269. package/dist/qti-item/components/item-show-correct-response.d.ts +0 -33
  270. package/dist/qti-item/components/item-show-correct-response.js +0 -10
  271. package/dist/qti-item/components/item-show-correct-response.js.map +0 -1
  272. package/dist/qti-item/components/print-item-variables.d.ts +0 -23
  273. package/dist/qti-item/components/print-item-variables.js +0 -9
  274. package/dist/qti-item/components/print-item-variables.js.map +0 -1
  275. package/dist/qti-item/components/styles.d.ts +0 -8
  276. package/dist/qti-item/components/styles.js +0 -14
  277. package/dist/qti-item/components/styles.js.map +0 -1
  278. package/dist/qti-item/core/index.d.ts +0 -51
  279. package/dist/qti-item/core/index.js +0 -26
  280. package/dist/qti-response-declaration-DKr08ANy.d.ts +0 -1397
  281. package/dist/qti-test/components/index.d.ts +0 -33
  282. package/dist/qti-test/components/index.js +0 -87
  283. package/dist/qti-test/components/styles.d.ts +0 -8
  284. package/dist/qti-test/components/styles.js +0 -14
  285. package/dist/qti-test/components/styles.js.map +0 -1
  286. package/dist/qti-test/components/test-check-item.d.ts +0 -16
  287. package/dist/qti-test/components/test-check-item.js +0 -9
  288. package/dist/qti-test/components/test-check-item.js.map +0 -1
  289. package/dist/qti-test/components/test-container.d.ts +0 -39
  290. package/dist/qti-test/components/test-container.js +0 -11
  291. package/dist/qti-test/components/test-container.js.map +0 -1
  292. package/dist/qti-test/components/test-end-attempt.d.ts +0 -16
  293. package/dist/qti-test/components/test-end-attempt.js +0 -9
  294. package/dist/qti-test/components/test-end-attempt.js.map +0 -1
  295. package/dist/qti-test/components/test-item-link.d.ts +0 -18
  296. package/dist/qti-test/components/test-item-link.js +0 -9
  297. package/dist/qti-test/components/test-item-link.js.map +0 -1
  298. package/dist/qti-test/components/test-navigation.d.ts +0 -73
  299. package/dist/qti-test/components/test-navigation.js +0 -13
  300. package/dist/qti-test/components/test-navigation.js.map +0 -1
  301. package/dist/qti-test/components/test-next.d.ts +0 -48
  302. package/dist/qti-test/components/test-next.js +0 -12
  303. package/dist/qti-test/components/test-next.js.map +0 -1
  304. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +0 -23
  305. package/dist/qti-test/components/test-paging-buttons-stamp.js +0 -9
  306. package/dist/qti-test/components/test-paging-buttons-stamp.js.map +0 -1
  307. package/dist/qti-test/components/test-prev.d.ts +0 -46
  308. package/dist/qti-test/components/test-prev.js +0 -12
  309. package/dist/qti-test/components/test-prev.js.map +0 -1
  310. package/dist/qti-test/components/test-print-context.d.ts +0 -25
  311. package/dist/qti-test/components/test-print-context.js +0 -9
  312. package/dist/qti-test/components/test-print-context.js.map +0 -1
  313. package/dist/qti-test/components/test-print-item-variables.d.ts +0 -27
  314. package/dist/qti-test/components/test-print-item-variables.js +0 -9
  315. package/dist/qti-test/components/test-print-item-variables.js.map +0 -1
  316. package/dist/qti-test/components/test-scoring-buttons.d.ts +0 -32
  317. package/dist/qti-test/components/test-scoring-buttons.js +0 -9
  318. package/dist/qti-test/components/test-scoring-buttons.js.map +0 -1
  319. package/dist/qti-test/components/test-scoring-feedback.d.ts +0 -27
  320. package/dist/qti-test/components/test-scoring-feedback.js +0 -9
  321. package/dist/qti-test/components/test-scoring-feedback.js.map +0 -1
  322. package/dist/qti-test/components/test-section-buttons-stamp.d.ts +0 -23
  323. package/dist/qti-test/components/test-section-buttons-stamp.js +0 -9
  324. package/dist/qti-test/components/test-section-buttons-stamp.js.map +0 -1
  325. package/dist/qti-test/components/test-section-link.d.ts +0 -18
  326. package/dist/qti-test/components/test-section-link.js +0 -9
  327. package/dist/qti-test/components/test-section-link.js.map +0 -1
  328. package/dist/qti-test/components/test-show-correct-response.d.ts +0 -39
  329. package/dist/qti-test/components/test-show-correct-response.js +0 -10
  330. package/dist/qti-test/components/test-show-correct-response.js.map +0 -1
  331. package/dist/qti-test/components/test-stamp.d.ts +0 -31
  332. package/dist/qti-test/components/test-stamp.js +0 -9
  333. package/dist/qti-test/components/test-stamp.js.map +0 -1
  334. package/dist/qti-test/components/test-view-toggle.d.ts +0 -19
  335. package/dist/qti-test/components/test-view-toggle.js +0 -9
  336. package/dist/qti-test/components/test-view-toggle.js.map +0 -1
  337. package/dist/qti-test/components/test-view.d.ts +0 -24
  338. package/dist/qti-test/components/test-view.js +0 -10
  339. package/dist/qti-test/components/test-view.js.map +0 -1
  340. package/dist/qti-test/core/index.d.ts +0 -105
  341. package/dist/qti-test/core/index.js +0 -36
  342. package/dist/qti-test/core/index.js.map +0 -1
  343. package/dist/qti-test-feedback-CZsbp6z4.d.ts +0 -91
  344. package/dist/qti-transform-item-C9WtMeDR.d.ts +0 -39
  345. /package/dist/qti-item/{core/index.js.map → index.js.map} +0 -0
  346. /package/dist/qti-test/{components/index.js.map → index.js.map} +0 -0
@@ -1,15 +1,428 @@
1
- import { a8 as ChoicesInterface, a9 as Interaction, Y as QtiRule, Z as QtiRuleBase, aa as QtiExpressionBase, a4 as QtiExpression, a3 as ItemContext, ab as ResponseVariable, a5 as VariableDeclaration } from '../qti-response-declaration-DKr08ANy.js';
2
- export { O as Orientation, U as QtiAreaMapEntry, T as QtiAreaMapping, Q as QtiAssessmentItem, a as QtiAssessmentStimulusRef, g as QtiAssociableHotspot, h as QtiAssociateInteraction, i as QtiChoiceInteraction, b as QtiCompanionMaterialsInfo, _ as QtiContentBody, j as QtiCustomInteraction, c as QtiCustomOperator, k as QtiEndAttemptInteraction, l as QtiExtendedTextInteraction, d as QtiFeedbackBlock, e as QtiFeedbackInline, p as QtiGap, m as QtiGapImg, n as QtiGapMatchInteraction, o as QtiGapText, q as QtiGraphicAssociateInteraction, r as QtiGraphicGapMatchInteraction, s as QtiGraphicOrderInteraction, t as QtiHotspotChoice, u as QtiHotspotInteraction, v as QtiHottext, x as QtiInlineChoice, w as QtiInlineChoiceInteraction, J as QtiItemBody, P as QtiLookupOutcomeValue, S as QtiMapEntry, R as QtiMapping, y as QtiMatchInteraction, z as QtiMediaInteraction, f as QtiModalFeedback, A as QtiOrderInteraction, a1 as QtiOutcomeDeclaration, K as QtiOutcomeProcessing, L as QtiOutcomeProcessingProcessor, B as QtiPortableCustomInteraction, C as QtiPositionObjectStage, M as QtiPrompt, a2 as QtiResponseDeclaration, N as QtiResponseProcessing, $ as QtiRubricBlock, D as QtiSelectPointInteraction, E as QtiSimpleAssociableChoice, F as QtiSimpleChoice, G as QtiSliderInteraction, a0 as QtiStylesheet, W as QtiSubtract, H as QtiTextEntryInteraction, I as QtiUploadInteraction, V as areaShape, X as qtiSubtractMixin } from '../qti-response-declaration-DKr08ANy.js';
3
- import * as lit_html from 'lit-html';
1
+ export { Q as QtiAssessmentItem } from '../qti-assessment-item-D77dJ1Ot.js';
4
2
  import * as lit from 'lit';
5
- import { PropertyValues, LitElement, nothing } from 'lit';
6
- import { QtiConditionExpression } from '../exports/qti-condition-expression.js';
7
- import { BaseType } from '../exports/expression-result.js';
8
- import { TestContext } from '../exports/test.context.js';
9
- import '../exports/interaction.interface.js';
10
- import '../exports/config.context.js';
11
- import 'lit-html/directives/ref.js';
12
- import '../exports/qti.context.js';
3
+ import { LitElement, CSSResultGroup, PropertyValues, PropertyValueMap, nothing } from 'lit';
4
+ import * as lit_html from 'lit-html';
5
+ import { C as Calculate, f as ResponseVariable, g as Cardinality, B as BaseType, V as VariableDeclaration } from '../variables-Vgyr6yyW.js';
6
+ export { c as QtiAreaMapEntry, b as QtiAreaMapping, a as QtiMapEntry, Q as QtiMapping, d as areaShape } from '../variables-Vgyr6yyW.js';
7
+ import { a as QtiFeedback, b as ItemContext, c as QtiContext, d as QtiContextType, T as TestContext } from '../test.context-L609DNAz.js';
8
+ export { Q as QtiModalFeedback } from '../test.context-L609DNAz.js';
9
+ import { C as ConfigContext } from '../config.context-CmQ9L62n.js';
10
+ import * as lit_html_directives_ref_js from 'lit-html/directives/ref.js';
11
+
12
+ /**
13
+ * Represents a custom element for referencing an assessment stimulus.
14
+ */
15
+ declare class QtiAssessmentStimulusRef extends LitElement {
16
+ /**
17
+ * The identifier of the stimulus.
18
+ */
19
+ identifier: string;
20
+ /**
21
+ * The href of the stimulus.
22
+ */
23
+ href: string;
24
+ /**
25
+ * Lifecycle method called when the element is connected to the DOM.
26
+ * Loads and appends the stimulus if the 'qti-assessment-stimulus-ref-connected' event is not prevented.
27
+ */
28
+ connectedCallback(): Promise<void>;
29
+ /**
30
+ * Loads and appends the stimulus to the specified element.
31
+ * @param stimulusRef - The element to which the stimulus will be appended.
32
+ */
33
+ updateStimulusRef(stimulusRef: Element): Promise<void>;
34
+ }
35
+ declare global {
36
+ interface HTMLElementTagNameMap {
37
+ 'qti-assessment-stimulus-ref': QtiAssessmentStimulusRef;
38
+ }
39
+ }
40
+
41
+ declare class QtiCompanionMaterialsInfo extends LitElement {
42
+ }
43
+ declare global {
44
+ interface HTMLElementTagNameMap {
45
+ 'qti-companion-materials-info': QtiCompanionMaterialsInfo;
46
+ }
47
+ }
48
+
49
+ /**
50
+ * https://www.imsglobal.org/spec/qti/v3p0/impl#h.fi29q8dubjgw
51
+ * <qti-custom-operator class="js.org">
52
+ <qti-base-value base-type="string"><![CDATA[
53
+ console.log(context.variables);
54
+ return 'B'
55
+ document.querySelector('qti-end-attempt-interaction').disabled = true;
56
+ ]]></qti-base-value>
57
+ </qti-custom-operator>
58
+ </qti-set-outcome-value>
59
+ */
60
+ declare class QtiCustomOperator extends LitElement implements Calculate {
61
+ private operatorFunction;
62
+ private _context?;
63
+ render(): lit_html.TemplateResult<1>;
64
+ handleSlotChange(): void;
65
+ calculate(): any;
66
+ }
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ 'qti-custom-operator': QtiCustomOperator;
70
+ }
71
+ }
72
+
73
+ declare class QtiFeedbackBlock extends QtiFeedback {
74
+ static styles: lit.CSSResult;
75
+ render(): lit_html.TemplateResult<1>;
76
+ connectedCallback(): void;
77
+ }
78
+ declare global {
79
+ interface HTMLElementTagNameMap {
80
+ 'qti-feedback-block': QtiFeedbackBlock;
81
+ }
82
+ }
83
+
84
+ declare class QtiFeedbackInline extends QtiFeedback {
85
+ static styles: lit.CSSResult;
86
+ render: () => lit_html.TemplateResult<1>;
87
+ connectedCallback(): void;
88
+ }
89
+ declare global {
90
+ interface HTMLElementTagNameMap {
91
+ 'qti-feedback-inline': QtiFeedbackInline;
92
+ }
93
+ }
94
+
95
+ declare class QtiAssociableHotspot extends LitElement {
96
+ static styles: lit.CSSResult;
97
+ connectedCallback(): void;
98
+ render(): lit_html.TemplateResult<1>;
99
+ }
100
+ declare global {
101
+ interface HTMLElementTagNameMap {
102
+ 'qti-associable-hotspot': QtiAssociableHotspot;
103
+ }
104
+ }
105
+
106
+ interface IInteraction {
107
+ correctResponse: Readonly<string | string[]>;
108
+ response: string | string[];
109
+ responseIdentifier: string;
110
+ disabled: boolean;
111
+ readonly: boolean;
112
+ validate(): boolean;
113
+ reportValidity(): boolean;
114
+ reset(): void;
115
+ saveResponse(value: string | string[]): void;
116
+ }
117
+
118
+ declare enum Correctness {
119
+ Correct = "correct",
120
+ PartiallyCorrect = "partially-correct",
121
+ Incorrect = "incorrect"
122
+ }
123
+ declare abstract class Interaction extends LitElement implements IInteraction {
124
+ private _context;
125
+ protected configContext: ConfigContext;
126
+ static formAssociated: boolean;
127
+ protected _internals: ElementInternals;
128
+ get internals(): ElementInternals;
129
+ responseIdentifier: any;
130
+ disabled: boolean;
131
+ readonly: boolean;
132
+ protected _isFullCorrectResponse: boolean;
133
+ get isFullCorrectResponse(): Readonly<boolean>;
134
+ set isFullCorrectResponse(val: Readonly<boolean>);
135
+ protected _correctResponse: string | string[];
136
+ get correctResponse(): Readonly<string | string[]>;
137
+ set correctResponse(val: Readonly<string | string[]>);
138
+ get correctness(): Readonly<Correctness | null>;
139
+ get isInline(): boolean;
140
+ get responseVariable(): ResponseVariable | undefined;
141
+ toggleCorrectResponse(show: boolean): void;
142
+ protected toggleFullCorrectResponse(show: boolean): Promise<void>;
143
+ protected toggleInternalCorrectResponse(show: boolean): void;
144
+ toggleCandidateCorrection(show: boolean): void;
145
+ constructor();
146
+ abstract validate(): boolean;
147
+ get value(): string | null;
148
+ set value(val: string | null);
149
+ abstract get response(): string | string[] | null;
150
+ abstract set response(val: string | string[] | null);
151
+ reportValidity(): boolean;
152
+ reset(): void;
153
+ connectedCallback(): void;
154
+ saveResponse(value: string | string[]): void;
155
+ }
156
+
157
+ declare const QtiAssociateInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
158
+ declare class QtiAssociateInteraction extends QtiAssociateInteraction_base {
159
+ static styles: CSSResultGroup;
160
+ protected _childrenMap: Element[];
161
+ protected _registerChoiceHandler: (event: CustomEvent) => void;
162
+ constructor();
163
+ protected _registerChoice(event: CustomEvent): void;
164
+ render(): lit_html.TemplateResult<1>;
165
+ disconnectedCallback(): void;
166
+ }
167
+ declare global {
168
+ interface HTMLElementTagNameMap {
169
+ 'qti-associate-interaction': QtiAssociateInteraction;
170
+ }
171
+ }
172
+
173
+ interface ChoiceInterface {
174
+ identifier: string;
175
+ disabled: boolean;
176
+ readonly: boolean;
177
+ }
178
+ /**
179
+ * A mixin that adds choice functionality to a LitElement-based class.
180
+ * It dispatches events with a custom `type` and handles selection logic.
181
+ *
182
+ * @param Base - The base class to extend.
183
+ * @param type - The type of the choice, used in event names.
184
+ * @returns A new class extending the base class with choice functionality.
185
+ */
186
+ interface ActiveElementMixinInterface {
187
+ identifier: string;
188
+ tabIndex: number;
189
+ disabled: boolean;
190
+ readonly: boolean;
191
+ internals: ElementInternals;
192
+ }
193
+
194
+ type Choice = HTMLElement & ChoiceInterface & {
195
+ internals: ElementInternals;
196
+ };
197
+ interface ChoicesInterface extends IInteraction {
198
+ minChoices: number;
199
+ maxChoices: number;
200
+ value: string | null;
201
+ response: string | string[] | null;
202
+ validate(): boolean;
203
+ reportValidity(): boolean;
204
+ }
205
+
206
+ type Orientation = 'horizontal' | 'vertical' | undefined;
207
+ declare const QtiChoiceInteraction_base: (abstract new (...args: any[]) => {}) & (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
208
+ declare class QtiChoiceInteraction extends QtiChoiceInteraction_base implements ChoicesInterface {
209
+ static styles: CSSResultGroup;
210
+ /** @deprecated, use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead */
211
+ orientation: Orientation;
212
+ private _handleSlotChange;
213
+ render(): lit_html.TemplateResult<1>;
214
+ }
215
+ declare global {
216
+ interface HTMLElementTagNameMap {
217
+ 'qti-choice-interaction': QtiChoiceInteraction;
218
+ }
219
+ }
220
+
221
+ declare class QtiCustomInteraction extends Interaction {
222
+ private rawResponse;
223
+ constructor();
224
+ data: string;
225
+ baseItemUrl: string;
226
+ baseRefUrl: string;
227
+ id: string;
228
+ private _errorMessage;
229
+ manifest: {
230
+ script: string[];
231
+ style: string[];
232
+ media: string[];
233
+ };
234
+ connectedCallback(): void;
235
+ setupCES(): void;
236
+ private getIFrames;
237
+ private getInnerIFrames;
238
+ private postToWindowAndIframes;
239
+ handlePostMessage(event: MessageEvent): void;
240
+ validate(): boolean;
241
+ get response(): string | string[] | null;
242
+ set response(val: string | string[] | null);
243
+ disconnectedCallback(): void;
244
+ render(): lit_html.TemplateResult<1>;
245
+ }
246
+ declare global {
247
+ interface HTMLElementTagNameMap {
248
+ 'qti-custom-interaction': QtiCustomInteraction;
249
+ }
250
+ }
251
+
252
+ declare class QtiEndAttemptInteraction extends LitElement {
253
+ responseIdentifier: any;
254
+ disabled: boolean;
255
+ /** Defines the number of attempts that a user can make using the 'endAttemptInteraction' mechanism (this can be used to limit the number of hints, etc.). [More information](https://www.imsglobal.org/sites/default/files/spec/qti/v3/info/index.html#DataCharacteristic_EndAttemptInteraction.Attr_count-attempt) */
256
+ countAttempt: 'true' | 'false' | null;
257
+ title: string;
258
+ render(): lit_html.TemplateResult<1>;
259
+ endAttempt(_: Event): void;
260
+ }
261
+ declare global {
262
+ interface HTMLElementTagNameMap {
263
+ 'qti-end-attempt-interaction': QtiEndAttemptInteraction;
264
+ }
265
+ }
266
+
267
+ declare class QtiExtendedTextInteraction extends Interaction {
268
+ static styles: CSSResultGroup;
269
+ protected _rows: number;
270
+ /** expected length is mapped to the property maxlength on the textarea */
271
+ expectedLength: number;
272
+ patternMask: string;
273
+ /** text appearing in the extended-text-interaction if it is empty */
274
+ placeholderText: string;
275
+ dataPatternmaskMessage: string;
276
+ classNames: any;
277
+ handleclassNamesChange(_: any, classes: string): void;
278
+ response: string | null;
279
+ protected _handleResponseChange: () => void;
280
+ get value(): string | null;
281
+ set value(val: string | null);
282
+ validate(): boolean;
283
+ toggleCorrectResponse(): void;
284
+ reportValidity(): boolean;
285
+ render(): lit_html.TemplateResult<1>;
286
+ protected textChanged(event: Event): void;
287
+ protected setEmptyAttribute(text: string): void;
288
+ }
289
+ declare global {
290
+ interface HTMLElementTagNameMap {
291
+ 'qti-extended-text-interaction': QtiExtendedTextInteraction;
292
+ }
293
+ }
294
+
295
+ declare class QtiGapImg extends LitElement {
296
+ static styles: lit.CSSResult;
297
+ tabindex: number | undefined;
298
+ connectedCallback(): void;
299
+ }
300
+ declare global {
301
+ interface HTMLElementTagNameMap {
302
+ 'qti-gap-img': QtiGapImg;
303
+ }
304
+ }
305
+
306
+ declare const QtiGapMatchInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
307
+ declare class QtiGapMatchInteraction extends QtiGapMatchInteraction_base {
308
+ static styles: CSSResultGroup;
309
+ render(): lit_html.TemplateResult<1>;
310
+ toggleCorrectResponse(show: boolean): void;
311
+ }
312
+ declare global {
313
+ interface HTMLElementTagNameMap {
314
+ 'qti-gap-match-interaction': QtiGapMatchInteraction;
315
+ }
316
+ }
317
+
318
+ declare const QtiGapText_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
319
+ declare class QtiGapText extends QtiGapText_base {
320
+ static styles: lit.CSSResult;
321
+ tabindex: number | undefined;
322
+ connectedCallback(): void;
323
+ render(): lit_html.TemplateResult<1>;
324
+ }
325
+ declare global {
326
+ interface HTMLElementTagNameMap {
327
+ 'qti-gap-text': QtiGapText;
328
+ }
329
+ }
330
+
331
+ declare class QtiGap extends LitElement {
332
+ static styles: lit.CSSResult;
333
+ tabindex: number | undefined;
334
+ render(): lit_html.TemplateResult<1>;
335
+ }
336
+ declare global {
337
+ interface HTMLElementTagNameMap {
338
+ 'qti-gap': QtiGap;
339
+ }
340
+ }
341
+
342
+ declare class QtiGraphicAssociateInteraction extends Interaction {
343
+ static styles: CSSResultGroup;
344
+ private hotspots;
345
+ private startPoint;
346
+ private endPoint;
347
+ private _correctLines;
348
+ private startCoord;
349
+ private mouseCoord;
350
+ private grImage;
351
+ private _response;
352
+ constructor();
353
+ reset(): void;
354
+ validate(): boolean;
355
+ set response(val: string[]);
356
+ get response(): string[];
357
+ toggleInternalCorrectResponse(show: boolean): void;
358
+ render(): lit_html.TemplateResult<1>;
359
+ private positionHotspotOnRegister;
360
+ firstUpdated(): void;
361
+ disconnectedCallback(): void;
362
+ }
363
+ declare global {
364
+ interface HTMLElementTagNameMap {
365
+ 'qti-graphic-associate-interaction': QtiGraphicAssociateInteraction;
366
+ }
367
+ }
368
+
369
+ declare const QtiGraphicGapMatchInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
370
+ declare class QtiGraphicGapMatchInteraction extends QtiGraphicGapMatchInteraction_base {
371
+ static styles: CSSResultGroup;
372
+ render(): lit_html.TemplateResult<1>;
373
+ private positionHotspotOnRegister;
374
+ connectedCallback(): void;
375
+ disconnectedCallback(): void;
376
+ }
377
+ declare global {
378
+ interface HTMLElementTagNameMap {
379
+ 'qti-graphic-gap-match-interaction': QtiGraphicGapMatchInteraction;
380
+ }
381
+ }
382
+
383
+ declare const QtiGraphicOrderInteraction_base: (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
384
+ declare class QtiGraphicOrderInteraction extends QtiGraphicOrderInteraction_base {
385
+ static styles: CSSResultGroup;
386
+ protected choiceOrdering: boolean;
387
+ protected _choiceElements: Choice[];
388
+ render(): lit_html.TemplateResult<1>;
389
+ private setHotspotOrder;
390
+ toggleCorrectResponse(show: boolean): void;
391
+ private positionHotspotOnRegister;
392
+ connectedCallback(): void;
393
+ disconnectedCallback(): void;
394
+ }
395
+ declare global {
396
+ interface HTMLElementTagNameMap {
397
+ 'qti-graphic-order-interaction': QtiGraphicOrderInteraction;
398
+ }
399
+ }
400
+
401
+ declare const QtiHotspotChoice_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
402
+ declare class QtiHotspotChoice extends QtiHotspotChoice_base {
403
+ static styles: lit.CSSResult;
404
+ order: number;
405
+ orderCorrect: number;
406
+ }
407
+ declare global {
408
+ interface HTMLElementTagNameMap {
409
+ 'qti-hotspot-choice': QtiHotspotChoice;
410
+ }
411
+ }
412
+
413
+ declare const QtiHotspotInteraction_base: (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
414
+ declare class QtiHotspotInteraction extends QtiHotspotInteraction_base {
415
+ static styles: CSSResultGroup;
416
+ render(): lit_html.TemplateResult<1>;
417
+ private positionHotspotOnRegister;
418
+ connectedCallback(): void;
419
+ disconnectedCallback(): void;
420
+ }
421
+ declare global {
422
+ interface HTMLElementTagNameMap {
423
+ 'qti-hotspot-interaction': QtiHotspotInteraction;
424
+ }
425
+ }
13
426
 
14
427
  declare const QtiHottextInteraction_base: (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
15
428
  declare class QtiHottextInteraction extends QtiHottextInteraction_base {
@@ -21,11 +434,706 @@ declare class QtiHottextInteraction extends QtiHottextInteraction_base {
21
434
  private updateHostClasses;
22
435
  }
23
436
 
437
+ declare const QtiHottext_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
438
+ declare class QtiHottext extends QtiHottext_base {
439
+ static styles: lit.CSSResult;
440
+ render(): lit_html.TemplateResult<1>;
441
+ }
442
+ declare global {
443
+ interface HTMLElementTagNameMap {
444
+ 'qti-hottext': QtiHottext;
445
+ }
446
+ }
447
+
448
+ interface OptionType {
449
+ textContent: string;
450
+ value: string;
451
+ selected: boolean;
452
+ }
453
+ declare class QtiInlineChoiceInteraction extends Interaction {
454
+ get isInline(): boolean;
455
+ static get styles(): lit.CSSResult[];
456
+ static inputWidthClass: string[];
457
+ protected options: OptionType[];
458
+ protected correctOption: string;
459
+ dataPrompt: string;
460
+ configContext: ConfigContext;
461
+ render(): lit_html.TemplateResult<1>;
462
+ connectedCallback(): void;
463
+ disconnectedCallback(): void;
464
+ willUpdate(changed: PropertyValues<this>): void;
465
+ private _updateOptions;
466
+ validate(): boolean;
467
+ reset(): void;
468
+ set response(value: string | null);
469
+ get response(): string | null;
470
+ toggleInternalCorrectResponse(show: boolean): void;
471
+ protected choiceSelected(event: Event): void;
472
+ }
473
+ declare global {
474
+ interface HTMLElementTagNameMap {
475
+ 'qti-inline-choice-interaction': QtiInlineChoiceInteraction;
476
+ }
477
+ }
478
+
479
+ declare class QtiInlineChoice extends LitElement {
480
+ static get styles(): lit.CSSResult[];
481
+ identifier: string;
482
+ connectedCallback(): void;
483
+ disconnectedCallback(): void;
484
+ render(): lit_html.TemplateResult<1>;
485
+ private _onSelectInlineChoice;
486
+ }
487
+ declare global {
488
+ interface HTMLElementTagNameMap {
489
+ 'qti-inline-choice': QtiInlineChoice;
490
+ }
491
+ }
492
+
493
+ declare const QtiSimpleAssociableChoice_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
494
+ declare class QtiSimpleAssociableChoice extends QtiSimpleAssociableChoice_base {
495
+ static styles: lit.CSSResult;
496
+ /** the minimal number of selections a candidate must make */
497
+ matchMin: number;
498
+ /** the maximum number of selections a candidate must make, the other options will be disabled when max options is checked */
499
+ matchMax: number;
500
+ fixed: boolean;
501
+ connectedCallback(): void;
502
+ render(): lit_html.TemplateResult<1>;
503
+ }
504
+ declare global {
505
+ interface HTMLElementTagNameMap {
506
+ 'qti-simple-associable-choice': QtiSimpleAssociableChoice;
507
+ }
508
+ }
509
+
510
+ declare const QtiMatchInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
511
+ declare class QtiMatchInteraction extends QtiMatchInteraction_base {
512
+ static styles: CSSResultGroup;
513
+ protected sourceChoices: QtiSimpleAssociableChoice[];
514
+ protected targetChoices: QtiSimpleAssociableChoice[];
515
+ protected lastCheckedRadio: HTMLInputElement | null;
516
+ class: string;
517
+ protected _response: string | string[];
518
+ get response(): string[];
519
+ set response(val: string[]);
520
+ responseIdentifier: string;
521
+ protected correctOptions: {
522
+ source: string;
523
+ target: string;
524
+ }[];
525
+ connectedCallback(): Promise<void>;
526
+ protected handleRadioClick: (e: any) => void;
527
+ protected handleRadioChange: (e: any) => void;
528
+ validate(): boolean;
529
+ private getMatches;
530
+ toggleInternalCorrectResponse(show: boolean): void;
531
+ toggleCandidateCorrection(show: boolean): void;
532
+ render(): lit_html.TemplateResult<1>;
533
+ }
534
+ declare global {
535
+ interface HTMLElementTagNameMap {
536
+ 'qti-match-interaction': QtiMatchInteraction;
537
+ }
538
+ }
539
+
540
+ declare class QtiMediaInteraction extends Interaction {
541
+ private _value;
542
+ reset(): void;
543
+ validate(): boolean;
544
+ get response(): string | null;
545
+ set response(val: string | null);
546
+ static get properties(): {
547
+ step: {
548
+ type: NumberConstructor;
549
+ attribute: string;
550
+ default: number;
551
+ };
552
+ };
553
+ static styles: lit.CSSResult[];
554
+ render(): lit_html.TemplateResult<1>;
555
+ constructor();
556
+ connectedCallback(): void;
557
+ }
558
+ declare global {
559
+ interface HTMLElementTagNameMap {
560
+ 'qti-media-interaction': QtiMediaInteraction;
561
+ }
562
+ }
563
+
564
+ declare const QtiOrderInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
565
+ declare class QtiOrderInteraction extends QtiOrderInteraction_base {
566
+ static styles: lit.CSSResult;
567
+ protected childrenMap: Element[];
568
+ protected nrChoices: number;
569
+ correctResponses: string[];
570
+ showCorrectResponses: boolean;
571
+ /** orientation of choices */
572
+ orientation: 'horizontal' | 'vertical';
573
+ render(): lit_html.TemplateResult<1>;
574
+ toggleCorrectResponse(show: boolean): void;
575
+ getValue(val: string[]): string[];
576
+ protected getResponse(): string[];
577
+ firstUpdated(changedProps: any): Promise<void>;
578
+ }
579
+ declare global {
580
+ interface HTMLElementTagNameMap {
581
+ 'qti-order-interaction': QtiOrderInteraction;
582
+ }
583
+ }
584
+
585
+ interface PciReadyPayload {
586
+ responseIdentifier: string;
587
+ status: 'interacting' | 'suspended' | 'closed' | 'solution' | 'review';
588
+ }
589
+ interface PciDonePayload {
590
+ responseIdentifier: string;
591
+ status: 'interacting' | 'suspended' | 'closed' | 'solution' | 'review';
592
+ outcome?: unknown;
593
+ }
594
+ interface ConfigProperties<T> {
595
+ properties: T;
596
+ templateVariables: Record<string, unknown>;
597
+ contextVariables: Record<string, unknown>;
598
+ boundTo: unknown;
599
+ responseIdentifier: string;
600
+ onready: (payload: PciReadyPayload) => void;
601
+ ondone?: (payload: PciDonePayload) => void;
602
+ status?: 'interacting' | 'suspended' | 'closed' | 'solution' | 'review';
603
+ }
604
+ interface IMSpci<T> {
605
+ typeIdentifier: string;
606
+ /** @access public
607
+ * @method getInstance Create a new instance of this portable custom interaction
608
+ * Will be called by the qtiCustomInteractionContext
609
+ * @param {DOM Element} dom - the DOM Element this PCI is being added to
610
+ * @param {Object} configuration - the configuration to apply to this PCI
611
+ * @param {String} state - a previous saved state to apply to this instance.
612
+ * This must have been obtained from a prior call to getState on an
613
+ * instance of this type (same typeIdentifier)
614
+ */
615
+ getInstance: (dom: HTMLElement, configuration: Configuration<T>, state: string) => void;
616
+ /** @access public
617
+ * @method getResponse
618
+ * @return {Object} - the value to assign to the bound QTI response variable
619
+ */
620
+ getResponse: () => QtiVariableJSON | undefined;
621
+ /** @access public
622
+ * @method setResponse
623
+ * @param {Object} value - the value to assign to the bound QTI response variable
624
+ * NOTE: This is not an official QTI method, so no guarantee it is implemented
625
+ * in all PCIs.
626
+ */
627
+ setResponse: (value: QtiVariableJSON) => void;
628
+ /** @access public
629
+ * @method getState
630
+ * @return {String} The current state of this PCI. May be passed to
631
+ * getInstance to later restore this PCI instance.
632
+ */
633
+ getState: () => string;
634
+ oncompleted?: () => void;
635
+ destroy?: () => void;
636
+ }
637
+ declare type Configuration<T> = {
638
+ onready: (pci: IMSpci<ConfigProperties<T>>, state?: string) => void;
639
+ properties: T;
640
+ };
641
+ type QtiFileData = {
642
+ data: string;
643
+ mime: string;
644
+ name?: string;
645
+ };
646
+ type QtiBaseBoolean = boolean;
647
+ type QtiBaseInteger = number;
648
+ type QtiBaseFloat = number;
649
+ type QtiBaseString = string;
650
+ type QtiBasePoint = [number, number];
651
+ type QtiBasePair = [string, string];
652
+ type QtiBaseDirectedPair = [string, string];
653
+ type QtiBaseDuration = string;
654
+ type QtiBaseFile = QtiFileData;
655
+ type QtiBaseUri = string;
656
+ type QtiBaseIntOrIdentifier = number | string;
657
+ type QtiBaseIdentifier = string;
658
+ type QtiRecordItem = {
659
+ name: string;
660
+ base?: QtiBaseTypeJSON | null;
661
+ list?: QtiListTypeJSON | null;
662
+ };
663
+ type ResponseVariableType = QtiVariableJSON;
664
+ type QtiBaseTypeJSON = {
665
+ boolean?: QtiBaseBoolean;
666
+ integer?: QtiBaseInteger;
667
+ float?: QtiBaseFloat;
668
+ string?: QtiBaseString;
669
+ point?: QtiBasePoint;
670
+ pair?: QtiBasePair;
671
+ directedPair?: QtiBaseDirectedPair;
672
+ duration?: QtiBaseDuration;
673
+ file?: QtiBaseFile;
674
+ uri?: QtiBaseUri;
675
+ intOrIdentifier?: QtiBaseIntOrIdentifier;
676
+ identifier?: QtiBaseIdentifier;
677
+ } | null;
678
+ type QtiListTypeJSON = {
679
+ boolean?: QtiBaseBoolean[];
680
+ integer?: QtiBaseInteger[];
681
+ float?: QtiBaseFloat[];
682
+ string?: QtiBaseString[];
683
+ point?: QtiBasePoint[];
684
+ pair?: QtiBasePair[];
685
+ directedPair?: QtiBaseDirectedPair[];
686
+ duration?: QtiBaseDuration[];
687
+ file?: QtiBaseFile[];
688
+ uri?: QtiBaseUri[];
689
+ intOrIdentifier?: QtiBaseIntOrIdentifier[];
690
+ identifier?: QtiBaseIdentifier[];
691
+ } | null;
692
+ declare type QtiVariableJSON = {
693
+ base?: QtiBaseTypeJSON;
694
+ list?: QtiListTypeJSON;
695
+ record?: QtiRecordItem[] | null;
696
+ };
697
+ interface ModuleResolutionConfig {
698
+ waitSeconds?: number;
699
+ context?: string;
700
+ catchError?: boolean;
701
+ paths: {
702
+ [key: string]: string | string[];
703
+ };
704
+ shim?: {
705
+ [key: string]: {
706
+ deps?: string[];
707
+ exports?: string;
708
+ };
709
+ };
710
+ }
711
+
712
+ declare class QtiPortableCustomInteraction extends Interaction {
713
+ private _value;
714
+ private pci;
715
+ protected _iframeLoaded: boolean;
716
+ protected _pendingMessages: Array<{
717
+ method: string;
718
+ params: any;
719
+ }>;
720
+ protected iframe: HTMLIFrameElement;
721
+ private _responseCheckInterval;
722
+ static styles: CSSResultGroup;
723
+ module: string;
724
+ customInteractionTypeIdentifier: string;
725
+ requirePathsJson: string;
726
+ requireShimJson: string;
727
+ requireJsUrl: string;
728
+ baseUrl: string;
729
+ useIframe: boolean;
730
+ useDefaultShims: boolean;
731
+ useDefaultPaths: boolean;
732
+ private _errorMessage;
733
+ protected context?: ItemContext;
734
+ response: string | string[];
735
+ private dom;
736
+ private _parsedRequirePaths;
737
+ private _parsedRequireShim;
738
+ /**
739
+ * Parse the require paths JSON string into an object
740
+ */
741
+ private getRequirePaths;
742
+ /**
743
+ * Parse the require shim JSON string into an object
744
+ */
745
+ private getRequireShim;
746
+ /**
747
+ * Get the default require paths
748
+ */
749
+ private getDefaultRequirePaths;
750
+ /**
751
+ * Get the default require shim
752
+ */
753
+ private getDefaultRequireShim;
754
+ /**
755
+ * Get the final require paths by combining defaults with user-provided paths
756
+ */
757
+ private getFinalRequirePaths;
758
+ /**
759
+ * Get the final require shim by combining defaults with user-provided shim
760
+ */
761
+ private getFinalRequireShim;
762
+ /**
763
+ * Converts QtiVariableJSON to a string or string array
764
+ */
765
+ private convertQtiVariableJSON;
766
+ /**
767
+ * Adds hyphenated versions of camelCase keys to properties object
768
+ */
769
+ private addHyphenatedKeys;
770
+ /**
771
+ * Converts response variables to QtiVariableJSON
772
+ */
773
+ protected responseVariablesToQtiVariableJSON(input: string | string[], cardinality: Cardinality, baseType: BaseType): QtiVariableJSON;
774
+ validate(): boolean;
775
+ set value(v: string | null);
776
+ get value(): string | null;
777
+ set boundTo(newValue: Record<string, ResponseVariableType>);
778
+ get boundTo(): Record<string, QtiVariableJSON>;
779
+ /**
780
+ * Unescape HTML entities in a string
781
+ */
782
+ private unescapeHtml;
783
+ /**
784
+ * Unescape HTML entities in all values of an object
785
+ */
786
+ private unescapeDataAttributes;
787
+ /**
788
+ * DIRECT MODE: Register PCI instance
789
+ */
790
+ register(pci: IMSpci<ConfigProperties<unknown>>): void;
791
+ disconnectedCallback(): void;
792
+ /**
793
+ * IFRAME MODE: Send message to iframe
794
+ */
795
+ protected sendMessageToIframe(method: string, params: any): void;
796
+ /**
797
+ * IFRAME MODE: Process pending messages
798
+ */
799
+ private processPendingMessages;
800
+ /**
801
+ * IFRAME MODE: Handle iframe messages
802
+ */
803
+ protected handleIframeMessage: (event: MessageEvent) => void;
804
+ /**
805
+ * IFRAME MODE: Create iframe element
806
+ */
807
+ protected createIframe(): void;
808
+ /**
809
+ * IFRAME MODE: Send initialization data to iframe
810
+ */
811
+ private sendIframeInitData;
812
+ /**
813
+ * IFRAME MODE: Get interaction modules from DOM
814
+ */
815
+ private getInteractionModules;
816
+ /**
817
+ * IFRAME MODE: Add markup and properties to iframe
818
+ */
819
+ private addMarkupToIframe;
820
+ /**
821
+ * IFRAME MODE: Initialize the interaction
822
+ */
823
+ private initializeInteraction;
824
+ connectedCallback(): void;
825
+ /**
826
+ * Stop checking for response changes
827
+ */
828
+ private stopResponseCheck;
829
+ private _onInteractionChanged;
830
+ /**
831
+ * DIRECT MODE: Build RequireJS configuration
832
+ */
833
+ buildRequireConfig(): ModuleResolutionConfig;
834
+ /**
835
+ * DIRECT MODE: Helper method to combine require paths
836
+ */
837
+ private combineRequireResolvePaths;
838
+ /**
839
+ * DIRECT MODE: Helper method to remove double slashes
840
+ */
841
+ private removeDoubleSlashes;
842
+ /**
843
+ * DIRECT MODE: Load config from URL
844
+ */
845
+ loadConfig: (url: string, baseUrl?: string) => Promise<ModuleResolutionConfig>;
846
+ /**
847
+ * DIRECT MODE: Helper method to get resolvable path string
848
+ */
849
+ getResolvablePathString: (path: string, basePath?: string) => string;
850
+ /**
851
+ * DIRECT MODE: Helper method to get resolvable path
852
+ */
853
+ getResolvablePath: (path: string | string[], basePath?: string) => string | string[];
854
+ /**
855
+ * IFRAME MODE: Generate iframe HTML content
856
+ */
857
+ protected generateIframeContent(): string;
858
+ /**
859
+ * Toggle the display of the correct response
860
+ * @param responseVariable The response variable containing the correct response
861
+ * @param show Whether to show or hide the correct response
862
+ */
863
+ toggleInternalCorrectResponse(show: boolean): void;
864
+ /**
865
+ * Method to disable the PCI for review mode
866
+ * This can be used when showing the correct response
867
+ */
868
+ disable(): void;
869
+ /**
870
+ * Method to enable the PCI for interactive mode
871
+ */
872
+ enable(): void;
873
+ private _previousState;
874
+ render(): lit_html.TemplateResult<1>;
875
+ }
876
+ declare global {
877
+ interface HTMLElementTagNameMap {
878
+ 'qti-portable-custom-interaction': QtiPortableCustomInteraction;
879
+ }
880
+ }
881
+
24
882
  declare class QtiPositionObjectInteraction extends LitElement {
25
883
  render(): lit_html.TemplateResult<1>;
26
884
  static styles: lit.CSSResult[];
27
885
  }
28
886
 
887
+ declare class QtiPositionObjectStage extends LitElement {
888
+ choiceOrdering: boolean;
889
+ startX: any;
890
+ startY: any;
891
+ dragElement: any;
892
+ render(): lit_html.TemplateResult<1>;
893
+ static styles: lit.CSSResult[];
894
+ constructor();
895
+ dragElementHandler(event: any): void;
896
+ firstUpdated(a: any): void;
897
+ removeMoveListener(): void;
898
+ disconnectedCallback(): void;
899
+ }
900
+ declare global {
901
+ interface HTMLElementTagNameMap {
902
+ 'qti-position-object-stage': QtiPositionObjectStage;
903
+ }
904
+ }
905
+
906
+ declare class QtiSelectPointInteraction extends Interaction {
907
+ static styles: lit.CSSResult[];
908
+ maxChoices: number;
909
+ minChoices: number;
910
+ response: string[] | null;
911
+ private _correctAreas;
912
+ private _responseCorrection;
913
+ private _imgElement;
914
+ private _scaleX;
915
+ private _scaleY;
916
+ private _imageWidthOriginal;
917
+ private _imageHeightOriginal;
918
+ private _onImageClick;
919
+ connectedCallback(): void;
920
+ private _onResize;
921
+ get responsePoints(): {
922
+ x: number;
923
+ y: number;
924
+ }[];
925
+ toggleCandidateCorrection(show: boolean): void;
926
+ toggleCorrectResponse(show: boolean): any;
927
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
928
+ render(): lit_html.TemplateResult<1>;
929
+ validate(): boolean;
930
+ private calculateScale;
931
+ firstUpdated(): void;
932
+ disconnectedCallback(): void;
933
+ }
934
+ declare global {
935
+ interface HTMLElementTagNameMap {
936
+ 'qti-select-point-interaction': QtiSelectPointInteraction;
937
+ }
938
+ }
939
+
940
+ declare const QtiSimpleChoice_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
941
+ /**
942
+ * qti-order-interaction
943
+ * qti-choice-interaction
944
+ */
945
+ declare class QtiSimpleChoice extends QtiSimpleChoice_base {
946
+ templateIdentifier: string | null;
947
+ showHide: string | null;
948
+ fixed: boolean;
949
+ static styles: lit.CSSResult;
950
+ marker: string;
951
+ get checked(): boolean;
952
+ render(): lit_html.TemplateResult<1>;
953
+ }
954
+ declare global {
955
+ interface HTMLElementTagNameMap {
956
+ 'qti-simple-choice': QtiSimpleChoice;
957
+ }
958
+ }
959
+
960
+ declare class QtiSliderInteraction extends Interaction {
961
+ static styles: CSSResultGroup;
962
+ private _value;
963
+ private _correctResponseNumber;
964
+ private _rail;
965
+ min: number;
966
+ max: number;
967
+ step: number;
968
+ validate(): boolean;
969
+ connectedCallback(): void;
970
+ get response(): string;
971
+ set response(val: string);
972
+ toggleCorrectResponse(show: boolean): void;
973
+ private _updateValue;
974
+ render(): lit_html.TemplateResult<1>;
975
+ private _onMouseDown;
976
+ private _onTouchStart;
977
+ private _startDrag;
978
+ private _onDrag;
979
+ private _onDragEnd;
980
+ }
981
+ declare global {
982
+ interface HTMLElementTagNameMap {
983
+ 'qti-slider-interaction': QtiSliderInteraction;
984
+ }
985
+ }
986
+
987
+ declare class QtiTextEntryInteraction extends Interaction {
988
+ static styles: CSSResultGroup;
989
+ inputRef: lit_html_directives_ref_js.Ref<HTMLInputElement>;
990
+ expectedLength: number;
991
+ patternMask: string;
992
+ placeholderText: string;
993
+ dataPatternmaskMessage: string;
994
+ response: string | null;
995
+ private _input;
996
+ protected _handleValueChange: () => void;
997
+ get value(): string | null;
998
+ set value(val: string | null);
999
+ get correctness(): Readonly<Correctness | null>;
1000
+ get isInline(): boolean;
1001
+ validate(): boolean;
1002
+ toggleInternalCorrectResponse(show: boolean): void;
1003
+ render(): lit_html.TemplateResult<1>;
1004
+ protected textChanged(event: Event): void;
1005
+ reportValidity(): boolean;
1006
+ reset(): void;
1007
+ private setEmptyAttribute;
1008
+ }
1009
+ declare global {
1010
+ interface HTMLElementTagNameMap {
1011
+ 'qti-text-entry-interaction': QtiTextEntryInteraction;
1012
+ }
1013
+ }
1014
+
1015
+ declare class QtiUploadInteraction extends Interaction {
1016
+ private _file;
1017
+ private _base64;
1018
+ reset(): void;
1019
+ validate(): boolean;
1020
+ get response(): string | null;
1021
+ set response(base64: string | null);
1022
+ static get properties(): {
1023
+ [key: string]: lit.PropertyDeclaration<unknown, unknown>;
1024
+ };
1025
+ static styles: lit.CSSResult[];
1026
+ render(): lit_html.TemplateResult<1>;
1027
+ private _onFileChange;
1028
+ private _convertToBase64;
1029
+ }
1030
+ declare global {
1031
+ interface HTMLElementTagNameMap {
1032
+ 'qti-upload-interaction': QtiUploadInteraction;
1033
+ }
1034
+ }
1035
+
1036
+ /**
1037
+ * @summary The qti-item-body node contains the text, graphics, media objects and interactions that describe the item's content and information about how it is structured.
1038
+ * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.sphpo6lu6zqi
1039
+ * @status stable
1040
+ * @since 4.0
1041
+ *
1042
+ * @slot - item body content.
1043
+ * @slot qti-rubric-block - the qti rubric block is placed above the item
1044
+ * @part qti-rubric-block - the qti rubric block part
1045
+ */
1046
+ declare class QtiItemBody extends LitElement {
1047
+ static styles: CSSResultGroup;
1048
+ render(): lit_html.TemplateResult<1>;
1049
+ }
1050
+ declare global {
1051
+ interface HTMLElementTagNameMap {
1052
+ 'qti-item-body': QtiItemBody;
1053
+ }
1054
+ }
1055
+
1056
+ declare class QtiRule extends LitElement implements QtiRuleBase {
1057
+ render(): lit_html.TemplateResult<1>;
1058
+ process(): void;
1059
+ }
1060
+ interface QtiRuleBase {
1061
+ process(): any;
1062
+ }
1063
+ declare global {
1064
+ interface HTMLElementTagNameMap {
1065
+ 'qti-rule': QtiRule;
1066
+ }
1067
+ }
1068
+
1069
+ declare class QtiOutcomeProcessing extends LitElement {
1070
+ static styles: lit.CSSResult[];
1071
+ render(): lit_html.TemplateResult<1>;
1072
+ process(): void;
1073
+ }
1074
+ declare global {
1075
+ interface HTMLElementTagNameMap {
1076
+ 'qti-outcome-processing': QtiOutcomeProcessing;
1077
+ }
1078
+ }
1079
+ declare class QtiOutcomeProcessingProcessor {
1080
+ process(rules: QtiRuleBase[]): void;
1081
+ }
1082
+
1083
+ declare class QtiPrompt extends LitElement {
1084
+ render(): lit_html.TemplateResult<1>;
1085
+ connectedCallback(): void;
1086
+ }
1087
+ declare global {
1088
+ interface HTMLElementTagNameMap {
1089
+ 'qti-prompt': QtiPrompt;
1090
+ }
1091
+ }
1092
+
1093
+ declare class QtiResponseProcessing extends LitElement {
1094
+ static styles: lit.CSSResult[];
1095
+ render(): lit_html.TemplateResult<1>;
1096
+ process(): void;
1097
+ firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
1098
+ private fragmentFromString;
1099
+ }
1100
+ declare global {
1101
+ interface HTMLElementTagNameMap {
1102
+ 'qti-response-processing': QtiResponseProcessing;
1103
+ }
1104
+ }
1105
+
1106
+ interface QtiExpressionBase<T> {
1107
+ calculate(): Readonly<T>;
1108
+ }
1109
+ declare abstract class QtiExpression<T> extends LitElement implements QtiExpressionBase<T> {
1110
+ protected result: any;
1111
+ static styles: lit.CSSResult;
1112
+ render(): lit_html.TemplateResult<1>;
1113
+ calculate(): Readonly<T>;
1114
+ protected getResult(): Readonly<T>;
1115
+ protected context?: ItemContext;
1116
+ protected qtiContext?: QtiContext;
1117
+ getVariables: () => (ResponseVariable | VariableDeclaration<QtiContextType>)[];
1118
+ }
1119
+
1120
+ /**
1121
+ * The lookupOutcomeValue rule sets the value of an outcome variable to the value obtained
1122
+ * by looking up the value of the associated expression in the lookupTable associated
1123
+ * with the outcome's declaration.
1124
+ */
1125
+ declare class QtiLookupOutcomeValue extends QtiRule {
1126
+ identifier: string;
1127
+ protected context?: ItemContext;
1128
+ get childExpression(): QtiExpression<string>;
1129
+ process(): number;
1130
+ }
1131
+ declare global {
1132
+ interface HTMLElementTagNameMap {
1133
+ 'qti-lookup-outcome-value': QtiLookupOutcomeValue;
1134
+ }
1135
+ }
1136
+
29
1137
  declare class QtiResponseCondition extends QtiRule {
30
1138
  render(): lit_html.TemplateResult<1>;
31
1139
  process(): void;
@@ -73,22 +1181,27 @@ declare class QtiResponseElseIf extends QtiResponseIf {
73
1181
  render(): lit_html.TemplateResult<1>;
74
1182
  }
75
1183
 
76
- type Constructor<T> = new (...args: any[]) => T;
1184
+ declare abstract class QtiConditionExpression extends QtiExpression<boolean> {
1185
+ calculate(): Readonly<boolean>;
1186
+ getResult(): Readonly<boolean>;
1187
+ }
1188
+
1189
+ type Constructor$1<T> = new (...args: any[]) => T;
77
1190
  declare const QtiAnd_base: {
78
1191
  new (...args: any[]): {
79
- calculateChildren(children: Array<MockQtiExpression<any>>): boolean;
1192
+ calculateChildren(children: Array<MockQtiExpression$1<any>>): boolean;
80
1193
  };
81
- } & Constructor<QtiConditionExpression>;
1194
+ } & Constructor$1<QtiConditionExpression>;
82
1195
  declare class QtiAnd extends QtiAnd_base {
83
1196
  calculate(): boolean;
84
1197
  }
85
- type MockQtiExpression<T> = {
1198
+ type MockQtiExpression$1<T> = {
86
1199
  calculate: () => T;
87
1200
  };
88
- type MockConstructor = new (...args: any[]) => {};
89
- declare function qtiAndMixin<TBase extends MockConstructor>(Base: TBase): {
1201
+ type MockConstructor$1 = new (...args: any[]) => {};
1202
+ declare function qtiAndMixin<TBase extends MockConstructor$1>(Base: TBase): {
90
1203
  new (...args: any[]): {
91
- calculateChildren(children: Array<MockQtiExpression<any>>): boolean;
1204
+ calculateChildren(children: Array<MockQtiExpression$1<any>>): boolean;
92
1205
  };
93
1206
  } & TBase;
94
1207
 
@@ -307,6 +1420,31 @@ declare class QtiProduct extends QtiExpression<number> {
307
1420
  getResult(): number;
308
1421
  }
309
1422
 
1423
+ type Constructor<T> = new (...args: any[]) => T;
1424
+ declare const QtiSubtract_base: {
1425
+ new (...args: any[]): {
1426
+ calculateChildren(children: Array<MockQtiExpression<any>>): number;
1427
+ };
1428
+ } & Constructor<QtiExpression<number>>;
1429
+ declare class QtiSubtract extends QtiSubtract_base {
1430
+ getResult(): number;
1431
+ }
1432
+ type MockQtiExpression<T> = {
1433
+ calculate: () => T;
1434
+ };
1435
+ type MockConstructor = new (...args: any[]) => {};
1436
+ declare function qtiSubtractMixin<TBase extends MockConstructor>(Base: TBase): {
1437
+ new (...args: any[]): {
1438
+ calculateChildren(children: Array<MockQtiExpression<any>>): number;
1439
+ };
1440
+ } & TBase;
1441
+
1442
+ declare global {
1443
+ interface HTMLElementTagNameMap {
1444
+ 'qti-subtract': QtiSubtract;
1445
+ }
1446
+ }
1447
+
310
1448
  declare class QtiStringMatch extends QtiExpression<boolean> {
311
1449
  caseSensitive: string;
312
1450
  getResult(): boolean;
@@ -359,4 +1497,85 @@ declare class QtiIndex extends QtiExpression<any> {
359
1497
  private lookupVariableValue;
360
1498
  }
361
1499
 
362
- export { QtiAnd, QtiBaseValue, QtiContainerSize, QtiContains, QtiCorrect, QtiDefault, QtiDelete, QtiEqual, QtiEqualRounded, QtiFieldValue, QtiGcd, QtiGt, QtiGte, QtiHottextInteraction, QtiIndex, QtiIsNull, QtiLt, QtiLte, QtiMapResponse, QtiMapResponsePoint, QtiMatch, QtiMathOperator, QtiMember, QtiMultiple, QtiNot, QtiNull, QtiOr, QtiOrdered, QtiPositionObjectInteraction, QtiPower, QtiPrintedVariable, QtiProduct, QtiRandom, QtiRandomInteger, QtiResponseCondition, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiRound, QtiRoundTo, QtiRule, QtiRuleBase, QtiSetOutcomeValue, QtiSetOutcomeValueRule, QtiStringMatch, QtiSum, QtiSumExpression, QtiVariable, qtiAndMixin };
1500
+ declare class QtiContentBody extends LitElement {
1501
+ render(): lit_html.TemplateResult<1>;
1502
+ }
1503
+ declare global {
1504
+ interface HTMLElementTagNameMap {
1505
+ 'qti-content-body': QtiContentBody;
1506
+ }
1507
+ }
1508
+
1509
+ declare class QtiRubricBlock extends LitElement {
1510
+ id: any;
1511
+ use: 'instructions' | 'scoring' | 'navigation';
1512
+ view: 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor';
1513
+ classNames: any;
1514
+ handleclassNamesChange(): void;
1515
+ static styles: lit.CSSResult;
1516
+ render(): lit_html.TemplateResult<1>;
1517
+ }
1518
+ declare global {
1519
+ interface HTMLElementTagNameMap {
1520
+ 'qti-rubric-block': QtiRubricBlock;
1521
+ }
1522
+ }
1523
+
1524
+ declare class QtiStylesheet extends LitElement {
1525
+ private styleElement;
1526
+ protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
1527
+ private minifyCss;
1528
+ disconnectedCallback(): void;
1529
+ }
1530
+ declare global {
1531
+ interface HTMLElementTagNameMap {
1532
+ 'qti-stylesheet': QtiStylesheet;
1533
+ }
1534
+ }
1535
+
1536
+ declare class QtiVariableDeclaration extends LitElement {
1537
+ render(): lit_html.TemplateResult<1>;
1538
+ protected defaultValues(cardinality: Cardinality): string | string[];
1539
+ }
1540
+ declare global {
1541
+ interface HTMLElementTagNameMap {
1542
+ 'qti-variabledeclaration': QtiVariableDeclaration;
1543
+ }
1544
+ }
1545
+
1546
+ declare class QtiOutcomeDeclaration extends QtiVariableDeclaration {
1547
+ baseType: BaseType;
1548
+ externalScored: 'human' | 'externalMachine' | null;
1549
+ identifier: string;
1550
+ cardinality: Cardinality;
1551
+ itemContext?: ItemContext;
1552
+ static styles: lit.CSSResult[];
1553
+ render(): lit_html.TemplateResult<1>;
1554
+ get interpolationTable(): Map<number, number> | null;
1555
+ connectedCallback(): void;
1556
+ }
1557
+ declare global {
1558
+ interface HTMLElementTagNameMap {
1559
+ 'qti-outcome-declaration': QtiOutcomeDeclaration;
1560
+ }
1561
+ }
1562
+
1563
+ declare class QtiResponseDeclaration extends QtiVariableDeclaration {
1564
+ baseType: BaseType;
1565
+ identifier: string;
1566
+ cardinality: Cardinality;
1567
+ itemContext?: ItemContext;
1568
+ static styles: lit.CSSResult[];
1569
+ render(): lit_html.TemplateResult<1>;
1570
+ connectedCallback(): void;
1571
+ private get correctResponse();
1572
+ private get mapping();
1573
+ private get areaMapping();
1574
+ }
1575
+ declare global {
1576
+ interface HTMLElementTagNameMap {
1577
+ 'qti-response-declaration': QtiResponseDeclaration;
1578
+ }
1579
+ }
1580
+
1581
+ export { type Orientation, QtiAnd, QtiAssessmentStimulusRef, QtiAssociableHotspot, QtiAssociateInteraction, QtiBaseValue, QtiChoiceInteraction, QtiCompanionMaterialsInfo, QtiContainerSize, QtiContains, QtiContentBody, QtiCorrect, QtiCustomInteraction, QtiCustomOperator, QtiDefault, QtiDelete, QtiEndAttemptInteraction, QtiEqual, QtiEqualRounded, QtiExtendedTextInteraction, QtiFeedbackBlock, QtiFeedbackInline, QtiFieldValue, QtiGap, QtiGapImg, QtiGapMatchInteraction, QtiGapText, QtiGcd, QtiGraphicAssociateInteraction, QtiGraphicGapMatchInteraction, QtiGraphicOrderInteraction, QtiGt, QtiGte, QtiHotspotChoice, QtiHotspotInteraction, QtiHottext, QtiHottextInteraction, QtiIndex, QtiInlineChoice, QtiInlineChoiceInteraction, QtiIsNull, QtiItemBody, QtiLookupOutcomeValue, QtiLt, QtiLte, QtiMapResponse, QtiMapResponsePoint, QtiMatch, QtiMatchInteraction, QtiMathOperator, QtiMediaInteraction, QtiMember, QtiMultiple, QtiNot, QtiNull, QtiOr, QtiOrderInteraction, QtiOrdered, QtiOutcomeDeclaration, QtiOutcomeProcessing, QtiOutcomeProcessingProcessor, QtiPortableCustomInteraction, QtiPositionObjectInteraction, QtiPositionObjectStage, QtiPower, QtiPrintedVariable, QtiProduct, QtiPrompt, QtiRandom, QtiRandomInteger, QtiResponseCondition, QtiResponseDeclaration, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiResponseProcessing, QtiRound, QtiRoundTo, QtiRubricBlock, QtiRule, type QtiRuleBase, QtiSelectPointInteraction, QtiSetOutcomeValue, QtiSetOutcomeValueRule, QtiSimpleAssociableChoice, QtiSimpleChoice, QtiSliderInteraction, QtiStringMatch, QtiStylesheet, QtiSubtract, QtiSum, QtiSumExpression, QtiTextEntryInteraction, QtiUploadInteraction, QtiVariable, qtiAndMixin, qtiSubtractMixin };