@citolab/qti-components 7.0.5 → 7.0.6-beta.1

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 (340) hide show
  1. package/cdn/chunks/chunk-3V6LA7B3.js +8 -0
  2. package/cdn/chunks/chunk-4WXQYE2P.js +8 -0
  3. package/cdn/chunks/chunk-5BR5CJFH.js +24 -0
  4. package/cdn/chunks/chunk-5GCSZ3CH.js +73 -0
  5. package/cdn/chunks/chunk-5P7CTN7Q.js +11 -0
  6. package/cdn/chunks/chunk-6MCYE7P5.js +1 -0
  7. package/cdn/chunks/chunk-6S4CDN3T.js +43 -0
  8. package/cdn/chunks/chunk-DZCKF45D.js +5 -0
  9. package/cdn/chunks/chunk-FRS2J3OS.js +59 -0
  10. package/cdn/chunks/chunk-FTKONGII.js +934 -0
  11. package/cdn/chunks/chunk-IAP2CEE7.js +1 -0
  12. package/cdn/chunks/chunk-IMJOPCFR.js +1 -0
  13. package/cdn/chunks/chunk-KWPDTFYH.js +1 -0
  14. package/cdn/chunks/{chunk-UIEC4LXR.js → chunk-L4CUWIE6.js} +1 -1
  15. package/cdn/chunks/chunk-LZZB4VGC.js +48 -0
  16. package/cdn/chunks/{chunk-CFXQCNG6.js → chunk-MJMONWKB.js} +18 -2
  17. package/cdn/chunks/chunk-PKT2SJQD.js +8 -0
  18. package/cdn/chunks/chunk-QQCGUVEV.js +1 -0
  19. package/cdn/chunks/chunk-R33OODNX.js +1 -0
  20. package/cdn/chunks/chunk-RXKI3AO4.js +1 -0
  21. package/cdn/chunks/chunk-TQBDBMWL.js +5 -0
  22. package/cdn/chunks/chunk-X2KBNXRO.js +6 -0
  23. package/cdn/exports/interaction.js +1 -0
  24. package/cdn/exports/item.context.js +1 -0
  25. package/cdn/exports/qti-assessment-item.context.js +1 -0
  26. package/cdn/exports/qti-condition-expression.js +1 -0
  27. package/cdn/exports/qti-expression.js +1 -0
  28. package/cdn/index.global.js +56 -107
  29. package/cdn/index.js +1 -4503
  30. package/cdn/qti-components/index.js +1 -924
  31. package/cdn/qti-item/core/index.js +1 -0
  32. package/cdn/qti-loader/index.js +1 -23
  33. package/cdn/qti-test/components/index.js +1 -3598
  34. package/cdn/qti-test/components/styles.js +1 -17
  35. package/cdn/qti-test/components/test-component.abstract.js +1 -1
  36. package/cdn/qti-test/components/test-item-link.js +1 -24
  37. package/cdn/qti-test/components/test-next.js +1 -24
  38. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -3
  39. package/cdn/qti-test/components/test-prev.js +1 -24
  40. package/cdn/qti-test/components/test-view.js +1 -11
  41. package/cdn/qti-test/core/index.js +1 -0
  42. package/cdn/qti-transformers/index.js +1 -23
  43. package/dist/chunks/{chunk-PUBGXXTM.js → chunk-2V6LQV2K.js} +5 -5
  44. package/dist/chunks/{chunk-LKINC6JO.js → chunk-3EU75IUF.js} +6 -6
  45. package/dist/chunks/chunk-3EU75IUF.js.map +1 -0
  46. package/dist/chunks/chunk-4GNVYCBN.js +627 -0
  47. package/dist/chunks/chunk-4GNVYCBN.js.map +1 -0
  48. package/dist/chunks/{chunk-HWA4A3SR.js → chunk-4WVLWWYJ.js} +5 -5
  49. package/dist/chunks/chunk-6JXR63MH.js +50 -0
  50. package/dist/chunks/chunk-6JXR63MH.js.map +1 -0
  51. package/dist/chunks/{chunk-3ROZMGAN.js → chunk-7QMCKYDR.js} +3 -3
  52. package/dist/chunks/{chunk-W4B23OIP.js → chunk-A24F75DB.js} +3 -3
  53. package/dist/chunks/chunk-BPHQLJWE.js +102 -0
  54. package/dist/chunks/chunk-BPHQLJWE.js.map +1 -0
  55. package/dist/chunks/chunk-DLUJN2FW.js +22 -0
  56. package/dist/chunks/chunk-DLUJN2FW.js.map +1 -0
  57. package/dist/chunks/{chunk-3OXGDCSU.js → chunk-DU37U6PW.js} +4835 -4991
  58. package/dist/chunks/chunk-DU37U6PW.js.map +1 -0
  59. package/dist/chunks/{chunk-XPDS72XY.js → chunk-FV7HWK54.js} +1 -1
  60. package/dist/chunks/chunk-FV7HWK54.js.map +1 -0
  61. package/dist/chunks/chunk-GSWZT6N2.js +50 -0
  62. package/dist/chunks/chunk-GSWZT6N2.js.map +1 -0
  63. package/dist/{qti-item/qti-item.js → chunks/chunk-H2JE6IVU.js} +2 -13
  64. package/dist/chunks/{chunk-LROTNPC2.js → chunk-HHVRU3AJ.js} +21 -8
  65. package/dist/chunks/chunk-HHVRU3AJ.js.map +1 -0
  66. package/dist/chunks/{chunk-Y6UWSECL.js → chunk-J2SHENRN.js} +2 -2
  67. package/dist/chunks/chunk-J2SHENRN.js.map +1 -0
  68. package/dist/chunks/chunk-KOEILLVS.js +8 -0
  69. package/dist/chunks/chunk-KOEILLVS.js.map +1 -0
  70. package/dist/chunks/{chunk-ZEFOMZNY.js → chunk-KYAIMBP5.js} +3 -3
  71. package/dist/chunks/chunk-O6WEZVEM.js +43 -0
  72. package/dist/chunks/chunk-O6WEZVEM.js.map +1 -0
  73. package/dist/chunks/{chunk-XDFXD3BI.js → chunk-UFYWCLXF.js} +2 -2
  74. package/dist/chunks/chunk-UFYWCLXF.js.map +1 -0
  75. package/dist/chunks/chunk-UN2IFSGC.js +1 -0
  76. package/dist/chunks/chunk-XSI6FXGD.js +19 -0
  77. package/dist/chunks/chunk-XSI6FXGD.js.map +1 -0
  78. package/dist/chunks/chunk-ZPNJ2HP5.js +71 -0
  79. package/dist/chunks/chunk-ZPNJ2HP5.js.map +1 -0
  80. package/dist/exports/expression-result.d.ts +19 -0
  81. package/dist/exports/expression-result.js +1 -0
  82. package/dist/exports/interaction.d.ts +23 -0
  83. package/dist/exports/interaction.interface.d.ts +13 -0
  84. package/dist/exports/interaction.interface.js +1 -0
  85. package/dist/exports/interaction.js +8 -0
  86. package/dist/exports/item.context.d.ts +12 -0
  87. package/dist/exports/item.context.js +8 -0
  88. package/dist/exports/qti-assessment-item.context.d.ts +10 -0
  89. package/dist/exports/qti-assessment-item.context.js +8 -0
  90. package/dist/exports/qti-condition-expression.d.ts +13 -0
  91. package/dist/exports/qti-condition-expression.js +10 -0
  92. package/dist/exports/qti-expression.d.ts +21 -0
  93. package/dist/exports/qti-expression.js +9 -0
  94. package/dist/exports/variables.d.ts +3 -0
  95. package/dist/exports/variables.js +1 -0
  96. package/dist/exports/variables.js.map +1 -0
  97. package/dist/index.d.ts +12 -8
  98. package/dist/index.js +140 -11045
  99. package/dist/index.js.map +1 -1
  100. package/dist/qti-components/index.d.ts +36 -9
  101. package/dist/qti-components/index.js +95 -6438
  102. package/dist/qti-components/index.js.map +1 -1
  103. package/dist/qti-components-jsx.d.ts +371 -666
  104. package/dist/qti-item/{components/item-container.d.ts → core/index.d.ts} +22 -1
  105. package/dist/qti-item/core/index.js +13 -0
  106. package/dist/qti-item/core/index.js.map +1 -0
  107. package/dist/qti-loader/index.d.ts +7 -1
  108. package/dist/qti-loader/index.js +6 -305
  109. package/dist/qti-loader/index.js.map +1 -1
  110. package/dist/{qti-simple-choice-DxWcdKHi.d.ts → qti-response-declaration-DAeBp8HH.d.ts} +463 -613
  111. package/dist/qti-test/components/index.d.ts +8 -4
  112. package/dist/qti-test/components/index.js +24 -4135
  113. package/dist/qti-test/components/index.js.map +1 -1
  114. package/dist/qti-test/components/styles.js +7 -22
  115. package/dist/qti-test/components/styles.js.map +1 -1
  116. package/dist/qti-test/components/test-component.abstract.d.ts +8 -3
  117. package/dist/qti-test/components/test-component.abstract.js +7 -145
  118. package/dist/qti-test/components/test-component.abstract.js.map +1 -1
  119. package/dist/qti-test/components/test-item-link.d.ts +8 -3
  120. package/dist/qti-test/components/test-item-link.js +9 -198
  121. package/dist/qti-test/components/test-item-link.js.map +1 -1
  122. package/dist/qti-test/components/test-next.d.ts +8 -3
  123. package/dist/qti-test/components/test-next.js +9 -205
  124. package/dist/qti-test/components/test-next.js.map +1 -1
  125. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +8 -3
  126. package/dist/qti-test/components/test-paging-buttons-stamp.js +8 -214
  127. package/dist/qti-test/components/test-paging-buttons-stamp.js.map +1 -1
  128. package/dist/qti-test/components/test-prev.d.ts +8 -3
  129. package/dist/qti-test/components/test-prev.js +9 -205
  130. package/dist/qti-test/components/test-prev.js.map +1 -1
  131. package/dist/qti-test/components/test-view.d.ts +8 -3
  132. package/dist/qti-test/components/test-view.js +8 -205
  133. package/dist/qti-test/components/test-view.js.map +1 -1
  134. package/dist/qti-test/core/index.d.ts +132 -0
  135. package/dist/qti-test/core/index.js +27 -0
  136. package/dist/qti-test/core/index.js.map +1 -0
  137. package/dist/qti-transformers/index.js +6 -287
  138. package/dist/qti-transformers/index.js.map +1 -1
  139. package/dist/{test-base-BJwG9Ie8.d.ts → test.context-CaENAJNk.d.ts} +22 -30
  140. package/dist/variables-cO3DzqJy.d.ts +33 -0
  141. package/dist/vscode.html-custom-data.json +226 -293
  142. package/package.json +83 -77
  143. package/cdn/chunks/chunk-5O3Z7TDV.js +0 -1
  144. package/cdn/chunks/chunk-65LFT33L.js +0 -8
  145. package/cdn/chunks/chunk-6D25UFJR.js +0 -8
  146. package/cdn/chunks/chunk-6UGPNL7M.js +0 -1
  147. package/cdn/chunks/chunk-CSUKVUZF.js +0 -3
  148. package/cdn/chunks/chunk-CSY3WI5A.js +0 -1
  149. package/cdn/chunks/chunk-G5O7EN45.js +0 -5
  150. package/cdn/chunks/chunk-JLNHEMQG.js +0 -1
  151. package/cdn/chunks/chunk-LPWIM7QJ.js +0 -902
  152. package/cdn/chunks/chunk-M3YRM3AV.js +0 -1
  153. package/cdn/chunks/chunk-M6BOWL2U.js +0 -1
  154. package/cdn/chunks/chunk-P5IE36FO.js +0 -8
  155. package/cdn/chunks/chunk-PXH5KN5O.js +0 -1
  156. package/cdn/chunks/chunk-RBEI6NIF.js +0 -1
  157. package/cdn/chunks/chunk-SMKIYFFI.js +0 -1
  158. package/cdn/chunks/chunk-SRLMW23F.js +0 -0
  159. package/cdn/chunks/chunk-T3YDLD2H.js +0 -11
  160. package/cdn/chunks/chunk-T4HD2C4F.js +0 -1
  161. package/cdn/chunks/chunk-T6IXJ4W4.js +0 -1
  162. package/cdn/chunks/chunk-TFAUBGP2.js +0 -0
  163. package/cdn/chunks/chunk-V44O3GTW.js +0 -0
  164. package/cdn/chunks/chunk-V6B54FQW.js +0 -5
  165. package/cdn/chunks/chunk-V6KX6BQN.js +0 -1
  166. package/cdn/chunks/chunk-VYANBI35.js +0 -1
  167. package/cdn/chunks/chunk-ZIZLFFSG.js +0 -0
  168. package/cdn/index.css +0 -1
  169. package/cdn/qti-components/index.global.js +0 -226
  170. package/cdn/qti-item/components/index.css +0 -1
  171. package/cdn/qti-item/components/index.global.js +0 -149
  172. package/cdn/qti-item/components/index.js +0 -3549
  173. package/cdn/qti-item/components/item-container.css +0 -1
  174. package/cdn/qti-item/components/item-container.global.js +0 -149
  175. package/cdn/qti-item/components/item-container.js +0 -3549
  176. package/cdn/qti-item/index.css +0 -1
  177. package/cdn/qti-item/index.global.js +0 -149
  178. package/cdn/qti-item/index.js +0 -3549
  179. package/cdn/qti-item/qti-item.global.js +0 -114
  180. package/cdn/qti-item/qti-item.js +0 -1
  181. package/cdn/qti-loader/index.global.js +0 -1
  182. package/cdn/qti-test/components/index.css +0 -1
  183. package/cdn/qti-test/components/index.global.js +0 -242
  184. package/cdn/qti-test/components/styles.global.js +0 -44
  185. package/cdn/qti-test/components/test-component.abstract.global.js +0 -170
  186. package/cdn/qti-test/components/test-container.css +0 -1
  187. package/cdn/qti-test/components/test-container.global.js +0 -149
  188. package/cdn/qti-test/components/test-container.js +0 -3549
  189. package/cdn/qti-test/components/test-item-link.global.js +0 -170
  190. package/cdn/qti-test/components/test-next.global.js +0 -170
  191. package/cdn/qti-test/components/test-next.spec.css +0 -1
  192. package/cdn/qti-test/components/test-next.spec.global.js +0 -297
  193. package/cdn/qti-test/components/test-next.spec.js +0 -5215
  194. package/cdn/qti-test/components/test-paging-buttons-stamp.global.js +0 -207
  195. package/cdn/qti-test/components/test-prev.global.js +0 -170
  196. package/cdn/qti-test/components/test-view.global.js +0 -170
  197. package/cdn/qti-test/context/index.global.js +0 -58
  198. package/cdn/qti-test/context/index.js +0 -1
  199. package/cdn/qti-test/context/test.context.global.js +0 -58
  200. package/cdn/qti-test/context/test.context.js +0 -1
  201. package/cdn/qti-test/index.css +0 -1
  202. package/cdn/qti-test/index.global.js +0 -242
  203. package/cdn/qti-test/index.js +0 -3598
  204. package/cdn/qti-test/mixins/index.global.js +0 -1
  205. package/cdn/qti-test/mixins/index.js +0 -23
  206. package/cdn/qti-test/mixins/test-loader.mixin.global.js +0 -1
  207. package/cdn/qti-test/mixins/test-loader.mixin.js +0 -23
  208. package/cdn/qti-test/mixins/test-navigation.mixin.global.js +0 -1
  209. package/cdn/qti-test/mixins/test-navigation.mixin.js +0 -1
  210. package/cdn/qti-test/mixins/test-view.mixin.global.js +0 -1
  211. package/cdn/qti-test/mixins/test-view.mixin.js +0 -1
  212. package/cdn/qti-test/qti-assessment-test/index.global.js +0 -170
  213. package/cdn/qti-test/qti-assessment-test/index.js +0 -1
  214. package/cdn/qti-test/qti-assessment-test/qti-assessment-item-ref.global.js +0 -170
  215. package/cdn/qti-test/qti-assessment-test/qti-assessment-item-ref.js +0 -1
  216. package/cdn/qti-test/qti-assessment-test/qti-assessment-section.global.js +0 -170
  217. package/cdn/qti-test/qti-assessment-test/qti-assessment-section.js +0 -1
  218. package/cdn/qti-test/qti-assessment-test/qti-assessment-test.global.js +0 -170
  219. package/cdn/qti-test/qti-assessment-test/qti-assessment-test.js +0 -1
  220. package/cdn/qti-test/qti-assessment-test/qti-test-part.global.js +0 -114
  221. package/cdn/qti-test/qti-assessment-test/qti-test-part.js +0 -1
  222. package/cdn/qti-test/qti-test.global.js +0 -170
  223. package/cdn/qti-test/qti-test.js +0 -23
  224. package/cdn/qti-test/test-base.global.js +0 -170
  225. package/cdn/qti-test/test-base.js +0 -1
  226. package/cdn/qti-transformers/index.global.js +0 -1
  227. package/dist/chunks/chunk-3G2DDBJW.js +0 -44
  228. package/dist/chunks/chunk-3G2DDBJW.js.map +0 -1
  229. package/dist/chunks/chunk-3NLCJYSX.js +0 -1
  230. package/dist/chunks/chunk-3OXGDCSU.js.map +0 -1
  231. package/dist/chunks/chunk-6YE2KJ4C.js +0 -55
  232. package/dist/chunks/chunk-AAQCM2FP.js +0 -56
  233. package/dist/chunks/chunk-AAQCM2FP.js.map +0 -1
  234. package/dist/chunks/chunk-DJLE6EV2.js +0 -36
  235. package/dist/chunks/chunk-DJLE6EV2.js.map +0 -1
  236. package/dist/chunks/chunk-EW5CTHAD.js +0 -1
  237. package/dist/chunks/chunk-IKZWK2C5.js +0 -1
  238. package/dist/chunks/chunk-IP7JSYO6.js +0 -1
  239. package/dist/chunks/chunk-JE6BMXZU.js +0 -94
  240. package/dist/chunks/chunk-JE6BMXZU.js.map +0 -1
  241. package/dist/chunks/chunk-JSPJGWGT.js +0 -20
  242. package/dist/chunks/chunk-JSPJGWGT.js.map +0 -1
  243. package/dist/chunks/chunk-LKINC6JO.js.map +0 -1
  244. package/dist/chunks/chunk-LROTNPC2.js.map +0 -1
  245. package/dist/chunks/chunk-MTMT2RMF.js +0 -63
  246. package/dist/chunks/chunk-MTMT2RMF.js.map +0 -1
  247. package/dist/chunks/chunk-NDJZGJUR.js +0 -65
  248. package/dist/chunks/chunk-NDJZGJUR.js.map +0 -1
  249. package/dist/chunks/chunk-OE2LFIH2.js +0 -1
  250. package/dist/chunks/chunk-OJ2XGDWK.js +0 -1
  251. package/dist/chunks/chunk-QRCUNRP5.js +0 -75
  252. package/dist/chunks/chunk-QRCUNRP5.js.map +0 -1
  253. package/dist/chunks/chunk-S6JJYCO7.js +0 -51
  254. package/dist/chunks/chunk-S6JJYCO7.js.map +0 -1
  255. package/dist/chunks/chunk-U3AALKEP.js +0 -1
  256. package/dist/chunks/chunk-UCQFSRYF.js +0 -34
  257. package/dist/chunks/chunk-UCQFSRYF.js.map +0 -1
  258. package/dist/chunks/chunk-URGVQ64M.js +0 -1
  259. package/dist/chunks/chunk-V4FXK4TP.js +0 -128
  260. package/dist/chunks/chunk-V4FXK4TP.js.map +0 -1
  261. package/dist/chunks/chunk-XDFXD3BI.js.map +0 -1
  262. package/dist/chunks/chunk-XPDS72XY.js.map +0 -1
  263. package/dist/chunks/chunk-Y6UWSECL.js.map +0 -1
  264. package/dist/index-Cvrd4KQA.d.ts +0 -109
  265. package/dist/qti-item/components/index.d.ts +0 -3
  266. package/dist/qti-item/components/index.js +0 -3856
  267. package/dist/qti-item/components/index.js.map +0 -1
  268. package/dist/qti-item/components/item-container.js +0 -3856
  269. package/dist/qti-item/components/item-container.js.map +0 -1
  270. package/dist/qti-item/index.d.ts +0 -4
  271. package/dist/qti-item/index.js +0 -3869
  272. package/dist/qti-item/index.js.map +0 -1
  273. package/dist/qti-item/qti-item.d.ts +0 -25
  274. package/dist/qti-item/qti-item.js.map +0 -1
  275. package/dist/qti-test/components/test-container.d.ts +0 -37
  276. package/dist/qti-test/components/test-container.js +0 -3782
  277. package/dist/qti-test/components/test-container.js.map +0 -1
  278. package/dist/qti-test/components/test-next.spec.d.ts +0 -16
  279. package/dist/qti-test/components/test-next.spec.js +0 -56915
  280. package/dist/qti-test/components/test-next.spec.js.map +0 -1
  281. package/dist/qti-test/context/index.d.ts +0 -6
  282. package/dist/qti-test/context/index.js +0 -9
  283. package/dist/qti-test/context/index.js.map +0 -1
  284. package/dist/qti-test/context/test.context.d.ts +0 -6
  285. package/dist/qti-test/context/test.context.js +0 -9
  286. package/dist/qti-test/context/test.context.js.map +0 -1
  287. package/dist/qti-test/index.d.ts +0 -14
  288. package/dist/qti-test/index.js +0 -4746
  289. package/dist/qti-test/index.js.map +0 -1
  290. package/dist/qti-test/mixins/index.d.ts +0 -8
  291. package/dist/qti-test/mixins/index.js +0 -350
  292. package/dist/qti-test/mixins/index.js.map +0 -1
  293. package/dist/qti-test/mixins/test-loader.mixin.d.ts +0 -8
  294. package/dist/qti-test/mixins/test-loader.mixin.js +0 -240
  295. package/dist/qti-test/mixins/test-loader.mixin.js.map +0 -1
  296. package/dist/qti-test/mixins/test-navigation.mixin.d.ts +0 -22
  297. package/dist/qti-test/mixins/test-navigation.mixin.js +0 -64
  298. package/dist/qti-test/mixins/test-navigation.mixin.js.map +0 -1
  299. package/dist/qti-test/mixins/test-view.mixin.d.ts +0 -6
  300. package/dist/qti-test/mixins/test-view.mixin.js +0 -50
  301. package/dist/qti-test/mixins/test-view.mixin.js.map +0 -1
  302. package/dist/qti-test/qti-assessment-test/index.d.ts +0 -6
  303. package/dist/qti-test/qti-assessment-test/index.js +0 -221
  304. package/dist/qti-test/qti-assessment-test/index.js.map +0 -1
  305. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.d.ts +0 -6
  306. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.js +0 -85
  307. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.js.map +0 -1
  308. package/dist/qti-test/qti-assessment-test/qti-assessment-section.d.ts +0 -6
  309. package/dist/qti-test/qti-assessment-test/qti-assessment-section.js +0 -73
  310. package/dist/qti-test/qti-assessment-test/qti-assessment-section.js.map +0 -1
  311. package/dist/qti-test/qti-assessment-test/qti-assessment-test.d.ts +0 -6
  312. package/dist/qti-test/qti-assessment-test/qti-assessment-test.js +0 -54
  313. package/dist/qti-test/qti-assessment-test/qti-assessment-test.js.map +0 -1
  314. package/dist/qti-test/qti-assessment-test/qti-test-part.d.ts +0 -19
  315. package/dist/qti-test/qti-assessment-test/qti-test-part.js +0 -62
  316. package/dist/qti-test/qti-assessment-test/qti-test-part.js.map +0 -1
  317. package/dist/qti-test/qti-test.d.ts +0 -68
  318. package/dist/qti-test/qti-test.js +0 -500
  319. package/dist/qti-test/qti-test.js.map +0 -1
  320. package/dist/qti-test/test-base.d.ts +0 -6
  321. package/dist/qti-test/test-base.js +0 -137
  322. package/dist/qti-test/test-base.js.map +0 -1
  323. /package/cdn/chunks/{chunk-6DMSHH5X.js → chunk-3GO57DNP.js} +0 -0
  324. /package/cdn/{chunks/chunk-DAZR7RUI.js → exports/expression-result.js} +0 -0
  325. /package/cdn/{chunks/chunk-EOPEMJS3.js → exports/interaction.interface.js} +0 -0
  326. /package/cdn/{chunks/chunk-GEFUIFM7.js → exports/variables.js} +0 -0
  327. /package/dist/chunks/{chunk-PUBGXXTM.js.map → chunk-2V6LQV2K.js.map} +0 -0
  328. /package/dist/chunks/{chunk-HWA4A3SR.js.map → chunk-4WVLWWYJ.js.map} +0 -0
  329. /package/dist/chunks/{chunk-3ROZMGAN.js.map → chunk-7QMCKYDR.js.map} +0 -0
  330. /package/dist/chunks/{chunk-W4B23OIP.js.map → chunk-A24F75DB.js.map} +0 -0
  331. /package/dist/chunks/{chunk-3NLCJYSX.js.map → chunk-H2JE6IVU.js.map} +0 -0
  332. /package/dist/chunks/{chunk-ZEFOMZNY.js.map → chunk-KYAIMBP5.js.map} +0 -0
  333. /package/dist/chunks/{chunk-6YE2KJ4C.js.map → chunk-UN2IFSGC.js.map} +0 -0
  334. /package/dist/{chunks/chunk-EW5CTHAD.js.map → exports/expression-result.js.map} +0 -0
  335. /package/dist/{chunks/chunk-IKZWK2C5.js.map → exports/interaction.interface.js.map} +0 -0
  336. /package/dist/{chunks/chunk-IP7JSYO6.js.map → exports/interaction.js.map} +0 -0
  337. /package/dist/{chunks/chunk-OE2LFIH2.js.map → exports/item.context.js.map} +0 -0
  338. /package/dist/{chunks/chunk-OJ2XGDWK.js.map → exports/qti-assessment-item.context.js.map} +0 -0
  339. /package/dist/{chunks/chunk-U3AALKEP.js.map → exports/qti-condition-expression.js.map} +0 -0
  340. /package/dist/{chunks/chunk-URGVQ64M.js.map → exports/qti-expression.js.map} +0 -0
