@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,41 +1,77 @@
1
1
  import {
2
- liveQuery
3
- } from "./chunk-YWEWSQJR.js";
2
+ QtiFeedback,
3
+ convertNumberToUniversalFormat,
4
+ itemContext,
5
+ qtiContext,
6
+ removeDoubleSlashes,
7
+ testContext
8
+ } from "./chunk-GUDRSXIP.js";
4
9
  import {
10
+ configContext,
5
11
  watch
6
- } from "./chunk-ELDMXTUQ.js";
12
+ } from "./chunk-O5N4DCU6.js";
7
13
  import {
14
+ __decorateClass,
8
15
  qtiTransformItem
9
- } from "./chunk-WFUXZ4UT.js";
10
- import {
11
- QtiConditionExpression
12
- } from "./chunk-FL72PF4D.js";
13
- import {
14
- QtiExpression
15
- } from "./chunk-QCB6P7DH.js";
16
- import {
17
- testContext
18
- } from "./chunk-CJADUWEC.js";
19
- import {
20
- Interaction
21
- } from "./chunk-HFAUM56X.js";
22
- import {
23
- itemContext
24
- } from "./chunk-NJNQOQUU.js";
25
- import {
26
- configContext
27
- } from "./chunk-ERYHQVOT.js";
28
- import {
29
- itemContextVariables
30
- } from "./chunk-JQ6HWGRY.js";
31
- import {
32
- __decorateClass
33
- } from "./chunk-H2JE6IVU.js";
16
+ } from "./chunk-JDY5GL7E.js";
34
17
 
35
18
  // src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts
36
19
  import { provide } from "@lit/context";
37
20
  import { LitElement, html } from "lit";
38
21
  import { customElement, property } from "lit/decorators.js";
