@citolab/qti-components 7.0.11 → 7.0.12

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