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