@citolab/qti-components 7.0.3 → 7.0.5

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 (283) hide show
  1. package/cdn/chunks/chunk-4UJBK6JO.js +1 -0
  2. package/cdn/chunks/chunk-5FCXUJAG.js +23 -0
  3. package/cdn/chunks/chunk-5O3Z7TDV.js +1 -0
  4. package/cdn/chunks/chunk-65LFT33L.js +8 -0
  5. package/cdn/chunks/chunk-6D25UFJR.js +8 -0
  6. package/cdn/chunks/chunk-6DMSHH5X.js +0 -0
  7. package/cdn/chunks/chunk-6UGPNL7M.js +1 -0
  8. package/cdn/chunks/chunk-CFXQCNG6.js +3523 -0
  9. package/cdn/chunks/chunk-CSUKVUZF.js +3 -0
  10. package/cdn/chunks/chunk-CSY3WI5A.js +1 -0
  11. package/cdn/chunks/chunk-DAZR7RUI.js +0 -0
  12. package/cdn/chunks/chunk-EHK76KRT.js +1 -0
  13. package/cdn/chunks/chunk-EOPEMJS3.js +0 -0
  14. package/cdn/chunks/chunk-G5O7EN45.js +5 -0
  15. package/cdn/chunks/chunk-GEFUIFM7.js +0 -0
  16. package/cdn/chunks/chunk-JLNHEMQG.js +1 -0
  17. package/cdn/chunks/chunk-LPWIM7QJ.js +902 -0
  18. package/cdn/chunks/chunk-M3YRM3AV.js +1 -0
  19. package/cdn/chunks/chunk-M6BOWL2U.js +1 -0
  20. package/cdn/chunks/chunk-P5IE36FO.js +8 -0
  21. package/cdn/chunks/chunk-PXH5KN5O.js +1 -0
  22. package/cdn/chunks/chunk-RBEI6NIF.js +1 -0
  23. package/cdn/chunks/chunk-SMKIYFFI.js +1 -0
  24. package/cdn/chunks/chunk-SRLMW23F.js +0 -0
  25. package/cdn/chunks/chunk-T3YDLD2H.js +11 -0
  26. package/cdn/chunks/chunk-T4HD2C4F.js +1 -0
  27. package/cdn/chunks/chunk-T6IXJ4W4.js +1 -0
  28. package/cdn/chunks/chunk-TFAUBGP2.js +0 -0
  29. package/cdn/chunks/chunk-UIEC4LXR.js +17 -0
  30. package/cdn/chunks/chunk-V44O3GTW.js +0 -0
  31. package/cdn/chunks/chunk-V6B54FQW.js +5 -0
  32. package/cdn/chunks/chunk-V6KX6BQN.js +1 -0
  33. package/cdn/chunks/chunk-VYANBI35.js +1 -0
  34. package/cdn/chunks/chunk-XUJ7TXHW.js +1 -0
  35. package/cdn/chunks/chunk-ZIZLFFSG.js +0 -0
  36. package/cdn/index.css +1 -0
  37. package/cdn/index.global.js +45 -45
  38. package/cdn/index.js +354 -4148
  39. package/cdn/qti-components/index.global.js +226 -0
  40. package/cdn/qti-components/index.js +924 -0
  41. package/cdn/qti-item/components/index.css +1 -0
  42. package/cdn/qti-item/components/index.global.js +149 -0
  43. package/cdn/qti-item/components/index.js +3549 -0
  44. package/cdn/qti-item/components/item-container.css +1 -0
  45. package/cdn/qti-item/components/item-container.global.js +149 -0
  46. package/cdn/qti-item/components/item-container.js +3549 -0
  47. package/cdn/qti-item/index.css +1 -0
  48. package/cdn/qti-item/index.global.js +149 -0
  49. package/cdn/qti-item/index.js +3549 -0
  50. package/cdn/qti-item/qti-item.global.js +114 -0
  51. package/cdn/qti-item/qti-item.js +1 -0
  52. package/cdn/qti-loader/index.global.js +1 -0
  53. package/cdn/qti-loader/index.js +23 -0
  54. package/cdn/qti-test/components/index.css +1 -0
  55. package/cdn/qti-test/components/index.global.js +242 -0
  56. package/cdn/qti-test/components/index.js +3598 -0
  57. package/cdn/qti-test/components/styles.global.js +44 -0
  58. package/cdn/qti-test/components/styles.js +17 -0
  59. package/cdn/qti-test/components/test-component.abstract.global.js +170 -0
  60. package/cdn/qti-test/components/test-component.abstract.js +1 -0
  61. package/cdn/qti-test/components/test-container.css +1 -0
  62. package/cdn/qti-test/components/test-container.global.js +149 -0
  63. package/cdn/qti-test/components/test-container.js +3549 -0
  64. package/cdn/qti-test/components/test-item-link.global.js +170 -0
  65. package/cdn/qti-test/components/test-item-link.js +24 -0
  66. package/cdn/qti-test/components/test-next.global.js +170 -0
  67. package/cdn/qti-test/components/test-next.js +24 -0
  68. package/cdn/qti-test/components/test-next.spec.css +1 -0
  69. package/cdn/qti-test/components/test-next.spec.global.js +297 -0
  70. package/cdn/qti-test/components/test-next.spec.js +5215 -0
  71. package/cdn/qti-test/components/test-paging-buttons-stamp.global.js +207 -0
  72. package/cdn/qti-test/components/test-paging-buttons-stamp.js +3 -0
  73. package/cdn/qti-test/components/test-prev.global.js +170 -0
  74. package/cdn/qti-test/components/test-prev.js +24 -0
  75. package/cdn/qti-test/components/test-view.global.js +170 -0
  76. package/cdn/qti-test/components/test-view.js +11 -0
  77. package/cdn/qti-test/context/index.global.js +58 -0
  78. package/cdn/qti-test/context/index.js +1 -0
  79. package/cdn/qti-test/context/test.context.global.js +58 -0
  80. package/cdn/qti-test/context/test.context.js +1 -0
  81. package/cdn/qti-test/index.css +1 -0
  82. package/cdn/qti-test/index.global.js +242 -0
  83. package/cdn/qti-test/index.js +3598 -0
  84. package/cdn/qti-test/mixins/index.global.js +1 -0
  85. package/cdn/qti-test/mixins/index.js +23 -0
  86. package/cdn/qti-test/mixins/test-loader.mixin.global.js +1 -0
  87. package/cdn/qti-test/mixins/test-loader.mixin.js +23 -0
  88. package/cdn/qti-test/mixins/test-navigation.mixin.global.js +1 -0
  89. package/cdn/qti-test/mixins/test-navigation.mixin.js +1 -0
  90. package/cdn/qti-test/mixins/test-view.mixin.global.js +1 -0
  91. package/cdn/qti-test/mixins/test-view.mixin.js +1 -0
  92. package/cdn/qti-test/qti-assessment-test/index.global.js +170 -0
  93. package/cdn/qti-test/qti-assessment-test/index.js +1 -0
  94. package/cdn/qti-test/qti-assessment-test/qti-assessment-item-ref.global.js +170 -0
  95. package/cdn/qti-test/qti-assessment-test/qti-assessment-item-ref.js +1 -0
  96. package/cdn/qti-test/qti-assessment-test/qti-assessment-section.global.js +170 -0
  97. package/cdn/qti-test/qti-assessment-test/qti-assessment-section.js +1 -0
  98. package/cdn/qti-test/qti-assessment-test/qti-assessment-test.global.js +170 -0
  99. package/cdn/qti-test/qti-assessment-test/qti-assessment-test.js +1 -0
  100. package/cdn/qti-test/qti-assessment-test/qti-test-part.global.js +114 -0
  101. package/cdn/qti-test/qti-assessment-test/qti-test-part.js +1 -0
  102. package/cdn/qti-test/qti-test.global.js +170 -0
  103. package/cdn/qti-test/qti-test.js +23 -0
  104. package/cdn/qti-test/test-base.global.js +170 -0
  105. package/cdn/qti-test/test-base.js +1 -0
  106. package/cdn/qti-transformers/index.global.js +1 -0
  107. package/cdn/qti-transformers/index.js +23 -0
  108. package/dist/chunks/chunk-3G2DDBJW.js +44 -0
  109. package/dist/chunks/chunk-3G2DDBJW.js.map +1 -0
  110. package/dist/chunks/chunk-3NLCJYSX.js +1 -0
  111. package/dist/chunks/chunk-3NLCJYSX.js.map +1 -0
  112. package/dist/chunks/chunk-3OXGDCSU.js +6253 -0
  113. package/dist/chunks/chunk-3OXGDCSU.js.map +1 -0
  114. package/dist/chunks/chunk-3ROZMGAN.js +43 -0
  115. package/dist/chunks/chunk-3ROZMGAN.js.map +1 -0
  116. package/dist/chunks/chunk-4O5F7WV7.js +30 -0
  117. package/dist/chunks/chunk-4O5F7WV7.js.map +1 -0
  118. package/dist/chunks/chunk-6YE2KJ4C.js +55 -0
  119. package/dist/chunks/chunk-6YE2KJ4C.js.map +1 -0
  120. package/dist/chunks/chunk-AAQCM2FP.js +56 -0
  121. package/dist/chunks/chunk-AAQCM2FP.js.map +1 -0
  122. package/dist/chunks/chunk-D3RGDWKP.js +37 -0
  123. package/dist/chunks/chunk-D3RGDWKP.js.map +1 -0
  124. package/dist/chunks/chunk-DJLE6EV2.js +36 -0
  125. package/dist/chunks/chunk-DJLE6EV2.js.map +1 -0
  126. package/dist/chunks/chunk-ELDMXTUQ.js +31 -0
  127. package/dist/chunks/chunk-ELDMXTUQ.js.map +1 -0
  128. package/dist/chunks/chunk-EW5CTHAD.js +1 -0
  129. package/dist/chunks/chunk-EW5CTHAD.js.map +1 -0
  130. package/dist/chunks/chunk-HWA4A3SR.js +50 -0
  131. package/dist/chunks/chunk-HWA4A3SR.js.map +1 -0
  132. package/dist/chunks/chunk-IKZWK2C5.js +1 -0
  133. package/dist/chunks/chunk-IKZWK2C5.js.map +1 -0
  134. package/dist/chunks/chunk-IP7JSYO6.js +1 -0
  135. package/dist/chunks/chunk-IP7JSYO6.js.map +1 -0
  136. package/dist/chunks/chunk-JE6BMXZU.js +94 -0
  137. package/dist/chunks/chunk-JE6BMXZU.js.map +1 -0
  138. package/dist/chunks/chunk-JSPJGWGT.js +20 -0
  139. package/dist/chunks/chunk-JSPJGWGT.js.map +1 -0
  140. package/dist/chunks/chunk-LKINC6JO.js +118 -0
  141. package/dist/chunks/chunk-LKINC6JO.js.map +1 -0
  142. package/dist/chunks/chunk-LROTNPC2.js +94 -0
  143. package/dist/chunks/chunk-LROTNPC2.js.map +1 -0
  144. package/dist/chunks/chunk-MTMT2RMF.js +63 -0
  145. package/dist/chunks/chunk-MTMT2RMF.js.map +1 -0
  146. package/dist/chunks/chunk-NDJZGJUR.js +65 -0
  147. package/dist/chunks/chunk-NDJZGJUR.js.map +1 -0
  148. package/dist/chunks/chunk-OE2LFIH2.js +1 -0
  149. package/dist/chunks/chunk-OE2LFIH2.js.map +1 -0
  150. package/dist/chunks/chunk-OJ2XGDWK.js +1 -0
  151. package/dist/chunks/chunk-OJ2XGDWK.js.map +1 -0
  152. package/dist/chunks/chunk-PUBGXXTM.js +50 -0
  153. package/dist/chunks/chunk-PUBGXXTM.js.map +1 -0
  154. package/dist/chunks/chunk-QRCUNRP5.js +75 -0
  155. package/dist/chunks/chunk-QRCUNRP5.js.map +1 -0
  156. package/dist/chunks/chunk-S6JJYCO7.js +51 -0
  157. package/dist/chunks/chunk-S6JJYCO7.js.map +1 -0
  158. package/dist/chunks/chunk-U3AALKEP.js +1 -0
  159. package/dist/chunks/chunk-U3AALKEP.js.map +1 -0
  160. package/dist/chunks/chunk-UCQFSRYF.js +34 -0
  161. package/dist/chunks/chunk-UCQFSRYF.js.map +1 -0
  162. package/dist/chunks/chunk-URGVQ64M.js +1 -0
  163. package/dist/chunks/chunk-URGVQ64M.js.map +1 -0
  164. package/dist/chunks/chunk-V4FXK4TP.js +128 -0
  165. package/dist/chunks/chunk-V4FXK4TP.js.map +1 -0
  166. package/dist/chunks/chunk-W4B23OIP.js +72 -0
  167. package/dist/chunks/chunk-W4B23OIP.js.map +1 -0
  168. package/dist/chunks/chunk-XDFXD3BI.js +10 -0
  169. package/dist/chunks/chunk-XDFXD3BI.js.map +1 -0
  170. package/dist/chunks/chunk-XDMSEAYC.js +294 -0
  171. package/dist/chunks/chunk-XDMSEAYC.js.map +1 -0
  172. package/dist/chunks/chunk-XPDS72XY.js +29 -0
  173. package/dist/chunks/chunk-XPDS72XY.js.map +1 -0
  174. package/dist/chunks/chunk-Y6UWSECL.js +3529 -0
  175. package/dist/chunks/chunk-Y6UWSECL.js.map +1 -0
  176. package/dist/chunks/chunk-ZEFOMZNY.js +78 -0
  177. package/dist/chunks/chunk-ZEFOMZNY.js.map +1 -0
  178. package/dist/index-Cvrd4KQA.d.ts +109 -0
  179. package/dist/index.d.ts +18 -469
  180. package/dist/index.js +2717 -8728
  181. package/dist/index.js.map +1 -1
  182. package/dist/item.css +10 -78
  183. package/dist/qti-components/index.d.ts +150 -0
  184. package/dist/qti-components/index.js +6525 -0
  185. package/dist/qti-components/index.js.map +1 -0
  186. package/dist/qti-components-jsx.d.ts +159 -184
  187. package/dist/qti-item/components/index.d.ts +3 -0
  188. package/dist/qti-item/components/index.js +3856 -0
  189. package/dist/qti-item/components/index.js.map +1 -0
  190. package/dist/qti-item/components/item-container.d.ts +40 -0
  191. package/dist/qti-item/components/item-container.js +3856 -0
  192. package/dist/qti-item/components/item-container.js.map +1 -0
  193. package/dist/qti-item/index.d.ts +4 -0
  194. package/dist/qti-item/index.js +3869 -0
  195. package/dist/qti-item/index.js.map +1 -0
  196. package/dist/qti-item/qti-item.d.ts +25 -0
  197. package/dist/qti-item/qti-item.js +26 -0
  198. package/dist/qti-item/qti-item.js.map +1 -0
  199. package/dist/{loader → qti-loader}/index.d.ts +1 -1
  200. package/dist/{loader → qti-loader}/index.js +5 -0
  201. package/dist/{loader → qti-loader}/index.js.map +1 -1
  202. package/dist/{qti-simple-choice-UTrFa_RQ.d.ts → qti-simple-choice-DxWcdKHi.d.ts} +71 -90
  203. package/dist/qti-test/components/index.d.ts +13 -0
  204. package/dist/qti-test/components/index.js +4144 -0
  205. package/dist/qti-test/components/index.js.map +1 -0
  206. package/dist/qti-test/components/styles.d.ts +8 -0
  207. package/dist/qti-test/components/styles.js +29 -0
  208. package/dist/qti-test/components/styles.js.map +1 -0
  209. package/dist/qti-test/components/test-component.abstract.d.ts +23 -0
  210. package/dist/qti-test/components/test-component.abstract.js +149 -0
  211. package/dist/qti-test/components/test-component.abstract.js.map +1 -0
  212. package/dist/qti-test/components/test-container.d.ts +37 -0
  213. package/dist/qti-test/components/test-container.js +3782 -0
  214. package/dist/qti-test/components/test-container.js.map +1 -0
  215. package/dist/qti-test/components/test-item-link.d.ts +21 -0
  216. package/dist/qti-test/components/test-item-link.js +202 -0
  217. package/dist/qti-test/components/test-item-link.js.map +1 -0
  218. package/dist/qti-test/components/test-next.d.ts +32 -0
  219. package/dist/qti-test/components/test-next.js +209 -0
  220. package/dist/qti-test/components/test-next.js.map +1 -0
  221. package/dist/qti-test/components/test-next.spec.d.ts +16 -0
  222. package/dist/qti-test/components/test-next.spec.js +56915 -0
  223. package/dist/qti-test/components/test-next.spec.js.map +1 -0
  224. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +22 -0
  225. package/dist/qti-test/components/test-paging-buttons-stamp.js +218 -0
  226. package/dist/qti-test/components/test-paging-buttons-stamp.js.map +1 -0
  227. package/dist/qti-test/components/test-prev.d.ts +32 -0
  228. package/dist/qti-test/components/test-prev.js +209 -0
  229. package/dist/qti-test/components/test-prev.js.map +1 -0
  230. package/dist/qti-test/components/test-view.d.ts +27 -0
  231. package/dist/qti-test/components/test-view.js +209 -0
  232. package/dist/qti-test/components/test-view.js.map +1 -0
  233. package/dist/qti-test/context/index.d.ts +6 -0
  234. package/dist/qti-test/context/index.js +9 -0
  235. package/dist/qti-test/context/index.js.map +1 -0
  236. package/dist/qti-test/context/test.context.d.ts +6 -0
  237. package/dist/qti-test/context/test.context.js +9 -0
  238. package/dist/qti-test/context/test.context.js.map +1 -0
  239. package/dist/qti-test/index.d.ts +14 -0
  240. package/dist/qti-test/index.js +4746 -0
  241. package/dist/qti-test/index.js.map +1 -0
  242. package/dist/qti-test/mixins/index.d.ts +8 -0
  243. package/dist/qti-test/mixins/index.js +350 -0
  244. package/dist/qti-test/mixins/index.js.map +1 -0
  245. package/dist/qti-test/mixins/test-loader.mixin.d.ts +8 -0
  246. package/dist/qti-test/mixins/test-loader.mixin.js +240 -0
  247. package/dist/qti-test/mixins/test-loader.mixin.js.map +1 -0
  248. package/dist/qti-test/mixins/test-navigation.mixin.d.ts +22 -0
  249. package/dist/qti-test/mixins/test-navigation.mixin.js +64 -0
  250. package/dist/qti-test/mixins/test-navigation.mixin.js.map +1 -0
  251. package/dist/qti-test/mixins/test-view.mixin.d.ts +6 -0
  252. package/dist/qti-test/mixins/test-view.mixin.js +50 -0
  253. package/dist/qti-test/mixins/test-view.mixin.js.map +1 -0
  254. package/dist/qti-test/qti-assessment-test/index.d.ts +6 -0
  255. package/dist/qti-test/qti-assessment-test/index.js +221 -0
  256. package/dist/qti-test/qti-assessment-test/index.js.map +1 -0
  257. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.d.ts +6 -0
  258. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.js +85 -0
  259. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.js.map +1 -0
  260. package/dist/qti-test/qti-assessment-test/qti-assessment-section.d.ts +6 -0
  261. package/dist/qti-test/qti-assessment-test/qti-assessment-section.js +73 -0
  262. package/dist/qti-test/qti-assessment-test/qti-assessment-section.js.map +1 -0
  263. package/dist/qti-test/qti-assessment-test/qti-assessment-test.d.ts +6 -0
  264. package/dist/qti-test/qti-assessment-test/qti-assessment-test.js +54 -0
  265. package/dist/qti-test/qti-assessment-test/qti-assessment-test.js.map +1 -0
  266. package/dist/qti-test/qti-assessment-test/qti-test-part.d.ts +19 -0
  267. package/dist/qti-test/qti-assessment-test/qti-test-part.js +62 -0
  268. package/dist/qti-test/qti-assessment-test/qti-test-part.js.map +1 -0
  269. package/dist/qti-test/qti-test.d.ts +68 -0
  270. package/dist/qti-test/qti-test.js +500 -0
  271. package/dist/qti-test/qti-test.js.map +1 -0
  272. package/dist/qti-test/test-base.d.ts +6 -0
  273. package/dist/qti-test/test-base.js +137 -0
  274. package/dist/qti-test/test-base.js.map +1 -0
  275. package/dist/{transformers → qti-transformers}/index.d.ts +1 -0
  276. package/dist/{transformers → qti-transformers}/index.js +5 -0
  277. package/dist/{transformers → qti-transformers}/index.js.map +1 -1
  278. package/dist/test-base-BJwG9Ie8.d.ts +109 -0
  279. package/dist/vscode.css-custom-data.json +1 -37
  280. package/dist/vscode.html-custom-data.json +70 -45
  281. package/package.json +29 -51
  282. package/dist/custom-element-eslint-rules.js +0 -337
  283. package/dist/custom-elements.json +0 -27271
