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