@@ -1,208 +1,11 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __decorateClass = (decorators, target, key, kind) => {
4
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
- if (decorator = decorators[i])
7
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
- if (kind && result) __defProp(target, key, result);
9
- return result;
10
- };
11
-
12
- // src/lib/qti-test/components/test-view.ts
13
- import { html } from "lit";
14
- import { customElement, property as property2, state as state2 } from "lit/decorators.js";
15
-
16
- // src/lib/qti-test/components/test-component.abstract.ts
17
- import { consume } from "@lit/context";
18
- import { LitElement } from "lit";
19
- import { state } from "lit/decorators.js";
20
-
21
- // src/lib/decorators/watch.ts
22
- function watch(propertyName, options) {
23
- const resolvedOptions = {
24
- waitUntilFirstUpdate: false,
25
- ...options
26
- };
27
- return (proto, decoratedFnName) => {
28
- const { update } = proto;
29
- const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
30
- proto.update = function(changedProps) {
31
- watchedProperties.forEach((property3) => {
32
- const key = property3;
33
- if (changedProps.has(key)) {
34
- const oldValue = changedProps.get(key);
35
- const newValue = this[key];
36
- if (oldValue !== newValue) {
37
- if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
38
- this[decoratedFnName](oldValue, newValue);
39
- }
40
- }
41
- }
42
- });
43
- update.call(this, changedProps);
44
- };
45
- };
46
- }
47
-
48
- // src/lib/decorators/prop-internal-state.ts
49
- import { property } from "lit/decorators.js";
50
- function propInternalState(options) {
51
- return (protoOrDescriptor, name) => {
52
- property(options)(protoOrDescriptor, name);
53
- const key = `__${name}`;
54
- Object.defineProperty(protoOrDescriptor, name, {
55
- get() {
56
- return this[key];
57
- },
58
- set(value) {
59
- const oldValue = this[key];
60
- this[key] = value;
61
- if (oldValue !== value) {
62
- if (this._internals?.states) {
63
- const stateName = name.toLowerCase();
64
- if (value) {
65
- this._internals.states.add(`--${stateName}`);
66
- } else {
67
- this._internals.states.delete(`--${stateName}`);
68
- }
69
- }
70
- if (options.aria && this._internals) {
71
- const ariaAttribute = options.aria;
72
- if (value) {
73
- this._internals[ariaAttribute] = "true";
74
- } else {
75
- this._internals[ariaAttribute] = null;
76
- }
77
- }
78
- this.requestUpdate(name, oldValue);
79
- }
80
- },
81
- configurable: true,
82
- enumerable: true
83
- });
84
- };
85
- }
86
-
87
- // src/lib/qti-test/context/test.context.ts
88
- import { createContext } from "@lit/context";
89
- var testContext = createContext(Symbol("test"));
90
- var testElement = createContext(Symbol("testElement"));
91
-
92
- // src/lib/qti-test/components/test-component.abstract.ts
93
- var TestComponent = class extends LitElement {
94
- constructor() {
95
- super();
96
- this.disabled = true;
97
- this._internals = this.attachInternals();
98
- }
99
- _handleTestElementChange(_oldValue, newValue) {
100
- if (newValue.el) {
101
- this.disabled = false;
102
- }
103
- }
104
- willUpdate(changedProperties) {
105
- if (changedProperties.has("_testContext")) {
106
- const { items = [], navItemId } = this._testContext ?? {};
107
- this.itemIndex = items.findIndex((item) => item.identifier === navItemId);
108
- this.items = items;
109
- this.view = this._testContext?.view;
110
- }
111
- }
112
- _switchView(view) {
113
- this.dispatchEvent(
114
- new CustomEvent("on-test-switch-view", {
115
- composed: true,
116
- bubbles: true,
117
- detail: view
118
- })
119
- );
120
- }
121
- _requestItem(identifier) {
122
- this.dispatchEvent(
123
- new CustomEvent("qti-request-test-item", {
124
- composed: true,
125
- bubbles: true,
126
- detail: identifier
127
- })
128
- );
129
- }
130
- };
131
- __decorateClass([
132
- propInternalState({
133
- type: Boolean,
134
- reflect: true,
135
- aria: "ariaDisabled"
136
- // Maps to `aria-disabled` attribute
137
- })
138
- ], TestComponent.prototype, "disabled", 2);
139
- __decorateClass([
140
- state(),
141
- consume({ context: testContext, subscribe: true })
142
- ], TestComponent.prototype, "_testContext", 2);
143
- __decorateClass([
144
- state(),
145
- consume({ context: testElement, subscribe: true })
146
- ], TestComponent.prototype, "_testElement", 2);
147
- __decorateClass([
148
- watch("_testElement")
149
- ], TestComponent.prototype, "_handleTestElementChange", 1);
150
-
151
- // src/lib/qti-test/components/test-view.ts
152
- var TestView = class extends TestComponent {
153
- constructor() {
154
- super(...arguments);
155
- this.label = "view";
156
- this._handleViewOptionsChange = () => {
157
- this.updateViewOptions();
158
- };
159
- this._viewOptions = TestView.DEFAULT_VIEW_OPTIONS;
160
- }
161
- connectedCallback() {
162
- super.connectedCallback();
163
- this.updateViewOptions();
164
- }
165
- updateViewOptions() {
166
- if (this.viewOptions) {
167
- const options = this.viewOptions.split(",").map((opt) => opt.trim());
168
- this._viewOptions = options.filter((opt) => TestView.DEFAULT_VIEW_OPTIONS.includes(opt));
169
- } else {
170
- this._viewOptions = TestView.DEFAULT_VIEW_OPTIONS;
171
- }
172
- }
173
- render() {
174
- return html`
175
- <label part="label" for="viewSelect">${this.label}</label>
176
- <select
177
- part="select"
178
- id="viewSelect"
179
- .disabled=${this.disabled}
180
- @change=${(e) => {
181
- const el = e.target;
182
- this._switchView(el.value);
183
- }}
184
- >
185
- ${this._viewOptions.map((v) => html`<option value="${v}" ?selected=${v === this.view}>${v}</option>`)}
186
- </select>
187
- `;
188
- }
189
- };
190
- TestView.DEFAULT_VIEW_OPTIONS = ["author", "candidate", "proctor", "scorer", "testConstructor", "tutor"];
191
- __decorateClass([
192
- property2({ type: String })
193
- ], TestView.prototype, "label", 2);
194
- __decorateClass([
195
- property2({ type: String, attribute: "view-options" })
196
- ], TestView.prototype, "viewOptions", 2);
197
- __decorateClass([
198
- watch("viewOptions", { waitUntilFirstUpdate: true })
199
- ], TestView.prototype, "_handleViewOptionsChange", 2);
200
- __decorateClass([
201
- state2()
202
- ], TestView.prototype, "_viewOptions", 2);
203
- TestView = __decorateClass([
204
- customElement("test-view")
205
- ], TestView);
1
+ import {
2
+ TestView
3
+ } from "../../chunks/chunk-A24F75DB.js";
4
+ import "../../chunks/chunk-3EU75IUF.js";
5
+ import "../../chunks/chunk-UFYWCLXF.js";
6
+ import "../../chunks/chunk-D3RGDWKP.js";
7
+ import "../../chunks/chunk-ELDMXTUQ.js";
8
+ import "../../chunks/chunk-H2JE6IVU.js";
206
9
  export {
207
10
  TestView
208
11
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/qti-test/components/test-view.ts","../../../src/lib/qti-test/components/test-component.abstract.ts","../../../src/lib/decorators/watch.ts","../../../src/lib/decorators/prop-internal-state.ts","../../../src/lib/qti-test/context/test.context.ts"],"sourcesContent":["import { html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { TestComponent } from './test-component.abstract';\nimport { watch } from '../../decorators/watch';\n\n@customElement('test-view')\nexport class TestView extends TestComponent {\n static DEFAULT_VIEW_OPTIONS = ['author', 'candidate', 'proctor', 'scorer', 'testConstructor', 'tutor'];\n\n /** label accompanying the select view dropdown */\n @property({ type: String })\n label = 'view';\n\n /** The options to display in the dropdown, default: ['author', 'candidate', 'proctor', 'scorer', 'testConstructor', 'tutor'] */\n @property({ type: String, attribute: 'view-options' }) viewOptions;\n @watch('viewOptions', { waitUntilFirstUpdate: true })\n protected _handleViewOptionsChange = () => {\n this.updateViewOptions();\n };\n\n connectedCallback(): void {\n super.connectedCallback();\n this.updateViewOptions();\n }\n\n @state()\n private _viewOptions: string[] = TestView.DEFAULT_VIEW_OPTIONS;\n\n private updateViewOptions() {\n if (this.viewOptions) {\n const options = this.viewOptions.split(',').map(opt => opt.trim());\n this._viewOptions = options.filter(opt => TestView.DEFAULT_VIEW_OPTIONS.includes(opt));\n } else {\n this._viewOptions = TestView.DEFAULT_VIEW_OPTIONS;\n }\n }\n\n render() {\n return html`\n <label part=\"label\" for=\"viewSelect\">${this.label}</label>\n <select\n part=\"select\"\n id=\"viewSelect\"\n .disabled=${this.disabled}\n @change=${(e: Event) => {\n const el = e.target as HTMLSelectElement;\n this._switchView(el.value);\n }}\n >\n ${this._viewOptions.map(v => html`<option value=\"${v}\" ?selected=${v === this.view}>${v}</option>`)}\n </select>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'test-view': TestView;\n }\n}\n","import { consume } from '@lit/context';\nimport { LitElement } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport { propInternalState } from '../../decorators';\nimport { testContext, testElement, TestElement, TestContext } from '../context';\nimport { watch } from '../../decorators/watch';\n\nexport abstract class TestComponent extends LitElement {\n @propInternalState({\n type: Boolean,\n reflect: true,\n aria: 'ariaDisabled' // Maps to `aria-disabled` attribute\n })\n public disabled = true;\n\n @state()\n @consume({ context: testContext, subscribe: true })\n protected _testContext?: TestContext;\n\n @state()\n @consume({ context: testElement, subscribe: true })\n protected _testElement?: TestElement;\n @watch('_testElement')\n _handleTestElementChange(_oldValue: TestElement, newValue: TestElement) {\n if (newValue.el) {\n this.disabled = false;\n }\n }\n\n protected _internals: ElementInternals;\n\n protected items;\n protected itemIndex;\n protected view;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n protected willUpdate(changedProperties: Map<string | number | symbol, unknown>) {\n if (changedProperties.has('_testContext')) {\n const { items = [], navItemId } = this._testContext ?? {};\n this.itemIndex = items.findIndex(item => item.identifier === navItemId);\n this.items = items;\n this.view = this._testContext?.view;\n }\n }\n\n protected _switchView(view: string) {\n this.dispatchEvent(\n new CustomEvent('on-test-switch-view', {\n composed: true,\n bubbles: true,\n detail: view\n })\n );\n }\n\n protected _requestItem(identifier: string): void {\n this.dispatchEvent(\n new CustomEvent('qti-request-test-item', {\n composed: true,\n bubbles: true,\n detail: identifier\n })\n );\n }\n}\n","import type { LitElement } from 'lit';\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\nexport type UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\n/**\n * Runs when observed properties change, e.g. @property or @state, but before the component updates. To wait for an\n * update to complete after a change occurs, use `await this.updateComplete` in the handler. To start watching after the\n * initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n *\n * Usage:\n *\n * @watch('propName')\n * handlePropChange(oldValue, newValue) {\n * ...\n * }\n */\nexport function watch(propertyName: string | string[], options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass> | any\n ) => {\n // @ts-expect-error - update is a protected property\n const { update } = proto;\n const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];\n\n // @ts-expect-error - update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n watchedProperties.forEach(property => {\n const key = property as keyof ElemClass;\n if (changedProps.has(key)) {\n const oldValue = changedProps.get(key);\n const newValue = this[key];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n });\n\n update.call(this, changedProps);\n };\n };\n}\n","import { ReactiveElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { PropertyDeclaration } from 'lit';\n\n// Extended decorator options\ninterface InternalStateOptions extends PropertyDeclaration {\n aria?: string; // Corresponding ARIA attribute, e.g., 'aria-disabled'\n}\n\nexport function propInternalState(options: InternalStateOptions) {\n return (protoOrDescriptor: any, name: string) => {\n // Apply the default Lit `@property` decorator\n property(options)(protoOrDescriptor, name);\n\n // Intercept the property descriptor to enhance functionality\n const key = `__${name}`; // Internal backing field\n\n Object.defineProperty(protoOrDescriptor, name, {\n get() {\n return this[key];\n },\n set(value: any) {\n const oldValue = this[key];\n this[key] = value;\n\n // Trigger updates if value changes\n if (oldValue !== value) {\n // Update internals state\n if (this._internals?.states) {\n const stateName = name.toLowerCase();\n if (value) {\n this._internals.states.add(`--${stateName}`);\n } else {\n this._internals.states.delete(`--${stateName}`);\n }\n }\n\n // Update ARIA attributes if specified\n if (options.aria && this._internals) {\n const ariaAttribute = options.aria;\n if (value) {\n this._internals[ariaAttribute] = 'true';\n } else {\n this._internals[ariaAttribute] = null;\n }\n }\n\n // Request an update\n (this as ReactiveElement).requestUpdate(name, oldValue);\n }\n },\n configurable: true,\n enumerable: true\n });\n };\n}\n","import { createContext } from '@lit/context';\nimport { QtiAssessmentTest } from '../qti-assessment-test';\nimport { ItemContext, VariableDeclaration } from '../../qti-components';\nimport { View } from '../mixins/test-view.mixin';\n\nexport interface TestContext {\n items: (ItemContext & { category?: string })[];\n testOutcomeVariables: VariableDeclaration<string | string[]>[];\n navPartId?: string | null;\n navSectionId?: string | null;\n navItemId?: string | null;\n navItemLoading?: boolean;\n navTestLoading?: boolean;\n view?: View;\n}\n\nexport const testContext = createContext<Readonly<TestContext>>(Symbol('test'));\n\nexport type TestElement = {\n el: QtiAssessmentTest;\n};\n\nexport const testElement = createContext<Readonly<TestElement>>(Symbol('testElement'));\n"],"mappings":"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","names":["property","state","property","property","state"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,132 @@
1
+ import * as lit_html from 'lit-html';
2
+ import { LitElement } from 'lit';
3
+ import { T as TestContext, d as TestElement } from '../../test.context-CaENAJNk.js';
4
+ export { Q as QtiAssessmentItemRef, a as QtiAssessmentSection, b as QtiAssessmentTest, c as QtiTestPart, t as testContext, e as testElement } from '../../test.context-CaENAJNk.js';
5
+ import '../../variables-cO3DzqJy.js';
6
+ import '../../exports/expression-result.js';
7
+ import '../../exports/item.context.js';
8
+ import '../../qti-response-declaration-DAeBp8HH.js';
9
+ import '../../exports/interaction.interface.js';
10
+ import '../../exports/interaction.js';
11
+ import 'lit-html/directives/ref.js';
12
+ import '../../exports/qti-expression.js';
13
+
14
+ /**
15
+ * `<test-container>` is a custom element designed for hosting the qti-assessment-item.
16
+ * The `qti-assessment-test` will be placed inside the shadow DOM of this element.
17
+ * The element loads the test from the provided URL and renders it inside the shadow DOM.
18
+ *
19
+ * ```html
20
+ * <qti-test>
21
+ * <test-container class="m-4 bg-white" test-url="./path/to/assessmenttest.xml"></test-container>
22
+ * </qti-test>
23
+ * ```
24
+ */
25
+ declare class TestContainer extends LitElement {
26
+ /** URL of the item to load */
27
+ testURL: string;
28
+ /** A parsed HTML document */
29
+ testDoc: DocumentFragment;
30
+ /** The raw XML string */
31
+ testXML: string;
32
+ /** Template content if provided */
33
+ private templateContent;
34
+ protected handleTestURLChange(): Promise<void>;
35
+ protected handleTestXMLChange(): void;
36
+ connectedCallback(): Promise<void>;
37
+ private initializeTemplateContent;
38
+ private applyStyles;
39
+ render(): lit_html.TemplateResult<1>;
40
+ }
41
+ declare global {
42
+ interface HTMLElementTagNameMap {
43
+ 'test-container': TestContainer;
44
+ }
45
+ }
46
+
47
+ declare abstract class TestBase extends LitElement {
48
+ protected _testContext: Readonly<TestContext>;
49
+ protected testElement: TestElement;
50
+ constructor();
51
+ get context(): TestContext;
52
+ set context(testContext: TestContext);
53
+ private _updateItemVariablesInTestContext;
54
+ /**
55
+ * Updates the variables of an assessment item in the test context.
56
+ * - Matches the assessment item with the corresponding test context item.
57
+ * - If the item is not found, logs a warning.
58
+ * - Updates variables in the test context if exactly one variable exists.
59
+ * - Otherwise, syncs the assessment item's variables with the test context.
60
+ *
61
+ * @param assessmentItem - The assessment item to update.
62
+ */
63
+ private _updateItemInTestContext;
64
+ connectedCallback(): void;
65
+ }
66
+
67
+ declare const QtiTest_base: (abstract new (...args: any[]) => {}) & (abstract new (...args: any[]) => {
68
+ updateOutcomeVariable(identifier: string, value: string | string[] | undefined): void;
69
+ getOutcome(identifier: string): Readonly<OutcomeVariable>;
70
+ getVariable(identifier: string): Readonly<VariableDeclaration<string | string[]>>;
71
+ outcomeProcessing(): boolean;
72
+ }) & (abstract new (...args: any[]) => {}) & (abstract new (...args: any[]) => {}) & typeof TestBase;
73
+ /**
74
+ * `<qti-test>` is a custom element designed for rendering and interacting with QTI (Question and Test Interoperability) tests.
75
+ *
76
+ * This component leverages several mixins to provide functionality for loading, navigating, processing, and displaying QTI test assessments.
77
+ *
78
+ * ### Example Usage
79
+ *
80
+ * Minimal example including navigation:
81
+ *
82
+ * ```html
83
+ * <qti-test>
84
+ * <test-container test-url="./path/to/assessment.xml"></test-container>
85
+ * <nav class="flex">
86
+ * <test-prev></test-prev>
87
+ * <test-next></test-next>
88
+ * </nav>
89
+ * </qti-test>
90
+ * ```
91
+ *
92
+ * Use the following file structure
93
+ * A qti-test loads a QTI3.0 assessmenttest.xml file from a package folder.
94
+ *
95
+ * ```plaintext
96
+ * Root/
97
+ * ├── index.html
98
+ * └── /assets/api/examples/
99
+ * ├── assessmenttest.xml
100
+ * └── imsmanifest.xml
101
+ *
102
+ * ```
103
+ *
104
+ * ### Test components
105
+ *
106
+ * Use test components inside the qti-test component for added functionality.
107
+ * ### Test next
108
+ * `<test-next> | TestNext`
109
+ *
110
+ * ### Test prev
111
+ *
112
+ * `<test-prev> | TestPrev`
113
+ * ### Test components
114
+ *
115
+ * You can use normal class names to style the elements.
116
+ * And you can use the `test-prev` and `test-next` elements to navigate through the test.
117
+ *
118
+ */
119
+ declare class QtiTest extends QtiTest_base {
120
+ /**
121
+ * Renders the component's template.
122
+ * Provides a default `<slot>` for content projection.
123
+ */
124
+ render(): lit_html.TemplateResult<1>;
125
+ }
126
+ declare global {
127
+ interface HTMLElementTagNameMap {
128
+ 'qti-test': QtiTest;
129
+ }
130
+ }
131
+
132
+ export { QtiTest, TestContainer, TestContext, TestElement };
@@ -0,0 +1,27 @@
1
+ import {
2
+ QtiAssessmentItemRef,
3
+ QtiAssessmentSection,
4
+ QtiAssessmentTest,
5
+ QtiTest,
6
+ QtiTestPart,
7
+ TestContainer
8
+ } from "../../chunks/chunk-4GNVYCBN.js";
9
+ import "../../chunks/chunk-J2SHENRN.js";
10
+ import "../../chunks/chunk-XDMSEAYC.js";
11
+ import {
12
+ testContext,
13
+ testElement
14
+ } from "../../chunks/chunk-UFYWCLXF.js";
15
+ import "../../chunks/chunk-ELDMXTUQ.js";
16
+ import "../../chunks/chunk-H2JE6IVU.js";
17
+ export {
18
+ QtiAssessmentItemRef,
19
+ QtiAssessmentSection,
20
+ QtiAssessmentTest,
21
+ QtiTest,
22
+ QtiTestPart,
23
+ TestContainer,
24
+ testContext,
25
+ testElement
26
+ };
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}