@citolab/qti-components 7.1.0 → 7.1.2

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