@citolab/qti-components 7.0.3 → 7.0.5

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