22
+
23
+ // src/lib/decorators/live-query.ts
24
+ function liveQuery(querySelector, _options) {
25
+ let observer;
26
+ return (proto, decoratedFnName) => {
27
+ const { connectedCallback, disconnectedCallback } = proto;
28
+ proto.connectedCallback = function() {
29
+ connectedCallback.call(this);
30
+ const callback = (mutationList) => {
31
+ const elementsToWatch = Array.from(this.querySelectorAll(querySelector)).concat(
32
+ Array.from(this.shadowRoot?.querySelectorAll(querySelector) || [])
33
+ );
34
+ for (const mutation of mutationList) {
35
+ const addedNodes = Array.from(mutation.addedNodes).map((e) => e);
36
+ const removedNodes = Array.from(mutation.addedNodes).map((e) => e);
37
+ if (mutation.type === "childList" && addedNodes.find((n) => elementsToWatch.includes(n))) {
38
+ this[decoratedFnName](addedNodes, removedNodes);
39
+ }
40
+ }
41
+ };
42
+ observer = new MutationObserver(callback);
43
+ observer.observe(this, { childList: true, subtree: true });
44
+ const elementsAdded = Array.from(this.querySelectorAll(querySelector)).concat(
45
+ Array.from(this.shadowRoot?.querySelectorAll(querySelector) || [])
46
+ );
47
+ this[decoratedFnName](Array.from(elementsAdded), []);
48
+ };
49
+ proto.disconnectedCallback = function() {
50
+ disconnectedCallback.call(this);
51
+ observer.disconnect();
52
+ };
53
+ };
54
+ }
55
+
56
+ // src/lib/exports/item.context.ts
57
+ var itemContextVariables = [
58
+ {
59
+ identifier: "completionStatus",
60
+ cardinality: "single",
61
+ baseType: "string",
62
+ value: "unknown",
63
+ type: "outcome"
64
+ },
65
+ {
66
+ identifier: "numAttempts",
67
+ cardinality: "single",
68
+ baseType: "integer",
69
+ value: "0",
70
+ type: "response"
71
+ }
72
+ ];
73
+
74
+ // src/lib/qti-components/qti-assessment-item/qti-assessment-item.ts
39
75
  var QtiAssessmentItem = class extends LitElement {
40
76
  constructor() {
41
77
  super(...arguments);
@@ -555,80 +591,6 @@ QtiCustomOperator = __decorateClass([
555
591
  // src/lib/qti-components/qti-feedback/qti-feedback-block/qti-feedback-block.ts
556
592
  import { css, html as html3 } from "lit";
557
593
  import { customElement as customElement5 } from "lit/decorators.js";
558
-
559
- // src/lib/qti-components/qti-feedback/qti-feedback.ts
560
- import { consume as consume2 } from "@lit/context";
561
- import { LitElement as LitElement5 } from "lit";
562
- import { property as property3, state as state2 } from "lit/decorators.js";
563
-
564
- // src/lib/qti-components/internal/utils.ts
565
- var decimalSeparator = () => {
566
- return new Intl.NumberFormat().format(0.1).replace(/\d/g, "");
567
- };
568
- var convertNumberToUniversalFormat = (number) => {
569
- if (typeof number === "string") {
570
- return number;
571
- }
572
- const dSep = decimalSeparator();
573
- if (dSep === ".") {
574
- return number.toLocaleString();
575
- } else {
576
- return number.toString().replace(".", "").replace(dSep, ".");
577
- }
578
- };
579
- function IsNullOrUndefined(value) {
580
- return value === null || value === void 0;
581
- }
582
- function removeDoubleSlashes(str) {
583
- const singleForwardSlashes = str.replace(/([^:]\/)\/+/g, "$1").replace(/\/\//g, "/").replace("http:/", "http://").replace("https:/", "https://");
584
- return singleForwardSlashes;
585
- }
586
-
587
- // src/lib/qti-components/qti-feedback/qti-feedback.ts
588
- var QtiFeedback = class extends LitElement5 {
589
- connectedCallback() {
590
- super.connectedCallback();
591
- this.dispatchEvent(
592
- new CustomEvent("qti-register-feedback", {
593
- bubbles: true,
594
- composed: true,
595
- detail: this
596
- })
597
- );
598
- }
599
- checkShowFeedback(outcomeIdentifier) {
600
- const outcomeVariable = this._context.variables.find((v) => v.identifier === outcomeIdentifier) || null;
601
- if (this.outcomeIdentifier !== outcomeIdentifier || !outcomeVariable) return;
602
- let isFound = false;
603
- if (Array.isArray(outcomeVariable.value)) {
604
- isFound = outcomeVariable.value.includes(this.identifier);
605
- } else {
606
- isFound = !IsNullOrUndefined(this.identifier) && !IsNullOrUndefined(outcomeVariable?.value) && this.identifier === outcomeVariable.value || false;
607
- }
608
- this.showFeedback(isFound);
609
- }
610
- showFeedback(value) {
611
- this.showStatus = value && this.showHide === "show" || !value && this.showHide === "hide" ? "on" : "off";
612
- }
613
- };
614
- __decorateClass([
615
- property3({ type: String, attribute: "show-hide" })
616
- ], QtiFeedback.prototype, "showHide", 2);
617
- __decorateClass([
618
- property3({ type: String, attribute: "outcome-identifier" })
619
- ], QtiFeedback.prototype, "outcomeIdentifier", 2);
620
- __decorateClass([
621
- property3({ type: String })
622
- ], QtiFeedback.prototype, "identifier", 2);
623
- __decorateClass([
624
- property3({ type: String, attribute: false })
625
- ], QtiFeedback.prototype, "showStatus", 2);
626
- __decorateClass([
627
- consume2({ context: itemContext, subscribe: true }),
628
- state2()
629
- ], QtiFeedback.prototype, "_context", 2);
630
-
631
- // src/lib/qti-components/qti-feedback/qti-feedback-block/qti-feedback-block.ts
632
594
  var QtiFeedbackBlock = class extends QtiFeedback {
633
595
  render() {
634
596
  return html3` <slot part="feedback" class="feedback ${this.showStatus}"></slot> `;
@@ -679,97 +641,10 @@ QtiFeedbackInline = __decorateClass([
679
641
  customElement6("qti-feedback-inline")
680
642
  ], QtiFeedbackInline);
681
643
 
682
- // src/lib/qti-components/qti-feedback/qti-modal-feedback/qti-modal-feedback.ts
683
- import { css as css3, html as html5 } from "lit";
684
- import { customElement as customElement7 } from "lit/decorators.js";
685
- var QtiModalFeedback = class extends QtiFeedback {
686
- render() {
687
- return html5`
688
- <dialog class="qti-dialog" part="feedback" ?open="${this.showStatus === "on"}">
689
- <slot></slot>
690
- <div style="margin-top: var(--qti-gap-size); text-align: center;">
691
- <button class="button close-button" @click="${this.closeFeedback}">Close</button>
692
- </div>
693
- </dialog>
694
- `;
695
- }
696
- openFeedback() {
697
- const dialog = this.shadowRoot?.querySelector("dialog");
698
- if (dialog && !dialog.open) {
699
- dialog.showModal();
700
- }
701
- }
702
- closeFeedback() {
703
- const dialog = this.shadowRoot?.querySelector("dialog");
704
- if (dialog && dialog.open) {
705
- dialog.close();
706
- this.showStatus = "off";
707
- }
708
- }
709
- connectedCallback() {
710
- super.connectedCallback();
711
- if (this.showStatus === "on") {
712
- this.openFeedback();
713
- }
714
- }
715
- updated(changedProperties) {
716
- if (changedProperties.has("showStatus")) {
717
- if (this.showStatus === "on") {
718
- this.openFeedback();
719
- } else {
720
- this.closeFeedback();
721
- }
722
- }
723
- }
724
- };
725
- QtiModalFeedback.styles = css3`
726
- .qti-dialog {
727
- background: var(--qti-bg);
728
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
729
- border-radius: var(--qti-border-radius);
730
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
731
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
732
- position: fixed;
733
- top: 50%;
734
- left: 50%;
735
- transform: translate(-50%, -50%);
736
- z-index: 1000;
737
- width: auto;
738
- max-width: 90%;
739
- }
740
-
741
- .button {
742
- border-radius: var(--qti-border-radius);
743
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
744
- background-color: var(--qti-bg-active);
745
- border: var(--qti-border-active);
746
- cursor: pointer;
747
- position: relative;
748
- display: inline-block;
749
- }
750
-
751
- .button:hover {
752
- background-color: var(--qti-hover-bg);
753
- }
754
-
755
- .button:disabled {
756
- background-color: var(--qti-disabled-bg);
757
- color: var(--qti-disabled-color);
758
- cursor: not-allowed;
759
- }
760
-
761
- .button:focus {
762
- outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
763
- }
764
- `;
765
- QtiModalFeedback = __decorateClass([
766
- customElement7("qti-modal-feedback")
767
- ], QtiModalFeedback);
768
-
769
644
  // src/lib/qti-components/qti-interaction/qti-associable-hotspot.ts
770
- import { LitElement as LitElement6, css as css4, html as html6 } from "lit";
771
- import { customElement as customElement8 } from "lit/decorators.js";
772
- var QtiAssociableHotspot = class extends LitElement6 {
645
+ import { LitElement as LitElement5, css as css3, html as html5 } from "lit";
646
+ import { customElement as customElement7 } from "lit/decorators.js";
647
+ var QtiAssociableHotspot = class extends LitElement5 {
773
648
  connectedCallback() {
774
649
  super.connectedCallback();
775
650
  this.dispatchEvent(
@@ -781,10 +656,10 @@ var QtiAssociableHotspot = class extends LitElement6 {
781
656
  );
782
657
  }
783
658
  render() {
784
- return html6` <slot name="drags"></slot> `;
659
+ return html5` <slot name="drags"></slot> `;
785
660
  }
786
661
  };
787
- QtiAssociableHotspot.styles = css4`
662
+ QtiAssociableHotspot.styles = css3`
788
663
  :host {
789
664
  display: flex;
790
665
  user-select: none;
@@ -792,15 +667,15 @@ QtiAssociableHotspot.styles = css4`
792
667
  }
793
668
  `;
794
669
  QtiAssociableHotspot = __decorateClass([
795
- customElement8("qti-associable-hotspot")
670
+ customElement7("qti-associable-hotspot")
796
671
  ], QtiAssociableHotspot);
797
672
 
798
673
  // src/lib/qti-components/qti-interaction/qti-associate-interaction/qti-associate-interaction.ts
799
- import { html as html7 } from "lit";
800
- import { customElement as customElement9, state as state3 } from "lit/decorators.js";
674
+ import { html as html6 } from "lit";
675
+ import { customElement as customElement8, state as state3 } from "lit/decorators.js";
801
676
 
802
677
  // src/lib/qti-components/qti-interaction/internal/drag-drop/drag-drop-interaction-mixin.ts
803
- import { property as property4 } from "lit/decorators.js";
678
+ import { property as property3 } from "lit/decorators.js";
804
679
 
805
680
  // src/lib/qti-components/qti-interaction/internal/drag-drop/flippables-mixin.ts
806
681
  var FlippablesMixin = (superClass, _droppablesSel, _draggablesSel) => {
@@ -1575,13 +1450,13 @@ var DragDropInteractionMixin = (superClass, draggablesSelector, droppablesSelect
1575
1450
  }
1576
1451
  }
1577
1452
  __decorateClass([
1578
- property4({ attribute: false, type: Object })
1453
+ property3({ attribute: false, type: Object })
1579
1454
  ], DragDropInteractionElement.prototype, "configuration", 2);
1580
1455
  __decorateClass([
1581
- property4({ type: Number, reflect: true, attribute: "min-associations" })
1456
+ property3({ type: Number, reflect: true, attribute: "min-associations" })
1582
1457
  ], DragDropInteractionElement.prototype, "minAssociations", 2);
1583
1458
  __decorateClass([
1584
- property4({ type: Number, reflect: true, attribute: "max-associations" })
1459
+ property3({ type: Number, reflect: true, attribute: "max-associations" })
1585
1460
  ], DragDropInteractionElement.prototype, "maxAssociations", 2);
1586
1461
  __decorateClass([
1587
1462
  liveQuery(dragContainersSelector)
@@ -1596,8 +1471,8 @@ var DragDropInteractionMixin = (superClass, draggablesSelector, droppablesSelect
1596
1471
  };
1597
1472
 
1598
1473
  // src/lib/qti-components/qti-interaction/qti-associate-interaction/qti-associate-interaction.styles.ts
1599
- import { css as css5 } from "lit";
1600
- var qti_associate_interaction_styles_default = css5`
1474
+ import { css as css4 } from "lit";
1475
+ var qti_associate_interaction_styles_default = css4`
1601
1476
  :host {
1602
1477
  display: block; /* necessary to calculate scaling position */
1603
1478
  }
@@ -1624,6 +1499,193 @@ var qti_associate_interaction_styles_default = css5`
1624
1499
  }
1625
1500
  `;
1626
1501
 
1502
+ // src/lib/exports/interaction.ts
1503
+ import { property as property4, state as state2 } from "lit/decorators.js";
1504
+ import { LitElement as LitElement6 } from "lit";
1505
+ import { consume as consume2 } from "@lit/context";
1506
+ var Interaction = class extends LitElement6 {
1507
+ constructor() {
1508
+ super();
1509
+ this.disabled = false;
1510
+ this.readonly = false;
1511
+ this._internals = this.attachInternals();
1512
+ }
1513
+ static {
1514
+ this.formAssociated = true;
1515
+ }
1516
+ get internals() {
1517
+ return this._internals;
1518
+ }
1519
+ get isFullCorrectResponse() {
1520
+ return this._isFullCorrectResponse;
1521
+ }
1522
+ set isFullCorrectResponse(val) {
1523
+ this._isFullCorrectResponse = val;
1524
+ if (val) {
1525
+ this.disabled = true;
1526
+ this.setAttribute("response-identifier", this.responseIdentifier + "_cr");
1527
+ }
1528
+ }
1529
+ get correctResponse() {
1530
+ return this._correctResponse;
1531
+ }
1532
+ set correctResponse(val) {
1533
+ this._correctResponse = val;
1534
+ }
1535
+ get correctness() {
1536
+ const responseVariable = this.responseVariable;
1537
+ if (!responseVariable || responseVariable.correctResponse === null) return null;
1538
+ return responseVariable.correctResponse === responseVariable.value ? "correct" /* Correct */ : "incorrect" /* Incorrect */;
1539
+ }
1540
+ get isInline() {
1541
+ return false;
1542
+ }
1543
+ get responseVariable() {
1544
+ const responseVariables = this._context.variables.filter((v) => v.type === "response");
1545
+ const responseIdentifier = this.getAttribute("response-identifier");
1546
+ return responseVariables.find((v) => v.identifier === responseIdentifier);
1547
+ }
1548
+ toggleCorrectResponse(show) {
1549
+ const correctResponseMode = this?.configContext?.correctResponseMode || "internal";
1550
+ if (correctResponseMode === "full") {
1551
+ this.toggleFullCorrectResponse(show);
1552
+ } else {
1553
+ this.toggleInternalCorrectResponse(show);
1554
+ }
1555
+ }
1556
+ async toggleFullCorrectResponse(show) {
1557
+ const nextSibling = this.nextSibling;
1558
+ const nextSiblingIsFullCorrectResponse = nextSibling instanceof HTMLDivElement && nextSibling?.classList.contains("full-correct-response");
1559
+ const responseVariable = this.responseVariable;
1560
+ if (!responseVariable) {
1561
+ return;
1562
+ }
1563
+ if (!show || this.correctness === "correct" /* Correct */) {
1564
+ if (!nextSiblingIsFullCorrectResponse) {
1565
+ return;
1566
+ }
1567
+ this.parentElement?.removeChild(nextSibling);
1568
+ }
1569
+ if (nextSiblingIsFullCorrectResponse) {
1570
+ return;
1571
+ }
1572
+ if (this.correctness === "correct" /* Correct */) {
1573
+ return;
1574
+ }
1575
+ const clone = this.cloneNode(true);
1576
+ const containerDiv = document.createElement("div");
1577
+ containerDiv.classList.add("full-correct-response");
1578
+ if (this.isInline) {
1579
+ containerDiv.classList.add("full-correct-response-inline");
1580
+ } else {
1581
+ containerDiv.classList.add("full-correct-response-block");
1582
+ }
1583
+ containerDiv.role = "full-correct-response";
1584
+ containerDiv.appendChild(clone);
1585
+ clone.isFullCorrectResponse = true;
1586
+ this.parentElement?.insertBefore(containerDiv, this.nextSibling);
1587
+ await clone.updateComplete;
1588
+ clone.response = Array.isArray(responseVariable.correctResponse) ? [...responseVariable.correctResponse] : responseVariable.correctResponse;
1589
+ }
1590
+ toggleInternalCorrectResponse(show) {
1591
+ const responseVariable = this.responseVariable;
1592
+ this.correctResponse = show ? responseVariable?.correctResponse : responseVariable?.cardinality === "single" ? "" : [];
1593
+ }
1594
+ toggleCandidateCorrection(show) {
1595
+ const responseVariable = this.responseVariable;
1596
+ if (!responseVariable) return;
1597
+ this._internals.states.delete("candidate-correct");
1598
+ this._internals.states.delete("candidate-partially-correct");
1599
+ this._internals.states.delete("candidate-incorrect");
1600
+ if (!show) {
1601
+ return;
1602
+ }
1603
+ if (this.correctness === "correct" /* Correct */) {
1604
+ this._internals.states.add("candidate-correct");
1605
+ }
1606
+ if (this.correctness === "partially-correct" /* PartiallyCorrect */) {
1607
+ this._internals.states.add("candidate-partially-correct");
1608
+ }
1609
+ if (this.correctness === "incorrect" /* Incorrect */) {
1610
+ this._internals.states.add("candidate-incorrect");
1611
+ }
1612
+ }
1613
+ get value() {
1614
+ return JSON.stringify(this.response);
1615
+ }
1616
+ set value(val) {
1617
+ this.response = val ? JSON.parse(val) : null;
1618
+ }
1619
+ reportValidity() {
1620
+ return this._internals.reportValidity();
1621
+ }
1622
+ reset() {
1623
+ this.response = null;
1624
+ }
1625
+ // attributeChangedCallback(name: string, _old: string | null, value: string | null): void {
1626
+ // super.attributeChangedCallback(name, _old, value);
1627
+ // // changing attributes in lit is not a thing, they are defined in the QTI XML and will never change
1628
+ // // except in storybook where we can change the value of the attribute
1629
+ // // this can make the internal state out of sync with the attribute
1630
+ // // so we reset the value to null to force the internal state to be reset
1631
+ // const attributeNamesToExclude = ['style', 'class'];
1632
+ // if (!attributeNamesToExclude.includes(name)) {
1633
+ // this.reset();
1634
+ // }
1635
+ // }
1636
+ connectedCallback() {
1637
+ super.connectedCallback();
1638
+ if (this.isFullCorrectResponse) {
1639
+ return;
1640
+ }
1641
+ this.dispatchEvent(
1642
+ new CustomEvent("qti-register-interaction", {
1643
+ bubbles: true,
1644
+ composed: true,
1645
+ cancelable: false,
1646
+ detail: {
1647
+ interactionElement: this,
1648
+ responseIdentifier: this.responseIdentifier
1649
+ }
1650
+ })
1651
+ );
1652
+ }
1653
+ saveResponse(value) {
1654
+ this.dispatchEvent(
1655
+ new CustomEvent("qti-interaction-response", {
1656
+ bubbles: true,
1657
+ composed: true,
1658
+ cancelable: false,
1659
+ detail: {
1660
+ responseIdentifier: this.responseIdentifier,
1661
+ response: Array.isArray(value) ? [...value] : value
1662
+ }
1663
+ })
1664
+ );
1665
+ }
1666
+ };
1667
+ __decorateClass([
1668
+ consume2({ context: itemContext, subscribe: true })
1669
+ ], Interaction.prototype, "_context", 2);
1670
+ __decorateClass([
1671
+ consume2({ context: configContext, subscribe: true })
1672
+ ], Interaction.prototype, "configContext", 2);
1673
+ __decorateClass([
1674
+ property4({ type: String, attribute: "response-identifier" })
1675
+ ], Interaction.prototype, "responseIdentifier", 2);
1676
+ __decorateClass([
1677
+ property4({ reflect: true, type: Boolean })
1678
+ ], Interaction.prototype, "disabled", 2);
1679
+ __decorateClass([
1680
+ property4({ reflect: true, type: Boolean })
1681
+ ], Interaction.prototype, "readonly", 2);
1682
+ __decorateClass([
1683
+ state2()
1684
+ ], Interaction.prototype, "_isFullCorrectResponse", 2);
1685
+ __decorateClass([
1686
+ state2()
1687
+ ], Interaction.prototype, "_correctResponse", 2);
1688
+
1627
1689
  // src/lib/qti-components/qti-interaction/qti-associate-interaction/qti-associate-interaction.ts
1628
1690
  var QtiAssociateInteraction = class extends DragDropInteractionMixin(
1629
1691
  Interaction,
@@ -1642,11 +1704,11 @@ var QtiAssociateInteraction = class extends DragDropInteractionMixin(
1642
1704
  this._childrenMap.push(choice);
1643
1705
  }
1644
1706
  render() {
1645
- return html7` <slot name="prompt"></slot>
1707
+ return html6` <slot name="prompt"></slot>
1646
1708
  <slot name="qti-simple-associable-choice"></slot>
1647
1709
  <div part="drop-container">
1648
1710
  ${this._childrenMap.length > 0 && Array.from(Array(Math.ceil(this._childrenMap.length / 2)).keys()).map(
1649
- (_, index) => html7`<div part="associables-container">
1711
+ (_, index) => html6`<div part="associables-container">
1650
1712
  <div name="left${index}" part="drop-list" class="dl" identifier="droplist${index}_left"></div>
1651
1713
  <div name="right${index}" part="drop-list" class="dl" identifier="droplist${index}_right"></div>
1652
1714
  </div>`
@@ -1665,12 +1727,12 @@ __decorateClass([
1665
1727
  state3()
1666
1728
  ], QtiAssociateInteraction.prototype, "_childrenMap", 2);
1667
1729
  QtiAssociateInteraction = __decorateClass([
1668
- customElement9("qti-associate-interaction")
1730
+ customElement8("qti-associate-interaction")
1669
1731
  ], QtiAssociateInteraction);
1670
1732
 
1671
1733
  // src/lib/qti-components/qti-interaction/qti-choice-interaction/qti-choice-interaction.ts
1672
- import { html as html8 } from "lit";
1673
- import { customElement as customElement10, property as property7 } from "lit/decorators.js";
1734
+ import { html as html7 } from "lit";
1735
+ import { customElement as customElement9, property as property7 } from "lit/decorators.js";
1674
1736
 
1675
1737
  // src/lib/qti-components/qti-interaction/internal/choices/choices.mixin.ts
1676
1738
  import { property as property5, query, state as state4 } from "lit/decorators.js";
@@ -1988,8 +2050,8 @@ var VocabularyMixin = (superClass, _selector) => {
1988
2050
  };
1989
2051
 
1990
2052
  // src/lib/qti-components/qti-interaction/qti-choice-interaction/qti-choice-interaction.styles.ts
1991
- import { css as css6 } from "lit";
1992
- var qti_choice_interaction_styles_default = css6`
2053
+ import { css as css5 } from "lit";
2054
+ var qti_choice_interaction_styles_default = css5`
1993
2055
  :host {
1994
2056
  display: block;
1995
2057
  }
@@ -2072,7 +2134,7 @@ var QtiChoiceInteraction = class extends VocabularyMixin(ChoicesMixin(Interactio
2072
2134
  this.style.setProperty("--item-count", choices.length.toString());
2073
2135
  }
2074
2136
  render() {
2075
- return html8`
2137
+ return html7`
2076
2138
  <slot part="prompt" name="prompt"></slot>
2077
2139
  <slot part="slot" @slotchange=${this._handleSlotChange}></slot>
2078
2140
  <div part="message" role="alert" id="validation-message"></div>
@@ -2084,12 +2146,12 @@ __decorateClass([
2084
2146
  property7({ type: String })
2085
2147
  ], QtiChoiceInteraction.prototype, "orientation", 2);
2086
2148
  QtiChoiceInteraction = __decorateClass([
2087
- customElement10("qti-choice-interaction")
2149
+ customElement9("qti-choice-interaction")
2088
2150
  ], QtiChoiceInteraction);
2089
2151
 
2090
2152
  // src/lib/qti-components/qti-interaction/qti-custom-interaction/qti-custom-interaction.ts
2091
- import { html as html9 } from "lit";
2092
- import { customElement as customElement11, property as property8, state as state5 } from "lit/decorators.js";
2153
+ import { html as html8 } from "lit";
2154
+ import { customElement as customElement10, property as property8, state as state5 } from "lit/decorators.js";
2093
2155
  var QtiCustomInteraction = class extends Interaction {
2094
2156
  constructor() {
2095
2157
  super();
@@ -2265,7 +2327,7 @@ var QtiCustomInteraction = class extends Interaction {
2265
2327
  super.disconnectedCallback();
2266
2328
  }
2267
2329
  render() {
2268
- return html9`<iframe
2330
+ return html8`<iframe
2269
2331
  width=${this.getAttribute("width")}
2270
2332
  height=${this.getAttribute("height")}
2271
2333
  frameborder="0"
@@ -2273,7 +2335,7 @@ var QtiCustomInteraction = class extends Interaction {
2273
2335
  id="pciContainer"
2274
2336
  >
2275
2337
  </iframe>
2276
- ${this._errorMessage && html9`<div style="color:red">
2338
+ ${this._errorMessage && html8`<div style="color:red">
2277
2339
  <h1>Error</h1>
2278
2340
  ${this._errorMessage}
2279
2341
  </div>`}`;
@@ -2295,12 +2357,12 @@ __decorateClass([
2295
2357
  state5()
2296
2358
  ], QtiCustomInteraction.prototype, "_errorMessage", 2);
2297
2359
  QtiCustomInteraction = __decorateClass([
2298
- customElement11("qti-custom-interaction")
2360
+ customElement10("qti-custom-interaction")
2299
2361
  ], QtiCustomInteraction);
2300
2362
 
2301
2363
  // src/lib/qti-components/qti-interaction/qti-end-attempt-interaction/qti-end-attempt-interaction.ts
2302
- import { html as html10, LitElement as LitElement7 } from "lit";
2303
- import { customElement as customElement12, property as property9 } from "lit/decorators.js";
2364
+ import { html as html9, LitElement as LitElement7 } from "lit";
2365
+ import { customElement as customElement11, property as property9 } from "lit/decorators.js";
2304
2366
  var QtiEndAttemptInteraction = class extends LitElement7 {
2305
2367
  constructor() {
2306
2368
  super(...arguments);
@@ -2309,7 +2371,7 @@ var QtiEndAttemptInteraction = class extends LitElement7 {
2309
2371
  this.title = "end attempt";
2310
2372
  }
2311
2373
  render() {
2312
- return html10`<button ?disabled=${this.disabled} part="button" @click=${this.endAttempt}>${this.title}</button>`;
2374
+ return html9`<button ?disabled=${this.disabled} part="button" @click=${this.endAttempt}>${this.title}</button>`;
2313
2375
  }
2314
2376
  endAttempt(_) {
2315
2377
  this.dispatchEvent(
@@ -2334,17 +2396,17 @@ __decorateClass([
2334
2396
  property9({ type: String })
2335
2397
  ], QtiEndAttemptInteraction.prototype, "title", 2);
2336
2398
  QtiEndAttemptInteraction = __decorateClass([
2337
- customElement12("qti-end-attempt-interaction")
2399
+ customElement11("qti-end-attempt-interaction")
2338
2400
  ], QtiEndAttemptInteraction);
2339
2401
 
2340
2402
  // src/lib/qti-components/qti-interaction/qti-extended-text-interaction/qti-extended-text-interaction.ts
2341
- import { html as html11 } from "lit";
2403
+ import { html as html10 } from "lit";
2342
2404
  import { ifDefined as ifDefined2 } from "lit/directives/if-defined.js";
2343
- import { customElement as customElement13, property as property10, state as state6 } from "lit/decorators.js";
2405
+ import { customElement as customElement12, property as property10, state as state6 } from "lit/decorators.js";
2344
2406
 
2345
2407
  // src/lib/qti-components/qti-interaction/qti-extended-text-interaction/qti-extended-text-interaction.styles.ts
2346
- import { css as css7 } from "lit";
2347
- var qti_extended_text_interaction_styles_default = css7`
2408
+ import { css as css6 } from "lit";
2409
+ var qti_extended_text_interaction_styles_default = css6`
2348
2410
  /* PK: display host as block, else design will be collapsed */
2349
2411
  :host {
2350
2412
  display: block;
@@ -2420,7 +2482,7 @@ var QtiExtendedTextInteraction = class extends Interaction {
2420
2482
  return isValid;
2421
2483
  }
2422
2484
  render() {
2423
- return html11`<slot name="prompt"></slot
2485
+ return html10`<slot name="prompt"></slot
2424
2486
  ><textarea
2425
2487
  part="textarea"
2426
2488
  name="${this.responseIdentifier}"
@@ -2482,12 +2544,12 @@ __decorateClass([
2482
2544
  watch("response", { waitUntilFirstUpdate: true })
2483
2545
  ], QtiExtendedTextInteraction.prototype, "_handleResponseChange", 2);
2484
2546
  QtiExtendedTextInteraction = __decorateClass([
2485
- customElement13("qti-extended-text-interaction")
2547
+ customElement12("qti-extended-text-interaction")
2486
2548
  ], QtiExtendedTextInteraction);
2487
2549
 
2488
2550
  // src/lib/qti-components/qti-interaction/qti-gap-img.ts
2489
- import { css as css8, LitElement as LitElement8 } from "lit";
2490
- import { customElement as customElement14, property as property11 } from "lit/decorators.js";
2551
+ import { css as css7, LitElement as LitElement8 } from "lit";
2552
+ import { customElement as customElement13, property as property11 } from "lit/decorators.js";
2491
2553
  var QtiGapImg = class extends LitElement8 {
2492
2554
  constructor() {
2493
2555
  super(...arguments);
@@ -2497,7 +2559,7 @@ var QtiGapImg = class extends LitElement8 {
2497
2559
  this.setAttribute("slot", "drags");
2498
2560
  }
2499
2561
  };
2500
- QtiGapImg.styles = css8`
2562
+ QtiGapImg.styles = css7`
2501
2563
  :host {
2502
2564
  display: flex;
2503
2565
  user-select: none;
@@ -2507,16 +2569,16 @@ __decorateClass([
2507
2569
  property11({ type: Number, reflect: true })
2508
2570
  ], QtiGapImg.prototype, "tabindex", 2);
2509
2571
  QtiGapImg = __decorateClass([
2510
- customElement14("qti-gap-img")
2572
+ customElement13("qti-gap-img")
2511
2573
  ], QtiGapImg);
2512
2574
 
2513
2575
  // src/lib/qti-components/qti-interaction/qti-gap-match-interaction/qti-gap-match-interaction.ts
2514
- import { html as html12 } from "lit";
2515
- import { customElement as customElement15 } from "lit/decorators.js";
2576
+ import { html as html11 } from "lit";
2577
+ import { customElement as customElement14 } from "lit/decorators.js";
2516
2578
 
2517
2579
  // src/lib/qti-components/qti-interaction/qti-gap-match-interaction/qti-gap-match-interaction.styles.ts
2518
- import { css as css9 } from "lit";
2519
- var qti_gap_match_interaction_styles_default = css9`
2580
+ import { css as css8 } from "lit";
2581
+ var qti_gap_match_interaction_styles_default = css8`
2520
2582
  :host {
2521
2583
  display: flex;
2522
2584
  align-items: flex-start;
@@ -2560,7 +2622,7 @@ var QtiGapMatchInteraction = class extends DragDropInteractionMixin(
2560
2622
  `slot[part='drags']`
2561
2623
  ) {
2562
2624
  render() {
2563
- return html12`<slot name="prompt"> </slot>
2625
+ return html11`<slot name="prompt"> </slot>
2564
2626
  <slot part="drags" name="drags"></slot>
2565
2627
  <slot part="drops"></slot>
2566
2628
  <div role="alert" part="message" id="validation-message"></div>`;
@@ -2606,15 +2668,15 @@ var QtiGapMatchInteraction = class extends DragDropInteractionMixin(
2606
2668
  };
2607
2669
  QtiGapMatchInteraction.styles = qti_gap_match_interaction_styles_default;
2608
2670
  QtiGapMatchInteraction = __decorateClass([
2609
- customElement15("qti-gap-match-interaction")
2671
+ customElement14("qti-gap-match-interaction")
2610
2672
  ], QtiGapMatchInteraction);
2611
2673
 
2612
2674
  // src/lib/qti-components/qti-interaction/qti-gap-text.ts
2613
- import { css as css10, html as html14, LitElement as LitElement9 } from "lit";
2614
- import { customElement as customElement16, property as property13 } from "lit/decorators.js";
2675
+ import { css as css9, html as html13, LitElement as LitElement9 } from "lit";
2676
+ import { customElement as customElement15, property as property13 } from "lit/decorators.js";
2615
2677
 
2616
2678
  // src/lib/qti-components/qti-interaction/internal/active-element/active-element.mixin.ts
2617
- import { html as html13 } from "lit";
2679
+ import { html as html12 } from "lit";
2618
2680
  import { property as property12 } from "lit/decorators.js";
2619
2681
  var ariaBooleanConverter = {
2620
2682
  toAttribute: (value) => value ? "true" : "false",
@@ -2681,7 +2743,7 @@ function ActiveElementMixin(Base, type) {
2681
2743
  );
2682
2744
  }
2683
2745
  render() {
2684
- return html13`<slot></slot>`;
2746
+ return html12`<slot></slot>`;
2685
2747
  }
2686
2748
  }
2687
2749
  __decorateClass([
@@ -2723,10 +2785,10 @@ var QtiGapText = class extends ActiveElementMixin(LitElement9, "qti-gap-text") {
2723
2785
  this.setAttribute("slot", "drags");
2724
2786
  }
2725
2787
  render() {
2726
- return html14`<slot></slot>`;
2788
+ return html13`<slot></slot>`;
2727
2789
  }
2728
2790
  };
2729
- QtiGapText.styles = css10`
2791
+ QtiGapText.styles = css9`
2730
2792
  :host {
2731
2793
  display: inline-flex;
2732
2794
  user-select: none;
@@ -2736,22 +2798,22 @@ __decorateClass([
2736
2798
  property13({ type: Number, reflect: true })
2737
2799
  ], QtiGapText.prototype, "tabindex", 2);
2738
2800
  QtiGapText = __decorateClass([
2739
- customElement16("qti-gap-text")
2801
+ customElement15("qti-gap-text")
2740
2802
  ], QtiGapText);
2741
2803
 
2742
2804
  // src/lib/qti-components/qti-interaction/qti-gap.ts
2743
- import { css as css11, html as html15, LitElement as LitElement10 } from "lit";
2744
- import { customElement as customElement17, property as property14 } from "lit/decorators.js";
2805
+ import { css as css10, html as html14, LitElement as LitElement10 } from "lit";
2806
+ import { customElement as customElement16, property as property14 } from "lit/decorators.js";
2745
2807
  var QtiGap = class extends LitElement10 {
2746
2808
  constructor() {
2747
2809
  super(...arguments);
2748
2810
  this.tabindex = 0;
2749
2811
  }
2750
2812
  render() {
2751
- return html15` <slot name="drags"></slot>`;
2813
+ return html14` <slot name="drags"></slot>`;
2752
2814
  }
2753
2815
  };
2754
- QtiGap.styles = css11`
2816
+ QtiGap.styles = css10`
2755
2817
  :host {
2756
2818
  display: flex;
2757
2819
  user-select: none;
@@ -2761,12 +2823,12 @@ __decorateClass([
2761
2823
  property14({ type: Number, reflect: true })
2762
2824
  ], QtiGap.prototype, "tabindex", 2);
2763
2825
  QtiGap = __decorateClass([
2764
- customElement17("qti-gap")
2826
+ customElement16("qti-gap")
2765
2827
  ], QtiGap);
2766
2828
 
2767
2829
  // src/lib/qti-components/qti-interaction/qti-graphic-associate-interaction/qti-graphic-associate-interaction.ts
2768
- import { html as html16, svg } from "lit";
2769
- import { customElement as customElement18, queryAssignedElements, state as state7 } from "lit/decorators.js";
2830
+ import { html as html15, svg } from "lit";
2831
+ import { customElement as customElement17, queryAssignedElements, state as state7 } from "lit/decorators.js";
2770
2832
  import { ifDefined as ifDefined3 } from "lit/directives/if-defined.js";
2771
2833
  import { repeat } from "lit/directives/repeat.js";
2772
2834
 
@@ -2865,8 +2927,8 @@ function positionShapes(shape, coordsNumber, img, hotspot) {
2865
2927
  }
2866
2928
 
2867
2929
  // src/lib/qti-components/qti-interaction/qti-graphic-associate-interaction/qti-graphic-associate-interaction.styles.ts
2868
- import { css as css12 } from "lit";
2869
- var qti_graphic_associate_interaction_styles_default = css12`
2930
+ import { css as css11 } from "lit";
2931
+ var qti_graphic_associate_interaction_styles_default = css11`
2870
2932
  slot:not([name='prompt']) {
2871
2933
  // position: relative; /* qti-hotspot-choice relative to the slot */
2872
2934
  display: block;
@@ -2929,7 +2991,7 @@ var QtiGraphicAssociateInteraction = class extends Interaction {
2929
2991
  this._correctLines = correctResponses;
2930
2992
  }
2931
2993
  render() {
2932
- return html16`<slot name="prompt"></slot>
2994
+ return html15`<slot name="prompt"></slot>
2933
2995
  <line-container>
2934
2996
  <svg
2935
2997
  width=${ifDefined3(this.grImage[0]?.width)}
@@ -3052,16 +3114,16 @@ __decorateClass([
3052
3114
  state7()
3053
3115
  ], QtiGraphicAssociateInteraction.prototype, "_response", 2);
3054
3116
  QtiGraphicAssociateInteraction = __decorateClass([
3055
- customElement18("qti-graphic-associate-interaction")
3117
+ customElement17("qti-graphic-associate-interaction")
3056
3118
  ], QtiGraphicAssociateInteraction);
3057
3119
 
3058
3120
  // src/lib/qti-components/qti-interaction/qti-graphic-gap-match-interaction/qti-graphic-gap-match-interaction.ts
3059
- import { html as html17 } from "lit";
3060
- import { customElement as customElement19 } from "lit/decorators.js";
3121
+ import { html as html16 } from "lit";
3122
+ import { customElement as customElement18 } from "lit/decorators.js";
3061
3123
 
3062
3124
  // src/lib/qti-components/qti-interaction/qti-graphic-gap-match-interaction/qti-graphic-gap-match-interaction.styles.ts
3063
- import { css as css13 } from "lit";
3064
- var qti_graphic_gap_match_interaction_styles_default = css13`
3125
+ import { css as css12 } from "lit";
3126
+ var qti_graphic_gap_match_interaction_styles_default = css12`
3065
3127
  :host {
3066
3128
  display: flex;
3067
3129
  align-items: flex-start;
@@ -3125,7 +3187,7 @@ var QtiGraphicGapMatchInteraction = class extends DragDropInteractionMixin(
3125
3187
  `slot[part='drags']`
3126
3188
  ) {
3127
3189
  render() {
3128
- return html17` <slot name="prompt"></slot>
3190
+ return html16` <slot name="prompt"></slot>
3129
3191
  <slot part="image"></slot>
3130
3192
  <slot part="drags" name="drags" class="hover-border"></slot>
3131
3193
  <div role="alert" part="message" id="validation-message"></div>`;
@@ -3168,16 +3230,16 @@ var QtiGraphicGapMatchInteraction = class extends DragDropInteractionMixin(
3168
3230
  };
3169
3231
  QtiGraphicGapMatchInteraction.styles = qti_graphic_gap_match_interaction_styles_default;
3170
3232
  QtiGraphicGapMatchInteraction = __decorateClass([
3171
- customElement19("qti-graphic-gap-match-interaction")
3233
+ customElement18("qti-graphic-gap-match-interaction")
3172
3234
  ], QtiGraphicGapMatchInteraction);
3173
3235
 
3174
3236
  // src/lib/qti-components/qti-interaction/qti-graphic-order-interaction/qti-graphic-order-interaction.ts
3175
- import { html as html18 } from "lit";
3176
- import { customElement as customElement20 } from "lit/decorators.js";
3237
+ import { html as html17 } from "lit";
3238
+ import { customElement as customElement19 } from "lit/decorators.js";
3177
3239
 
3178
3240
  // src/lib/qti-components/qti-interaction/qti-graphic-order-interaction/qti-graphic-order-interaction.styles.ts
3179
- import { css as css14 } from "lit";
3180
- var qti_graphic_order_interaction_styles_default = css14`
3241
+ import { css as css13 } from "lit";
3242
+ var qti_graphic_order_interaction_styles_default = css13`
3181
3243
  slot:not([name='prompt']) {
3182
3244
  position: relative; /* qti-hotspot-choice relative to the slot */
3183
3245
  display: block;
@@ -3197,7 +3259,7 @@ var QtiGraphicOrderInteraction = class extends ChoicesMixin(Interaction, "qti-ho
3197
3259
  this._choiceElements = [];
3198
3260
  }
3199
3261
  render() {
3200
- return html18`
3262
+ return html17`
3201
3263
  <slot name="prompt"></slot>
3202
3264
  <slot></slot>
3203
3265
  <div role="alert" part="message" id="validation-message"></div>
@@ -3266,15 +3328,15 @@ var QtiGraphicOrderInteraction = class extends ChoicesMixin(Interaction, "qti-ho
3266
3328
  };
3267
3329
  QtiGraphicOrderInteraction.styles = qti_graphic_order_interaction_styles_default;
3268
3330
  QtiGraphicOrderInteraction = __decorateClass([
3269
- customElement20("qti-graphic-order-interaction")
3331
+ customElement19("qti-graphic-order-interaction")
3270
3332
  ], QtiGraphicOrderInteraction);
3271
3333
 
3272
3334
  // src/lib/qti-components/qti-interaction/qti-hotspot-choice.ts
3273
- import { css as css15, LitElement as LitElement11 } from "lit";
3274
- import { customElement as customElement21, property as property15 } from "lit/decorators.js";
3335
+ import { css as css14, LitElement as LitElement11 } from "lit";
3336
+ import { customElement as customElement20, property as property15 } from "lit/decorators.js";
3275
3337
  var QtiHotspotChoice = class extends ActiveElementMixin(LitElement11, "qti-hotspot-choice") {
3276
3338
  };
3277
- QtiHotspotChoice.styles = css15`
3339
+ QtiHotspotChoice.styles = css14`
3278
3340
  :host {
3279
3341
  display: flex;
3280
3342
  user-select: none;
@@ -3288,16 +3350,16 @@ __decorateClass([
3288
3350
  property15({ attribute: "aria-ordercorrectvalue", type: Number, reflect: true })
3289
3351
  ], QtiHotspotChoice.prototype, "orderCorrect", 2);
3290
3352
  QtiHotspotChoice = __decorateClass([
3291
- customElement21("qti-hotspot-choice")
3353
+ customElement20("qti-hotspot-choice")
3292
3354
  ], QtiHotspotChoice);
3293
3355
 
3294
3356
  // src/lib/qti-components/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.ts
3295
- import { html as html19 } from "lit";
3296
- import { customElement as customElement22 } from "lit/decorators.js";
3357
+ import { html as html18 } from "lit";
3358
+ import { customElement as customElement21 } from "lit/decorators.js";
3297
3359
 
3298
3360
  // src/lib/qti-components/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.styles.ts
3299
- import { css as css16 } from "lit";
3300
- var qti_hotspot_interaction_styles_default = css16`
3361
+ import { css as css15 } from "lit";
3362
+ var qti_hotspot_interaction_styles_default = css15`
3301
3363
  slot:not([name='prompt']) {
3302
3364
  position: relative; /* qti-hotspot-choice relative to the slot */
3303
3365
  display: block;
@@ -3314,7 +3376,7 @@ var qti_hotspot_interaction_styles_default = css16`
3314
3376
  // src/lib/qti-components/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.ts
3315
3377
  var QtiHotspotInteraction = class extends ChoicesMixin(Interaction, "qti-hotspot-choice") {
3316
3378
  render() {
3317
- return html19`
3379
+ return html18`
3318
3380
  <slot name="prompt"></slot>
3319
3381
  <slot></slot>
3320
3382
  `;
@@ -3338,17 +3400,17 @@ var QtiHotspotInteraction = class extends ChoicesMixin(Interaction, "qti-hotspot
3338
3400
  };
3339
3401
  QtiHotspotInteraction.styles = qti_hotspot_interaction_styles_default;
3340
3402
  QtiHotspotInteraction = __decorateClass([
3341
- customElement22("qti-hotspot-interaction")
3403
+ customElement21("qti-hotspot-interaction")
3342
3404
  ], QtiHotspotInteraction);
3343
3405
 
3344
3406
  // src/lib/qti-components/qti-interaction/qti-hottext-interaction/qti-hottext-interaction.ts
3345
- import { html as html20 } from "lit";
3346
- import { customElement as customElement23, property as property16 } from "lit/decorators.js";
3407
+ import { html as html19 } from "lit";
3408
+ import { customElement as customElement22, property as property16 } from "lit/decorators.js";
3347
3409
  var QtiHottextInteraction = class extends ChoicesMixin(Interaction, "qti-hottext") {
3348
3410
  constructor() {
3349
3411
  super(...arguments);
3350
3412
  this.class = "";
3351
- this.render = () => html20`<slot></slot>
3413
+ this.render = () => html19`<slot></slot>
3352
3414
  <div part="message" role="alert" id="validation-message"></div>`;
3353
3415
  }
3354
3416
  // NOTE: there is no way to get the variant with radiobuttons or checkboxes
@@ -3385,31 +3447,31 @@ __decorateClass([
3385
3447
  property16({ type: String, reflect: true })
3386
3448
  ], QtiHottextInteraction.prototype, "class", 2);
3387
3449
  QtiHottextInteraction = __decorateClass([
3388
- customElement23("qti-hottext-interaction")
3450
+ customElement22("qti-hottext-interaction")
3389
3451
  ], QtiHottextInteraction);
3390
3452
 
3391
3453
  // src/lib/qti-components/qti-interaction/qti-hottext.ts
3392
- import { css as css17, html as html21, LitElement as LitElement12 } from "lit";
3393
- import { customElement as customElement24 } from "lit/decorators.js";
3454
+ import { css as css16, html as html20, LitElement as LitElement12 } from "lit";
3455
+ import { customElement as customElement23 } from "lit/decorators.js";
3394
3456
  var QtiHottext = class extends ActiveElementMixin(LitElement12, "qti-hottext") {
3395
3457
  render() {
3396
- return html21`<div part="ch"><div part="cha"></div></div>
3458
+ return html20`<div part="ch"><div part="cha"></div></div>
3397
3459
  <slot></slot> `;
3398
3460
  }
3399
3461
  };
3400
- QtiHottext.styles = css17`
3462
+ QtiHottext.styles = css16`
3401
3463
  :host {
3402
3464
  display: flex;
3403
3465
  user-select: none;
3404
3466
  }
3405
3467
  `;
3406
3468
  QtiHottext = __decorateClass([
3407
- customElement24("qti-hottext")
3469
+ customElement23("qti-hottext")
3408
3470
  ], QtiHottext);
3409
3471
 
3410
3472
  // src/lib/qti-components/qti-interaction/qti-inline-choice-interaction/qti-inline-choice-interaction.ts
3411
- import { css as css18, html as html22 } from "lit";
3412
- import { customElement as customElement25, property as property17, state as state8 } from "lit/decorators.js";
3473
+ import { css as css17, html as html21 } from "lit";
3474
+ import { customElement as customElement24, property as property17, state as state8 } from "lit/decorators.js";
3413
3475
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
3414
3476
  import { consume as consume4 } from "@lit/context";
3415
3477
  var QtiInlineChoiceInteraction = class extends Interaction {
@@ -3424,7 +3486,7 @@ var QtiInlineChoiceInteraction = class extends Interaction {
3424
3486
  }
3425
3487
  static get styles() {
3426
3488
  return [
3427
- css18`
3489
+ css17`
3428
3490
  :host {
3429
3491
  display: inline-block;
3430
3492
  }
@@ -3450,10 +3512,10 @@ var QtiInlineChoiceInteraction = class extends Interaction {
3450
3512
  ];
3451
3513
  }
3452
3514
  render() {
3453
- return html22`
3515
+ return html21`
3454
3516
  <select part="select" @change="${this.choiceSelected}" ?disabled="${this.disabled}" ?readonly="${this.readonly}">
3455
3517
  ${this.options.map(
3456
- (option) => html22`
3518
+ (option) => html21`
3457
3519
  <option value="${option.value}" ?selected="${option.selected}">${unsafeHTML(option.textContent)}</option>
3458
3520
  `
3459
3521
  )}
@@ -3549,16 +3611,16 @@ __decorateClass([
3549
3611
  property17({ attribute: false })
3550
3612
  ], QtiInlineChoiceInteraction.prototype, "configContext", 2);
3551
3613
  QtiInlineChoiceInteraction = __decorateClass([
3552
- customElement25("qti-inline-choice-interaction")
3614
+ customElement24("qti-inline-choice-interaction")
3553
3615
  ], QtiInlineChoiceInteraction);
3554
3616
 
3555
3617
  // src/lib/qti-components/qti-interaction/qti-inline-choice.ts
3556
- import { css as css19, html as html23, LitElement as LitElement13 } from "lit";
3557
- import { customElement as customElement26, property as property18 } from "lit/decorators.js";
3618
+ import { css as css18, html as html22, LitElement as LitElement13 } from "lit";
3619
+ import { customElement as customElement25, property as property18 } from "lit/decorators.js";
3558
3620
  var QtiInlineChoice = class extends LitElement13 {
3559
3621
  static get styles() {
3560
3622
  return [
3561
- css19`
3623
+ css18`
3562
3624
  :host {
3563
3625
  display: block;
3564
3626
  cursor: pointer;
@@ -3581,7 +3643,7 @@ var QtiInlineChoice = class extends LitElement13 {
3581
3643
  this.removeEventListener("click", this._onSelectInlineChoice);
3582
3644
  }
3583
3645
  render() {
3584
- return html23` <slot></slot> `;
3646
+ return html22` <slot></slot> `;
3585
3647
  }
3586
3648
  _onSelectInlineChoice() {
3587
3649
  this.dispatchEvent(
@@ -3598,12 +3660,12 @@ __decorateClass([
3598
3660
  property18({ type: String })
3599
3661
  ], QtiInlineChoice.prototype, "identifier", 2);
3600
3662
  QtiInlineChoice = __decorateClass([
3601
- customElement26("qti-inline-choice")
3663
+ customElement25("qti-inline-choice")
3602
3664
  ], QtiInlineChoice);
3603
3665
 
3604
3666
  // src/lib/qti-components/qti-interaction/qti-simple-associable-choice.ts
3605
- import { css as css20, html as html24, LitElement as LitElement14 } from "lit";
3606
- import { customElement as customElement27, property as property19 } from "lit/decorators.js";
3667
+ import { css as css19, html as html23, LitElement as LitElement14 } from "lit";
3668
+ import { customElement as customElement26, property as property19 } from "lit/decorators.js";
3607
3669
  var QtiSimpleAssociableChoice = class extends ActiveElementMixin(LitElement14, "qti-simple-associable-choice") {
3608
3670
  constructor() {
3609
3671
  super(...arguments);
@@ -3624,13 +3686,13 @@ var QtiSimpleAssociableChoice = class extends ActiveElementMixin(LitElement14, "
3624
3686
  // So we have a slot for whenever another qti-simple-associable-choice is dropped in here.
3625
3687
  // And we have slot for content like in this associate interaction
3626
3688
  render() {
3627
- return html24`
3689
+ return html23`
3628
3690
  <slot part="slot"></slot>
3629
3691
  <slot part="dropslot" name="qti-simple-associable-choice"></slot>
3630
3692
  `;
3631
3693
  }
3632
3694
  };
3633
- QtiSimpleAssociableChoice.styles = css20`
3695
+ QtiSimpleAssociableChoice.styles = css19`
3634
3696
  :host {
3635
3697
  display: flex;
3636
3698
  user-select: none;
@@ -3666,17 +3728,17 @@ __decorateClass([
3666
3728
  })
3667
3729
  ], QtiSimpleAssociableChoice.prototype, "fixed", 2);
3668
3730
  QtiSimpleAssociableChoice = __decorateClass([
3669
- customElement27("qti-simple-associable-choice")
3731
+ customElement26("qti-simple-associable-choice")
3670
3732
  ], QtiSimpleAssociableChoice);
3671
3733
 
3672
3734
  // src/lib/qti-components/qti-interaction/qti-match-interaction/qti-match-interaction.ts
3673
- import { html as html25, nothing } from "lit";
3674
- import { customElement as customElement28, property as property20, state as state9 } from "lit/decorators.js";
3735
+ import { html as html24, nothing } from "lit";
3736
+ import { customElement as customElement27, property as property20, state as state9 } from "lit/decorators.js";
3675
3737
  import { unsafeHTML as unsafeHTML2 } from "lit/directives/unsafe-html.js";
3676
3738
 
3677
3739
  // src/lib/qti-components/qti-interaction/qti-match-interaction/qti-match-interaction.styles.ts
3678
- import { css as css21 } from "lit";
3679
- var qti_match_interaction_styles_default = css21`
3740
+ import { css as css20 } from "lit";
3741
+ var qti_match_interaction_styles_default = css20`
3680
3742
  slot:not([hidden]) {
3681
3743
  /* slot where the */
3682
3744
  display: flex;
@@ -3867,19 +3929,19 @@ var QtiMatchInteraction = class extends DragDropInteractionMixin(
3867
3929
  render() {
3868
3930
  const isTabular = this.class.split(" ").includes("qti-match-tabular");
3869
3931
  const hasCorrectResponse = this.correctOptions !== null;
3870
- return html25`
3932
+ return html24`
3871
3933
  <slot name="prompt"></slot>
3872
3934
  <slot ?hidden=${isTabular}></slot>
3873
3935
 
3874
- ${isTabular ? html25`
3936
+ ${isTabular ? html24`
3875
3937
  <table part="table">
3876
3938
  <tr part="r-header">
3877
3939
  <td></td>
3878
- ${this.targetChoices.map((col) => html25`<th part="r-header">${unsafeHTML2(col.innerHTML)}</th>`)}
3940
+ ${this.targetChoices.map((col) => html24`<th part="r-header">${unsafeHTML2(col.innerHTML)}</th>`)}
3879
3941
  </tr>
3880
3942
 
3881
3943
  ${this.sourceChoices.map(
3882
- (row) => html25`<tr part="row">
3944
+ (row) => html24`<tr part="row">
3883
3945
  <td part="c-header">${unsafeHTML2(row.innerHTML)}</td>
3884
3946
  ${this.targetChoices.map((col) => {
3885
3947
  const rowId = row.getAttribute("identifier");
@@ -3891,7 +3953,7 @@ var QtiMatchInteraction = class extends DragDropInteractionMixin(
3891
3953
  const isCorrect = !!this.correctOptions?.find((option) => option.source === rowId && option.target === colId);
3892
3954
  const part = type === "radio" ? `rb ${checked ? "rb-checked" : ""} ${hasCorrectResponse ? isCorrect ? "rb-correct" : "rb-incorrect" : ""}` : `cb ${checked ? "cb-checked" : ""} ${hasCorrectResponse ? isCorrect ? "cb-correct" : "cb-incorrect" : ""}`;
3893
3955
  const disable = this.correctOptions?.length > 0 ? true : row.matchMax === 1 ? false : row.matchMax !== 0 && selectedInRowCount >= row.matchMax && !checked;
3894
- return html25`<td part="input-cell">
3956
+ return html24`<td part="input-cell">
3895
3957
  <div
3896
3958
  class="input-container"
3897
3959
  style="position: relative; width: 24px; height: 24px; margin: 0 auto;"
@@ -3905,7 +3967,7 @@ var QtiMatchInteraction = class extends DragDropInteractionMixin(
3905
3967
  @change=${(e) => this.handleRadioChange(e)}
3906
3968
  @click=${(e) => row.matchMax === 1 ? this.handleRadioClick(e) : null}
3907
3969
  />
3908
- ${type === "checkbox" && checked ? html25`
3970
+ ${type === "checkbox" && checked ? html24`
3909
3971
  <svg
3910
3972
  part="checkmark"
3911
3973
  viewBox="0 0 24 24"
@@ -3940,12 +4002,12 @@ __decorateClass([
3940
4002
  state9()
3941
4003
  ], QtiMatchInteraction.prototype, "correctOptions", 2);
3942
4004
  QtiMatchInteraction = __decorateClass([
3943
- customElement28("qti-match-interaction")
4005
+ customElement27("qti-match-interaction")
3944
4006
  ], QtiMatchInteraction);
3945
4007
 
3946
4008
  // src/lib/qti-components/qti-interaction/qti-media-interaction/qti-media-interaction.ts
3947
- import { css as css22, html as html26 } from "lit";
3948
- import { customElement as customElement29 } from "lit/decorators.js";
4009
+ import { css as css21, html as html25 } from "lit";
4010
+ import { customElement as customElement28 } from "lit/decorators.js";
3949
4011
  var QtiMediaInteraction = class extends Interaction {
3950
4012
  constructor() {
3951
4013
  super();
@@ -3982,7 +4044,7 @@ var QtiMediaInteraction = class extends Interaction {
3982
4044
  };
3983
4045
  }
3984
4046
  render() {
3985
- return html26` <slot name="prompt"></slot>
4047
+ return html25` <slot name="prompt"></slot>
3986
4048
  <slot></slot>`;
3987
4049
  }
3988
4050
  connectedCallback() {
@@ -3996,18 +4058,18 @@ var QtiMediaInteraction = class extends Interaction {
3996
4058
  }
3997
4059
  }
3998
4060
  };
3999
- QtiMediaInteraction.styles = [css22``];
4061
+ QtiMediaInteraction.styles = [css21``];
4000
4062
  QtiMediaInteraction = __decorateClass([
4001
- customElement29("qti-media-interaction")
4063
+ customElement28("qti-media-interaction")
4002
4064
  ], QtiMediaInteraction);
4003
4065
 
4004
4066
  // src/lib/qti-components/qti-interaction/qti-order-interaction/qti-order-interaction.ts
4005
- import { html as html27 } from "lit";
4006
- import { customElement as customElement30, property as property21, state as state10 } from "lit/decorators.js";
4067
+ import { html as html26 } from "lit";
4068
+ import { customElement as customElement29, property as property21, state as state10 } from "lit/decorators.js";
4007
4069
 
4008
4070
  // src/lib/qti-components/qti-interaction/qti-order-interaction/qti-order-interaction.styles.ts
4009
- import { css as css23 } from "lit";
4010
- var qti_order_interaction_styles_default = css23`
4071
+ import { css as css22 } from "lit";
4072
+ var qti_order_interaction_styles_default = css22`
4011
4073
  [part='drags'] {
4012
4074
  display: flex;
4013
4075
  align-items: flex-start;
@@ -4076,12 +4138,12 @@ var QtiOrderInteraction = class extends DragDropInteractionMixin(
4076
4138
  if (this.nrChoices < choices.length) {
4077
4139
  this.nrChoices = choices.length;
4078
4140
  }
4079
- return html27` <slot name="prompt"> </slot>
4141
+ return html26` <slot name="prompt"> </slot>
4080
4142
  <div part="container">
4081
4143
  <slot part="drags"> </slot>
4082
4144
  <div part="drops">
4083
4145
  ${[...Array(this.nrChoices)].map(
4084
- (_, i) => html27`<drop-list role="region" part="drop-list" identifier="droplist${i}"></drop-list>`
4146
+ (_, i) => html26`<drop-list role="region" part="drop-list" identifier="droplist${i}"></drop-list>`
4085
4147
  )}
4086
4148
  </div>
4087
4149
  </div>`;
@@ -4156,17 +4218,17 @@ __decorateClass([
4156
4218
  property21({ type: String })
4157
4219
  ], QtiOrderInteraction.prototype, "orientation", 2);
4158
4220
  QtiOrderInteraction = __decorateClass([
4159
- customElement30("qti-order-interaction")
4221
+ customElement29("qti-order-interaction")
4160
4222
  ], QtiOrderInteraction);
4161
4223
 
4162
4224
  // src/lib/qti-components/qti-interaction/qti-portable-custom-interaction/qti-portable-custom-interaction.ts
4163
- import { css as css25, html as html28 } from "lit";
4164
- import { customElement as customElement31, property as property22, state as state11 } from "lit/decorators.js";
4225
+ import { css as css24, html as html27 } from "lit";
4226
+ import { customElement as customElement30, property as property22, state as state11 } from "lit/decorators.js";
4165
4227
  import { consume as consume5 } from "@lit/context";
4166
4228
 
4167
4229
  // src/lib/qti-components/qti-interaction/qti-portable-custom-interaction/qti-portable-custom-interaction.styles.ts
4168
- import { css as css24 } from "lit";
4169
- var qti_portable_custom_interaction_styles_default = css24`
4230
+ import { css as css23 } from "lit";
4231
+ var qti_portable_custom_interaction_styles_default = css23`
4170
4232
  ::slotted(qti-interaction-markup) {
4171
4233
  display: none;
4172
4234
  }
@@ -5420,9 +5482,9 @@ var QtiPortableCustomInteraction = class extends Interaction {
5420
5482
  }
5421
5483
  }
5422
5484
  render() {
5423
- return html28`
5485
+ return html27`
5424
5486
  <slot></slot>
5425
- ${this._errorMessage ? html28`<div style="color:red">
5487
+ ${this._errorMessage ? html27`<div style="color:red">
5426
5488
  <h1>Error</h1>
5427
5489
  ${this._errorMessage}
5428
5490
  </div>` : ""}
@@ -5433,7 +5495,7 @@ var QtiPortableCustomInteraction = class extends Interaction {
5433
5495
  QtiPortableCustomInteraction.styles = [
5434
5496
  qti_portable_custom_interaction_styles_default,
5435
5497
  // Add default width/height for direct mode
5436
- css25`
5498
+ css24`
5437
5499
  :host {
5438
5500
  display: block;
5439
5501
  width: 100%;
@@ -5484,18 +5546,18 @@ __decorateClass([
5484
5546
  state11()
5485
5547
  ], QtiPortableCustomInteraction.prototype, "response", 2);
5486
5548
  QtiPortableCustomInteraction = __decorateClass([
5487
- customElement31("qti-portable-custom-interaction")
5549
+ customElement30("qti-portable-custom-interaction")
5488
5550
  ], QtiPortableCustomInteraction);
5489
5551
 
5490
5552
  // src/lib/qti-components/qti-interaction/qti-position-object-interaction/qti-position-object-interaction.ts
5491
- import { LitElement as LitElement15, css as css26, html as html29 } from "lit";
5553
+ import { LitElement as LitElement15, css as css25, html as html28 } from "lit";
5492
5554
  var QtiPositionObjectInteraction = class extends LitElement15 {
5493
5555
  render() {
5494
- return html29`<slot></slot>`;
5556
+ return html28`<slot></slot>`;
5495
5557
  }
5496
5558
  static {
5497
5559
  this.styles = [
5498
- css26`
5560
+ css25`
5499
5561
  :host {
5500
5562
  display: block;
5501
5563
  }
@@ -5513,11 +5575,11 @@ var QtiPositionObjectInteraction = class extends LitElement15 {
5513
5575
  customElements.define("qti-position-object-interaction", QtiPositionObjectInteraction);
5514
5576
 
5515
5577
  // src/lib/qti-components/qti-interaction/qti-position-object-interaction/qti-position-object-stage.ts
5516
- import { LitElement as LitElement16, css as css27, html as html30 } from "lit";
5517
- import { customElement as customElement32 } from "lit/decorators.js";
5578
+ import { LitElement as LitElement16, css as css26, html as html29 } from "lit";
5579
+ import { customElement as customElement31 } from "lit/decorators.js";
5518
5580
  var QtiPositionObjectStage = class extends LitElement16 {
5519
5581
  render() {
5520
- return html30`<slot></slot>`;
5582
+ return html29`<slot></slot>`;
5521
5583
  }
5522
5584
  constructor() {
5523
5585
  super();
@@ -5556,7 +5618,7 @@ var QtiPositionObjectStage = class extends LitElement16 {
5556
5618
  }
5557
5619
  };
5558
5620
  QtiPositionObjectStage.styles = [
5559
- css27`
5621
+ css26`
5560
5622
  :host {
5561
5623
  display: inline-block;
5562
5624
  position: relative;
@@ -5564,12 +5626,12 @@ QtiPositionObjectStage.styles = [
5564
5626
  `
5565
5627
  ];
5566
5628
  QtiPositionObjectStage = __decorateClass([
5567
- customElement32("qti-position-object-stage")
5629
+ customElement31("qti-position-object-stage")
5568
5630
  ], QtiPositionObjectStage);
5569
5631
 
5570
5632
  // src/lib/qti-components/qti-interaction/qti-select-point-interaction/qti-select-point-interaction.ts
5571
- import { css as css28, html as html31 } from "lit";
5572
- import { customElement as customElement33, property as property23, state as state12 } from "lit/decorators.js";
5633
+ import { css as css27, html as html30 } from "lit";
5634
+ import { customElement as customElement32, property as property23, state as state12 } from "lit/decorators.js";
5573
5635
  import { repeat as repeat2 } from "lit/directives/repeat.js";
5574
5636
  import { styleMap } from "lit/directives/style-map.js";
5575
5637
 
@@ -5816,7 +5878,7 @@ var QtiSelectPointInteraction = class extends Interaction {
5816
5878
  }
5817
5879
  }
5818
5880
  render() {
5819
- return html31` <slot name="prompt"></slot>
5881
+ return html30` <slot name="prompt"></slot>
5820
5882
  <point-container>
5821
5883
  ${repeat2(
5822
5884
  (this.response || []).filter((point) => point),
@@ -5834,7 +5896,7 @@ var QtiSelectPointInteraction = class extends Interaction {
5834
5896
  } else if (this._responseCorrection[index] === false) {
5835
5897
  correctionPart = " incorrect";
5836
5898
  }
5837
- return html31`
5899
+ return html30`
5838
5900
  <button
5839
5901
  part="point${correctionPart}"
5840
5902
  style=${styleMap({
@@ -5866,7 +5928,7 @@ var QtiSelectPointInteraction = class extends Interaction {
5866
5928
  ${repeat2(
5867
5929
  this._correctAreas?.filter((area) => area) || [],
5868
5930
  (area) => area,
5869
- (area, i) => html31`<div
5931
+ (area, i) => html30`<div
5870
5932
  style=${styleMap({
5871
5933
  position: "absolute",
5872
5934
  pointerEvents: "none",
@@ -5909,7 +5971,7 @@ var QtiSelectPointInteraction = class extends Interaction {
5909
5971
  }
5910
5972
  };
5911
5973
  QtiSelectPointInteraction.styles = [
5912
- css28`
5974
+ css27`
5913
5975
  :host {
5914
5976
  display: block;
5915
5977
  }
@@ -5948,12 +6010,12 @@ __decorateClass([
5948
6010
  state12()
5949
6011
  ], QtiSelectPointInteraction.prototype, "_responseCorrection", 2);
5950
6012
  QtiSelectPointInteraction = __decorateClass([
5951
- customElement33("qti-select-point-interaction")
6013
+ customElement32("qti-select-point-interaction")
5952
6014
  ], QtiSelectPointInteraction);
5953
6015
 
5954
6016
  // src/lib/qti-components/qti-interaction/qti-simple-choice.ts
5955
- import { css as css29, html as html32, LitElement as LitElement17, nothing as nothing2 } from "lit";
5956
- import { customElement as customElement34, property as property24 } from "lit/decorators.js";
6017
+ import { css as css28, html as html31, LitElement as LitElement17, nothing as nothing2 } from "lit";
6018
+ import { customElement as customElement33, property as property24 } from "lit/decorators.js";
5957
6019
  var QtiSimpleChoice = class extends ActiveElementMixin(LitElement17, "qti-simple-choice") {
5958
6020
  constructor() {
5959
6021
  super(...arguments);
@@ -5965,14 +6027,14 @@ var QtiSimpleChoice = class extends ActiveElementMixin(LitElement17, "qti-simple
5965
6027
  return this["internals"].states.has("--checked");
5966
6028
  }
5967
6029
  render() {
5968
- return html32`<div part="ch">
6030
+ return html31`<div part="ch">
5969
6031
  <div part="cha"></div>
5970
6032
  </div>
5971
- ${this.marker ? html32`<div id="label">${this.marker}</div>` : nothing2}
6033
+ ${this.marker ? html31`<div id="label">${this.marker}</div>` : nothing2}
5972
6034
  <slot part="slot"></slot>`;
5973
6035
  }
5974
6036
  };
5975
- QtiSimpleChoice.styles = css29`
6037
+ QtiSimpleChoice.styles = css28`
5976
6038
  :host {
5977
6039
  display: flex;
5978
6040
  align-items: center;
@@ -6009,16 +6071,16 @@ __decorateClass([
6009
6071
  property24({ type: String, attribute: false })
6010
6072
  ], QtiSimpleChoice.prototype, "marker", 2);
6011
6073
  QtiSimpleChoice = __decorateClass([
6012
- customElement34("qti-simple-choice")
6074
+ customElement33("qti-simple-choice")
6013
6075
  ], QtiSimpleChoice);
6014
6076
 
6015
6077
  // src/lib/qti-components/qti-interaction/qti-slider-interaction/qti-slider-interaction.ts
6016
- import { html as html33 } from "lit";
6017
- import { customElement as customElement35, property as property25, query as query2 } from "lit/decorators.js";
6078
+ import { html as html32 } from "lit";
6079
+ import { customElement as customElement34, property as property25, query as query2 } from "lit/decorators.js";
6018
6080
 
6019
6081
  // src/lib/qti-components/qti-interaction/qti-slider-interaction/qti-slider-interaction.styles.ts
6020
- import { css as css30 } from "lit";
6021
- var qti_slider_interaction_styles_default = css30`
6082
+ import { css as css29 } from "lit";
6083
+ var qti_slider_interaction_styles_default = css29`
6022
6084
  :host {
6023
6085
  display: block;
6024
6086
  --show-bounds: true;
@@ -6159,7 +6221,7 @@ var QtiSliderInteraction = class extends Interaction {
6159
6221
  this.requestUpdate();
6160
6222
  }
6161
6223
  render() {
6162
- return html33`
6224
+ return html32`
6163
6225
  <slot name="prompt"></slot>
6164
6226
  <div id="slider" part="slider">
6165
6227
  <div id="bounds" part="bounds">
@@ -6174,7 +6236,7 @@ var QtiSliderInteraction = class extends Interaction {
6174
6236
  <div id="value" part="value">${this.response}</div>
6175
6237
  </div>
6176
6238
 
6177
- ${this._correctResponseNumber !== null ? html33`
6239
+ ${this._correctResponseNumber !== null ? html32`
6178
6240
  <div id="knob-correct" part="knob-correct">
6179
6241
  <div id="value" part="value">${this._correctResponseNumber}</div>
6180
6242
  </div>
@@ -6233,18 +6295,18 @@ __decorateClass([
6233
6295
  property25({ type: Number, attribute: "step" })
6234
6296
  ], QtiSliderInteraction.prototype, "step", 2);
6235
6297
  QtiSliderInteraction = __decorateClass([
6236
- customElement35("qti-slider-interaction")
6298
+ customElement34("qti-slider-interaction")
6237
6299
  ], QtiSliderInteraction);
6238
6300
 
6239
6301
  // src/lib/qti-components/qti-interaction/qti-text-entry-interaction/qti-text-entry-interaction.ts
6240
- import { html as html34, nothing as nothing3 } from "lit";
6241
- import { customElement as customElement36, property as property26, query as query3, state as state13 } from "lit/decorators.js";
6302
+ import { html as html33, nothing as nothing3 } from "lit";
6303
+ import { customElement as customElement35, property as property26, query as query3, state as state13 } from "lit/decorators.js";
6242
6304
  import { ifDefined as ifDefined4 } from "lit/directives/if-defined.js";
6243
6305
  import { createRef } from "lit/directives/ref.js";
6244
6306
 
6245
6307
  // src/lib/qti-components/qti-interaction/qti-text-entry-interaction/qti-text-entry-interaction.styles.ts
6246
- import { css as css31 } from "lit";
6247
- var qti_text_entry_interaction_styles_default = css31`
6308
+ import { css as css30 } from "lit";
6309
+ var qti_text_entry_interaction_styles_default = css30`
6248
6310
  :host {
6249
6311
  display: inline-block;
6250
6312
  }
@@ -6430,7 +6492,7 @@ var QtiTextEntryInteraction = class extends Interaction {
6430
6492
  }
6431
6493
  }
6432
6494
  render() {
6433
- return html34`
6495
+ return html33`
6434
6496
  <input
6435
6497
  part="input"
6436
6498
  name="${this.responseIdentifier}"
@@ -6450,7 +6512,7 @@ var QtiTextEntryInteraction = class extends Interaction {
6450
6512
  ?disabled="${this.disabled}"
6451
6513
  ?readonly="${this.readonly}"
6452
6514
  />
6453
- ${this._correctResponse ? html34`<div part="correct">${this._correctResponse}</div>` : nothing3}
6515
+ ${this._correctResponse ? html33`<div part="correct">${this._correctResponse}</div>` : nothing3}
6454
6516
  `;
6455
6517
  }
6456
6518
  // ${this._correctResponse ? html`<div popover part="correct">${this._correctResponse}</div>` : nothing}
@@ -6502,12 +6564,12 @@ __decorateClass([
6502
6564
  watch("response", { waitUntilFirstUpdate: true })
6503
6565
  ], QtiTextEntryInteraction.prototype, "_handleValueChange", 2);
6504
6566
  QtiTextEntryInteraction = __decorateClass([
6505
- customElement36("qti-text-entry-interaction")
6567
+ customElement35("qti-text-entry-interaction")
6506
6568
  ], QtiTextEntryInteraction);
6507
6569
 
6508
6570
  // src/lib/qti-components/qti-interaction/qti-upload-interaction/qti-upload-interaction.ts
6509
- import { css as css32, html as html35 } from "lit";
6510
- import { customElement as customElement37 } from "lit/decorators.js";
6571
+ import { css as css31, html as html34 } from "lit";
6572
+ import { customElement as customElement36 } from "lit/decorators.js";
6511
6573
  var QtiUploadInteraction = class extends Interaction {
6512
6574
  constructor() {
6513
6575
  super(...arguments);
@@ -6541,7 +6603,7 @@ var QtiUploadInteraction = class extends Interaction {
6541
6603
  };
6542
6604
  }
6543
6605
  render() {
6544
- return html35`
6606
+ return html34`
6545
6607
  <div>
6546
6608
  <slot name="prompt"></slot>
6547
6609
  <input type="file" @change="${this._onFileChange}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" />
@@ -6571,7 +6633,7 @@ var QtiUploadInteraction = class extends Interaction {
6571
6633
  }
6572
6634
  };
6573
6635
  QtiUploadInteraction.styles = [
6574
- css32`
6636
+ css31`
6575
6637
  :host {
6576
6638
  display: block;
6577
6639
  margin: 1em 0;
@@ -6583,16 +6645,16 @@ QtiUploadInteraction.styles = [
6583
6645
  `
6584
6646
  ];
6585
6647
  QtiUploadInteraction = __decorateClass([
6586
- customElement37("qti-upload-interaction")
6648
+ customElement36("qti-upload-interaction")
6587
6649
  ], QtiUploadInteraction);
6588
6650
 
6589
6651
  // src/lib/qti-components/qti-item-body/qti-item-body.ts
6590
- import { customElement as customElement38 } from "lit/decorators.js";
6591
- import { html as html36, LitElement as LitElement18 } from "lit";
6652
+ import { customElement as customElement37 } from "lit/decorators.js";
6653
+ import { html as html35, LitElement as LitElement18 } from "lit";
6592
6654
 
6593
6655
  // src/lib/qti-components/qti-item-body/qti-item-body.styles.ts
6594
- import { css as css33 } from "lit";
6595
- var qti_item_body_styles_default = css33`
6656
+ import { css as css32 } from "lit";
6657
+ var qti_item_body_styles_default = css32`
6596
6658
  :host {
6597
6659
  display: block;
6598
6660
  }
@@ -6601,20 +6663,20 @@ var qti_item_body_styles_default = css33`
6601
6663
  // src/lib/qti-components/qti-item-body/qti-item-body.ts
6602
6664
  var QtiItemBody = class extends LitElement18 {
6603
6665
  render() {
6604
- return html36`<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>`;
6666
+ return html35`<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>`;
6605
6667
  }
6606
6668
  };
6607
6669
  QtiItemBody.styles = qti_item_body_styles_default;
6608
6670
  QtiItemBody = __decorateClass([
6609
- customElement38("qti-item-body")
6671
+ customElement37("qti-item-body")
6610
6672
  ], QtiItemBody);
6611
6673
 
6612
6674
  // src/lib/qti-components/qti-outcome-processing/qti-outcome-processing.ts
6613
- import { css as css34, html as html37, LitElement as LitElement19 } from "lit";
6614
- import { customElement as customElement39 } from "lit/decorators.js";
6675
+ import { css as css33, html as html36, LitElement as LitElement19 } from "lit";
6676
+ import { customElement as customElement38 } from "lit/decorators.js";
6615
6677
  var QtiOutcomeProcessing = class extends LitElement19 {
6616
6678
  render() {
6617
- return html37`<slot></slot>`;
6679
+ return html36`<slot></slot>`;
6618
6680
  }
6619
6681
  process() {
6620
6682
  const logic = new QtiOutcomeProcessingProcessor();
@@ -6623,14 +6685,14 @@ var QtiOutcomeProcessing = class extends LitElement19 {
6623
6685
  }
6624
6686
  };
6625
6687
  QtiOutcomeProcessing.styles = [
6626
- css34`
6688
+ css33`
6627
6689
  :host {
6628
6690
  display: none;
6629
6691
  }
6630
6692
  `
6631
6693
  ];
6632
6694
  QtiOutcomeProcessing = __decorateClass([
6633
- customElement39("qti-outcome-processing")
6695
+ customElement38("qti-outcome-processing")
6634
6696
  ], QtiOutcomeProcessing);
6635
6697
  var QtiOutcomeProcessingProcessor = class {
6636
6698
  process(rules) {
@@ -6641,11 +6703,11 @@ var QtiOutcomeProcessingProcessor = class {
6641
6703
  };
6642
6704
 
6643
6705
  // src/lib/qti-components/qti-prompt/qti-prompt.ts
6644
- import { html as html38, LitElement as LitElement20 } from "lit";
6645
- import { customElement as customElement40 } from "lit/decorators.js";
6706
+ import { html as html37, LitElement as LitElement20 } from "lit";
6707
+ import { customElement as customElement39 } from "lit/decorators.js";
6646
6708
  var QtiPrompt = class extends LitElement20 {
6647
6709
  render() {
6648
- return html38`<slot></slot>`;
6710
+ return html37`<slot></slot>`;
6649
6711
  }
6650
6712
  connectedCallback() {
6651
6713
  const inInteraction = this.parentElement.tagName.endsWith("INTERACTION");
@@ -6655,12 +6717,12 @@ var QtiPrompt = class extends LitElement20 {
6655
6717
  }
6656
6718
  };
6657
6719
  QtiPrompt = __decorateClass([
6658
- customElement40("qti-prompt")
6720
+ customElement39("qti-prompt")
6659
6721
  ], QtiPrompt);
6660
6722
 
6661
6723
  // src/lib/qti-components/qti-response-processing/qti-response-processing/qti-response-processing.ts
6662
- import { css as css35, html as html39, LitElement as LitElement21 } from "lit";
6663
- import { customElement as customElement41 } from "lit/decorators.js";
6724
+ import { css as css34, html as html38, LitElement as LitElement21 } from "lit";
6725
+ import { customElement as customElement40 } from "lit/decorators.js";
6664
6726
 
6665
6727
  // src/lib/qti-components/internal/template-strings.ts
6666
6728
  var matchCorrect = `<qti-response-processing>
@@ -6719,7 +6781,7 @@ var mapResponsePoint = `<qti-response-processing>
6719
6781
  // src/lib/qti-components/qti-response-processing/qti-response-processing/qti-response-processing.ts
6720
6782
  var QtiResponseProcessing = class extends LitElement21 {
6721
6783
  render() {
6722
- return html39`<slot></slot>`;
6784
+ return html38`<slot></slot>`;
6723
6785
  }
6724
6786
  process() {
6725
6787
  const assessmentItem = this.closest("qti-assessment-item");
@@ -6754,14 +6816,14 @@ var QtiResponseProcessing = class extends LitElement21 {
6754
6816
  }
6755
6817
  };
6756
6818
  QtiResponseProcessing.styles = [
6757
- css35`
6819
+ css34`
6758
6820
  :host {
6759
6821
  display: none;
6760
6822
  }
6761
6823
  `
6762
6824
  ];
6763
6825
  QtiResponseProcessing = __decorateClass([
6764
- customElement41("qti-response-processing")
6826
+ customElement40("qti-response-processing")
6765
6827
  ], QtiResponseProcessing);
6766
6828
 
6767
6829
  // src/lib/qti-components/qti-response-processing/qti-rule/qti-lookup-outcome-value/qti-lookup-outcome-value.ts
@@ -6769,18 +6831,18 @@ import { property as property27, state as state14 } from "lit/decorators.js";
6769
6831
  import { consume as consume6 } from "@lit/context";
6770
6832
 
6771
6833
  // src/lib/qti-components/qti-response-processing/qti-rule/qti-rule.ts
6772
- import { customElement as customElement42 } from "lit/decorators.js";
6773
- import { html as html40, LitElement as LitElement22 } from "lit";
6834
+ import { customElement as customElement41 } from "lit/decorators.js";
6835
+ import { html as html39, LitElement as LitElement22 } from "lit";
6774
6836
  var QtiRule = class extends LitElement22 {
6775
6837
  render() {
6776
- return html40`<slot></slot>`;
6838
+ return html39`<slot></slot>`;
6777
6839
  }
6778
6840
  process() {
6779
6841
  throw new Error("Not implemented");
6780
6842
  }
6781
6843
  };
6782
6844
  QtiRule = __decorateClass([
6783
- customElement42("qti-rule")
6845
+ customElement41("qti-rule")
6784
6846
  ], QtiRule);
6785
6847
 
6786
6848
  // src/lib/qti-components/qti-response-processing/qti-rule/qti-lookup-outcome-value/qti-lookup-outcome-value.ts
@@ -6822,10 +6884,10 @@ __decorateClass([
6822
6884
  customElements.define("qti-lookup-outcome-value", QtiLookupOutcomeValue);
6823
6885
 
6824
6886
  // src/lib/qti-components/qti-response-processing/qti-rule/qti-response-condition/qti-response-condition.ts
6825
- import { html as html41 } from "lit";
6887
+ import { html as html40 } from "lit";
6826
6888
  var QtiResponseCondition = class extends QtiRule {
6827
6889
  render() {
6828
- return html41`<slot></slot>`;
6890
+ return html40`<slot></slot>`;
6829
6891
  }
6830
6892
  process() {
6831
6893
  const branches = [...this.children];
@@ -6898,10 +6960,10 @@ var QtiSetOutcomeValueRule = class {
6898
6960
  customElements.define("qti-set-outcome-value", QtiSetOutcomeValue);
6899
6961
 
6900
6962
  // src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-else.ts
6901
- import { LitElement as LitElement23, html as html42 } from "lit";
6963
+ import { LitElement as LitElement23, html as html41 } from "lit";
6902
6964
  var QtiResponseElse = class extends LitElement23 {
6903
6965
  render() {
6904
- return html42`<slot></slot>`;
6966
+ return html41`<slot></slot>`;
6905
6967
  }
6906
6968
  calculate() {
6907
6969
  return true;
@@ -6920,7 +6982,7 @@ var QtiResponseElse = class extends LitElement23 {
6920
6982
  customElements.define("qti-response-else", QtiResponseElse);
6921
6983
 
6922
6984
  // src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-if/qti-response-else-if/qti-response-else-if.ts
6923
- import { html as html43 } from "lit";
6985
+ import { html as html42 } from "lit";
6924
6986
 
6925
6987
  // src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-if/qti-response-if.ts
6926
6988
  var QtiResponseIf = class extends QtiResponseElse {
@@ -6942,20 +7004,165 @@ customElements.define("qti-response-if", QtiResponseIf);
6942
7004
  // src/lib/qti-components/qti-response-processing/qti-response-else/qti-response-if/qti-response-else-if/qti-response-else-if.ts
6943
7005
  var QtiResponseElseIf = class extends QtiResponseIf {
6944
7006
  render() {
6945
- return html43`${super.render()}`;
7007
+ return html42`${super.render()}`;
6946
7008
  }
6947
7009
  };
6948
7010
  customElements.define("qti-response-else-if", QtiResponseElseIf);
6949
7011
 
6950
7012
  // src/lib/qti-components/qti-response-processing/qti-expression/qti-and/qti-and.ts
6951
- import { customElement as customElement43 } from "lit/decorators.js";
7013
+ import { customElement as customElement42 } from "lit/decorators.js";
7014
+
7015
+ // src/lib/exports/qti-expression.ts
7016
+ import { consume as consume7 } from "@lit/context";
7017
+ import { css as css35, html as html43, LitElement as LitElement24 } from "lit";
7018
+ import { state as state15 } from "lit/decorators.js";
7019
+ var QtiExpression = class extends LitElement24 {
7020
+ constructor() {
7021
+ super(...arguments);
7022
+ this.getVariables = () => (
7023
+ // FIXME: if this itself is multiple, this will never enter the qti-multiple switch
7024
+ // See this example here: https://github.com/1EdTech/qti-examples/blob/master/qtiv3-examples/packaging/items/Example05-feedbackBlock-adaptive.xml
7025
+ Array.from(this.children).map((e) => {
7026
+ console.debug("getVariables", e.tagName.toLowerCase());
7027
+ switch (e.tagName.toLowerCase()) {
7028
+ case "qti-base-value": {
7029
+ return {
7030
+ baseType: e.getAttribute("base-type"),
7031
+ value: e.textContent.trim(),
7032
+ cardinality: "single"
7033
+ };
7034
+ }
7035
+ case "qti-variable": {
7036
+ const identifier = e.getAttribute("identifier") || "";
7037
+ if (identifier === "QTI_CONTEXT") {
7038
+ if (!this.qtiContext?.QTI_CONTEXT) {
7039
+ console.warn("QTI_CONTEXT not available");
7040
+ return {
7041
+ identifier: "QTI_CONTEXT",
7042
+ baseType: "record",
7043
+ value: this.qtiContext.QTI_CONTEXT,
7044
+ cardinality: "record",
7045
+ type: "context"
7046
+ };
7047
+ }
7048
+ return {
7049
+ identifier: "QTI_CONTEXT",
7050
+ baseType: "record",
7051
+ value: this.qtiContext.QTI_CONTEXT,
7052
+ cardinality: "record",
7053
+ type: "context"
7054
+ };
7055
+ }
7056
+ const variable = this.context.variables.find((v) => v.identifier === identifier) || null;
7057
+ return variable;
7058
+ }
7059
+ case "qti-multiple": {
7060
+ const multiple = e;
7061
+ const values = multiple.getResult();
7062
+ console.debug("values", values);
7063
+ if (values?.length > 0) {
7064
+ return {
7065
+ identifier: "",
7066
+ baseType: values[0].baseType,
7067
+ value: values.map((v) => v.value),
7068
+ cardinality: "multiple",
7069
+ type: "response"
7070
+ };
7071
+ }
7072
+ return null;
7073
+ }
7074
+ case "qti-ordered": {
7075
+ const multiple = e;
7076
+ const values = multiple.getResult();
7077
+ if (values?.length > 0) {
7078
+ return {
7079
+ identifier: "",
7080
+ baseType: values[0].baseType,
7081
+ value: values.map((v) => v.value),
7082
+ cardinality: "ordered",
7083
+ type: "response"
7084
+ };
7085
+ }
7086
+ return null;
7087
+ }
7088
+ case "qti-correct": {
7089
+ const identifier = e.getAttribute("identifier") || "";
7090
+ const responseVariable = this.context.variables.find((v) => v.identifier === identifier) || null;
7091
+ return {
7092
+ baseType: responseVariable.baseType,
7093
+ value: responseVariable.correctResponse,
7094
+ cardinality: responseVariable.cardinality
7095
+ };
7096
+ }
7097
+ default: {
7098
+ try {
7099
+ const expression = e;
7100
+ const value = expression.getResult();
7101
+ return {
7102
+ baseType: "integer",
7103
+ value: value?.toString() || null,
7104
+ cardinality: "single"
7105
+ };
7106
+ } catch (error) {
7107
+ console.warn("default not sufficient");
7108
+ }
7109
+ return null;
7110
+ }
7111
+ }
7112
+ }).filter((v) => v !== null)
7113
+ );
7114
+ }
7115
+ static {
7116
+ // hide the slot with css
7117
+ this.styles = css35`
7118
+ slot {
7119
+ display: none;
7120
+ }
7121
+ `;
7122
+ }
7123
+ render() {
7124
+ return html43`<pre>${JSON.stringify(this.result, null, 2)}</pre>
7125
+ <slot></slot>`;
7126
+ }
7127
+ calculate() {
7128
+ this.result = this.getResult();
7129
+ return this.result;
7130
+ }
7131
+ getResult() {
7132
+ throw new Error("Not implemented");
7133
+ }
7134
+ };
7135
+ __decorateClass([
7136
+ state15()
7137
+ ], QtiExpression.prototype, "result", 2);
7138
+ __decorateClass([
7139
+ consume7({ context: itemContext, subscribe: true }),
7140
+ state15()
7141
+ ], QtiExpression.prototype, "context", 2);
7142
+ __decorateClass([
7143
+ consume7({ context: qtiContext, subscribe: true }),
7144
+ state15()
7145
+ ], QtiExpression.prototype, "qtiContext", 2);
7146
+
7147
+ // src/lib/exports/qti-condition-expression.ts
7148
+ var QtiConditionExpression = class extends QtiExpression {
7149
+ calculate() {
7150
+ this.result = this.getResult();
7151
+ return this.result;
7152
+ }
7153
+ getResult() {
7154
+ throw new Error("Not implemented");
7155
+ }
7156
+ };
7157
+
7158
+ // src/lib/qti-components/qti-response-processing/qti-expression/qti-and/qti-and.ts
6952
7159
  var QtiAnd = class extends qtiAndMixin(QtiConditionExpression) {
6953
7160
  calculate() {
6954
7161
  return this.calculateChildren(Array.from(this.children));
6955
7162
  }
6956
7163
  };
6957
7164
  QtiAnd = __decorateClass([
6958
- customElement43("qti-and")
7165
+ customElement42("qti-and")
6959
7166
  ], QtiAnd);
6960
7167
  function qtiAndMixin(Base) {
6961
7168
  return class MockQtiAnd extends Base {
@@ -7084,8 +7291,8 @@ var QtiCorrect = class extends QtiExpression {
7084
7291
  customElements.define("qti-correct", QtiCorrect);
7085
7292
 
7086
7293
  // src/lib/qti-components/qti-response-processing/qti-expression/qti-default/qti-default.ts
7087
- import { property as property29, state as state15 } from "lit/decorators.js";
7088
- import { consume as consume7 } from "@lit/context";
7294
+ import { property as property29, state as state16 } from "lit/decorators.js";
7295
+ import { consume as consume8 } from "@lit/context";
7089
7296
  var QtiDefault = class extends QtiExpression {
7090
7297
  constructor() {
7091
7298
  super(...arguments);
@@ -7138,12 +7345,12 @@ __decorateClass([
7138
7345
  property29({ type: String })
7139
7346
  ], QtiDefault.prototype, "identifier", 2);
7140
7347
  __decorateClass([
7141
- consume7({ context: itemContext, subscribe: true }),
7142
- state15()
7348
+ consume8({ context: itemContext, subscribe: true }),
7349
+ state16()
7143
7350
  ], QtiDefault.prototype, "context", 2);
7144
7351
  __decorateClass([
7145
- state15(),
7146
- consume7({ context: testContext, subscribe: true })
7352
+ state16(),
7353
+ consume8({ context: testContext, subscribe: true })
7147
7354
  ], QtiDefault.prototype, "_testContext", 2);
7148
7355
  customElements.define("qti-default", QtiDefault);
7149
7356
 
@@ -8154,10 +8361,10 @@ var QtiPower = class extends QtiExpression {
8154
8361
  customElements.define("qti-power", QtiPower);
8155
8362
 
8156
8363
  // src/lib/qti-components/qti-response-processing/qti-expression/qti-printed-variable/qti-printed-variable.ts
8157
- import { consume as consume8 } from "@lit/context";
8158
- import { LitElement as LitElement24, html as html45, nothing as nothing4 } from "lit";
8159
- import { property as property36, state as state16 } from "lit/decorators.js";
8160
- var QtiPrintedVariable = class extends LitElement24 {
8364
+ import { consume as consume9 } from "@lit/context";
8365
+ import { LitElement as LitElement25, html as html45, nothing as nothing4 } from "lit";
8366
+ import { property as property36, state as state17 } from "lit/decorators.js";
8367
+ var QtiPrintedVariable = class extends LitElement25 {
8161
8368
  render() {
8162
8369
  const value = this.context?.variables.find((v) => v.identifier === this.identifier)?.value;
8163
8370
  return value === null ? nothing4 : html45`${JSON.stringify(value, null, 2)}`;
@@ -8171,8 +8378,8 @@ __decorateClass([
8171
8378
  property36({ type: String })
8172
8379
  ], QtiPrintedVariable.prototype, "identifier", 2);
8173
8380
  __decorateClass([
8174
- consume8({ context: itemContext, subscribe: true }),
8175
- state16()
8381
+ consume9({ context: itemContext, subscribe: true }),
8382
+ state17()
8176
8383
  ], QtiPrintedVariable.prototype, "context", 2);
8177
8384
  customElements.define("qti-printed-variable", QtiPrintedVariable);
8178
8385
 
@@ -8228,9 +8435,6 @@ function qtiSubtractMixin(Base) {
8228
8435
  };
8229
8436
  }
8230
8437
 
8231
- // src/lib/qti-components/qti-response-processing/qti-expression/qti-subtract/index.ts
8232
- customElements.define("qti-subtract", QtiSubtract);
8233
-
8234
8438
  // src/lib/qti-components/qti-response-processing/qti-expression/qti-string-match/qti-string-match.ts
8235
8439
  import { property as property37 } from "lit/decorators.js";
8236
8440
  var QtiStringMatch = class extends QtiExpression {
@@ -8414,7 +8618,7 @@ var QtiDelete = class extends QtiExpression {
8414
8618
  customElements.define("qti-delete", QtiDelete);
8415
8619
 
8416
8620
  // src/lib/qti-components/qti-response-processing/qti-expression/qti-index/qti-index.ts
8417
- import { customElement as customElement44, property as property39 } from "lit/decorators.js";
8621
+ import { customElement as customElement43, property as property39 } from "lit/decorators.js";
8418
8622
  var QtiIndex = class extends QtiExpression {
8419
8623
  // Required attribute, can be a number or an identifier
8420
8624
  getResult() {
@@ -8471,25 +8675,25 @@ __decorateClass([
8471
8675
  property39({ type: String })
8472
8676
  ], QtiIndex.prototype, "n", 2);
8473
8677
  QtiIndex = __decorateClass([
8474
- customElement44("qti-index")
8678
+ customElement43("qti-index")
8475
8679
  ], QtiIndex);
8476
8680
 
8477
8681
  // src/lib/qti-components/qti-rubric-block/qti-content-body.ts
8478
- import { LitElement as LitElement25, html as html46 } from "lit";
8479
- import { customElement as customElement45 } from "lit/decorators.js";
8480
- var QtiContentBody = class extends LitElement25 {
8682
+ import { LitElement as LitElement26, html as html46 } from "lit";
8683
+ import { customElement as customElement44 } from "lit/decorators.js";
8684
+ var QtiContentBody = class extends LitElement26 {
8481
8685
  render() {
8482
8686
  return html46`<slot></slot>`;
8483
8687
  }
8484
8688
  };
8485
8689
  QtiContentBody = __decorateClass([
8486
- customElement45("qti-content-body")
8690
+ customElement44("qti-content-body")
8487
8691
  ], QtiContentBody);
8488
8692
 
8489
8693
  // src/lib/qti-components/qti-rubric-block/qti-rubric-block.ts
8490
- import { LitElement as LitElement26, css as css36, html as html47 } from "lit";
8491
- import { customElement as customElement46, property as property40 } from "lit/decorators.js";
8492
- var QtiRubricBlock = class extends LitElement26 {
8694
+ import { LitElement as LitElement27, css as css36, html as html47 } from "lit";
8695
+ import { customElement as customElement45, property as property40 } from "lit/decorators.js";
8696
+ var QtiRubricBlock = class extends LitElement27 {
8493
8697
  handleclassNamesChange() {
8494
8698
  const classNames = this.classNames.split(" ");
8495
8699
  classNames.forEach((className) => {
@@ -8540,13 +8744,13 @@ __decorateClass([
8540
8744
  watch("classNames", { waitUntilFirstUpdate: true })
8541
8745
  ], QtiRubricBlock.prototype, "handleclassNamesChange", 1);
8542
8746
  QtiRubricBlock = __decorateClass([
8543
- customElement46("qti-rubric-block")
8747
+ customElement45("qti-rubric-block")
8544
8748
  ], QtiRubricBlock);
8545
8749
 
8546
8750
  // src/lib/qti-components/qti-stylesheet/qti-stylesheet.ts
8547
- import { LitElement as LitElement27 } from "lit";
8548
- import { customElement as customElement47 } from "lit/decorators.js";
8549
- var QtiStylesheet = class extends LitElement27 {
8751
+ import { LitElement as LitElement28 } from "lit";
8752
+ import { customElement as customElement46 } from "lit/decorators.js";
8753
+ var QtiStylesheet = class extends LitElement28 {
8550
8754
  constructor() {
8551
8755
  super(...arguments);
8552
8756
  this.styleElement = null;
@@ -8596,18 +8800,18 @@ var QtiStylesheet = class extends LitElement27 {
8596
8800
  }
8597
8801
  };
8598
8802
  QtiStylesheet = __decorateClass([
8599
- customElement47("qti-stylesheet")
8803
+ customElement46("qti-stylesheet")
8600
8804
  ], QtiStylesheet);
8601
8805
 
8602
8806
  // src/lib/qti-components/qti-variable-declaration/qti-outcome-declaration/qti-outcome-declaration.ts
8603
- import { consume as consume9 } from "@lit/context";
8807
+ import { consume as consume10 } from "@lit/context";
8604
8808
  import { css as css37, html as html49 } from "lit";
8605
- import { customElement as customElement49, property as property41, state as state17 } from "lit/decorators.js";
8809
+ import { customElement as customElement48, property as property41, state as state18 } from "lit/decorators.js";
8606
8810
 
8607
8811
  // src/lib/qti-components/qti-variable-declaration/qti-variable-declaration.ts
8608
- import { html as html48, LitElement as LitElement28 } from "lit";
8609
- import { customElement as customElement48 } from "lit/decorators.js";
8610
- var QtiVariableDeclaration = class extends LitElement28 {
8812
+ import { html as html48, LitElement as LitElement29 } from "lit";
8813
+ import { customElement as customElement47 } from "lit/decorators.js";
8814
+ var QtiVariableDeclaration = class extends LitElement29 {
8611
8815
  render() {
8612
8816
  return html48`<slot></slot>`;
8613
8817
  }
@@ -8624,7 +8828,7 @@ var QtiVariableDeclaration = class extends LitElement28 {
8624
8828
  }
8625
8829
  };
8626
8830
  QtiVariableDeclaration = __decorateClass([
8627
- customElement48("qti-variabledeclaration")
8831
+ customElement47("qti-variabledeclaration")
8628
8832
  ], QtiVariableDeclaration);
8629
8833
 
8630
8834
  // src/lib/qti-components/qti-variable-declaration/qti-outcome-declaration/qti-outcome-declaration.ts
@@ -8702,17 +8906,17 @@ __decorateClass([
8702
8906
  property41({ type: String })
8703
8907
  ], QtiOutcomeDeclaration.prototype, "cardinality", 2);
8704
8908
  __decorateClass([
8705
- consume9({ context: itemContext, subscribe: true }),
8706
- state17()
8909
+ consume10({ context: itemContext, subscribe: true }),
8910
+ state18()
8707
8911
  ], QtiOutcomeDeclaration.prototype, "itemContext", 2);
8708
8912
  QtiOutcomeDeclaration = __decorateClass([
8709
- customElement49("qti-outcome-declaration")
8913
+ customElement48("qti-outcome-declaration")
8710
8914
  ], QtiOutcomeDeclaration);
8711
8915
 
8712
8916
  // src/lib/qti-components/qti-variable-declaration/qti-response-declaration/qti-response-declaration.ts
8713
- import { consume as consume10 } from "@lit/context";
8917
+ import { consume as consume11 } from "@lit/context";
8714
8918
  import { css as css38, html as html50 } from "lit";
8715
- import { customElement as customElement50, property as property42, state as state18 } from "lit/decorators.js";
8919
+ import { customElement as customElement49, property as property42, state as state19 } from "lit/decorators.js";
8716
8920
  var QtiResponseDeclaration = class extends QtiVariableDeclaration {
8717
8921
  render() {
8718
8922
  const value = this.itemContext?.variables.find((v) => v.identifier === this.identifier)?.value;
@@ -8814,11 +9018,11 @@ __decorateClass([
8814
9018
  property42({ type: String })
8815
9019
  ], QtiResponseDeclaration.prototype, "cardinality", 2);
8816
9020
  __decorateClass([
8817
- consume10({ context: itemContext, subscribe: true }),
8818
- state18()
9021
+ consume11({ context: itemContext, subscribe: true }),
9022
+ state19()
8819
9023
  ], QtiResponseDeclaration.prototype, "itemContext", 2);
8820
9024
  QtiResponseDeclaration = __decorateClass([
8821
- customElement50("qti-response-declaration")
9025
+ customElement49("qti-response-declaration")
8822
9026
  ], QtiResponseDeclaration);
8823
9027
 
8824
9028
  export {
@@ -8828,7 +9032,6 @@ export {
8828
9032
  QtiCustomOperator,
8829
9033
  QtiFeedbackBlock,
8830
9034
  QtiFeedbackInline,
8831
- QtiModalFeedback,
8832
9035
  QtiAssociableHotspot,
8833
9036
  QtiAssociateInteraction,
8834
9037
  QtiChoiceInteraction,
@@ -8920,4 +9123,4 @@ export {
8920
9123
  QtiOutcomeDeclaration,
8921
9124
  QtiResponseDeclaration
8922
9125
  };
8923
- //# sourceMappingURL=chunk-LF6SO3JU.js.map
9126
+ //# sourceMappingURL=chunk-LN74Z5QM.js.map