@citolab/qti-components 7.0.5 → 7.0.6-beta.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 (301) hide show
  1. package/cdn/chunk-4DFVJE2A.js +48 -0
  2. package/cdn/chunk-4I75QSIL.js +8 -0
  3. package/cdn/chunk-5WCOPF7O.js +73 -0
  4. package/cdn/chunk-A536ZOJJ.js +43 -0
  5. package/cdn/chunk-BLKKKK6C.js +11 -0
  6. package/cdn/chunk-DC2R556M.js +5 -0
  7. package/cdn/chunk-GALSGMIP.js +5 -0
  8. package/cdn/chunk-IXSX4SJX.js +1 -0
  9. package/cdn/chunk-KYOTSBCX.js +1 -0
  10. package/cdn/chunk-L4TDHAKL.js +24 -0
  11. package/cdn/chunk-M6AATWPS.js +59 -0
  12. package/cdn/{chunks/chunk-UIEC4LXR.js → chunk-MFWSHIPH.js} +1 -1
  13. package/cdn/chunk-QGKK4T2J.js +8 -0
  14. package/cdn/chunk-ROXN2HIJ.js +8 -0
  15. package/cdn/{chunks/chunk-CFXQCNG6.js → chunk-SQDSHH6N.js} +18 -2
  16. package/cdn/chunk-T4A5AZCI.js +939 -0
  17. package/cdn/index.global.js +71 -71
  18. package/cdn/index.js +1 -4503
  19. package/cdn/qti-components/index.global.js +1 -1
  20. package/cdn/qti-components/index.js +1 -924
  21. package/cdn/qti-item/core/index.global.js +149 -0
  22. package/cdn/qti-item/core/index.js +1 -0
  23. package/cdn/qti-loader/index.js +1 -23
  24. package/cdn/qti-test/components/index.global.js +1 -36
  25. package/cdn/qti-test/components/index.js +1 -3598
  26. package/cdn/qti-test/components/styles.js +1 -17
  27. package/cdn/qti-test/components/test-component.abstract.js +1 -1
  28. package/cdn/qti-test/components/test-item-link.js +1 -24
  29. package/cdn/qti-test/components/test-next.js +1 -24
  30. package/cdn/qti-test/components/test-next.spec.global.js +1 -234
  31. package/cdn/qti-test/components/test-next.spec.js +245 -4747
  32. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -3
  33. package/cdn/qti-test/components/test-prev.js +1 -24
  34. package/cdn/qti-test/components/test-view.js +1 -11
  35. package/cdn/qti-test/core/index.global.js +205 -0
  36. package/cdn/qti-test/core/index.js +1 -0
  37. package/cdn/qti-transformers/index.js +1 -23
  38. package/dist/{chunks/chunk-Y6UWSECL.js → chunk-2CHF3TMY.js} +2 -2
  39. package/dist/chunk-2CHF3TMY.js.map +1 -0
  40. package/dist/{chunks/chunk-XDMSEAYC.js → chunk-2OA7E3E7.js} +1 -1
  41. package/dist/chunk-2OA7E3E7.js.map +1 -0
  42. package/dist/{chunks/chunk-W4B23OIP.js → chunk-3TFUBCJW.js} +4 -4
  43. package/dist/chunk-3TFUBCJW.js.map +1 -0
  44. package/dist/{chunks/chunk-6YE2KJ4C.js → chunk-44VE5POH.js} +1 -1
  45. package/dist/{chunks/chunk-3ROZMGAN.js → chunk-4FH7P7YI.js} +4 -4
  46. package/dist/chunk-4FH7P7YI.js.map +1 -0
  47. package/dist/{chunks/chunk-ELDMXTUQ.js → chunk-4YG2FPKK.js} +1 -1
  48. package/dist/chunk-4YG2FPKK.js.map +1 -0
  49. package/dist/{chunks/chunk-HWA4A3SR.js → chunk-6SG3NMKU.js} +4 -4
  50. package/dist/chunk-6SG3NMKU.js.map +1 -0
  51. package/dist/{chunks/chunk-LKINC6JO.js → chunk-ANLIJZBL.js} +6 -6
  52. package/dist/chunk-ANLIJZBL.js.map +1 -0
  53. package/dist/{qti-test/qti-test.js → chunk-CNQYM52B.js} +308 -239
  54. package/dist/chunk-CNQYM52B.js.map +1 -0
  55. package/dist/{chunks/chunk-XDFXD3BI.js → chunk-F3NTI6TX.js} +2 -2
  56. package/dist/chunk-F3NTI6TX.js.map +1 -0
  57. package/dist/{chunks/chunk-ZEFOMZNY.js → chunk-F7HTXGGH.js} +3 -3
  58. package/dist/chunk-F7HTXGGH.js.map +1 -0
  59. package/dist/chunk-MAC76UNI.js +1 -0
  60. package/dist/{chunks/chunk-PUBGXXTM.js → chunk-OO6JSYLP.js} +4 -4
  61. package/dist/chunk-OO6JSYLP.js.map +1 -0
  62. package/dist/{chunks/chunk-LROTNPC2.js → chunk-QYN5S4EM.js} +22 -9
  63. package/dist/chunk-QYN5S4EM.js.map +1 -0
  64. package/dist/{chunks/chunk-4O5F7WV7.js → chunk-UB5K44DB.js} +1 -1
  65. package/dist/chunk-UB5K44DB.js.map +1 -0
  66. package/dist/{chunks/chunk-3OXGDCSU.js → chunk-UBZPSVSE.js} +83 -35
  67. package/dist/chunk-UBZPSVSE.js.map +1 -0
  68. package/dist/index.d.ts +5 -10
  69. package/dist/index.js +131 -11043
  70. package/dist/index.js.map +1 -1
  71. package/dist/qti-components/index.js +94 -6431
  72. package/dist/qti-components/index.js.map +1 -1
  73. package/dist/qti-components-jsx.d.ts +83 -83
  74. package/dist/qti-item/{components/item-container.d.ts → core/index.d.ts} +22 -1
  75. package/dist/qti-item/core/index.js +13 -0
  76. package/dist/qti-loader/index.js +6 -287
  77. package/dist/qti-loader/index.js.map +1 -1
  78. package/dist/qti-test/components/index.d.ts +1 -3
  79. package/dist/qti-test/components/index.js +23 -4135
  80. package/dist/qti-test/components/index.js.map +1 -1
  81. package/dist/qti-test/components/styles.js +7 -22
  82. package/dist/qti-test/components/styles.js.map +1 -1
  83. package/dist/qti-test/components/test-component.abstract.d.ts +1 -2
  84. package/dist/qti-test/components/test-component.abstract.js +6 -145
  85. package/dist/qti-test/components/test-component.abstract.js.map +1 -1
  86. package/dist/qti-test/components/test-item-link.d.ts +1 -2
  87. package/dist/qti-test/components/test-item-link.js +8 -198
  88. package/dist/qti-test/components/test-item-link.js.map +1 -1
  89. package/dist/qti-test/components/test-next.d.ts +1 -2
  90. package/dist/qti-test/components/test-next.js +8 -205
  91. package/dist/qti-test/components/test-next.js.map +1 -1
  92. package/{cdn/qti-test/components/test-container.js → dist/qti-test/components/test-next.spec.css} +224 -1292
  93. package/dist/qti-test/components/test-next.spec.css.map +1 -0
  94. package/dist/qti-test/components/test-next.spec.d.ts +3 -6
  95. package/dist/qti-test/components/test-next.spec.js +141 -11152
  96. package/dist/qti-test/components/test-next.spec.js.map +1 -1
  97. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +1 -2
  98. package/dist/qti-test/components/test-paging-buttons-stamp.js +7 -214
  99. package/dist/qti-test/components/test-paging-buttons-stamp.js.map +1 -1
  100. package/dist/qti-test/components/test-prev.d.ts +1 -2
  101. package/dist/qti-test/components/test-prev.js +8 -205
  102. package/dist/qti-test/components/test-prev.js.map +1 -1
  103. package/dist/qti-test/components/test-view.d.ts +1 -2
  104. package/dist/qti-test/components/test-view.js +7 -205
  105. package/dist/qti-test/components/test-view.js.map +1 -1
  106. package/dist/qti-test/core/index.d.ts +121 -0
  107. package/dist/qti-test/core/index.js +27 -0
  108. package/dist/qti-transformers/index.js +6 -287
  109. package/dist/qti-transformers/index.js.map +1 -1
  110. package/dist/{test-base-BJwG9Ie8.d.ts → test.context-DbSTxKk_.d.ts} +18 -28
  111. package/dist/vscode.html-custom-data.json +21 -21
  112. package/package.json +90 -78
  113. package/cdn/chunks/chunk-4UJBK6JO.js +0 -1
  114. package/cdn/chunks/chunk-5O3Z7TDV.js +0 -1
  115. package/cdn/chunks/chunk-65LFT33L.js +0 -8
  116. package/cdn/chunks/chunk-6D25UFJR.js +0 -8
  117. package/cdn/chunks/chunk-6UGPNL7M.js +0 -1
  118. package/cdn/chunks/chunk-CSUKVUZF.js +0 -3
  119. package/cdn/chunks/chunk-CSY3WI5A.js +0 -1
  120. package/cdn/chunks/chunk-DAZR7RUI.js +0 -0
  121. package/cdn/chunks/chunk-EHK76KRT.js +0 -1
  122. package/cdn/chunks/chunk-EOPEMJS3.js +0 -0
  123. package/cdn/chunks/chunk-G5O7EN45.js +0 -5
  124. package/cdn/chunks/chunk-GEFUIFM7.js +0 -0
  125. package/cdn/chunks/chunk-JLNHEMQG.js +0 -1
  126. package/cdn/chunks/chunk-LPWIM7QJ.js +0 -902
  127. package/cdn/chunks/chunk-M3YRM3AV.js +0 -1
  128. package/cdn/chunks/chunk-M6BOWL2U.js +0 -1
  129. package/cdn/chunks/chunk-P5IE36FO.js +0 -8
  130. package/cdn/chunks/chunk-PXH5KN5O.js +0 -1
  131. package/cdn/chunks/chunk-RBEI6NIF.js +0 -1
  132. package/cdn/chunks/chunk-SMKIYFFI.js +0 -1
  133. package/cdn/chunks/chunk-SRLMW23F.js +0 -0
  134. package/cdn/chunks/chunk-T3YDLD2H.js +0 -11
  135. package/cdn/chunks/chunk-T6IXJ4W4.js +0 -1
  136. package/cdn/chunks/chunk-TFAUBGP2.js +0 -0
  137. package/cdn/chunks/chunk-V44O3GTW.js +0 -0
  138. package/cdn/chunks/chunk-V6B54FQW.js +0 -5
  139. package/cdn/chunks/chunk-V6KX6BQN.js +0 -1
  140. package/cdn/chunks/chunk-VYANBI35.js +0 -1
  141. package/cdn/chunks/chunk-XUJ7TXHW.js +0 -1
  142. package/cdn/chunks/chunk-ZIZLFFSG.js +0 -0
  143. package/cdn/index.css +0 -1
  144. package/cdn/qti-item/components/index.css +0 -1
  145. package/cdn/qti-item/components/index.global.js +0 -149
  146. package/cdn/qti-item/components/index.js +0 -3549
  147. package/cdn/qti-item/components/item-container.css +0 -1
  148. package/cdn/qti-item/components/item-container.global.js +0 -149
  149. package/cdn/qti-item/components/item-container.js +0 -3549
  150. package/cdn/qti-item/index.css +0 -1
  151. package/cdn/qti-item/index.global.js +0 -149
  152. package/cdn/qti-item/index.js +0 -3549
  153. package/cdn/qti-item/qti-item.global.js +0 -114
  154. package/cdn/qti-item/qti-item.js +0 -1
  155. package/cdn/qti-test/components/index.css +0 -1
  156. package/cdn/qti-test/components/test-container.css +0 -1
  157. package/cdn/qti-test/components/test-container.global.js +0 -149
  158. package/cdn/qti-test/context/index.global.js +0 -58
  159. package/cdn/qti-test/context/index.js +0 -1
  160. package/cdn/qti-test/context/test.context.global.js +0 -58
  161. package/cdn/qti-test/context/test.context.js +0 -1
  162. package/cdn/qti-test/index.css +0 -1
  163. package/cdn/qti-test/index.global.js +0 -242
  164. package/cdn/qti-test/index.js +0 -3598
  165. package/cdn/qti-test/mixins/index.global.js +0 -1
  166. package/cdn/qti-test/mixins/index.js +0 -23
  167. package/cdn/qti-test/mixins/test-loader.mixin.global.js +0 -1
  168. package/cdn/qti-test/mixins/test-loader.mixin.js +0 -23
  169. package/cdn/qti-test/mixins/test-navigation.mixin.global.js +0 -1
  170. package/cdn/qti-test/mixins/test-navigation.mixin.js +0 -1
  171. package/cdn/qti-test/mixins/test-view.mixin.global.js +0 -1
  172. package/cdn/qti-test/mixins/test-view.mixin.js +0 -1
  173. package/cdn/qti-test/qti-assessment-test/index.global.js +0 -170
  174. package/cdn/qti-test/qti-assessment-test/index.js +0 -1
  175. package/cdn/qti-test/qti-assessment-test/qti-assessment-item-ref.global.js +0 -170
  176. package/cdn/qti-test/qti-assessment-test/qti-assessment-item-ref.js +0 -1
  177. package/cdn/qti-test/qti-assessment-test/qti-assessment-section.global.js +0 -170
  178. package/cdn/qti-test/qti-assessment-test/qti-assessment-section.js +0 -1
  179. package/cdn/qti-test/qti-assessment-test/qti-assessment-test.global.js +0 -170
  180. package/cdn/qti-test/qti-assessment-test/qti-assessment-test.js +0 -1
  181. package/cdn/qti-test/qti-assessment-test/qti-test-part.global.js +0 -114
  182. package/cdn/qti-test/qti-assessment-test/qti-test-part.js +0 -1
  183. package/cdn/qti-test/qti-test.global.js +0 -170
  184. package/cdn/qti-test/qti-test.js +0 -23
  185. package/cdn/qti-test/test-base.global.js +0 -170
  186. package/cdn/qti-test/test-base.js +0 -1
  187. package/dist/chunks/chunk-3G2DDBJW.js +0 -44
  188. package/dist/chunks/chunk-3G2DDBJW.js.map +0 -1
  189. package/dist/chunks/chunk-3NLCJYSX.js +0 -1
  190. package/dist/chunks/chunk-3OXGDCSU.js.map +0 -1
  191. package/dist/chunks/chunk-3ROZMGAN.js.map +0 -1
  192. package/dist/chunks/chunk-4O5F7WV7.js.map +0 -1
  193. package/dist/chunks/chunk-AAQCM2FP.js +0 -56
  194. package/dist/chunks/chunk-AAQCM2FP.js.map +0 -1
  195. package/dist/chunks/chunk-D3RGDWKP.js +0 -37
  196. package/dist/chunks/chunk-D3RGDWKP.js.map +0 -1
  197. package/dist/chunks/chunk-DJLE6EV2.js +0 -36
  198. package/dist/chunks/chunk-DJLE6EV2.js.map +0 -1
  199. package/dist/chunks/chunk-ELDMXTUQ.js.map +0 -1
  200. package/dist/chunks/chunk-EW5CTHAD.js +0 -1
  201. package/dist/chunks/chunk-HWA4A3SR.js.map +0 -1
  202. package/dist/chunks/chunk-IKZWK2C5.js +0 -1
  203. package/dist/chunks/chunk-IP7JSYO6.js +0 -1
  204. package/dist/chunks/chunk-IP7JSYO6.js.map +0 -1
  205. package/dist/chunks/chunk-JE6BMXZU.js +0 -94
  206. package/dist/chunks/chunk-JE6BMXZU.js.map +0 -1
  207. package/dist/chunks/chunk-JSPJGWGT.js +0 -20
  208. package/dist/chunks/chunk-JSPJGWGT.js.map +0 -1
  209. package/dist/chunks/chunk-LKINC6JO.js.map +0 -1
  210. package/dist/chunks/chunk-LROTNPC2.js.map +0 -1
  211. package/dist/chunks/chunk-MTMT2RMF.js +0 -63
  212. package/dist/chunks/chunk-MTMT2RMF.js.map +0 -1
  213. package/dist/chunks/chunk-NDJZGJUR.js +0 -65
  214. package/dist/chunks/chunk-NDJZGJUR.js.map +0 -1
  215. package/dist/chunks/chunk-OE2LFIH2.js +0 -1
  216. package/dist/chunks/chunk-OE2LFIH2.js.map +0 -1
  217. package/dist/chunks/chunk-OJ2XGDWK.js +0 -1
  218. package/dist/chunks/chunk-OJ2XGDWK.js.map +0 -1
  219. package/dist/chunks/chunk-PUBGXXTM.js.map +0 -1
  220. package/dist/chunks/chunk-QRCUNRP5.js +0 -75
  221. package/dist/chunks/chunk-QRCUNRP5.js.map +0 -1
  222. package/dist/chunks/chunk-S6JJYCO7.js +0 -51
  223. package/dist/chunks/chunk-S6JJYCO7.js.map +0 -1
  224. package/dist/chunks/chunk-U3AALKEP.js +0 -1
  225. package/dist/chunks/chunk-U3AALKEP.js.map +0 -1
  226. package/dist/chunks/chunk-UCQFSRYF.js +0 -34
  227. package/dist/chunks/chunk-UCQFSRYF.js.map +0 -1
  228. package/dist/chunks/chunk-URGVQ64M.js +0 -1
  229. package/dist/chunks/chunk-URGVQ64M.js.map +0 -1
  230. package/dist/chunks/chunk-V4FXK4TP.js +0 -128
  231. package/dist/chunks/chunk-V4FXK4TP.js.map +0 -1
  232. package/dist/chunks/chunk-W4B23OIP.js.map +0 -1
  233. package/dist/chunks/chunk-XDFXD3BI.js.map +0 -1
  234. package/dist/chunks/chunk-XDMSEAYC.js.map +0 -1
  235. package/dist/chunks/chunk-XPDS72XY.js +0 -29
  236. package/dist/chunks/chunk-XPDS72XY.js.map +0 -1
  237. package/dist/chunks/chunk-Y6UWSECL.js.map +0 -1
  238. package/dist/chunks/chunk-ZEFOMZNY.js.map +0 -1
  239. package/dist/index-Cvrd4KQA.d.ts +0 -109
  240. package/dist/qti-item/components/index.d.ts +0 -3
  241. package/dist/qti-item/components/index.js +0 -3856
  242. package/dist/qti-item/components/index.js.map +0 -1
  243. package/dist/qti-item/components/item-container.js +0 -3856
  244. package/dist/qti-item/components/item-container.js.map +0 -1
  245. package/dist/qti-item/index.d.ts +0 -4
  246. package/dist/qti-item/index.js +0 -3869
  247. package/dist/qti-item/index.js.map +0 -1
  248. package/dist/qti-item/qti-item.d.ts +0 -25
  249. package/dist/qti-item/qti-item.js +0 -26
  250. package/dist/qti-item/qti-item.js.map +0 -1
  251. package/dist/qti-test/components/test-container.d.ts +0 -37
  252. package/dist/qti-test/components/test-container.js +0 -3782
  253. package/dist/qti-test/components/test-container.js.map +0 -1
  254. package/dist/qti-test/context/index.d.ts +0 -6
  255. package/dist/qti-test/context/index.js +0 -9
  256. package/dist/qti-test/context/index.js.map +0 -1
  257. package/dist/qti-test/context/test.context.d.ts +0 -6
  258. package/dist/qti-test/context/test.context.js +0 -9
  259. package/dist/qti-test/context/test.context.js.map +0 -1
  260. package/dist/qti-test/index.d.ts +0 -14
  261. package/dist/qti-test/index.js +0 -4746
  262. package/dist/qti-test/index.js.map +0 -1
  263. package/dist/qti-test/mixins/index.d.ts +0 -8
  264. package/dist/qti-test/mixins/index.js +0 -350
  265. package/dist/qti-test/mixins/index.js.map +0 -1
  266. package/dist/qti-test/mixins/test-loader.mixin.d.ts +0 -8
  267. package/dist/qti-test/mixins/test-loader.mixin.js +0 -240
  268. package/dist/qti-test/mixins/test-loader.mixin.js.map +0 -1
  269. package/dist/qti-test/mixins/test-navigation.mixin.d.ts +0 -22
  270. package/dist/qti-test/mixins/test-navigation.mixin.js +0 -64
  271. package/dist/qti-test/mixins/test-navigation.mixin.js.map +0 -1
  272. package/dist/qti-test/mixins/test-view.mixin.d.ts +0 -6
  273. package/dist/qti-test/mixins/test-view.mixin.js +0 -50
  274. package/dist/qti-test/mixins/test-view.mixin.js.map +0 -1
  275. package/dist/qti-test/qti-assessment-test/index.d.ts +0 -6
  276. package/dist/qti-test/qti-assessment-test/index.js +0 -221
  277. package/dist/qti-test/qti-assessment-test/index.js.map +0 -1
  278. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.d.ts +0 -6
  279. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.js +0 -85
  280. package/dist/qti-test/qti-assessment-test/qti-assessment-item-ref.js.map +0 -1
  281. package/dist/qti-test/qti-assessment-test/qti-assessment-section.d.ts +0 -6
  282. package/dist/qti-test/qti-assessment-test/qti-assessment-section.js +0 -73
  283. package/dist/qti-test/qti-assessment-test/qti-assessment-section.js.map +0 -1
  284. package/dist/qti-test/qti-assessment-test/qti-assessment-test.d.ts +0 -6
  285. package/dist/qti-test/qti-assessment-test/qti-assessment-test.js +0 -54
  286. package/dist/qti-test/qti-assessment-test/qti-assessment-test.js.map +0 -1
  287. package/dist/qti-test/qti-assessment-test/qti-test-part.d.ts +0 -19
  288. package/dist/qti-test/qti-assessment-test/qti-test-part.js +0 -62
  289. package/dist/qti-test/qti-assessment-test/qti-test-part.js.map +0 -1
  290. package/dist/qti-test/qti-test.d.ts +0 -68
  291. package/dist/qti-test/qti-test.js.map +0 -1
  292. package/dist/qti-test/test-base.d.ts +0 -6
  293. package/dist/qti-test/test-base.js +0 -137
  294. package/dist/qti-test/test-base.js.map +0 -1
  295. /package/cdn/{chunks/chunk-6DMSHH5X.js → chunk-22HAPLRD.js} +0 -0
  296. /package/cdn/{chunks/chunk-5FCXUJAG.js → chunk-LVW3MHTI.js} +0 -0
  297. /package/cdn/{chunks/chunk-T4HD2C4F.js → chunk-VI2WKTN4.js} +0 -0
  298. /package/dist/{chunks/chunk-3NLCJYSX.js.map → chunk-44VE5POH.js.map} +0 -0
  299. /package/dist/{chunks/chunk-6YE2KJ4C.js.map → chunk-MAC76UNI.js.map} +0 -0
  300. /package/dist/{chunks/chunk-EW5CTHAD.js.map → qti-item/core/index.js.map} +0 -0
  301. /package/dist/{chunks/chunk-IKZWK2C5.js.map → qti-test/core/index.js.map} +0 -0