@@ -440,10 +440,6 @@ export type QtiInlineChoiceInteractionProps = {
440
440
  /** */
441
441
  readonly?: boolean;
442
442
  /** */
443
- options?: OptionType[];
444
- /** */
445
- correctOption?: string;
446
- /** */
447
443
  value?: string | string[];
448
444
  /** */
449
445
  correctResponse?: string | string[];
@@ -501,6 +497,23 @@ export type QtiChoiceInteractionProps = {
501
497
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
502
498
  };
503
499
 
500
+ export type QtiUploadInteractionProps = {
501
+ /** */
502
+ "response-identifier"?: string;
503
+ /** */
504
+ disabled?: boolean;
505
+ /** */
506
+ readonly?: boolean;
507
+ /** */
508
+ value?: string | string[];
509
+ /** */
510
+ correctResponse?: string | string[];
511
+ /** */
512
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
513
+ /** */
514
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
515
+ };
516
+
504
517
  export type QtiOutcomeProcessingProps = {};
505
518
 
506
519
  export type QtiPortableCustomInteractionProps = {
@@ -557,19 +570,19 @@ export type QtiAssociateInteractionProps = {
557
570
  /** */
558
571
  "max-associations"?: number;
559
572
  /** */
560
- disabled?: boolean;
561
- /** */
562
573
  "response-identifier"?: string;
563
574
  /** */
575
+ disabled?: boolean;
576
+ /** */
564
577
  readonly?: boolean;
565
578
  /** */
566
579
  value?: string | string[];
567
580
  /** */
568
581
  correctResponse?: string | string[];
569
582
  /** */
570
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
571
- /** */
572
583
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
584
+ /** */
585
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
573
586
  };
574
587
 
575
588
  export type QtiCustomInteractionProps = {
@@ -604,26 +617,17 @@ export type QtiCustomInteractionProps = {
604
617
  };
605
618
 
606
619
  export type QtiEndAttemptInteractionProps = {
607
- /** */
608
- "count-attempt"?: string;
609
- /** */
610
- title?: "end attempt";
611
620
  /** */
612
621
  "response-identifier"?: string;
613
622
  /** */
614
623
  disabled?: boolean;
624
+ /** Defines the number of attempts that a user can make using the 'endAttemptInteraction' mechanism (this can be used to limit the number of hints, etc.). [More information](https://www.imsglobal.org/sites/default/files/spec/qti/v3/info/index.html#DataCharacteristic_EndAttemptInteraction.Attr_count-attempt) */
625
+ "count-attempt"?: "true" | "false" | null;
615
626
  /** */
616
- readonly?: boolean;
617
- /** */
618
- value?: string | string[];
619
- /** */
620
- correctResponse?: string | string[];
627
+ title?: string;
628
+
621
629
  /** */
622
630
  "onend-attempt"?: (e: CustomEvent<CustomEvent>) => void;
623
- /** */
624
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
625
- /** */
626
- "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
627
631
  };
628
632
 
629
633
  export type QtiGapMatchInteractionProps = {
@@ -632,19 +636,19 @@ export type QtiGapMatchInteractionProps = {
632
636
  /** */
633
637
  "max-associations"?: number;
634
638
  /** */
635
- disabled?: boolean;
636
- /** */
637
639
  "response-identifier"?: string;
638
640
  /** */
641
+ disabled?: boolean;
642
+ /** */
639
643
  readonly?: boolean;
640
644
  /** */
641
645
  correctResponse?: string | string[];
642
646
  /** */
643
647
  value?: string | string[];
644
648
  /** */
645
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
646
- /** */
647
649
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
650
+ /** */
651
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
648
652
  };
649
653
 
650
654
  export type QtiHotspotChoiceProps = {
@@ -672,26 +676,6 @@ export type QtiGraphicAssociateInteractionProps = {
672
676
  /** */
673
677
  readonly?: boolean;
674
678
  /** */
675
- choiceOrdering?: boolean;
676
- /** */
677
- hotspots?: string;
678
- /** */
679
- startPoint?: null;
680
- /** */
681
- endPoint?: null;
682
- /** */
683
- _lines?: array;
684
- /** */
685
- startCoord?: { x: any; y: any };
686
- /** */
687
- mouseCoord?: { x: number; y: number };
688
- /** */
689
- svgContainer?: string;
690
- /** */
691
- grImage?: string;
692
- /** */
693
- svg?: SVGSVGElement;
694
- /** */
695
679
  value?: string | string[];
696
680
  /** */
697
681
  correctResponse?: string | string[];
@@ -707,19 +691,19 @@ export type QtiGraphicGapMatchInteractionProps = {
707
691
  /** */
708
692
  "max-associations"?: number;
709
693
  /** */
710
- disabled?: boolean;
711
- /** */
712
694
  "response-identifier"?: string;
713
695
  /** */
696
+ disabled?: boolean;
697
+ /** */
714
698
  readonly?: boolean;
715
699
  /** */
716
700
  value?: string | string[];
717
701
  /** */
718
702
  correctResponse?: string | string[];
719
703
  /** */
720
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
721
- /** */
722
704
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
705
+ /** */
706
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
723
707
  };
724
708
 
725
709
  export type QtiGraphicOrderInteractionProps = {
@@ -734,8 +718,6 @@ export type QtiGraphicOrderInteractionProps = {
734
718
  /** */
735
719
  readonly?: boolean;
736
720
  /** */
737
- choiceOrdering?: boolean;
738
- /** */
739
721
  value?: string | string[];
740
722
  /** */
741
723
  correctResponse?: string | string[];
@@ -784,9 +766,9 @@ export type QtiMatchInteractionProps = {
784
766
  /** */
785
767
  correctResponse?: string | string[];
786
768
  /** */
787
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
788
- /** */
789
769
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
770
+ /** */
771
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
790
772
  };
791
773
 
792
774
  export type QtiMediaInteractionProps = {
@@ -816,15 +798,11 @@ export type QtiOrderInteractionProps = {
816
798
  /** */
817
799
  "max-associations"?: number;
818
800
  /** */
819
- disabled?: boolean;
820
- /** */
821
801
  "response-identifier"?: string;
822
802
  /** */
823
- readonly?: boolean;
824
- /** */
825
- childrenMap?: Element[];
803
+ disabled?: boolean;
826
804
  /** */
827
- nrChoices?: number;
805
+ readonly?: boolean;
828
806
  /** */
829
807
  correctResponses?: string[];
830
808
  /** */
@@ -834,9 +812,9 @@ export type QtiOrderInteractionProps = {
834
812
  /** */
835
813
  value?: string | string[];
836
814
  /** */
837
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
838
- /** */
839
815
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
816
+ /** */
817
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
840
818
  };
841
819
 
842
820
  export type QtiPositionObjectInteractionProps = {};
@@ -874,10 +852,6 @@ export type QtiSelectPointInteractionProps = {
874
852
  };
875
853
 
876
854
  export type QtiSliderInteractionProps = {
877
- /** */
878
- "step-label"?: boolean;
879
- /** */
880
- reverse?: boolean;
881
855
  /** */
882
856
  "lower-bound"?: number;
883
857
  /** */
@@ -885,27 +859,9 @@ export type QtiSliderInteractionProps = {
885
859
  /** */
886
860
  step?: number;
887
861
  /** */
888
- "response-identifier"?: string;
889
- /** */
890
- disabled?: boolean;
891
- /** */
892
- readonly?: boolean;
893
- /** */
894
- csLive?: CSSStyleDeclaration;
895
- /** */
896
- _handleDisabledChange?: string;
897
- /** */
898
- _handleReadonlyChange?: string;
899
- /** */
900
- value?: string | string[];
862
+ value?: string;
901
863
  /** */
902
- response?: string;
903
- /** */
904
- correctResponse?: string | string[];
905
- /** emitted when the interaction wants to register itself */
906
- "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
907
- /** emitted when the interaction changes */
908
- "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
864
+ onchange?: (e: CustomEvent<Event>) => void;
909
865
  };
910
866
 
911
867
  export type QtiCustomOperatorProps = {
@@ -1033,6 +989,17 @@ export type TestElementProps = {
1033
989
  "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
1034
990
  };
1035
991
 
992
+ export type QtiItemProps = {};
993
+
994
+ export type ItemContainerProps = {
995
+ /** URL of the item to load */
996
+ "item-url"?: string;
997
+ /** A parsed HTML document */
998
+ itemDoc?: DocumentFragment;
999
+ /** The raw XML string */
1000
+ itemXML?: string;
1001
+ };
1002
+
1036
1003
  export type QtiAssessmentItemRefProps = {
1037
1004
  /** */
1038
1005
  category?: string | undefined;
@@ -1103,8 +1070,6 @@ export type QtiTestPartProps = {
1103
1070
  };
1104
1071
 
1105
1072
  export type QtiTestProps = {
1106
- /** the relative location to the QTI assessment.xml file ### Features - **Dynamic Template Loading**: If a `<template>` element is included as a child of `<qti-test>`, its content is dynamically appended to the shadow DOM. */
1107
- testURL?: string;
1108
1073
  /** */
1109
1074
  context?: TestContext;
1110
1075
  };
@@ -1117,10 +1082,6 @@ export type TestNextProps = {
1117
1082
  /** */
1118
1083
  disabled?: boolean;
1119
1084
  /** */
1120
- _testContext?: TestContext | undefined;
1121
- /** */
1122
- _testElement?: TestElement | undefined;
1123
- /** */
1124
1085
  "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1125
1086
  /** */
1126
1087
  "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
@@ -1134,29 +1095,19 @@ export type TestPrevProps = {
1134
1095
  /** */
1135
1096
  disabled?: boolean;
1136
1097
  /** */
1137
- _testContext?: TestContext | undefined;
1138
- /** */
1139
- _testElement?: TestElement | undefined;
1140
- /** */
1141
1098
  "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1142
1099
  /** */
1143
1100
  "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1144
1101
  };
1145
1102
 
1146
1103
  export type TestViewProps = {
1147
- /** */
1104
+ /** label accompanying the select view dropdown */
1148
1105
  label?: string;
1149
- /** */
1106
+ /** The options to display in the dropdown, default: ['author', 'candidate', 'proctor', 'scorer', 'testConstructor', 'tutor'] */
1150
1107
  "view-options"?: string;
1151
1108
  /** */
1152
- _handleViewOptionsChange?: string;
1153
- /** */
1154
1109
  disabled?: boolean;
1155
1110
  /** */
1156
- _testContext?: TestContext | undefined;
1157
- /** */
1158
- _testElement?: TestElement | undefined;
1159
- /** */
1160
1111
  "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1161
1112
  /** */
1162
1113
  "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
@@ -1168,18 +1119,18 @@ export type TestItemLinkProps = {
1168
1119
  /** */
1169
1120
  disabled?: boolean;
1170
1121
  /** */
1171
- _testContext?: TestContext | undefined;
1172
- /** */
1173
- _testElement?: TestElement | undefined;
1174
- /** */
1175
1122
  "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1176
1123
  /** */
1177
1124
  "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1178
1125
  };
1179
1126
 
1180
1127
  export type TestContainerProps = {
1181
- /** */
1128
+ /** URL of the item to load */
1182
1129
  "test-url"?: string;
1130
+ /** A parsed HTML document */
1131
+ testDoc?: DocumentFragment;
1132
+ /** The raw XML string */
1133
+ testXML?: string;
1183
1134
  };
1184
1135
 
1185
1136
  export type TestPagingButtonsStampProps = {
@@ -1192,28 +1143,11 @@ export type TestPagingButtonsStampProps = {
1192
1143
  /** */
1193
1144
  disabled?: boolean;
1194
1145
  /** */
1195
- _testContext?: TestContext | undefined;
1196
- /** */
1197
- _testElement?: TestElement | undefined;
1198
- /** */
1199
1146
  "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1200
1147
  /** */
1201
1148
  "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1202
1149
  };
1203
1150
 
1204
- export type QtiItemProps = {
1205
- /** */
1206
- identifier?: string | undefined;
1207
- /** */
1208
- href?: string | undefined;
1209
- /** */
1210
- xmlDoc?: DocumentFragment;
1211
- /** */
1212
- assessmentItem?: QtiAssessmentItem | null;
1213
- /** */
1214
- "onqti-item-connected"?: (e: CustomEvent<CustomEvent>) => void;
1215
- };
1216
-
1217
1151
  export type CustomElements = {
1218
1152
  /**
1219
1153
  *
@@ -1613,6 +1547,9 @@ export type CustomElements = {
1613
1547
  * ### **Events:**
1614
1548
  * - **qti-register-interaction**
1615
1549
  * - **qti-interaction-response**
1550
+ *
1551
+ * ### **Methods:**
1552
+ *
1616
1553
  */
1617
1554
  "qti-hottext-interaction": Partial<QtiHottextInteractionProps & BaseProps & BaseEvents>;
1618
1555
 
@@ -1647,6 +1584,9 @@ export type CustomElements = {
1647
1584
  * - **qti-register-interaction**
1648
1585
  * - **qti-interaction-response**
1649
1586
  *
1587
+ * ### **Methods:**
1588
+ *
1589
+ *
1650
1590
  * ### **Slots:**
1651
1591
  * - _default_ - default slot of the choices
1652
1592
  * - **prompt** - slot of the prompt
@@ -1665,6 +1605,17 @@ export type CustomElements = {
1665
1605
  */
1666
1606
  "qti-choice-interaction": Partial<QtiChoiceInteractionProps & BaseProps & BaseEvents>;
1667
1607
 
1608
+ /**
1609
+ *
1610
+ * ---
1611
+ *
1612
+ *
1613
+ * ### **Events:**
1614
+ * - **qti-interaction-response**
1615
+ * - **qti-register-interaction**
1616
+ */
1617
+ "qti-upload-interaction": Partial<QtiUploadInteractionProps & BaseProps & BaseEvents>;
1618
+
1668
1619
  /**
1669
1620
  *
1670
1621
  * ---
@@ -1699,8 +1650,8 @@ export type CustomElements = {
1699
1650
  *
1700
1651
  *
1701
1652
  * ### **Events:**
1702
- * - **qti-register-interaction**
1703
- * - **qti-interaction-response**
1653
+ * - **qti-interaction-response**
1654
+ * - **qti-register-interaction**
1704
1655
  */
1705
1656
  "qti-associate-interaction": Partial<QtiAssociateInteractionProps & BaseProps & BaseEvents>;
1706
1657
 
@@ -1722,8 +1673,6 @@ export type CustomElements = {
1722
1673
  *
1723
1674
  * ### **Events:**
1724
1675
  * - **end-attempt**
1725
- * - **qti-register-interaction**
1726
- * - **qti-interaction-response**
1727
1676
  */
1728
1677
  "qti-end-attempt-interaction": Partial<QtiEndAttemptInteractionProps & BaseProps & BaseEvents>;
1729
1678
 
@@ -1733,8 +1682,8 @@ export type CustomElements = {
1733
1682
  *
1734
1683
  *
1735
1684
  * ### **Events:**
1736
- * - **qti-register-interaction**
1737
- * - **qti-interaction-response**
1685
+ * - **qti-interaction-response**
1686
+ * - **qti-register-interaction**
1738
1687
  */
1739
1688
  "qti-gap-match-interaction": Partial<QtiGapMatchInteractionProps & BaseProps & BaseEvents>;
1740
1689
 
@@ -1765,8 +1714,8 @@ export type CustomElements = {
1765
1714
  *
1766
1715
  *
1767
1716
  * ### **Events:**
1768
- * - **qti-register-interaction**
1769
- * - **qti-interaction-response**
1717
+ * - **qti-interaction-response**
1718
+ * - **qti-register-interaction**
1770
1719
  */
1771
1720
  "qti-graphic-gap-match-interaction": Partial<QtiGraphicGapMatchInteractionProps & BaseProps & BaseEvents>;
1772
1721
 
@@ -1778,6 +1727,9 @@ export type CustomElements = {
1778
1727
  * ### **Events:**
1779
1728
  * - **qti-register-interaction**
1780
1729
  * - **qti-interaction-response**
1730
+ *
1731
+ * ### **Methods:**
1732
+ *
1781
1733
  */
1782
1734
  "qti-graphic-order-interaction": Partial<QtiGraphicOrderInteractionProps & BaseProps & BaseEvents>;
1783
1735
 
@@ -1789,6 +1741,9 @@ export type CustomElements = {
1789
1741
  * ### **Events:**
1790
1742
  * - **qti-register-interaction**
1791
1743
  * - **qti-interaction-response**
1744
+ *
1745
+ * ### **Methods:**
1746
+ *
1792
1747
  */
1793
1748
  "qti-hotspot-interaction": Partial<QtiHotspotInteractionProps & BaseProps & BaseEvents>;
1794
1749
 
@@ -1798,8 +1753,8 @@ export type CustomElements = {
1798
1753
  *
1799
1754
  *
1800
1755
  * ### **Events:**
1801
- * - **qti-register-interaction**
1802
- * - **qti-interaction-response**
1756
+ * - **qti-interaction-response**
1757
+ * - **qti-register-interaction**
1803
1758
  */
1804
1759
  "qti-match-interaction": Partial<QtiMatchInteractionProps & BaseProps & BaseEvents>;
1805
1760
 
@@ -1820,8 +1775,8 @@ export type CustomElements = {
1820
1775
  *
1821
1776
  *
1822
1777
  * ### **Events:**
1823
- * - **qti-register-interaction**
1824
- * - **qti-interaction-response**
1778
+ * - **qti-interaction-response**
1779
+ * - **qti-register-interaction**
1825
1780
  */
1826
1781
  "qti-order-interaction": Partial<QtiOrderInteractionProps & BaseProps & BaseEvents>;
1827
1782
 
@@ -1851,30 +1806,12 @@ export type CustomElements = {
1851
1806
  "qti-select-point-interaction": Partial<QtiSelectPointInteractionProps & BaseProps & BaseEvents>;
1852
1807
 
1853
1808
  /**
1854
- * The SliderInteraction.Type (qti-slider-interaction) presents the candidate with a control for selecting a numerical value between a lower and upper bound.
1809
+ *
1855
1810
  * ---
1856
1811
  *
1857
1812
  *
1858
1813
  * ### **Events:**
1859
- * - **qti-register-interaction** - emitted when the interaction wants to register itself
1860
- * - **qti-interaction-response** - emitted when the interaction changes
1861
- *
1862
- * ### **Slots:**
1863
- * - _default_ - The default slot where <qti-simple-choice> must be placed.
1864
- * - **prompt** - slot where the prompt is placed.
1865
- *
1866
- * ### **CSS Properties:**
1867
- * - **--show-value** - shows the current value while sliding _(default: undefined)_
1868
- * - **--show-ticks** - shows the ticks according to steps _(default: undefined)_
1869
- * - **--show-bounds** - shows value for lower and upper boundary _(default: undefined)_
1870
- *
1871
- * ### **CSS Parts:**
1872
- * - **slider** - -- slider inluding, bounds and ticks and value, use it for paddings and margins
1873
- * - **bounds** - -- div for bounds, containing two divs for with min, and max bounds value
1874
- * - **ticks** - -- div for ticks, use lineair gradient and exposed css variables for styling
1875
- * - **rail** - -- div for rail, style according to needs
1876
- * - **knob** - -- div, should be relative or absolute
1877
- * - **value** - -- div, containing value
1814
+ * - **change**
1878
1815
  */
1879
1816
  "qti-slider-interaction": Partial<QtiSliderInteractionProps & BaseProps & BaseEvents>;
1880
1817
 
@@ -1985,6 +1922,40 @@ export type CustomElements = {
1985
1922
  */
1986
1923
  "test-element": Partial<TestElementProps & BaseProps & BaseEvents>;
1987
1924
 
1925
+ /**
1926
+ * `<qti-item>` is a custom element designed for rendering a single `qti-assessment-item`.
1927
+ * It can also host some functionalities to interact with the item like scoring, showing feedback, etc.
1928
+ * Placing a mandatory `<item-container>` inside '<qti-item>' will load or parse the item and render it.
1929
+ * See `<item-container>` for more details.
1930
+ *
1931
+ * ```html
1932
+ * <qti-item>
1933
+ * <item-container class="m-4 bg-white" item-url="./path/to/item.xml"></item-container>
1934
+ * </qti-item>
1935
+ * ```
1936
+ * ---
1937
+ *
1938
+ */
1939
+ "qti-item": Partial<QtiItemProps & BaseProps & BaseEvents>;
1940
+
1941
+ /**
1942
+ * `<item-container>` is a custom element designed for hosting the qti-assessment-item.
1943
+ * The `qti-assessment-item` will be placed inside the shadow DOM of this element.
1944
+ * The element loads the item from the provided URL and renders it inside the shadow DOM.
1945
+ *
1946
+ * ### Styling
1947
+ * Add a class to the element for styling.
1948
+ *
1949
+ * ```html
1950
+ * <qti-item>
1951
+ * <item-container class="m-4 bg-white" item-url="./path/to/item.xml"></item-container>
1952
+ * </qti-item>
1953
+ * ```
1954
+ * ---
1955
+ *
1956
+ */
1957
+ "item-container": Partial<ItemContainerProps & BaseProps & BaseEvents>;
1958
+
1988
1959
  /**
1989
1960
  *
1990
1961
  * ---
@@ -2032,24 +2003,41 @@ export type CustomElements = {
2032
2003
  *
2033
2004
  * ### Example Usage
2034
2005
  *
2035
- * Minimal markup:
2036
- * ```html
2037
- * <qti-test test="./path/to/assessment.xml">
2038
- * <test-container></test-container>
2039
- * </qti-test>
2040
- * ```
2006
+ * Minimal example including navigation:
2041
2007
  *
2042
- * With navigation buttons:
2043
2008
  * ```html
2044
- * <qti-test >
2009
+ * <qti-test>
2045
2010
  * <test-container test-url="./path/to/assessment.xml"></test-container>
2046
- * <div class="flex">
2011
+ * <nav class="flex">
2047
2012
  * <test-prev></test-prev>
2048
2013
  * <test-next></test-next>
2049
- * </div>
2014
+ * </nav>
2050
2015
  * </qti-test>
2051
2016
  * ```
2052
2017
  *
2018
+ * Use the following file structure
2019
+ * A qti-test loads a QTI3.0 assessmenttest.xml file from a package folder.
2020
+ *
2021
+ * ```plaintext
2022
+ * Root/
2023
+ * ├── index.html
2024
+ * └── /assets/api/examples/
2025
+ * ├── assessmenttest.xml
2026
+ * └── imsmanifest.xml
2027
+ *
2028
+ * ```
2029
+ *
2030
+ * ### Test components
2031
+ *
2032
+ * Use test components inside the qti-test component for added functionality.
2033
+ * ### Test next
2034
+ * `<test-next> | TestNext`
2035
+ *
2036
+ * ### Test prev
2037
+ *
2038
+ * `<test-prev> | TestPrev`
2039
+ * ### Test components
2040
+ *
2053
2041
  * You can use normal class names to style the elements.
2054
2042
  * And you can use the `test-prev` and `test-next` elements to navigate through the test.
2055
2043
  * ---
@@ -2102,16 +2090,13 @@ export type CustomElements = {
2102
2090
  "test-item-link": Partial<TestItemLinkProps & BaseProps & BaseEvents>;
2103
2091
 
2104
2092
  /**
2105
- * `<test-container>` is a custom element designed for hosting the qti-assessment-test.
2093
+ * `<test-container>` is a custom element designed for hosting the qti-assessment-item.
2106
2094
  * The `qti-assessment-test` will be placed inside the shadow DOM of this element.
2107
- *
2108
- * ### Example Usage
2109
- * The `test-container` element to hosts the visual representation of the items.
2110
- * You can style the container by adding a class to the element.
2095
+ * The element loads the test from the provided URL and renders it inside the shadow DOM.
2111
2096
  *
2112
2097
  * ```html
2113
- * <qti-test testurl="./path/to/assessment.xml">
2114
- * <test-container class="container bg-white m-2"></test-container>
2098
+ * <qti-test>
2099
+ * <test-container class="m-4 bg-white" test-url="./path/to/assessmenttest.xml"></test-container>
2115
2100
  * </qti-test>
2116
2101
  * ```
2117
2102
  * ---
@@ -2129,14 +2114,4 @@ export type CustomElements = {
2129
2114
  * - **qti-request-test-item**
2130
2115
  */
2131
2116
  "test-paging-buttons-stamp": Partial<TestPagingButtonsStampProps & BaseProps & BaseEvents>;
2132
-
2133
- /**
2134
- *
2135
- * ---
2136
- *
2137
- *
2138
- * ### **Events:**
2139
- * - **qti-item-connected**
2140
- */
2141
- "qti-item": Partial<QtiItemProps & BaseProps & BaseEvents>;
2142
2117
  };
@@ -0,0 +1,3 @@
1
+ export { ItemContainer } from './item-container.js';
2
+ import 'lit-html';
3
+ import 'lit';