@@ -1,3598 +0,0 @@
1
- var xt=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var a=(i,o,t,e)=>{for(var r=e>1?void 0:e?wt(o,t):o,n=i.length-1,d;n>=0;n--)(d=i[n])&&(r=(e?d(o,t,r):d(r))||r);return e&&r&&xt(o,t,r),r};import{html as Lt}from"lit";import{customElement as Tt}from"lit/decorators.js";var kt=String.raw,Ct=kt`<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2
- <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
3
- <xsl:template match="@*|node()">
4
- <xsl:copy>
5
- <xsl:apply-templates select="@*|node()"/>
6
- </xsl:copy>
7
- </xsl:template>
8
-
9
- <!-- remove existing namespaces -->
10
- <xsl:template match="*">
11
- <!-- remove element prefix -->
12
- <xsl:element name="{local-name()}">
13
- <!-- process attributes -->
14
- <xsl:for-each select="@*">
15
- <!-- remove attribute prefix -->
16
- <xsl:attribute name="{local-name()}">
17
- <xsl:value-of select="."/>
18
- </xsl:attribute>
19
- </xsl:for-each>
20
- <xsl:apply-templates/>
21
- </xsl:element>
22
- </xsl:template>
23
- </xsl:stylesheet>`;function j(i,o,t){i.querySelectorAll(o).forEach(e=>{let r=`${o}-${t}`,n=P(e,r);e.replaceWith(n)})}function W(i,o){i.querySelectorAll("*").forEach(t=>{let e=t.classList;e&&e.forEach(r=>{if(r.startsWith(`${o}:`)){let n=r.slice(`${o}:`.length),d=`${t.nodeName}-${n}`,s=P(t,d);t.replaceWith(s)}})})}function P(i,o){let t=document.createElement(o);for(let e of i.attributes)t.setAttribute(e.name,e.value);for(;i.firstChild;)t.appendChild(i.firstChild);return t}function K(i){let o=[];return i.querySelectorAll("qti-assessment-item-ref").forEach(t=>{let e=t.getAttribute("identifier"),r=t.getAttribute("href"),n=t.getAttribute("category");o.push({identifier:e,href:r,category:n})}),o}var X=null;function I(i,o=!1){return o&&X!==null&&X.abort(),new Promise((t,e)=>{let r=new XMLHttpRequest;X=r,r.open("GET",i,!0),r.responseType="document",r.onload=()=>{r.status>=200&&r.status<300?t(r.responseXML):e(r.statusText)},r.onerror=()=>{e(r.statusText)},r.send()})}function M(i){return new DOMParser().parseFromString(i,"text/xml")}function w(i){let o=new XSLTProcessor,t=new DOMParser().parseFromString(Ct,"text/xml");return o.importStylesheet(t),o.transformToFragment(i,document)}function F(i,o){o.endsWith("/")||(o+="/"),i.querySelectorAll("[src],[href],[primary-path]").forEach(t=>{let e="";t.getAttribute("src")&&(e="src"),t.getAttribute("href")&&(e="href"),t.getAttribute("primary-path")&&(e="primary-path");let r=t.getAttribute(e)?.trim();if(!r.startsWith("data:")&&!r.startsWith("http")){let n=o+encodeURI(r);t.setAttribute(e,n)}})}function G(i){i.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(t=>{let e=document.createComment(t.textContent);t.replaceChild(e,t.firstChild)})}function J(i){i.querySelectorAll("qti-stylesheet").forEach(o=>o.remove())}var Y=()=>{let i,o={async load(t,e=!1){return new Promise(r=>{I(t,e).then(n=>(i=n,o.path(t.substring(0,t.lastIndexOf("/"))),r(o)))})},parse(t){return i=M(t),o},path:t=>(F(i,t),o),fn(t){return t(i),o},pciHooks(t){let e=["hook","module"],r=t.substring(0,t.lastIndexOf("/"));for(let n of e)i.querySelectorAll("["+n+"]").forEach(s=>{let p=s.getAttribute(n);!p.startsWith("data:")&&!p.startsWith("http")&&(s.setAttribute("base-url",t),s.setAttribute("module",r+"/"+encodeURI(p+(p.endsWith(".js")?"":".js"))))});return o},extendElementName:(t,e)=>(j(i,t,e),o),extendElementsWithClass:(t="extend")=>(W(i,t),o),customInteraction(t,e){let r=i.querySelector("qti-custom-interaction"),n=r.querySelector("object");return r.setAttribute("data-base-ref",t),r.setAttribute("data-base-item",t+e),r.setAttribute("data",n.getAttribute("data")),r.setAttribute("width",n.getAttribute("width")),r.setAttribute("height",n.getAttribute("height")),r.removeChild(n),o},convertCDATAtoComment(){return G(i),o},stripStyleSheets(){return J(i),o},html(){return new XMLSerializer().serializeToString(w(i))},xml(){return new XMLSerializer().serializeToString(i)},htmlDoc(){return w(i)},xmlDoc(){return i}};return o};var N=()=>{let i,o={async load(t){return new Promise((e,r)=>{I(t).then(n=>(i=n,o.path(t.substring(0,t.lastIndexOf("/"))),e(o)))})},parse(t){return i=M(t),o},path:t=>(F(i,t),o),fn(t){return t(i),o},items(){return K(i)},html(){return new XMLSerializer().serializeToString(w(i))},xml(){return new XMLSerializer().serializeToString(i)},htmlDoc(){return w(i)},xmlDoc(){return i}};return o};var Z=i=>{class o extends i{constructor(...e){super(...e),this.addEventListener("qti-assessment-test-connected",()=>{}),this.addEventListener("qti-load-item-request",({detail:r})=>{r.promise=(async()=>(await Y().load(`${r.href}`,r.cancelPreviousRequest)).htmlDoc())()}),this.addEventListener("qti-interaction-changed",r=>{}),this.addEventListener("qti-outcome-changed",()=>{})}}return o};var Q=i=>{class o extends i{constructor(...e){super(...e),this.addEventListener("qti-request-test-item",({detail:r})=>{if(!r)return;this._clearLoadedItems();let n=this.testElement.el.querySelector(`qti-assessment-item-ref[identifier="${r}"]`),d=this._loadItemRequest(n.href,!1),s=n.closest("qti-test-part").identifier,p=n.closest("qti-assessment-section").identifier;this._testContext={...this._testContext,navPartId:s,navSectionId:p,navItemId:r,navItemLoading:!0},d?d.then(c=>{n.xmlDoc=c,requestAnimationFrame(()=>this.dispatchEvent(new CustomEvent("qti-item-connected",{bubbles:!0,composed:!0}))),this._testContext={...this._testContext,navItemLoading:!1}}).catch(c=>console.error("Failed to load item:",c)):console.info("Load item request was not handled:",n.href)}),this.addEventListener("qti-assessment-test-connected",()=>{let r=this._testContext.navItemId;r||(r=this.testElement.el.querySelector("qti-assessment-item-ref").identifier),this.dispatchEvent(new CustomEvent("qti-request-test-item",{detail:r,bubbles:!0,composed:!0}))})}_clearLoadedItems(){let e=this.testElement.el.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(e).forEach(r=>{r.xmlDoc=null})}_loadItemRequest(e,r=!0){let n=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:e,promise:null,cancelPreviousRequest:r}});return this.dispatchEvent(n),n.detail.promise}}return o};var tt=i=>{class o extends i{constructor(...e){super(...e),this._testContext={...this._testContext,view:"candidate"},this.addEventListener("on-test-switch-view",r=>{this._testContext={...this._testContext,view:r.detail},this._updateElementView()}),this.addEventListener("qti-assessment-test-connected",()=>{this._updateElementView()}),this.addEventListener("qti-assessment-item-connected",r=>{this._updateElementView(),this._setCorrectResponseVisibility(r.detail)})}willUpdate(e){super.willUpdate(e),e.has("_testContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement.el){Array.from(this.testElement.el.querySelectorAll("[view]")).forEach(n=>{n.classList.toggle("show",n.getAttribute("view")===this._testContext.view)});let r=this.testElement.el.querySelector(`qti-assessment-item[identifier="${this._testContext.navItemId}"]`);r&&r.showCorrectResponse(this._testContext.view==="scorer")}}_setCorrectResponseVisibility(e){e.showCorrectResponse(this._testContext.view==="scorer")}}return o};import{provide as rt}from"@lit/context";import{LitElement as Et}from"lit";import{state as it}from"lit/decorators.js";import{createContext as et}from"@lit/context";var g=et(Symbol("test")),U=et(Symbol("testElement"));var k=class extends Et{constructor(){super();this._testContext={items:[],testOutcomeVariables:[]};this.testElement={el:null};this._updateItemInTestContext=t=>{let{identifier:e,variables:r}=t,n=this._testContext.items.find(d=>d?.identifier===e);if(!n){console.warn(`Item IDs between assessment.xml and item.xml should match: ${e} is not found!`);return}n.variables?.length===1?this._updateItemVariablesInTestContext(e,r):t.variables=[...n.variables||[]]};this.addEventListener("qti-assessment-test-connected",t=>{let e=t.detail,r=Array.from(e.querySelectorAll("qti-assessment-item-ref")).map(n=>({href:n.href,identifier:n.identifier,category:n.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}));this.testElement={el:e},this._testContext={...this._testContext,items:r}}),this.addEventListener("qti-assessment-item-connected",t=>{this._updateItemInTestContext(t.detail)}),this.addEventListener("qti-outcome-changed",t=>{let e=t.composedPath()[0];this._updateItemVariablesInTestContext(e.identifier,e.variables)})}get context(){return this._testContext}set context(t){t!=null&&(this._testContext={...t},t.items?.forEach(e=>{let r=this._testContext.items.find(n=>n.identifier===e.identifier);r?r.variables=e.variables:this._testContext.items.push(e)}))}_updateItemVariablesInTestContext(t,e){this._testContext={...this._testContext,items:this._testContext.items.map(r=>r.identifier!==t?r:{...r,variables:e.map(n=>{let d=r.variables.find(s=>s.identifier===n.identifier);return d?{...d,...n}:n})})}}connectedCallback(){super.connectedCallback(),this.setAttribute("qti-test","")}};a([it(),rt({context:g})],k.prototype,"_testContext",2),a([it(),rt({context:U})],k.prototype,"testElement",2);var O=class extends Z(Q(tt(k))){render(){return Lt`<slot></slot>`}};O=a([Tt("qti-test")],O);import{consume as zt}from"@lit/context";import{html as At,LitElement as It}from"lit";import{property as C}from"lit/decorators.js";var ot={fromAttribute(i){return i==="true"},toAttribute(i){return i?"true":"false"}},h=class extends It{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}))}render(){return At`${this.xmlDoc}`}};a([C({type:String})],h.prototype,"category",2),a([C({type:String})],h.prototype,"identifier",2),a([C({type:Boolean,converter:ot})],h.prototype,"required",2),a([C({type:Boolean,converter:ot})],h.prototype,"fixed",2),a([C({type:String})],h.prototype,"href",2),a([zt({context:g,subscribe:!0})],h.prototype,"_testContext",2),a([C({type:Object,attribute:!1})],h.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",h);import{consume as Mt}from"@lit/context";import{html as _t,LitElement as St}from"lit";import{property as E}from"lit/decorators.js";var V={fromAttribute(i){return i==="true"},toAttribute(i){return i?"true":"false"}},b=class extends St{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return _t`<slot name="qti-rubric-block"></slot><slot></slot>`}};a([E({type:String})],b.prototype,"identifier",2),a([E({type:String})],b.prototype,"required",2),a([E({type:Boolean,converter:V})],b.prototype,"fixed",2),a([E({type:String})],b.prototype,"title",2),a([E({type:Boolean,converter:V})],b.prototype,"visible",2),a([E({type:Boolean,converter:V,attribute:"keep-together"})],b.prototype,"keepTogether",2),a([Mt({context:g,subscribe:!0})],b.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",b);import{consume as Dt}from"@lit/context";import{html as Ft,LitElement as Ut}from"lit";import{customElement as Ot,property as at}from"lit/decorators.js";var v=class extends Ut{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return Ft` <slot></slot>`}};a([at({type:String})],v.prototype,"identifier",2),a([at({type:String})],v.prototype,"title",2),a([Dt({context:g,subscribe:!0})],v.prototype,"_testContext",2),v=a([Ot("qti-assessment-test")],v);import{html as Rt,LitElement as Ht}from"lit";import{customElement as Xt,property as _}from"lit/decorators.js";var u=class extends Ht{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return Rt` <slot></slot>`}};a([_({type:String})],u.prototype,"identifier",2),a([_({type:String})],u.prototype,"title",2),a([_({type:String})],u.prototype,"class",2),a([_({type:String,attribute:"navigation-mode"})],u.prototype,"NavigationMode",2),a([_({type:String,attribute:"submission-mode"})],u.prototype,"submissionMode",2),u=a([Xt("qti-test-part")],u);customElements.get("qti-test-part")||customElements.define("qti-test-part",u);import{consume as st}from"@lit/context";import{LitElement as Vt}from"lit";import{state as dt}from"lit/decorators.js";function f(i,o){let t={waitUntilFirstUpdate:!1,...o};return(e,r)=>{let{update:n}=e,d=Array.isArray(i)?i:[i];e.update=function(s){d.forEach(p=>{let c=p;if(s.has(c)){let y=s.get(c),x=this[c];y!==x&&(!t.waitUntilFirstUpdate||this.hasUpdated)&&this[r](y,x)}}),n.call(this,s)}}}import{property as Nt}from"lit/decorators.js";function nt(i){return(o,t)=>{Nt(i)(o,t);let e=`__${t}`;Object.defineProperty(o,t,{get(){return this[e]},set(r){let n=this[e];if(this[e]=r,n!==r){if(this._internals?.states){let d=t.toLowerCase();r?this._internals.states.add(`--${d}`):this._internals.states.delete(`--${d}`)}if(i.aria&&this._internals){let d=i.aria;r?this._internals[d]="true":this._internals[d]=null}this.requestUpdate(t,n)}},configurable:!0,enumerable:!0})}}var l=class extends Vt{constructor(){super();this.disabled=!0;this._internals=this.attachInternals()}_handleTestElementChange(t,e){e.el&&(this.disabled=!1)}willUpdate(t){if(t.has("_testContext")){let{items:e=[],navItemId:r}=this._testContext??{};this.itemIndex=e.findIndex(n=>n.identifier===r),this.items=e,this.view=this._testContext?.view}}_switchView(t){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:t}))}_requestItem(t){this.dispatchEvent(new CustomEvent("qti-request-test-item",{composed:!0,bubbles:!0,detail:t}))}};a([nt({type:Boolean,reflect:!0,aria:"ariaDisabled"})],l.prototype,"disabled",2),a([dt(),st({context:g,subscribe:!0})],l.prototype,"_testContext",2),a([dt(),st({context:U,subscribe:!0})],l.prototype,"_testElement",2),a([f("_testElement")],l.prototype,"_handleTestElementChange",1);import{css as $t,html as Bt}from"lit";import{customElement as jt}from"lit/decorators.js";import{css as R}from"lit";var lt=R`
24
- display: inline-flex;
25
- align-items: center;
26
- cursor: pointer;
27
- padding: 0.5rem 1rem;
28
- border-radius: 0.25rem;
29
- user-select: none;
30
- `,L=R`
31
- background-color: lightgray;
32
- ${lt};
33
- `,T=R`
34
- cursor: not-allowed;
35
- opacity: 0.5;
36
- `,$r=R`
37
- ${lt};
38
- border: 1px solid gray;
39
- `;var S=class extends l{constructor(){super(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",o=>{o.preventDefault(),this.disabled||this._requestItem(this.items[this.itemIndex+1].identifier)})}willUpdate(o){super.willUpdate(o),o.has("_testContext")&&(this.disabled=!this._testElement?.el||this.itemIndex<0||this.itemIndex>=this.items.length-1)}render(){return Bt`<slot></slot>`}};S.styles=$t`
40
- :host {
41
- ${L};
42
- }
43
- :host([disabled]) {
44
- ${T};
45
- }
46
- `,S=a([jt("test-next")],S);import{css as Wt,html as Pt}from"lit";import{customElement as Kt}from"lit/decorators.js";var D=class extends l{constructor(){super(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",o=>{o.preventDefault(),this.disabled||this._requestItem(this.items[this.itemIndex-1].identifier)})}willUpdate(o){super.willUpdate(o),o.has("_testContext")&&(this.disabled=!this._testElement?.el||this.itemIndex===0||this.itemIndex===-1)}render(){return Pt`<slot></slot>`}};D.styles=Wt`
47
- :host {
48
- ${L};
49
- }
50
- :host([disabled]) {
51
- ${T};
52
- }
53
- `,D=a([Kt("test-prev")],D);import{html as ct}from"lit";import{customElement as Gt,property as pt,state as Jt}from"lit/decorators.js";var m=class extends l{constructor(){super(...arguments);this.label="view";this._handleViewOptionsChange=()=>{this.updateViewOptions()};this._viewOptions=m.DEFAULT_VIEW_OPTIONS}connectedCallback(){super.connectedCallback(),this.updateViewOptions()}updateViewOptions(){if(this.viewOptions){let t=this.viewOptions.split(",").map(e=>e.trim());this._viewOptions=t.filter(e=>m.DEFAULT_VIEW_OPTIONS.includes(e))}else this._viewOptions=m.DEFAULT_VIEW_OPTIONS}render(){return ct`
54
- <label part="label" for="viewSelect">${this.label}</label>
55
- <select
56
- part="select"
57
- id="viewSelect"
58
- .disabled=${this.disabled}
59
- @change=${t=>{let e=t.target;this._switchView(e.value)}}
60
- >
61
- ${this._viewOptions.map(t=>ct`<option value="${t}" ?selected=${t===this.view}>${t}</option>`)}
62
- </select>
63
- `}};m.DEFAULT_VIEW_OPTIONS=["author","candidate","proctor","scorer","testConstructor","tutor"],a([pt({type:String})],m.prototype,"label",2),a([pt({type:String,attribute:"view-options"})],m.prototype,"viewOptions",2),a([f("viewOptions",{waitUntilFirstUpdate:!0})],m.prototype,"_handleViewOptionsChange",2),a([Jt()],m.prototype,"_viewOptions",2),m=a([Gt("test-view")],m);import{css as Yt,html as Zt}from"lit";import{customElement as Qt,property as te}from"lit/decorators.js";var z=class extends l{constructor(){super();this.itemId=null;this.addEventListener("click",()=>this._requestItem(this.itemId))}render(){return Zt` <slot></slot> `}};z.styles=Yt`
64
- :host {
65
- ${L};
66
- }
67
- :host([disabled]) {
68
- ${T};
69
- }
70
- `,a([te({type:String,attribute:"item-id"})],z.prototype,"itemId",2),z=a([Qt("test-item-link")],z);import{LitElement as re,html as B}from"lit";import{customElement as ie,property as oe,state as gt}from"lit/decorators.js";import{until as ae}from"lit/directives/until.js";var mt=`@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;
71
-
72
- :root,
73
- :host {
74
- /* Active colors */
75
- --qti-bg-active: #ffecec;
76
- --qti-border-active: #f86d70;
77
-
78
- /* Gap size */
79
- --qti-gap-size: 1rem;
80
-
81
- /* Background colors */
82
- --qti-bg: white;
83
- --qti-hover-bg: #f9fafb;
84
-
85
- /* Light theme colors */
86
- --qti-light-bg-active: #f0f0f0; /* Light gray */
87
- --qti-light-border-active: #d0d0d0; /* Medium gray */
88
-
89
- /* Dark theme colors */
90
- --qti-dark-bg-active: #1f2937; /* Dark gray */
91
- --qti-dark-border-active: #64748b; /* Medium gray */
92
-
93
- /* Disabled colors */
94
- --qti-disabled-bg: #f3f4f6;
95
- --qti-disabled-color: #45484f;
96
-
97
- /* Border properties */
98
- --qti-border-thickness: 2px;
99
- --qti-border-style: solid;
100
- --qti-border-color: #c6cad0;
101
- --qti-border-radius: 0.3rem;
102
- --qti-drop-border-radius: calc(var(--qti-border-radius) + var(--qti-border-thickness));
103
-
104
- /* Focus & active states */
105
- --qti-focus-border-width: 5px;
106
- --qti-focus-color: #bddcff7e;
107
-
108
- /* Class-specific variables */
109
-
110
- /* Form elements */
111
- --qti-form-size: 1rem;
112
-
113
- /* Point elements */
114
- --qti-point-size: 2rem;
115
-
116
- /* Order buttons */
117
- --qti-order-size: 2rem;
118
-
119
- /* Generic padding for all elements */
120
- --qti-padding-vertical: 0.5rem; /* py-2 */
121
- --qti-padding-horizontal: 0.5rem; /* px-2 */
122
- }
123
-
124
- /* SVG masks and backgrounds */
125
-
126
- .chevron {
127
- background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
128
- no-repeat center right 6px;
129
- }
130
-
131
- .handle {
132
- background-image: radial-gradient(
133
- circle at center,
134
- rgb(0 0 0 / 10%) 0,
135
- rgb(0 0 0 / 20%) 2px,
136
- rgb(255 255 255 / 0%) 2px,
137
- rgb(255 255 255 / 0%) 100%
138
- );
139
- background-repeat: repeat-y;
140
- background-position: left center;
141
- background-size: 14px 8px;
142
- }
143
-
144
- .check-mask {
145
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
146
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
147
- }
148
-
149
- /*
150
- Following are classes that can be applied to elements and element states, so they are not used directly
151
- The @apply directive is used to apply these classes to elements
152
- */
153
-
154
- /* Apply .bordered to an element */
155
-
156
- .bordered {
157
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
158
- outline: none;
159
- }
160
-
161
- /* Apply .form rules for checkbox and radiobutton */
162
-
163
- .form {
164
-
165
- display: grid;
166
- place-content: center;
167
- width: var(--qti-form-size);
168
- height: var(--qti-form-size);
169
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
170
- outline: none;
171
- }
172
-
173
- /* Apply .button rules for button-like elements, such as drags and buttons */
174
-
175
- .button {
176
-
177
- border-radius: var(--qti-border-radius);
178
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
179
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
180
- outline: none;
181
- }
182
-
183
- /* Apply .select for the select dropdown element */
184
-
185
- .select {
186
-
187
- border-radius: var(--qti-border-radius);
188
- position: relative;
189
- -webkit-appearance: none;
190
- -moz-appearance: none;
191
- appearance: none;
192
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
193
- padding-right: calc(var(--qti-padding-horizontal) + 1.5rem); /* 1.5rem for the chevron */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
194
- no-repeat center right 6px;
195
- }
196
-
197
- /* Apply .text for the input text and textarea */
198
-
199
- .text {
200
-
201
- border-radius: 0;
202
- cursor: text;
203
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
204
- background: unset;
205
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
206
- outline: none;
207
- }
208
-
209
- /* Apply .spot for hotspot shapes */
210
-
211
- .spot {
212
-
213
- width: 100%;
214
- height: 100%;
215
- background-color: transparent;
216
- padding: 0;
217
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
218
- outline: none;
219
- }
220
-
221
- /* Apply .point for circular small hotspots */
222
-
223
- .point {
224
-
225
- border-radius: 100%;
226
- width: var(--qti-point-size);
227
- height: var(--qti-point-size);
228
- background-color: transparent;
229
- padding: 0;
230
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
231
- outline: none;
232
- }
233
-
234
- /* Apply .drag for draggable elements */
235
-
236
- .drag {
237
-
238
- transition:
239
- transform 200ms ease-out,
240
- box-shadow 200ms ease-out,
241
- rotate 200ms ease-out;
242
- cursor: grab;
243
- background-color: var(--qti-bg);
244
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
245
- border-radius: var(--qti-border-radius);
246
- padding-left: calc(var(--qti-padding-horizontal) + 0.5rem) !important; /* 1.5rem for the drag */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background-image: radial-gradient(
247
- circle at center,
248
- rgb(0 0 0 / 10%) 0,
249
- rgb(0 0 0 / 20%) 2px,
250
- rgb(255 255 255 / 0%) 2px,
251
- rgb(255 255 255 / 0%) 100%
252
- ); background-repeat: repeat-y; background-position: left center; background-size: 14px 8px;
253
- }
254
-
255
- /* Apply .dragging for the dragging state of a draggable element */
256
-
257
- .dragging {
258
- pointer-events: none;
259
- rotate: -2deg;
260
- box-shadow:
261
- 0 8px 12px rgb(0 0 0 / 20%),
262
- 0 4px 8px rgb(0 0 0 / 10%);
263
- }
264
-
265
- /* Apply .drop for an element where you can drop the draggable */
266
-
267
- .drop {
268
-
269
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
270
- center no-repeat;
271
- border-radius: var(--qti-border-radius);
272
- position: relative;
273
- background-color: var(--qti-bg);
274
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
275
- outline: none;
276
- }
277
-
278
- /* Apply .dropping for an indicator where you can drop the draggable */
279
-
280
- .dropping {
281
- background-color: var(--qti-bg-active);
282
- }
283
-
284
- /* Apply .order for a small circular button */
285
-
286
- .order {
287
-
288
- display: grid;
289
- place-content: center;
290
-
291
- /* background-color: var(--qti-bg-active); */
292
- border-radius: 100%;
293
- width: var(--qti-order-size);
294
- height: var(--qti-order-size);
295
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
296
- outline: none;
297
- }
298
-
299
- /* Apply .check-size for radio and checkbox size */
300
-
301
- .check-size {
302
- width: calc(var(--qti-form-size) - 6px);
303
- height: calc(var(--qti-form-size) - 6px);
304
- }
305
-
306
- /* Apply .check for checkbox */
307
-
308
- .check {
309
- gap: 0.5rem;
310
- border-radius: var(--qti-border-radius);
311
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
312
- outline: none;
313
- cursor: pointer;
314
- }
315
-
316
- /* Apply .check-radio for outer circle of the radio buttons */
317
-
318
- .check-radio {
319
-
320
- border-radius: 100%;
321
-
322
- display: grid;
323
-
324
- place-content: center;
325
-
326
- width: var(--qti-form-size);
327
-
328
- height: var(--qti-form-size);
329
-
330
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
331
-
332
- outline: none;
333
- }
334
-
335
- /* Apply .check-radio-checked for the inner checked radio */
336
-
337
- .check-radio-checked {
338
- background-color: var(--qti-border-active);
339
- border-radius: 100%;
340
- }
341
-
342
- /* Apply .check-checkbox for outer square of the checkbox */
343
-
344
- .check-checkbox {
345
-
346
- display: flex;
347
- place-items: center;
348
- border-radius: var(--qti-border-radius);
349
- display: grid;
350
- place-content: center;
351
- width: var(--qti-form-size);
352
- height: var(--qti-form-size);
353
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
354
- outline: none;
355
- }
356
-
357
- /* Apply .check-checkbox-checked for the inner checkmark */
358
-
359
- .check-checkbox-checked {
360
- background-color: var(--qti-border-active);
361
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
362
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
363
- }
364
-
365
- /* Apply .hov for hover state */
366
-
367
- .hov {
368
- background-color: var(--qti-hover-bg);
369
- }
370
-
371
- /* Apply .foc for focus state */
372
-
373
- .foc {
374
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
375
- }
376
-
377
- /* Apply .act for active state */
378
-
379
- .act {
380
- border-color: var(--qti-border-active);
381
- background-color: var(--qti-bg-active);
382
- }
383
-
384
- .act-bg {
385
- background-color: var(--qti-bg-active);
386
- }
387
-
388
- .act-bor {
389
- border-color: var(--qti-border-active);
390
- }
391
-
392
- /* Apply .rdo for readonly state */
393
-
394
- .rdo {
395
- cursor: pointer;
396
- background-color: var(--qti-bg);
397
- outline: 0;
398
- border: none;
399
- }
400
-
401
- /* Apply .dis for disabled state */
402
-
403
- .dis {
404
- cursor: not-allowed;
405
- background-color: var(--qti-disabled-bg);
406
- color: var(--qti-disabled-color);
407
- border-color: var(--qti-border-color);
408
- outline: 4px solid var(--qti-disabled-bg);
409
- }
410
-
411
- /* base */
412
-
413
- /* ============================
414
- QTI 3 shared css
415
- 1. Display
416
- 2. Special Flex styles
417
- 3. Margin
418
- 4. Padding
419
- 5. Horizontal Alignment styles
420
- 6. Vertical Alignment styles
421
- 7. Height
422
- 8. Width
423
- 9. Text-Indent
424
- 10. List Style
425
- 11. Layout
426
- 12. Other QTI 3 presentation utilities
427
- ============================ */
428
-
429
- /* ==========
430
- Display css
431
- =========== */
432
-
433
- .qti-display-inline {
434
- display: inline;
435
- }
436
-
437
- .qti-display-inline-block {
438
- display: inline-block;
439
- }
440
-
441
- .qti-display-block {
442
- display: block;
443
- }
444
-
445
- .qti-display-flex {
446
- display: flexbox;
447
- display: flex;
448
- }
449
-
450
- .qti-display-inline-flex {
451
- display: inline-flex;
452
- }
453
-
454
- .qti-display-grid {
455
- display: grid;
456
- }
457
-
458
- .qti-display-inline-grid {
459
- display: inline-grid;
460
- }
461
-
462
- .qti-display-table {
463
- display: table;
464
- }
465
-
466
- .qti-display-table-cell {
467
- display: table-cell;
468
- }
469
-
470
- .qti-display-table-row {
471
- display: table-row;
472
- }
473
-
474
- .qti-display-list-item {
475
- display: list-item;
476
- }
477
-
478
- .qti-display-inherit {
479
- display: inherit;
480
- }
481
-
482
- /*
483
- * hidden to screen readers and sighted
484
- */
485
-
486
- .qti-hidden {
487
- display: none;
488
- }
489
-
490
- /*
491
- * visible to screen readers, hidden to sighted
492
- */
493
-
494
- .qti-visually-hidden {
495
- position: fixed !important;
496
- overflow: hidden;
497
- clip: rect(1px 1px 1px 1px);
498
- height: 1px;
499
- width: 1px;
500
- border: 0;
501
- margin: -1px;
502
- }
503
-
504
- /* =============================
505
- Special flex styles
506
- ============================= */
507
-
508
- .qti-flex-direction-column {
509
- flex-direction: column;
510
- }
511
-
512
- .qti-flex-direction-row {
513
- flex-direction: row;
514
- }
515
-
516
- .qti-flex-grow-1 {
517
- flex-grow: 1;
518
- }
519
-
520
- .qti-flex-grow-0 {
521
- flex-grow: 0;
522
- }
523
-
524
- /* =========
525
- Margin css
526
- ========== */
527
-
528
- /**
529
- * For margin Top and Bottom and Left and Right
530
- */
531
-
532
- .qti-margin-0 {
533
- margin: 0 !important;
534
- }
535
-
536
- .qti-margin-1 {
537
- margin: 0.25rem !important;
538
- }
539
-
540
- .qti-margin-2 {
541
- margin: 0.5rem !important;
542
- }
543
-
544
- .qti-margin-3 {
545
- margin: 1rem !important;
546
- }
547
-
548
- .qti-margin-4 {
549
- margin: 1.5rem !important;
550
- }
551
-
552
- .qti-margin-5 {
553
- margin: 3rem !important;
554
- }
555
-
556
- .qti-margin-auto {
557
- margin: auto !important;
558
- }
559
-
560
- /*
561
- For margin Left and Right
562
- */
563
-
564
- .qti-margin-x-0 {
565
- margin-right: 0 !important;
566
- margin-left: 0 !important;
567
- }
568
-
569
- .qti-margin-x-1 {
570
- margin-right: 0.25rem !important;
571
- margin-left: 0.25rem !important;
572
- }
573
-
574
- .qti-margin-x-2 {
575
- margin-right: 0.5rem !important;
576
- margin-left: 0.5rem !important;
577
- }
578
-
579
- .qti-margin-x-3 {
580
- margin-right: 1rem !important;
581
- margin-left: 1rem !important;
582
- }
583
-
584
- .qti-margin-x-4 {
585
- margin-right: 1.5rem !important;
586
- margin-left: 1.5rem !important;
587
- }
588
-
589
- .qti-margin-x-5 {
590
- margin-right: 3rem !important;
591
- margin-left: 3rem !important;
592
- }
593
-
594
- .qti-margin-x-auto {
595
- margin-right: auto !important;
596
- margin-left: auto !important;
597
- }
598
-
599
- /*
600
- For margin Top and Bottom
601
- */
602
-
603
- .qti-margin-y-0 {
604
- margin-top: 0 !important;
605
- margin-bottom: 0 !important;
606
- }
607
-
608
- .qti-margin-y-1 {
609
- margin-top: 0.25rem !important;
610
- margin-bottom: 0.25rem !important;
611
- }
612
-
613
- .qti-margin-y-2 {
614
- margin-top: 0.5rem !important;
615
- margin-bottom: 0.5rem !important;
616
- }
617
-
618
- .qti-margin-y-3 {
619
- margin-top: 1rem !important;
620
- margin-bottom: 1rem !important;
621
- }
622
-
623
- .qti-margin-y-4 {
624
- margin-top: 1.5rem !important;
625
- margin-bottom: 1.5rem !important;
626
- }
627
-
628
- .qti-margin-y-5 {
629
- margin-top: 3rem !important;
630
- margin-bottom: 3rem !important;
631
- }
632
-
633
- .qti-margin-y-auto {
634
- margin-top: auto !important;
635
- margin-bottom: auto !important;
636
- }
637
-
638
- /*
639
- For margin Top
640
- */
641
-
642
- .qti-margin-t-0 {
643
- margin-top: 0 !important;
644
- }
645
-
646
- .qti-margin-t-1 {
647
- margin-top: 0.25rem !important;
648
- }
649
-
650
- .qti-margin-t-2 {
651
- margin-top: 0.5rem !important;
652
- }
653
-
654
- .qti-margin-t-3 {
655
- margin-top: 1rem !important;
656
- }
657
-
658
- .qti-margin-t-4 {
659
- margin-top: 1.5rem !important;
660
- }
661
-
662
- .qti-margin-t-5 {
663
- margin-top: 3rem !important;
664
- }
665
-
666
- .qti-margin-t-auto {
667
- margin-top: auto !important;
668
- }
669
-
670
- /*
671
- For margin Bottom
672
- */
673
-
674
- .qti-margin-b-0 {
675
- margin-bottom: 0 !important;
676
- }
677
-
678
- .qti-margin-b-1 {
679
- margin-bottom: 0.25rem !important;
680
- }
681
-
682
- .qti-margin-b-2 {
683
- margin-bottom: 0.5rem !important;
684
- }
685
-
686
- .qti-margin-b-3 {
687
- margin-bottom: 1rem !important;
688
- }
689
-
690
- .qti-margin-b-4 {
691
- margin-bottom: 1.5rem !important;
692
- }
693
-
694
- .qti-margin-b-5 {
695
- margin-bottom: 3rem !important;
696
- }
697
-
698
- .qti-margin-b-auto {
699
- margin-bottom: auto !important;
700
- }
701
-
702
- /*
703
- For margin Start LTR
704
- */
705
-
706
- .qti-margin-s-0 {
707
- margin-left: 0 !important;
708
- }
709
-
710
- .qti-margin-s-1 {
711
- margin-left: 0.25rem !important;
712
- }
713
-
714
- .qti-margin-s-2 {
715
- margin-left: 0.5rem !important;
716
- }
717
-
718
- .qti-margin-s-3 {
719
- margin-left: 1rem !important;
720
- }
721
-
722
- .qti-margin-s-4 {
723
- margin-left: 1.5rem !important;
724
- }
725
-
726
- .qti-margin-s-5 {
727
- margin-left: 3rem !important;
728
- }
729
-
730
- .qti-margin-s-auto {
731
- margin-left: auto !important;
732
- }
733
-
734
- /*
735
- For margin End LTR
736
- */
737
-
738
- .qti-margin-e-0 {
739
- margin-right: 0 !important;
740
- }
741
-
742
- .qti-margin-e-1 {
743
- margin-right: 0.25rem !important;
744
- }
745
-
746
- .qti-margin-e-2 {
747
- margin-right: 0.5rem !important;
748
- }
749
-
750
- .qti-margin-e-3 {
751
- margin-right: 1rem !important;
752
- }
753
-
754
- .qti-margin-e-4 {
755
- margin-right: 1.5rem !important;
756
- }
757
-
758
- .qti-margin-e-5 {
759
- margin-right: 3rem !important;
760
- }
761
-
762
- .qti-margin-e-auto {
763
- margin-right: auto !important;
764
- }
765
-
766
- /* =========
767
- Padding css
768
- ========== */
769
-
770
- /*
771
- For padding Top and Bottom and Left and Right
772
- */
773
-
774
- .qti-padding-0 {
775
- padding: 0 !important;
776
- }
777
-
778
- .qti-padding-1 {
779
- padding: 0.25rem !important;
780
- }
781
-
782
- .qti-padding-2 {
783
- padding: 0.5rem !important;
784
- }
785
-
786
- .qti-padding-3 {
787
- padding: 1rem !important;
788
- }
789
-
790
- .qti-padding-4 {
791
- padding: 1.5rem !important;
792
- }
793
-
794
- .qti-padding-5 {
795
- padding: 3rem !important;
796
- }
797
-
798
- /*
799
- For padding Left and Right
800
- */
801
-
802
- .qti-padding-x-0 {
803
- padding-right: 0 !important;
804
- padding-left: 0 !important;
805
- }
806
-
807
- .qti-padding-x-1 {
808
- padding-right: 0.25rem !important;
809
- padding-left: 0.25rem !important;
810
- }
811
-
812
- .qti-padding-x-2 {
813
- padding-right: 0.5rem !important;
814
- padding-left: 0.5rem !important;
815
- }
816
-
817
- .qti-padding-x-3 {
818
- padding-right: 1rem !important;
819
- padding-left: 1rem !important;
820
- }
821
-
822
- .qti-padding-x-4 {
823
- padding-right: 1.5rem !important;
824
- padding-left: 1.5rem !important;
825
- }
826
-
827
- .qti-padding-x-5 {
828
- padding-right: 3rem !important;
829
- padding-left: 3rem !important;
830
- }
831
-
832
- /*
833
- For padding Top and Bottom
834
- */
835
-
836
- .qti-padding-y-0 {
837
- padding-top: 0 !important;
838
- padding-bottom: 0 !important;
839
- }
840
-
841
- .qti-padding-y-1 {
842
- padding-top: 0.25rem !important;
843
- padding-bottom: 0.25rem !important;
844
- }
845
-
846
- .qti-padding-y-2 {
847
- padding-top: 0.5rem !important;
848
- padding-bottom: 0.5rem !important;
849
- }
850
-
851
- .qti-padding-y-3 {
852
- padding-top: 1rem !important;
853
- padding-bottom: 1rem !important;
854
- }
855
-
856
- .qti-padding-y-4 {
857
- padding-top: 1.5rem !important;
858
- padding-bottom: 1.5rem !important;
859
- }
860
-
861
- .qti-padding-y-5 {
862
- padding-top: 3rem !important;
863
- padding-bottom: 3rem !important;
864
- }
865
-
866
- /*
867
- For padding Top
868
- */
869
-
870
- .qti-padding-t-0 {
871
- padding-top: 0 !important;
872
- }
873
-
874
- .qti-padding-t-1 {
875
- padding-top: 0.25rem !important;
876
- }
877
-
878
- .qti-padding-t-2 {
879
- padding-top: 0.5rem !important;
880
- }
881
-
882
- .qti-padding-t-3 {
883
- padding-top: 1rem !important;
884
- }
885
-
886
- .qti-padding-t-4 {
887
- padding-top: 1.5rem !important;
888
- }
889
-
890
- .qti-padding-t-5 {
891
- padding-top: 3rem !important;
892
- }
893
-
894
- /*
895
- For padding Bottom
896
- */
897
-
898
- .qti-padding-b-0 {
899
- padding-bottom: 0 !important;
900
- }
901
-
902
- .qti-padding-b-1 {
903
- padding-bottom: 0.25rem !important;
904
- }
905
-
906
- .qti-padding-b-2 {
907
- padding-bottom: 0.5rem !important;
908
- }
909
-
910
- .qti-padding-b-3 {
911
- padding-bottom: 1rem !important;
912
- }
913
-
914
- .qti-padding-b-4 {
915
- padding-bottom: 1.5rem !important;
916
- }
917
-
918
- .qti-padding-b-5 {
919
- padding-bottom: 3rem !important;
920
- }
921
-
922
- /*
923
- For padding Start LTR
924
- */
925
-
926
- .qti-padding-s-0 {
927
- padding-left: 0 !important;
928
- }
929
-
930
- .qti-padding-s-1 {
931
- padding-left: 0.25rem !important;
932
- }
933
-
934
- .qti-padding-s-2 {
935
- padding-left: 0.5rem !important;
936
- }
937
-
938
- .qti-padding-s-3 {
939
- padding-left: 1rem !important;
940
- }
941
-
942
- .qti-padding-s-4 {
943
- padding-left: 1.5rem !important;
944
- }
945
-
946
- .qti-padding-s-5 {
947
- padding-left: 3rem !important;
948
- }
949
-
950
- /*
951
- For padding End LTR
952
- */
953
-
954
- .qti-padding-e-0 {
955
- padding-right: 0 !important;
956
- }
957
-
958
- .qti-padding-e-1 {
959
- padding-right: 0.25rem !important;
960
- }
961
-
962
- .qti-padding-e-2 {
963
- padding-right: 0.5rem !important;
964
- }
965
-
966
- .qti-padding-e-3 {
967
- padding-right: 1rem !important;
968
- }
969
-
970
- .qti-padding-e-4 {
971
- padding-right: 1.5rem !important;
972
- }
973
-
974
- .qti-padding-e-5 {
975
- padding-right: 3rem !important;
976
- }
977
-
978
- /* ====================
979
- Horizontal alignment
980
- ==================== */
981
-
982
- .qti-align-left {
983
- text-align: left;
984
- }
985
-
986
- .qti-align-center {
987
- text-align: center;
988
- }
989
-
990
- .qti-align-right {
991
- text-align: right;
992
- }
993
-
994
- /* ==================
995
- Vertical alignment
996
- ================== */
997
-
998
- .qti-valign-top {
999
- vertical-align: top;
1000
- }
1001
-
1002
- .qti-valign-middle {
1003
- vertical-align: middle;
1004
- }
1005
-
1006
- .qti-valign-baseline {
1007
- vertical-align: baseline;
1008
- }
1009
-
1010
- .qti-valign-bottom {
1011
- vertical-align: bottom;
1012
- }
1013
-
1014
- /* =============
1015
- Height styles
1016
- ============= */
1017
-
1018
- .qti-height-0 {
1019
- height: 0;
1020
- }
1021
-
1022
- .qti-height-px {
1023
- height: 1px;
1024
- }
1025
-
1026
- .qti-height-0p5 {
1027
- height: 0.125rem;
1028
- }
1029
-
1030
- .qti-height-1 {
1031
- height: 0.25rem;
1032
- }
1033
-
1034
- .qti-height-1p5 {
1035
- height: 0.375rem;
1036
- }
1037
-
1038
- .qti-height-2 {
1039
- height: 0.5rem;
1040
- }
1041
-
1042
- .qti-height-2p5 {
1043
- height: 0.625rem;
1044
- }
1045
-
1046
- .qti-height-3 {
1047
- height: 0.75rem;
1048
- }
1049
-
1050
- .qti-height-3p5 {
1051
- height: 0.875rem;
1052
- }
1053
-
1054
- .qti-height-4 {
1055
- height: 1rem;
1056
- }
1057
-
1058
- .qti-height-5 {
1059
- height: 1.25rem;
1060
- }
1061
-
1062
- .qti-height-6 {
1063
- height: 1.5rem;
1064
- }
1065
-
1066
- .qti-height-7 {
1067
- height: 1.75rem;
1068
- }
1069
-
1070
- .qti-height-8 {
1071
- height: 2rem;
1072
- }
1073
-
1074
- .qti-height-9 {
1075
- height: 2.25rem;
1076
- }
1077
-
1078
- .qti-height-10 {
1079
- height: 2.5rem;
1080
- }
1081
-
1082
- .qti-height-11 {
1083
- height: 2.75rem;
1084
- }
1085
-
1086
- .qti-height-12 {
1087
- height: 3rem;
1088
- }
1089
-
1090
- .qti-height-14 {
1091
- height: 3.5rem;
1092
- }
1093
-
1094
- .qti-height-16 {
1095
- height: 4rem;
1096
- }
1097
-
1098
- .qti-height-20 {
1099
- height: 5rem;
1100
- }
1101
-
1102
- .qti-height-24 {
1103
- height: 6rem;
1104
- }
1105
-
1106
- .qti-height-28 {
1107
- height: 7rem;
1108
- }
1109
-
1110
- .qti-height-32 {
1111
- height: 8rem;
1112
- }
1113
-
1114
- .qti-height-36 {
1115
- height: 9rem;
1116
- }
1117
-
1118
- .qti-height-40 {
1119
- height: 10rem;
1120
- }
1121
-
1122
- .qti-height-44 {
1123
- height: 11rem;
1124
- }
1125
-
1126
- .qti-height-48 {
1127
- height: 12rem;
1128
- }
1129
-
1130
- .qti-height-52 {
1131
- height: 13rem;
1132
- }
1133
-
1134
- .qti-height-56 {
1135
- height: 14rem;
1136
- }
1137
-
1138
- .qti-height-60 {
1139
- height: 15rem;
1140
- }
1141
-
1142
- .qti-height-64 {
1143
- height: 16rem;
1144
- }
1145
-
1146
- .qti-height-72 {
1147
- height: 18rem;
1148
- }
1149
-
1150
- .qti-height-80 {
1151
- height: 20rem;
1152
- }
1153
-
1154
- .qti-height-96 {
1155
- height: 24rem;
1156
- }
1157
-
1158
- .qti-height-1-2 {
1159
- height: 50%;
1160
- }
1161
-
1162
- .qti-height-1-3 {
1163
- height: 33.3333%;
1164
- }
1165
-
1166
- .qti-height-2-3 {
1167
- height: 66.6667%;
1168
- }
1169
-
1170
- .qti-height-1-4 {
1171
- height: 25%;
1172
- }
1173
-
1174
- .qti-height-2-4 {
1175
- height: 50%;
1176
- }
1177
-
1178
- .qti-height-3-4 {
1179
- height: 75%;
1180
- }
1181
-
1182
- .qti-height-1-5 {
1183
- height: 20%;
1184
- }
1185
-
1186
- .qti-height-2-5 {
1187
- height: 40%;
1188
- }
1189
-
1190
- .qti-height-3-5 {
1191
- height: 60%;
1192
- }
1193
-
1194
- .qti-height-4-5 {
1195
- height: 80%;
1196
- }
1197
-
1198
- .qti-height-1-6 {
1199
- height: 16.6667%;
1200
- }
1201
-
1202
- .qti-height-2-6 {
1203
- height: 33.3333%;
1204
- }
1205
-
1206
- .qti-height-3-6 {
1207
- height: 50%;
1208
- }
1209
-
1210
- .qti-height-4-6 {
1211
- height: 66.6667%;
1212
- }
1213
-
1214
- .qti-height-5-6 {
1215
- height: 83.3333%;
1216
- }
1217
-
1218
- .qti-height-auto {
1219
- height: auto;
1220
- }
1221
-
1222
- .qti-height-full {
1223
- height: 100%;
1224
- }
1225
-
1226
- /* ============
1227
- Width styles
1228
- ============ */
1229
-
1230
- .qti-width-0 {
1231
- width: 0;
1232
- }
1233
-
1234
- .qti-width-px {
1235
- width: 1px;
1236
- }
1237
-
1238
- .qti-width-0p5 {
1239
- width: 0.125rem;
1240
- }
1241
-
1242
- .qti-width-1 {
1243
- width: 0.25rem;
1244
- }
1245
-
1246
- .qti-width-1p5 {
1247
- width: 0.375rem;
1248
- }
1249
-
1250
- .qti-width-2 {
1251
- width: 0.5rem;
1252
- }
1253
-
1254
- .qti-width-2p5 {
1255
- width: 0.625rem;
1256
- }
1257
-
1258
- .qti-width-3 {
1259
- width: 0.75rem;
1260
- }
1261
-
1262
- .qti-width-3p5 {
1263
- width: 0.875rem;
1264
- }
1265
-
1266
- .qti-width-4 {
1267
- width: 1rem;
1268
- }
1269
-
1270
- .qti-width-5 {
1271
- width: 1.25rem;
1272
- }
1273
-
1274
- .qti-width-6 {
1275
- width: 1.5rem;
1276
- }
1277
-
1278
- .qti-width-7 {
1279
- width: 1.75rem;
1280
- }
1281
-
1282
- .qti-width-8 {
1283
- width: 2rem;
1284
- }
1285
-
1286
- .qti-width-9 {
1287
- width: 2.25rem;
1288
- }
1289
-
1290
- .qti-width-10 {
1291
- width: 2.5rem;
1292
- }
1293
-
1294
- .qti-width-11 {
1295
- width: 2.75rem;
1296
- }
1297
-
1298
- .qti-width-12 {
1299
- width: 3rem;
1300
- }
1301
-
1302
- .qti-width-14 {
1303
- width: 3.5rem;
1304
- }
1305
-
1306
- .qti-width-16 {
1307
- width: 4rem;
1308
- }
1309
-
1310
- .qti-width-20 {
1311
- width: 5rem;
1312
- }
1313
-
1314
- .qti-width-24 {
1315
- width: 6rem;
1316
- }
1317
-
1318
- .qti-width-28 {
1319
- width: 7rem;
1320
- }
1321
-
1322
- .qti-width-32 {
1323
- width: 8rem;
1324
- }
1325
-
1326
- .qti-width-36 {
1327
- width: 9rem;
1328
- }
1329
-
1330
- .qti-width-40 {
1331
- width: 10rem;
1332
- }
1333
-
1334
- .qti-width-44 {
1335
- width: 11rem;
1336
- }
1337
-
1338
- .qti-width-48 {
1339
- width: 12rem;
1340
- }
1341
-
1342
- .qti-width-52 {
1343
- width: 13rem;
1344
- }
1345
-
1346
- .qti-width-56 {
1347
- width: 14rem;
1348
- }
1349
-
1350
- .qti-width-60 {
1351
- width: 15rem;
1352
- }
1353
-
1354
- .qti-width-64 {
1355
- width: 16rem;
1356
- }
1357
-
1358
- .qti-width-72 {
1359
- width: 18rem;
1360
- }
1361
-
1362
- .qti-width-80 {
1363
- width: 20rem;
1364
- }
1365
-
1366
- .qti-width-96 {
1367
- width: 24rem;
1368
- }
1369
-
1370
- .qti-width-auto {
1371
- width: auto;
1372
- }
1373
-
1374
- .qti-width-1-2 {
1375
- width: 50%;
1376
- }
1377
-
1378
- .qti-width-1-3 {
1379
- width: 33.3333%;
1380
- }
1381
-
1382
- .qti-width-2-3 {
1383
- width: 66.6667%;
1384
- }
1385
-
1386
- .qti-width-1-4 {
1387
- width: 25%;
1388
- }
1389
-
1390
- .qti-width-2-4 {
1391
- width: 50%;
1392
- }
1393
-
1394
- .qti-width-3-4 {
1395
- width: 75%;
1396
- }
1397
-
1398
- .qti-width-1-5 {
1399
- width: 20%;
1400
- }
1401
-
1402
- .qti-width-2-5 {
1403
- width: 40%;
1404
- }
1405
-
1406
- .qti-width-3-5 {
1407
- width: 60%;
1408
- }
1409
-
1410
- .qti-width-4-5 {
1411
- width: 80%;
1412
- }
1413
-
1414
- .qti-width-1-6 {
1415
- width: 16.6667%;
1416
- }
1417
-
1418
- .qti-width-2-6 {
1419
- width: 33.3333%;
1420
- }
1421
-
1422
- .qti-width-3-6 {
1423
- width: 50%;
1424
- }
1425
-
1426
- .qti-width-4-6 {
1427
- width: 66.6667%;
1428
- }
1429
-
1430
- .qti-width-5-6 {
1431
- width: 83.3333%;
1432
- }
1433
-
1434
- .qti-width-1-12 {
1435
- width: 8.3333%;
1436
- }
1437
-
1438
- .qti-width-2-12 {
1439
- width: 16.6667%;
1440
- }
1441
-
1442
- .qti-width-3-12 {
1443
- width: 25%;
1444
- }
1445
-
1446
- .qti-width-4-12 {
1447
- width: 33.3333%;
1448
- }
1449
-
1450
- .qti-width-5-12 {
1451
- width: 41.6667%;
1452
- }
1453
-
1454
- .qti-width-6-12 {
1455
- width: 50%;
1456
- }
1457
-
1458
- .qti-width-7-12 {
1459
- width: 58.3333%;
1460
- }
1461
-
1462
- .qti-width-8-12 {
1463
- width: 66.6667%;
1464
- }
1465
-
1466
- .qti-width-9-12 {
1467
- width: 75%;
1468
- }
1469
-
1470
- .qti-width-10-12 {
1471
- width: 83.3333%;
1472
- }
1473
-
1474
- .qti-width-11-12 {
1475
- width: 91.6667%;
1476
- }
1477
-
1478
- .qti-width-full,
1479
- .qti-fullwidth {
1480
- width: 100%;
1481
- }
1482
-
1483
- /* ==================
1484
- Text Indent styles
1485
- ================== */
1486
-
1487
- .qti-text-indent-0 {
1488
- text-indent: 0;
1489
- }
1490
-
1491
- .qti-text-indent-px {
1492
- text-indent: 1px;
1493
- }
1494
-
1495
- .qti-text-indent-0p5 {
1496
- text-indent: 0.125rem;
1497
- }
1498
-
1499
- .qti-text-indent-1 {
1500
- text-indent: 0.25rem;
1501
- }
1502
-
1503
- .qti-text-indent-1p5 {
1504
- text-indent: 0.375rem;
1505
- }
1506
-
1507
- .qti-text-indent-2 {
1508
- text-indent: 0.5rem;
1509
- }
1510
-
1511
- .qti-text-indent-2p5 {
1512
- text-indent: 0.625rem;
1513
- }
1514
-
1515
- .qti-text-indent-3 {
1516
- text-indent: 0.75rem;
1517
- }
1518
-
1519
- .qti-text-indent-3p5 {
1520
- text-indent: 0.875rem;
1521
- }
1522
-
1523
- .qti-text-indent-4 {
1524
- text-indent: 1rem;
1525
- }
1526
-
1527
- .qti-text-indent-5 {
1528
- text-indent: 1.25rem;
1529
- }
1530
-
1531
- .qti-text-indent-6 {
1532
- text-indent: 1.5rem;
1533
- }
1534
-
1535
- .qti-text-indent-7 {
1536
- text-indent: 1.75rem;
1537
- }
1538
-
1539
- .qti-text-indent-8 {
1540
- text-indent: 2rem;
1541
- }
1542
-
1543
- .qti-text-indent-12 {
1544
- text-indent: 3rem;
1545
- }
1546
-
1547
- .qti-text-indent-16 {
1548
- text-indent: 4rem;
1549
- }
1550
-
1551
- .qti-text-indent-20 {
1552
- text-indent: 5rem;
1553
- }
1554
-
1555
- .qti-text-indent-24 {
1556
- text-indent: 6rem;
1557
- }
1558
-
1559
- .qti-text-indent-28 {
1560
- text-indent: 7rem;
1561
- }
1562
-
1563
- .qti-text-indent-32 {
1564
- text-indent: 8rem;
1565
- }
1566
-
1567
- /* =================
1568
- List Style styles
1569
- ================= */
1570
-
1571
- .qti-list-style-type-none {
1572
- list-style-type: none;
1573
- }
1574
-
1575
- .qti-list-style-type-disc {
1576
- list-style-type: disc;
1577
- }
1578
-
1579
- .qti-list-style-type-circle {
1580
- list-style-type: circle;
1581
- }
1582
-
1583
- .qti-list-style-type-square {
1584
- list-style-type: square;
1585
- }
1586
-
1587
- .qti-list-style-type-decimal {
1588
- list-style-type: decimal;
1589
- }
1590
-
1591
- .qti-list-style-type-decimal-leading-zero {
1592
- list-style-type: decimal-leading-zero;
1593
- }
1594
-
1595
- .qti-list-style-type-lower-alpha {
1596
- list-style-type: lower-alpha;
1597
- }
1598
-
1599
- .qti-list-style-type-upper-alpha {
1600
- list-style-type: upper-alpha;
1601
- }
1602
-
1603
- .qti-list-style-type-lower-roman {
1604
- list-style-type: lower-roman;
1605
- }
1606
-
1607
- .qti-list-style-type-upper-roman {
1608
- list-style-type: upper-roman;
1609
- }
1610
-
1611
- .qti-list-style-type-lower-latin {
1612
- list-style-type: lower-latin;
1613
- }
1614
-
1615
- .qti-list-style-type-upper-latin {
1616
- list-style-type: upper-latin;
1617
- }
1618
-
1619
- .qti-list-style-type-lower-greek {
1620
- list-style-type: lower-greek;
1621
- }
1622
-
1623
- .qti-list-style-type-arabic-indic {
1624
- list-style-type: arabic-indic;
1625
- }
1626
-
1627
- .qti-list-style-type-armenian {
1628
- list-style-type: armenian;
1629
- }
1630
-
1631
- .qti-list-style-type-lower-armenian {
1632
- list-style-type: lower-armenian;
1633
- }
1634
-
1635
- .qti-list-style-type-upper-armenian {
1636
- list-style-type: upper-armenian;
1637
- }
1638
-
1639
- .qti-list-style-type-bengali {
1640
- list-style-type: bengali;
1641
- }
1642
-
1643
- .qti-list-style-type-cambodian {
1644
- list-style-type: cambodian;
1645
- }
1646
-
1647
- .qti-list-style-type-simp-chinese-formal {
1648
- list-style-type: simp-chinese-formal;
1649
- }
1650
-
1651
- .qti-list-style-type-simp-chinese-informal {
1652
- list-style-type: simp-chinese-informal;
1653
- }
1654
-
1655
- .qti-list-style-type-trad-chinese-formal {
1656
- list-style-type: trad-chinese-formal;
1657
- }
1658
-
1659
- .qti-list-style-type-trad-chinese-informal {
1660
- list-style-type: trad-chinese-informal;
1661
- }
1662
-
1663
- .qti-list-style-type-cjk-ideographic {
1664
- list-style-type: cjk-ideographic;
1665
- }
1666
-
1667
- .qti-list-style-type-cjk-heavenly-stem {
1668
- list-style-type: cjk-heavenly-stem;
1669
- }
1670
-
1671
- .qti-list-style-type-cjk-earthly-branch {
1672
- list-style-type: cjk-earthly-branch;
1673
- }
1674
-
1675
- .qti-list-style-type-devanagari {
1676
- list-style-type: devanagari;
1677
- }
1678
-
1679
- .qti-list-style-type-ethiopic-halehame-ti-er {
1680
- list-style-type: ethiopic-halehame-ti-er;
1681
- }
1682
-
1683
- .qti-list-style-type-ethiopic-halehame-ti-et {
1684
- list-style-type: ethiopic-halehame-ti-et;
1685
- }
1686
-
1687
- .qti-list-style-type-ethiopic-halehame-am {
1688
- list-style-type: ethiopic-halehame-am;
1689
- }
1690
-
1691
- .qti-list-style-type-ethiopic-halehame {
1692
- list-style-type: ethiopic-halehame;
1693
- }
1694
-
1695
- .qti-list-style-type-georgian {
1696
- list-style-type: georgian;
1697
- }
1698
-
1699
- .qti-list-style-type-gujarati {
1700
- list-style-type: gujarati;
1701
- }
1702
-
1703
- .qti-list-style-type-gurmukhi {
1704
- list-style-type: gurmukhi;
1705
- }
1706
-
1707
- .qti-list-style-type-hangul {
1708
- list-style-type: hangul;
1709
- }
1710
-
1711
- .qti-list-style-type-hangul-consonant {
1712
- list-style-type: hangul-consonant;
1713
- }
1714
-
1715
- .qti-list-style-type-hebrew {
1716
- list-style-type: hebrew;
1717
- }
1718
-
1719
- .qti-list-style-type-hiragana {
1720
- list-style-type: hiragana;
1721
- }
1722
-
1723
- .qti-list-style-type-hiragana-iroha {
1724
- list-style-type: hiragana-iroha;
1725
- }
1726
-
1727
- .qti-list-style-type-khmer {
1728
- list-style-type: khmer;
1729
- }
1730
-
1731
- .qti-list-style-type-korean-hangul-formal {
1732
- list-style-type: korean-hangul-formal;
1733
- }
1734
-
1735
- .qti-list-style-type-korean-hanja-formal {
1736
- list-style-type: korean-hanja-formal;
1737
- }
1738
-
1739
- .qti-list-style-type-korean-hanja-informal {
1740
- list-style-type: korean-hanja-informal;
1741
- }
1742
-
1743
- .qti-list-style-type-lao {
1744
- list-style-type: lao;
1745
- }
1746
-
1747
- .qti-list-style-type-malayalam {
1748
- list-style-type: malayalam;
1749
- }
1750
-
1751
- .qti-list-style-type-mongolian {
1752
- list-style-type: mongolian;
1753
- }
1754
-
1755
- .qti-list-style-type-myanmar {
1756
- list-style-type: myanmar;
1757
- }
1758
-
1759
- .qti-list-style-type-oriya {
1760
- list-style-type: oriya;
1761
- }
1762
-
1763
- .qti-list-style-type-persian {
1764
- list-style-type: persian;
1765
- }
1766
-
1767
- .qti-list-style-type-thai {
1768
- list-style-type: thai;
1769
- }
1770
-
1771
- .qti-list-style-type-tibetan {
1772
- list-style-type: tibetan;
1773
- }
1774
-
1775
- .qti-list-style-type-telugu {
1776
- list-style-type: telugu;
1777
- }
1778
-
1779
- .qti-list-style-type-urdu {
1780
- list-style-type: urdu;
1781
- }
1782
-
1783
- /* =========================
1784
- Other QTI 3 Presentation Utilities
1785
- ========================= */
1786
-
1787
- .qti-bordered {
1788
- border: 1px solid var(--table-border-color);
1789
- }
1790
-
1791
- .qti-underline {
1792
- text-decoration: underline;
1793
- text-decoration-color: var(--foreground);
1794
- }
1795
-
1796
- .qti-italic {
1797
- font-style: italic;
1798
- }
1799
-
1800
- .qti-well {
1801
- min-height: 20px;
1802
- padding: 19px;
1803
- margin-bottom: 20px;
1804
- background-color: var(--well-bg);
1805
- border: var(--well-border);
1806
- border-radius: 4px;
1807
- box-shadow: var(--well-box-shadow);
1808
- }
1809
-
1810
- /* Set writing-mode to vertical-rl
1811
- Typical for CJK vertical text */
1812
-
1813
- .qti-writing-mode-vertical-rl {
1814
- writing-mode: vertical-rl;
1815
- }
1816
-
1817
- /* Set writing-mode to vertical-lr
1818
- Typical for Mongolian vertical text */
1819
-
1820
- .qti-writing-mode-vertical-lr {
1821
- writing-mode: vertical-lr;
1822
- }
1823
-
1824
- /* Set writing-mode to horizontal-tb
1825
- Browser default */
1826
-
1827
- .qti-writing-mode-horizontal-tb {
1828
- writing-mode: horizontal-tb;
1829
- }
1830
-
1831
- /* Float an element left */
1832
-
1833
- .qti-float-left {
1834
- float: left;
1835
- }
1836
-
1837
- /* Float an element right */
1838
-
1839
- .qti-float-right {
1840
- float: right;
1841
- }
1842
-
1843
- /* Remove a float */
1844
-
1845
- .qti-float-none {
1846
- float: none;
1847
- }
1848
-
1849
- /* Clearfix Hack to apply to a container of
1850
- floated content that overflows the container. */
1851
-
1852
- .qti-float-clearfix::after {
1853
- content: '';
1854
- clear: both;
1855
- display: table;
1856
- }
1857
-
1858
- .qti-float-clear-left
1859
- .qti-float-clear-right
1860
- .qti-float-clear-both
1861
-
1862
- /* Set text-orientation to upright */
1863
- .qti-text-orientation-upright {
1864
- text-orientation: upright;
1865
- }
1866
-
1867
- /* stylelint-disable number-max-precision */
1868
-
1869
- @layer qti-base {
1870
- .qti-layout-row {
1871
- display: flex;
1872
- flex-wrap: wrap;
1873
- width: 100%;
1874
- gap: 2.1276595745%;
1875
- }
1876
-
1877
- .qti-layout-row [class*='qti-layout-col']:not(:empty) {
1878
- box-sizing: border-box;
1879
- }
1880
-
1881
- .qti-layout-row [class*='qti-layout-col']:empty {
1882
- width: 0;
1883
- overflow: hidden; /* to fully collapse if there\u2019s padding or borders */
1884
- }
1885
-
1886
- .qti-layout-col1 {
1887
- width: 6.3829787234%;
1888
- }
1889
-
1890
- .qti-layout-col2 {
1891
- width: 14.8936170213%;
1892
- }
1893
-
1894
- .qti-layout-col3 {
1895
- width: 23.4042553191%;
1896
- }
1897
-
1898
- .qti-layout-col4 {
1899
- width: 31.914893617%;
1900
- }
1901
-
1902
- .qti-layout-col5 {
1903
- width: 40.4255319149%;
1904
- }
1905
-
1906
- .qti-layout-col6 {
1907
- width: 48.9361702128%;
1908
- }
1909
-
1910
- .qti-layout-col7 {
1911
- width: 57.4468085106%;
1912
- }
1913
-
1914
- .qti-layout-col8 {
1915
- width: 65.9574468085%;
1916
- }
1917
-
1918
- .qti-layout-col9 {
1919
- width: 74.4680851064%;
1920
- }
1921
-
1922
- .qti-layout-col10 {
1923
- width: 82.9787234043%;
1924
- }
1925
-
1926
- .qti-layout-col11 {
1927
- width: 91.4893617021%;
1928
- }
1929
-
1930
- .qti-layout-col12 {
1931
- width: 100%;
1932
- }
1933
-
1934
- .qti-layout-offset1 {
1935
- margin-left: 8.5106382979%;
1936
- }
1937
-
1938
- .qti-layout-offset2 {
1939
- margin-left: 17.0212765957%;
1940
- }
1941
-
1942
- .qti-layout-offset3 {
1943
- margin-left: 25.5319148936%;
1944
- }
1945
-
1946
- .qti-layout-offset4 {
1947
- margin-left: 34.0425531915%;
1948
- }
1949
-
1950
- .qti-layout-offset5 {
1951
- margin-left: 42.5531914894%;
1952
- }
1953
-
1954
- .qti-layout-offset6 {
1955
- margin-left: 51.0638297872%;
1956
- }
1957
-
1958
- .qti-layout-offset7 {
1959
- margin-left: 59.5744680851%;
1960
- }
1961
-
1962
- .qti-layout-offset8 {
1963
- margin-left: 68.085106383%;
1964
- }
1965
-
1966
- .qti-layout-offset9 {
1967
- margin-left: 76.5957446809%;
1968
- }
1969
-
1970
- .qti-layout-offset10 {
1971
- margin-left: 85.1063829787%;
1972
- }
1973
-
1974
- .qti-layout-offset11 {
1975
- margin-left: 93.6170212766%;
1976
- }
1977
-
1978
- .qti-layout-offset12 {
1979
- margin-left: 102.1276595745%;
1980
- }
1981
-
1982
- @media (width <= 767px) {
1983
- [class*='qti-layout-col'] {
1984
- width: 100%;
1985
- }
1986
- }
1987
- }
1988
-
1989
- [view],
1990
- qti-outcome-declaration,
1991
- qti-response-declaration {
1992
- display: none;
1993
- }
1994
-
1995
- [view].show {
1996
- display: block;
1997
- }
1998
-
1999
- :host {
2000
- box-sizing: border-box;
2001
- }
2002
-
2003
- *,
2004
- *::before,
2005
- *::after {
2006
- box-sizing: inherit;
2007
- }
2008
-
2009
- /* components */
2010
-
2011
- @layer qti-components {
2012
- qti-choice-interaction {
2013
- &.qti-input-control-hidden {
2014
- & qti-simple-choice {
2015
-
2016
- &:hover {
2017
- background-color: var(--qti-hover-bg);
2018
- }
2019
-
2020
- &:focus {
2021
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2022
- }
2023
-
2024
- &::part(ch) {
2025
- display: none;
2026
- }
2027
-
2028
- &:state(--checked),
2029
- &[aria-checked='true'] {
2030
- border-color: var(--qti-border-active);
2031
- background-color: var(--qti-bg-active);
2032
- }
2033
-
2034
- &:state(readonly),
2035
- &[aria-readonly='true'] {
2036
- cursor: pointer;
2037
- background-color: var(--qti-bg);
2038
- outline: 0;
2039
- border: none;
2040
- }
2041
-
2042
- &:state(disabled),
2043
- &[aria-disabled='true'] {
2044
- cursor: not-allowed;
2045
- background-color: var(--qti-disabled-bg);
2046
- color: var(--qti-disabled-color);
2047
- border-color: var(--qti-border-color);
2048
- outline: 4px solid var(--qti-disabled-bg);
2049
- }
2050
-
2051
- border-radius: var(--qti-border-radius);
2052
-
2053
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2054
-
2055
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2056
-
2057
- outline: none
2058
- }
2059
- }
2060
-
2061
- &:not(.qti-input-control-hidden) {
2062
- & qti-simple-choice {
2063
-
2064
- &:not([aria-disabled='true'], [aria-readonly='true'], :state(--checked)):hover {
2065
- background-color: var(--qti-hover-bg);
2066
- }
2067
-
2068
- &:focus {
2069
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2070
- }
2071
-
2072
- &:state(--checked),
2073
- &[aria-checked='true'] {
2074
- border-color: var(--qti-border-active);
2075
- background-color: var(--qti-bg-active);
2076
- }
2077
-
2078
- &:state(readonly),
2079
- &[aria-readonly='true'] {
2080
- cursor: pointer;
2081
- background-color: var(--qti-bg);
2082
- outline: 0;
2083
- border: none;
2084
- }
2085
-
2086
- &:state(disabled),
2087
- &[aria-disabled='true'] {
2088
- cursor: not-allowed;
2089
- background-color: var(--qti-disabled-bg);
2090
- color: var(--qti-disabled-color);
2091
- border-color: var(--qti-border-color);
2092
- outline: 4px solid var(--qti-disabled-bg);
2093
- }
2094
-
2095
- &::part(cha) {
2096
- width: calc(var(--qti-form-size) - 6px);
2097
- height: calc(var(--qti-form-size) - 6px);
2098
- }
2099
-
2100
- &:state(radio)::part(ch) {
2101
- border-radius: 100%;
2102
- display: grid;
2103
- place-content: center;
2104
- width: var(--qti-form-size);
2105
- height: var(--qti-form-size);
2106
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2107
- outline: none;
2108
- }
2109
-
2110
- &:state(radio):state(--checked)::part(cha) {
2111
- background-color: var(--qti-border-active);
2112
- border-radius: 100%;
2113
- }
2114
-
2115
- &:state(checkbox)::part(ch) {
2116
- display: flex;
2117
- place-items: center;
2118
- border-radius: var(--qti-border-radius);
2119
- display: grid;
2120
- place-content: center;
2121
- width: var(--qti-form-size);
2122
- height: var(--qti-form-size);
2123
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2124
- outline: none;
2125
- }
2126
-
2127
- &:state(checkbox):state(--checked)::part(cha) {
2128
- background-color: var(--qti-border-active);
2129
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2130
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2131
- }
2132
-
2133
- gap: 0.5rem;
2134
-
2135
- border-radius: var(--qti-border-radius);
2136
-
2137
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2138
-
2139
- outline: none;
2140
-
2141
- cursor: pointer
2142
- }
2143
- }
2144
-
2145
- & qti-simple-choice {
2146
- width: -moz-fit-content;
2147
- width: fit-content;
2148
- cursor: pointer;
2149
-
2150
- &:state(correct-response),
2151
- &[data-correct-response='true'] {
2152
- &::after {
2153
- content: '\\02714';
2154
- color: #16a34a; /* text-green-600 */
2155
- }
2156
- }
2157
- }
2158
-
2159
- & qti-simple-choice > p {
2160
- margin: 0 !important;
2161
- padding: 0 !important;
2162
- }
2163
- }
2164
-
2165
- .hover-border {
2166
- border: 2px solid #000; /* Adjust the border style and color as needed */
2167
- }
2168
-
2169
- qti-graphic-gap-match-interaction {
2170
- position: relative;
2171
-
2172
- &.qti-selections-light {
2173
- &:state(--dragzone-active)::part(drags) {
2174
- background-color: var(--qti-light-bg-active);
2175
- border-color: var(--qti-light-border-active);
2176
- }
2177
-
2178
- &:state(--dragzone-enabled)::part(drags) {
2179
- background-color: var(--qti-light-bg-active);
2180
- }
2181
- }
2182
-
2183
- &.qti-selections-dark {
2184
- &:state(--dragzone-active)::part(drags) {
2185
- background-color: var(--qti-dark-bg-active);
2186
- border-color: var(--qti-dark-border-active);
2187
- }
2188
-
2189
- &:state(--dragzone-enabled)::part(drags) {
2190
- background-color: var(--qti-dark-bg-active);
2191
- }
2192
- }
2193
-
2194
- /* General styles for active and enabled states */
2195
- &:state(--dragzone-active)::part(drags) {
2196
- border-color: var(--qti-border-active);
2197
- background-color: var(--qti-bg-active);
2198
- }
2199
-
2200
- &:state(--dragzone-enabled)::part(drags) {
2201
- background-color: var(--qti-bg-active);
2202
- }
2203
-
2204
- & qti-gap-img,
2205
- qti-gap-text {
2206
- display: flex;
2207
- justify-content: center;
2208
- align-items: center;
2209
- cursor: grab;
2210
- }
2211
-
2212
- & qti-associable-hotspot {
2213
- display: flex;
2214
- justify-content: center;
2215
- align-items: center;
2216
- border: 2px solid transparent;
2217
-
2218
- &[enabled] {
2219
-
2220
- /* Light theme override */
2221
- .qti-selections-light {
2222
- background-color: var(--qti-light-bg-active);
2223
- }
2224
-
2225
- /* Dark theme override */
2226
- .qti-selections-dark {
2227
- background-color: var(--qti-dark-bg-active);
2228
- }
2229
- background-color: var(--qti-bg-active)
2230
- }
2231
-
2232
- &[active] {
2233
-
2234
- /* Light theme override */
2235
- .qti-selections-light {
2236
- background-color: var(--qti-light-bg-active);
2237
- border-color: var(--qti-light-border-active);
2238
- }
2239
-
2240
- /* Dark theme override */
2241
- .qti-selections-dark {
2242
- background-color: var(--qti-dark-bg-active);
2243
- border-color: var(--qti-dark-border-active);
2244
- }
2245
- border-color: var(--qti-border-active);
2246
- background-color: var(--qti-bg-active)
2247
- }
2248
-
2249
- &[disabled] {
2250
-
2251
- &:not(:empty) {
2252
- cursor: default !important;
2253
- }
2254
-
2255
- cursor: not-allowed;
2256
-
2257
- background-color: var(--qti-disabled-bg);
2258
-
2259
- color: var(--qti-disabled-color);
2260
-
2261
- border-color: var(--qti-border-color);
2262
-
2263
- outline: 4px solid var(--qti-disabled-bg)
2264
- }
2265
-
2266
- &:empty::after {
2267
- padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */
2268
- content: '\\0000a0'; /* when empty, put a space in it */
2269
- }
2270
-
2271
- &:not(:empty) {
2272
- padding: 0;
2273
- width: auto;
2274
- }
2275
-
2276
- &:not(:empty) > * {
2277
- flex: 1;
2278
- transform: rotate(0); /* rotate-0 */
2279
- box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */
2280
- }
2281
- }
2282
-
2283
- & img {
2284
- margin: 0;
2285
- padding: 0;
2286
- }
2287
- }
2288
-
2289
- qti-text-entry-interaction {
2290
- &::part(input) {
2291
- border-radius: 0;
2292
- cursor: text;
2293
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2294
- background: unset;
2295
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2296
- outline: none;
2297
- }
2298
-
2299
- &:hover {
2300
- background-color: var(--qti-hover-bg);
2301
- }
2302
-
2303
- &:focus-within {
2304
- &::part(input) {
2305
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2306
- border-color: var(--qti-border-active);
2307
- }
2308
- }
2309
- }
2310
-
2311
- qti-extended-text-interaction {
2312
- &::part(textarea) {
2313
- border-radius: 0;
2314
- cursor: text;
2315
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2316
- background: unset;
2317
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2318
- outline: none;
2319
- }
2320
-
2321
- &:hover {
2322
- background-color: var(--qti-hover-bg);
2323
- }
2324
-
2325
- &:focus-within {
2326
- &::part(textarea) {
2327
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2328
- border-color: var(--qti-border-active);
2329
- }
2330
- }
2331
- }
2332
-
2333
- qti-gap-match-interaction {
2334
- &.qti-selections-light {
2335
- &:state(--dragzone-active)::part(drags) {
2336
- background-color: var(--qti-light-bg-active);
2337
- border-color: var(--qti-light-border-active);
2338
- }
2339
-
2340
- &:state(--dragzone-enabled)::part(drags) {
2341
- background-color: var(--qti-light-bg-active);
2342
- }
2343
- }
2344
-
2345
- &.qti-selections-dark {
2346
- &:state(--dragzone-active)::part(drags) {
2347
- background-color: var(--qti-dark-bg-active);
2348
- border-color: var(--qti-dark-border-active);
2349
- }
2350
-
2351
- &:state(--dragzone-enabled)::part(drags) {
2352
- background-color: var(--qti-dark-bg-active);
2353
- }
2354
- }
2355
-
2356
- /* General styles for active and enabled states */
2357
- &:state(--dragzone-active)::part(drags) {
2358
- border-color: var(--qti-border-active);
2359
- background-color: var(--qti-bg-active);
2360
- }
2361
-
2362
- &:state(--dragzone-enabled)::part(drags) {
2363
- background-color: var(--qti-bg-active);
2364
- }
2365
-
2366
- & qti-gap-text {
2367
-
2368
- &[dragging] {
2369
- pointer-events: none;
2370
- rotate: -2deg;
2371
- box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
2372
- 0 4px 8px rgb(0 0 0 / 10%);
2373
- }
2374
-
2375
- &:hover {
2376
- background-color: var(--qti-hover-bg);
2377
- }
2378
-
2379
- &:focus {
2380
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2381
- }
2382
-
2383
- transition: transform 200ms ease-out,
2384
- box-shadow 200ms ease-out,
2385
- rotate 200ms ease-out;
2386
-
2387
- cursor: grab;
2388
-
2389
- background-color: var(--qti-bg);
2390
-
2391
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2392
-
2393
- border-radius: var(--qti-border-radius);
2394
-
2395
- padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
2396
-
2397
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2398
-
2399
- outline: none;
2400
-
2401
- background-image: radial-gradient(
2402
- circle at center,
2403
- rgb(0 0 0 / 10%) 0,
2404
- rgb(0 0 0 / 20%) 2px,
2405
- rgb(255 255 255 / 0%) 2px,
2406
- rgb(255 255 255 / 0%) 100%
2407
- );
2408
-
2409
- background-repeat: repeat-y;
2410
-
2411
- background-position: left center;
2412
-
2413
- background-size: 14px 8px
2414
- }
2415
-
2416
- & qti-gap {
2417
-
2418
- &[disabled] {
2419
-
2420
- &:not(:empty) {
2421
- cursor: default !important;
2422
- }
2423
-
2424
- cursor: not-allowed;
2425
-
2426
- background-color: var(--qti-disabled-bg);
2427
-
2428
- color: var(--qti-disabled-color);
2429
-
2430
- border-color: var(--qti-border-color);
2431
-
2432
- outline: 4px solid var(--qti-disabled-bg)
2433
- }
2434
-
2435
- &[enabled] {
2436
-
2437
- /* Light theme override */
2438
- .qti-selections-light {
2439
- border-color: var(--qti-light-border-active);
2440
- }
2441
-
2442
- /* Dark theme override */
2443
- .qti-selections-dark {
2444
- border-color: var(--qti-dark-border-active);
2445
- }
2446
- background-color: var(--qti-bg-active)
2447
- }
2448
-
2449
- &[active] {
2450
-
2451
- /* Light theme override */
2452
- .qti-selections-light {
2453
- background-color: var(--qti-light-bg-active);
2454
- border-color: var(--qti-light-border-active);
2455
- }
2456
-
2457
- /* Dark theme override */
2458
- .qti-selections-dark {
2459
- background-color: var(--qti-dark-bg-active);
2460
- border-color: var(--qti-dark-border-active);
2461
- }
2462
- border-color: var(--qti-border-active);
2463
- background-color: var(--qti-bg-active)
2464
- }
2465
-
2466
- display: inline-flex;
2467
- align-items: center;
2468
-
2469
- &:empty::after {
2470
- padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */
2471
- content: '\\0000a0'; /* when empty, put a space in it */
2472
- }
2473
-
2474
- &:not(:empty) {
2475
- display: inline-flex;
2476
- padding: 0;
2477
- width: auto;
2478
- }
2479
-
2480
- &:not(:empty) > * {
2481
- flex: 1;
2482
- transform: rotate(0); /* rotate-0 */
2483
- box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */
2484
- }
2485
-
2486
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
2487
- center no-repeat;
2488
-
2489
- border-radius: var(--qti-border-radius);
2490
-
2491
- position: relative;
2492
-
2493
- background-color: var(--qti-bg);
2494
-
2495
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2496
-
2497
- outline: none
2498
- }
2499
- }
2500
-
2501
- qti-hotspot-interaction {
2502
- & qti-hotspot-choice {
2503
- &[shape='circle'] {
2504
-
2505
- &:hover {
2506
- background-color: var(--qti-hover-bg);
2507
- }
2508
-
2509
- &:focus {
2510
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2511
- }
2512
-
2513
- &:state(--checked),
2514
- &[aria-checked='true'] {
2515
- border-color: var(--qti-border-active);
2516
- }
2517
-
2518
- &:state(--readonly),
2519
- &[aria-readonly='true'] {
2520
- cursor: pointer;
2521
- background-color: var(--qti-bg);
2522
- outline: 0;
2523
- border: none;
2524
- }
2525
-
2526
- &:state(--disabled),
2527
- &[aria-disabled='true'] {
2528
- cursor: not-allowed;
2529
- background-color: var(--qti-disabled-bg);
2530
- color: var(--qti-disabled-color);
2531
- border-color: var(--qti-border-color);
2532
- outline: 4px solid var(--qti-disabled-bg);
2533
- }
2534
-
2535
- width: 100%;
2536
-
2537
- height: 100%;
2538
-
2539
- background-color: transparent;
2540
-
2541
- padding: 0;
2542
-
2543
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2544
-
2545
- outline: none
2546
- }
2547
-
2548
- &[shape='rect'] {
2549
-
2550
- /* &:hover {
2551
- @apply hov;
2552
- } */
2553
-
2554
- &:focus {
2555
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2556
- }
2557
-
2558
- &:state(--checked),
2559
- &[aria-checked='true'] {
2560
- border-color: var(--qti-border-active);
2561
- }
2562
-
2563
- &[aria-readonly='true'] {
2564
- cursor: pointer;
2565
- background-color: var(--qti-bg);
2566
- outline: 0;
2567
- border: none;
2568
- }
2569
-
2570
- &[aria-disabled='true'] {
2571
- cursor: not-allowed;
2572
- background-color: var(--qti-disabled-bg);
2573
- color: var(--qti-disabled-color);
2574
- border-color: var(--qti-border-color);
2575
- outline: 4px solid var(--qti-disabled-bg);
2576
- }
2577
-
2578
- width: 100%;
2579
-
2580
- height: 100%;
2581
-
2582
- background-color: transparent;
2583
-
2584
- padding: 0;
2585
-
2586
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2587
-
2588
- outline: none
2589
- }
2590
-
2591
- &[shape='poly'] {
2592
- &:hover::after {
2593
- content: '';
2594
- width: 100%;
2595
- height: 100%;
2596
- background: repeating-linear-gradient(
2597
- 45deg,
2598
- var(--qti-border-active),
2599
- var(--qti-border-active) 5px,
2600
- transparent 5px,
2601
- transparent 10px
2602
- );
2603
- display: block;
2604
- }
2605
-
2606
- &:state(--checked)::after,
2607
- &[aria-checked='true']::after {
2608
- content: '';
2609
- width: 100%;
2610
- height: 100%;
2611
- background: repeating-linear-gradient(
2612
- 45deg,
2613
- transparent,
2614
- transparent 5px,
2615
- var(--qti-border-active) 5px,
2616
- var(--qti-border-active) 10px
2617
- );
2618
- display: block;
2619
- }
2620
-
2621
- &[aria-readonly='true'] {
2622
- cursor: pointer;
2623
- background-color: var(--qti-bg);
2624
- outline: 0;
2625
- border: none;
2626
- }
2627
-
2628
- &[aria-disabled='true'] {
2629
- cursor: not-allowed;
2630
- background-color: var(--qti-disabled-bg);
2631
- color: var(--qti-disabled-color);
2632
- border-color: var(--qti-border-color);
2633
- outline: 4px solid var(--qti-disabled-bg);
2634
- }
2635
- }
2636
- }
2637
- }
2638
-
2639
- qti-hottext-interaction {
2640
- /* &:not(.qti-input-control-hidden),
2641
- &:not(.qti-unselected-hidden) { */
2642
- qti-hottext {
2643
- display: inline-flex;
2644
- align-items: center;
2645
-
2646
- &:hover {
2647
- background-color: var(--qti-hover-bg);
2648
- }
2649
-
2650
- &:focus {
2651
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2652
- }
2653
-
2654
- &::part(cha) {
2655
- width: calc(var(--qti-form-size) - 6px);
2656
- height: calc(var(--qti-form-size) - 6px);
2657
- }
2658
-
2659
- &:state(radio)::part(ch) {
2660
- border-radius: 100%;
2661
- display: grid;
2662
- place-content: center;
2663
- width: var(--qti-form-size);
2664
- height: var(--qti-form-size);
2665
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2666
- outline: none;
2667
- }
2668
-
2669
- &:state(radio):state(--checked)::part(cha) {
2670
- background-color: var(--qti-border-active);
2671
- border-radius: 100%;
2672
- }
2673
-
2674
- &:state(checkbox)::part(ch) {
2675
- display: flex;
2676
- place-items: center;
2677
- border-radius: var(--qti-border-radius);
2678
- display: grid;
2679
- place-content: center;
2680
- width: var(--qti-form-size);
2681
- height: var(--qti-form-size);
2682
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2683
- outline: none;
2684
- }
2685
-
2686
- &:state(checkbox):state(--checked)::part(cha) {
2687
- background-color: var(--qti-border-active);
2688
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2689
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2690
- }
2691
-
2692
- gap: 0.5rem;
2693
-
2694
- border-radius: var(--qti-border-radius);
2695
-
2696
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2697
-
2698
- outline: none;
2699
-
2700
- cursor: pointer
2701
- }
2702
-
2703
- /* } */
2704
-
2705
- &.qti-input-control-hidden {
2706
- qti-hottext {
2707
- /* --qti-padding-md: 0.1rem;
2708
- --qti-padding-lg: 0.2rem;
2709
- --qti-border-radius-md: 0.3rem;
2710
- --qti-border-thickness: 1px;
2711
- --qti-font-weight-semibold: 400; */
2712
-
2713
- &:hover {
2714
- background-color: var(--qti-hover-bg);
2715
- }
2716
-
2717
- &:focus {
2718
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2719
- }
2720
-
2721
- /* @layer qti-variants { */
2722
- &::part(ch) {
2723
- display: none;
2724
- }
2725
-
2726
- &:state(--checked) {
2727
- border-color: var(--qti-border-active);
2728
- background-color: var(--qti-bg-active);
2729
- }
2730
-
2731
- &[aria-readonly='true'] {
2732
- cursor: pointer;
2733
- background-color: var(--qti-bg);
2734
- outline: 0;
2735
- border: none;
2736
- }
2737
-
2738
- &[aria-disabled='true'] {
2739
- cursor: not-allowed;
2740
- background-color: var(--qti-disabled-bg);
2741
- color: var(--qti-disabled-color);
2742
- border-color: var(--qti-border-color);
2743
- outline: 4px solid var(--qti-disabled-bg);
2744
- }
2745
-
2746
- border-radius: var(--qti-border-radius);
2747
-
2748
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2749
-
2750
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2751
-
2752
- outline: none
2753
- }
2754
-
2755
- /* } */
2756
- }
2757
-
2758
- &.qti-unselected-hidden {
2759
- qti-hottext {
2760
- &:hover {
2761
- background-color: var(--qti-hover-bg);
2762
- }
2763
-
2764
- &:focus {
2765
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2766
- }
2767
-
2768
- cursor: pointer;
2769
-
2770
- &::part(ch) {
2771
- display: none;
2772
- }
2773
-
2774
- &:state(--checked) {
2775
- background-color: var(--qti-bg-active);
2776
- }
2777
-
2778
- &[aria-readonly='true'] {
2779
- cursor: pointer;
2780
- background-color: var(--qti-bg);
2781
- outline: 0;
2782
- border: none;
2783
- }
2784
-
2785
- &[aria-disabled='true'] {
2786
- cursor: not-allowed;
2787
- background-color: var(--qti-disabled-bg);
2788
- color: var(--qti-disabled-color);
2789
- border-color: var(--qti-border-color);
2790
- outline: 4px solid var(--qti-disabled-bg);
2791
- }
2792
- }
2793
- }
2794
- }
2795
-
2796
- qti-inline-choice-interaction {
2797
- &::part(select) {
2798
-
2799
- &:hover {
2800
- background-color: var(--qti-hover-bg);
2801
- }
2802
-
2803
- &:focus {
2804
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2805
- }
2806
-
2807
- border-radius: var(--qti-border-radius);
2808
-
2809
- position: relative;
2810
-
2811
- -webkit-appearance: none;
2812
-
2813
- -moz-appearance: none;
2814
-
2815
- appearance: none;
2816
-
2817
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2818
-
2819
- padding-right: calc(var(--qti-padding-horizontal) + 1.5rem);
2820
-
2821
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2822
-
2823
- outline: none;
2824
-
2825
- background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
2826
- no-repeat center right 6px
2827
- }
2828
- }
2829
-
2830
- qti-match-interaction:not(.qti-match-tabular) {
2831
- &:state(--dragzone-enabled) qti-simple-match-set:first-of-type {
2832
- background-color: var(--qti-bg-active);
2833
- }
2834
-
2835
- &:state(--dragzone-active) qti-simple-match-set:first-of-type {
2836
- border-color: var(--qti-border-active);
2837
- background-color: var(--qti-bg-active);
2838
- }
2839
-
2840
- /* The draggables */
2841
- & qti-simple-match-set:first-of-type {
2842
- display: flex;
2843
- flex-wrap: wrap;
2844
- align-items: flex-start; /* Prevents children from stretching */
2845
- gap: var(--qti-gap-size);
2846
- border: 2px solid transparent;
2847
-
2848
- & qti-simple-associable-choice {
2849
-
2850
- &[dragging] {
2851
- pointer-events: none;
2852
- rotate: -2deg;
2853
- box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
2854
- 0 4px 8px rgb(0 0 0 / 10%);
2855
- }
2856
-
2857
- &:hover {
2858
- background-color: var(--qti-hover-bg);
2859
- }
2860
-
2861
- &:focus {
2862
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2863
- }
2864
-
2865
- transition: transform 200ms ease-out,
2866
- box-shadow 200ms ease-out,
2867
- rotate 200ms ease-out;
2868
-
2869
- cursor: grab;
2870
-
2871
- background-color: var(--qti-bg);
2872
-
2873
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2874
-
2875
- border-radius: var(--qti-border-radius);
2876
-
2877
- padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
2878
-
2879
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2880
-
2881
- outline: none;
2882
-
2883
- background-image: radial-gradient(
2884
- circle at center,
2885
- rgb(0 0 0 / 10%) 0,
2886
- rgb(0 0 0 / 20%) 2px,
2887
- rgb(255 255 255 / 0%) 2px,
2888
- rgb(255 255 255 / 0%) 100%
2889
- );
2890
-
2891
- background-repeat: repeat-y;
2892
-
2893
- background-position: left center;
2894
-
2895
- background-size: 14px 8px
2896
- }
2897
- }
2898
-
2899
- /* The droppables */
2900
- & qti-simple-match-set:last-of-type {
2901
- display: grid;
2902
- grid-auto-columns: 1fr; /* auto-cols-fr */
2903
- grid-auto-flow: column; /* grid-flow-col */
2904
- gap: var(--qti-gap-size); /* gap-2 */
2905
- width: 100%; /* w-full */
2906
-
2907
- & qti-simple-associable-choice {
2908
- display: flex;
2909
- flex-direction: column;
2910
- }
2911
-
2912
- & > qti-simple-associable-choice {
2913
- /* a droppable qti-simple-associable-choice */
2914
- box-sizing: border-box;
2915
- display: grid;
2916
- grid-row: 2 / 4;
2917
- grid-template-rows: subgrid;
2918
-
2919
- & img {
2920
- max-width: 100%;
2921
- height: auto;
2922
- }
2923
-
2924
- &[enabled] {
2925
- &::part(dropslot) {
2926
- background-color: var(--qti-bg-active);
2927
- }
2928
- }
2929
-
2930
- &[disabled] {
2931
- &::part(dropslot) {
2932
- cursor: not-allowed;
2933
- background-color: var(--qti-disabled-bg);
2934
- color: var(--qti-disabled-color);
2935
- border-color: var(--qti-border-color);
2936
- outline: 4px solid var(--qti-disabled-bg);
2937
- }
2938
- }
2939
-
2940
- &[active] {
2941
- &::part(dropslot) {
2942
- border-color: var(--qti-border-active);
2943
- background-color: var(--qti-bg-active);
2944
- }
2945
- }
2946
-
2947
- &::part(dropslot) {
2948
-
2949
- &[dragging] {
2950
- pointer-events: none;
2951
- rotate: -2deg;
2952
- box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
2953
- 0 4px 8px rgb(0 0 0 / 10%);
2954
- }
2955
-
2956
- &:focus {
2957
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2958
- }
2959
-
2960
- min-height: 6rem;
2961
- gap: var(--qti-gap-size);
2962
- box-sizing: border-box;
2963
- display: flex;
2964
- justify-content: center;
2965
- align-items: center;
2966
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
2967
- center no-repeat;
2968
- border-radius: var(--qti-border-radius);
2969
- position: relative;
2970
- background-color: var(--qti-bg);
2971
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2972
- outline: none;
2973
- }
2974
-
2975
- & > *:not(qti-simple-associable-choice) {
2976
- pointer-events: none;
2977
- }
2978
-
2979
- & > qti-simple-associable-choice {
2980
-
2981
- &::part(dropslot) {
2982
- display: none;
2983
- }
2984
-
2985
- &:hover {
2986
- background-color: var(--qti-hover-bg);
2987
- }
2988
-
2989
- &:focus {
2990
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2991
- }
2992
-
2993
- flex-basis: fit-content;
2994
-
2995
- transition: transform 200ms ease-out,
2996
- box-shadow 200ms ease-out,
2997
- rotate 200ms ease-out;
2998
-
2999
- cursor: grab;
3000
-
3001
- background-color: var(--qti-bg);
3002
-
3003
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
3004
-
3005
- border-radius: var(--qti-border-radius);
3006
-
3007
- padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
3008
-
3009
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3010
-
3011
- outline: none;
3012
-
3013
- background-image: radial-gradient(
3014
- circle at center,
3015
- rgb(0 0 0 / 10%) 0,
3016
- rgb(0 0 0 / 20%) 2px,
3017
- rgb(255 255 255 / 0%) 2px,
3018
- rgb(255 255 255 / 0%) 100%
3019
- );
3020
-
3021
- background-repeat: repeat-y;
3022
-
3023
- background-position: left center;
3024
-
3025
- background-size: 14px 8px;
3026
- }
3027
- }
3028
- }
3029
- }
3030
-
3031
- qti-order-interaction:state(--dragzone-active)::part(drags) {
3032
- border-color: var(--qti-border-active);
3033
- background-color: var(--qti-bg-active);
3034
- }
3035
-
3036
- qti-order-interaction:state(--dragzone-enabled)::part(drags) {
3037
- background-color: var(--qti-bg-active);
3038
- }
3039
-
3040
- qti-order-interaction {
3041
- &::part(qti-simple-choice),
3042
- & qti-simple-choice {
3043
-
3044
- &[dragging] {
3045
- pointer-events: none;
3046
- rotate: -2deg;
3047
- box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
3048
- 0 4px 8px rgb(0 0 0 / 10%);
3049
- }
3050
-
3051
- &:hover {
3052
- background-color: var(--qti-hover-bg);
3053
- }
3054
-
3055
- &:focus {
3056
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3057
- }
3058
-
3059
- transition: transform 200ms ease-out,
3060
- box-shadow 200ms ease-out,
3061
- rotate 200ms ease-out;
3062
-
3063
- cursor: grab;
3064
-
3065
- background-color: var(--qti-bg);
3066
-
3067
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
3068
-
3069
- border-radius: var(--qti-border-radius);
3070
-
3071
- padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
3072
-
3073
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3074
-
3075
- outline: none;
3076
-
3077
- background-image: radial-gradient(
3078
- circle at center,
3079
- rgb(0 0 0 / 10%) 0,
3080
- rgb(0 0 0 / 20%) 2px,
3081
- rgb(255 255 255 / 0%) 2px,
3082
- rgb(255 255 255 / 0%) 100%
3083
- );
3084
-
3085
- background-repeat: repeat-y;
3086
-
3087
- background-position: left center;
3088
-
3089
- background-size: 14px 8px
3090
- }
3091
-
3092
- &::part(qti-simple-choice) {
3093
- display: flex;
3094
- overflow: hidden;
3095
- align-items: center;
3096
- width: 100%;
3097
- text-overflow: ellipsis;
3098
- }
3099
-
3100
- &::part(drops) {
3101
- gap: 0.5rem; /* gap-2 */
3102
- }
3103
-
3104
- &::part(drags) {
3105
- gap: 0.5rem; /* gap-2 */
3106
- }
3107
-
3108
- &::part(drop-list) {
3109
-
3110
- &[enabled] {
3111
-
3112
- /* Light theme override */
3113
- .qti-selections-light {
3114
- border-color: var(--qti-light-border-active);
3115
- }
3116
-
3117
- /* Dark theme override */
3118
- .qti-selections-dark {
3119
- border-color: var(--qti-dark-border-active);
3120
- }
3121
- background-color: var(--qti-bg-active)
3122
- }
3123
-
3124
- &:hover {
3125
- background-color: var(--qti-hover-bg);
3126
- }
3127
-
3128
- &:focus {
3129
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3130
- }
3131
-
3132
- display: flex;
3133
- min-height: 4rem;
3134
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
3135
- center no-repeat;
3136
- border-radius: var(--qti-border-radius);
3137
- position: relative;
3138
- background-color: var(--qti-bg);
3139
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3140
- outline: none;
3141
- }
3142
-
3143
- &::part(active) {
3144
- border-color: var(--qti-border-active);
3145
- background-color: var(--qti-bg-active);
3146
- }
3147
-
3148
- & drop-list {
3149
- &[shape='circle'] {
3150
-
3151
- &:hover {
3152
- background-color: var(--qti-hover-bg);
3153
- }
3154
-
3155
- &:focus {
3156
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3157
- }
3158
-
3159
- &[aria-checked='true'] {
3160
- border-color: var(--qti-border-active);
3161
- background-color: var(--qti-bg-active);
3162
- }
3163
-
3164
- &[aria-readonly='true'] {
3165
- cursor: pointer;
3166
- background-color: var(--qti-bg);
3167
- outline: 0;
3168
- border: none;
3169
- }
3170
-
3171
- &[aria-disabled='true'] {
3172
- cursor: not-allowed;
3173
- background-color: var(--qti-disabled-bg);
3174
- color: var(--qti-disabled-color);
3175
- border-color: var(--qti-border-color);
3176
- outline: 4px solid var(--qti-disabled-bg);
3177
- }
3178
-
3179
- width: 100%;
3180
-
3181
- height: 100%;
3182
-
3183
- background-color: transparent;
3184
-
3185
- padding: 0;
3186
-
3187
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3188
-
3189
- outline: none
3190
- }
3191
-
3192
- &[shape='square'] {
3193
-
3194
- &:hover {
3195
- background-color: var(--qti-hover-bg);
3196
- }
3197
-
3198
- &:focus {
3199
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3200
- }
3201
-
3202
- &[aria-checked='true'] {
3203
- border-color: var(--qti-border-active);
3204
- background-color: var(--qti-bg-active);
3205
- }
3206
-
3207
- &[aria-readonly='true'] {
3208
- cursor: pointer;
3209
- background-color: var(--qti-bg);
3210
- outline: 0;
3211
- border: none;
3212
- }
3213
-
3214
- &[aria-disabled='true'] {
3215
- cursor: not-allowed;
3216
- background-color: var(--qti-disabled-bg);
3217
- color: var(--qti-disabled-color);
3218
- border-color: var(--qti-border-color);
3219
- outline: 4px solid var(--qti-disabled-bg);
3220
- }
3221
-
3222
- width: 100%;
3223
-
3224
- height: 100%;
3225
-
3226
- background-color: transparent;
3227
-
3228
- padding: 0;
3229
-
3230
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3231
-
3232
- outline: none
3233
- }
3234
- }
3235
- }
3236
-
3237
- qti-associate-interaction {
3238
- /* General styles for active and enabled states */
3239
- &:state(--dragzone-active) slot[name='qti-simple-associable-choice'] {
3240
- border-color: var(--qti-border-active);
3241
- background-color: var(--qti-bg-active);
3242
- }
3243
-
3244
- &:state(--dragzone-enabled) slot[name='qti-simple-associable-choice'] {
3245
- background-color: var(--qti-bg-active);
3246
- }
3247
-
3248
- & qti-simple-associable-choice, /* drags when in lightdom */
3249
- &::part(qti-simple-associable-choice) /* drags when in shadowdom */ {
3250
-
3251
- &:hover {
3252
- background-color: var(--qti-hover-bg);
3253
- }
3254
-
3255
- &:focus {
3256
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3257
- }
3258
-
3259
- &[dragging] {
3260
- pointer-events: none;
3261
- rotate: -2deg;
3262
- box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
3263
- 0 4px 8px rgb(0 0 0 / 10%);
3264
- }
3265
-
3266
- transition: transform 200ms ease-out,
3267
- box-shadow 200ms ease-out,
3268
- rotate 200ms ease-out;
3269
-
3270
- cursor: grab;
3271
-
3272
- background-color: var(--qti-bg);
3273
-
3274
- padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
3275
-
3276
- border-radius: var(--qti-border-radius);
3277
-
3278
- padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
3279
-
3280
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3281
-
3282
- outline: none;
3283
-
3284
- background-image: radial-gradient(
3285
- circle at center,
3286
- rgb(0 0 0 / 10%) 0,
3287
- rgb(0 0 0 / 20%) 2px,
3288
- rgb(255 255 255 / 0%) 2px,
3289
- rgb(255 255 255 / 0%) 100%
3290
- );
3291
-
3292
- background-repeat: repeat-y;
3293
-
3294
- background-position: left center;
3295
-
3296
- background-size: 14px 8px
3297
- }
3298
-
3299
- /* display: flex;
3300
- overflow: hidden;
3301
- align-items: center; */
3302
-
3303
- /* &::part(drop-container) {
3304
- display: flex;
3305
- flex-direction: column;
3306
- gap: var(--qti-gap-size);
3307
- } */
3308
-
3309
- &::part(drop-list) {
3310
-
3311
- display: grid;
3312
- height: 3rem;
3313
- min-width: 10rem;
3314
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
3315
- center no-repeat;
3316
- border-radius: var(--qti-border-radius);
3317
- position: relative;
3318
- background-color: var(--qti-bg);
3319
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3320
- outline: none;
3321
- }
3322
-
3323
- &::part(drop-list):focus {
3324
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3325
- }
3326
-
3327
- &::part(drop-list)[dragging] {
3328
- border-color: var(--qti-border-active);
3329
- background-color: var(--qti-bg-active);
3330
- }
3331
-
3332
- /* &::part(drop-list) {
3333
- @apply act;
3334
- } */
3335
- }
3336
-
3337
- qti-graphic-order-interaction {
3338
- & qti-hotspot-choice {
3339
-
3340
- &:hover {
3341
- background-color: var(--qti-hover-bg);
3342
- }
3343
-
3344
- &:focus {
3345
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3346
- }
3347
-
3348
- &:state(--checked),
3349
- &[aria-checked='true'] {
3350
- border-color: var(--qti-border-active);
3351
- background-color: var(--qti-bg-active);
3352
- }
3353
-
3354
- &[aria-readonly='true'] {
3355
- cursor: pointer;
3356
- background-color: var(--qti-bg);
3357
- outline: 0;
3358
- border: none;
3359
- }
3360
-
3361
- &[aria-disabled='true'] {
3362
- cursor: not-allowed;
3363
- background-color: var(--qti-disabled-bg);
3364
- color: var(--qti-disabled-color);
3365
- border-color: var(--qti-border-color);
3366
- outline: 4px solid var(--qti-disabled-bg);
3367
- }
3368
-
3369
- &[aria-ordervalue] {
3370
- display: grid;
3371
- place-content: center;
3372
- }
3373
-
3374
- &[aria-ordervalue]::after {
3375
- content: attr(aria-ordervalue) !important;
3376
- }
3377
-
3378
- width: 100%;
3379
-
3380
- height: 100%;
3381
-
3382
- background-color: transparent;
3383
-
3384
- padding: 0;
3385
-
3386
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3387
-
3388
- outline: none
3389
- }
3390
-
3391
- &.qti-selections-light {
3392
- &:state(--dragzone-active)::part(drags) {
3393
- background-color: var(--qti-light-bg-active);
3394
- border-color: var(--qti-light-border-active);
3395
- }
3396
-
3397
- &:state(--dragzone-enabled)::part(drags) {
3398
- background-color: var(--qti-light-bg-active);
3399
- }
3400
- }
3401
-
3402
- &.qti-selections-dark {
3403
- &:state(--dragzone-active)::part(drags) {
3404
- background-color: var(--qti-dark-bg-active);
3405
- border-color: var(--qti-dark-border-active);
3406
- }
3407
-
3408
- &:state(--dragzone-enabled)::part(drags) {
3409
- background-color: var(--qti-dark-bg-active);
3410
- }
3411
- }
3412
-
3413
- /* General styles for active and enabled states */
3414
- &:state(--dragzone-active)::part(drags) {
3415
- border-color: var(--qti-border-active);
3416
- background-color: var(--qti-bg-active);
3417
- }
3418
-
3419
- &:state(--dragzone-enabled)::part(drags) {
3420
- background-color: var(--qti-bg-active);
3421
- }
3422
- }
3423
-
3424
- qti-graphic-associate-interaction {
3425
- position: relative;
3426
- display: block;
3427
-
3428
- & qti-associable-hotspot {
3429
- &[shape='circle'] {
3430
-
3431
- &:hover {
3432
- background-color: var(--qti-hover-bg);
3433
- }
3434
-
3435
- &:focus {
3436
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3437
- }
3438
-
3439
- &[aria-checked='true'] {
3440
- border-color: var(--qti-border-active);
3441
- background-color: var(--qti-bg-active);
3442
- }
3443
-
3444
- &[aria-readonly='true'] {
3445
- cursor: pointer;
3446
- background-color: var(--qti-bg);
3447
- outline: 0;
3448
- border: none;
3449
- }
3450
-
3451
- &[aria-disabled='true'] {
3452
- cursor: not-allowed;
3453
- background-color: var(--qti-disabled-bg);
3454
- color: var(--qti-disabled-color);
3455
- border-color: var(--qti-border-color);
3456
- outline: 4px solid var(--qti-disabled-bg);
3457
- }
3458
-
3459
- width: 100%;
3460
-
3461
- height: 100%;
3462
-
3463
- background-color: transparent;
3464
-
3465
- padding: 0;
3466
-
3467
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3468
-
3469
- outline: none
3470
- }
3471
-
3472
- &[shape='square'] {
3473
-
3474
- &:hover {
3475
- background-color: var(--qti-hover-bg);
3476
- }
3477
-
3478
- &:focus {
3479
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3480
- }
3481
-
3482
- &[aria-checked='true'] {
3483
- border-color: var(--qti-border-active);
3484
- background-color: var(--qti-bg-active);
3485
- }
3486
-
3487
- &[aria-readonly='true'] {
3488
- cursor: pointer;
3489
- background-color: var(--qti-bg);
3490
- outline: 0;
3491
- border: none;
3492
- }
3493
-
3494
- &[aria-disabled='true'] {
3495
- cursor: not-allowed;
3496
- background-color: var(--qti-disabled-bg);
3497
- color: var(--qti-disabled-color);
3498
- border-color: var(--qti-border-color);
3499
- outline: 4px solid var(--qti-disabled-bg);
3500
- }
3501
-
3502
- width: 100%;
3503
-
3504
- height: 100%;
3505
-
3506
- background-color: transparent;
3507
-
3508
- padding: 0;
3509
-
3510
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3511
-
3512
- outline: none
3513
- }
3514
- }
3515
-
3516
- &.qti-selections-light {
3517
- &:state(--dragzone-active)::part(drags) {
3518
- background-color: var(--qti-light-bg-active);
3519
- border-color: var(--qti-light-border-active);
3520
- }
3521
-
3522
- &:state(--dragzone-enabled)::part(drags) {
3523
- background-color: var(--qti-light-bg-active);
3524
- }
3525
- }
3526
-
3527
- &.qti-selections-dark {
3528
- &:state(--dragzone-active)::part(drags) {
3529
- background-color: var(--qti-dark-bg-active);
3530
- border-color: var(--qti-dark-border-active);
3531
- }
3532
-
3533
- &:state(--dragzone-enabled)::part(drags) {
3534
- background-color: var(--qti-dark-bg-active);
3535
- }
3536
- }
3537
-
3538
- /* General styles for active and enabled states */
3539
- &:state(--dragzone-active)::part(drags) {
3540
- border-color: var(--qti-border-active);
3541
- background-color: var(--qti-bg-active);
3542
- }
3543
-
3544
- &:state(--dragzone-enabled)::part(drags) {
3545
- background-color: var(--qti-bg-active);
3546
- }
3547
- }
3548
-
3549
- qti-slider-interaction {
3550
- --qti-tick-color: rgb(229 231 235 / 100%);
3551
- --qti-tick-width: 1px;
3552
- }
3553
-
3554
- qti-select-point-interaction {
3555
- &::part(point) {
3556
- &:hover {
3557
- background-color: var(--qti-hover-bg);
3558
- }
3559
-
3560
- &:focus {
3561
- box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3562
- }
3563
-
3564
- border-radius: 100%;
3565
-
3566
- width: var(--qti-point-size);
3567
-
3568
- height: var(--qti-point-size);
3569
-
3570
- background-color: transparent;
3571
-
3572
- padding: 0;
3573
-
3574
- border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3575
-
3576
- outline: none;
3577
- }
3578
- }
3579
-
3580
- qti-position-object-stage {
3581
- & qti-position-object-interaction {
3582
- /* no styles necessary, only layout styles, defined in the component */
3583
- }
3584
- }
3585
-
3586
- qti-prompt {
3587
- margin: 0.5rem 0; /* my-2 */
3588
- display: block;
3589
- width: 100%;
3590
- }
3591
- }
3592
- `;var q=class extends re{constructor(){super(...arguments);this.testURL=null;this.testDoc=null;this.testXML=null;this.templateContent=null}async handleTestURLChange(){if(this.testURL)try{let t=await N().load(this.testURL);this.testDoc=t.htmlDoc()}catch(t){console.error("Error loading or parsing XML:",t)}}handleTestXMLChange(){if(this.testXML)try{this.testDoc=N().parse(this.testXML).htmlDoc()}catch(t){console.error("Error parsing XML:",t)}}async connectedCallback(){super.connectedCallback(),this.initializeTemplateContent(),this.applyStyles(),this.testURL&&this.handleTestURLChange(),this.testXML&&this.handleTestXMLChange()}initializeTemplateContent(){let t=this.querySelector("template");this.templateContent=t?t.content:B``}applyStyles(){let t=new CSSStyleSheet;t.replaceSync(mt),this.shadowRoot.adoptedStyleSheets=[t]}render(){return B`
3593
- ${this.templateContent}
3594
- <slot></slot>
3595
- ${ae(this.testDoc,B`<span>Loading...</span>`)}
3596
- `}};a([oe({type:String,attribute:"test-url"})],q.prototype,"testURL",2),a([gt()],q.prototype,"testDoc",2),a([gt()],q.prototype,"testXML",2),a([f("testURL",{waitUntilFirstUpdate:!0})],q.prototype,"handleTestURLChange",1),a([f("testXML",{waitUntilFirstUpdate:!0})],q.prototype,"handleTestXMLChange",1),q=a([ie("test-container")],q);import{html as ne}from"lit";import{customElement as se,property as ht}from"lit/decorators.js";import{prepareTemplate as de}from"stampino";var A=class extends l{constructor(){super();this.maxDisplayedItems=2;this.skipOnCategory="dep-informational";this._internals.ariaLabel="pagination"}createRenderRoot(){return this}render(){let t=this._testContext.items.reduce((s,p)=>{let y=p.category?.split(" ").includes(this.skipOnCategory)?"i":s.counter++;return s.result.push({...p,newIndex:y}),s},{counter:0,result:[]}).result,e=t.findIndex(s=>s.identifier===this._testContext.navItemId),r=Math.max(0,e-this.maxDisplayedItems),n=Math.min(t.length,e+this.maxDisplayedItems+1),d=t.slice(r,n);return ne`
3597
- ${d.map(s=>{let p=s.variables.find(H=>H.identifier=="SCORE"),c=parseInt(p?.value?.toString()),y=s.variables.find(H=>H.identifier==="completionStatus")?.value,x=s.category!==this.skipOnCategory?"regular":"info",bt=this._testContext.navItemId===s.identifier,ut=this._testContext.view==="scorer"&&x=="regular"&&c!==void 0&&!isNaN(c)&&c>0,qt=this._testContext.view==="scorer"&&x=="regular"&&c!==void 0&&!isNaN(c)&&c<=0,vt=this._testContext.view==="candidate"&&y==="completed"&&s.category!==this.skipOnCategory,ft={...s,type:x,active:bt,correct:ut,incorrect:qt,answered:vt},yt=this.firstElementChild;return de(yt)({item:ft})})}
3598
- `}};a([ht({type:Number,attribute:"max-displayed-items"})],A.prototype,"maxDisplayedItems",2),a([ht({type:String,attribute:"skip-on-category"})],A.prototype,"skipOnCategory",2),A=a([se("test-paging-buttons-stamp")],A);export{h as QtiAssessmentItemRef,b as QtiAssessmentSection,v as QtiAssessmentTest,O as QtiTest,u as QtiTestPart,l as TestComponent,q as TestContainer,z as TestItemLink,S as TestNext,A as TestPagingButtonsStamp,D as TestPrev,m as TestView,g as testContext,U as testElement};