@citolab/qti-components 8.0.1 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/cdn/index.global.js +1 -1
  2. package/cdn/index.js +103 -103
  3. package/dist/base.d.ts +3 -3
  4. package/dist/base.js +1 -1
  5. package/dist/chunk-4DB4SC5K.js +100 -0
  6. package/dist/chunk-4DB4SC5K.js.map +1 -0
  7. package/dist/{chunk-WVVMNF74.js → chunk-7AVWRQIS.js} +188 -160
  8. package/dist/{chunk-WVVMNF74.js.map → chunk-7AVWRQIS.js.map} +1 -1
  9. package/dist/{chunk-CAO4JRLY.js → chunk-BQFWCZFH.js} +2 -2
  10. package/dist/{chunk-LVBIQDPM.js → chunk-CK7AV2UJ.js} +147 -101
  11. package/dist/chunk-CK7AV2UJ.js.map +1 -0
  12. package/dist/{chunk-7HC5SMCU.js → chunk-G6GFQDVN.js} +1 -96
  13. package/dist/chunk-G6GFQDVN.js.map +1 -0
  14. package/dist/{chunk-RXGDQDOV.js → chunk-HBSWJC3B.js} +478 -392
  15. package/dist/chunk-HBSWJC3B.js.map +1 -0
  16. package/dist/chunk-HQESINXH.js +834 -0
  17. package/dist/chunk-HQESINXH.js.map +1 -0
  18. package/dist/{chunk-XU7HNT4F.js → chunk-J5SQLKNP.js} +145 -119
  19. package/dist/{chunk-XU7HNT4F.js.map → chunk-J5SQLKNP.js.map} +1 -1
  20. package/dist/{chunk-V5G7X53Y.js → chunk-NJQHUUTN.js} +2 -2
  21. package/dist/{chunk-QECOPVPO.js → chunk-RSVRS5AK.js} +59 -58
  22. package/dist/chunk-RSVRS5AK.js.map +1 -0
  23. package/dist/{chunk-F4BNJWYN.js → chunk-TWPXES3S.js} +642 -673
  24. package/dist/chunk-TWPXES3S.js.map +1 -0
  25. package/dist/{chunk-NA2N2WSG.js → chunk-VAE6HBKR.js} +176 -152
  26. package/dist/{chunk-NA2N2WSG.js.map → chunk-VAE6HBKR.js.map} +1 -1
  27. package/dist/{chunk-3AJOQCDU.js → chunk-ZII6M3SN.js} +2 -2
  28. package/dist/{computed.types.d-rKLSPvVG.d.ts → computed.types.d-DpKIYO6e.d.ts} +2 -0
  29. package/dist/corrections.d.ts +12 -29
  30. package/dist/corrections.js +8 -9
  31. package/dist/elements.d.ts +86 -86
  32. package/dist/elements.js +4 -5
  33. package/dist/index.d.ts +6 -37
  34. package/dist/index.js +13 -14
  35. package/dist/{interaction.d-D4MstYRz.d.ts → interaction.d-CJiMv8H7.d.ts} +13 -2
  36. package/dist/interactions.d.ts +11 -1299
  37. package/dist/interactions.js +4 -5
  38. package/dist/item.d.ts +3 -3
  39. package/dist/item.js +5 -5
  40. package/dist/processing.js +2 -2
  41. package/dist/qti-components-jsx.d.ts +759 -739
  42. package/dist/qti-test.d-_YAlhDbt.d.ts +702 -0
  43. package/dist/qti-text-entry-interaction.d-BGdfV9qG.d.ts +1567 -0
  44. package/dist/test.d.ts +11 -678
  45. package/dist/test.js +6 -7
  46. package/package.json +8 -7
  47. package/dist/chunk-64XSIBGO.js +0 -241
  48. package/dist/chunk-64XSIBGO.js.map +0 -1
  49. package/dist/chunk-7HC5SMCU.js.map +0 -1
  50. package/dist/chunk-F4BNJWYN.js.map +0 -1
  51. package/dist/chunk-H3J7LFRO.js +0 -2243
  52. package/dist/chunk-H3J7LFRO.js.map +0 -1
  53. package/dist/chunk-LVBIQDPM.js.map +0 -1
  54. package/dist/chunk-QECOPVPO.js.map +0 -1
  55. package/dist/chunk-RXGDQDOV.js.map +0 -1
  56. package/dist/chunk-X3E5HXG2.js +0 -20
  57. package/dist/chunk-X3E5HXG2.js.map +0 -1
  58. /package/dist/{chunk-CAO4JRLY.js.map → chunk-BQFWCZFH.js.map} +0 -0
  59. /package/dist/{chunk-V5G7X53Y.js.map → chunk-NJQHUUTN.js.map} +0 -0
  60. /package/dist/{chunk-3AJOQCDU.js.map → chunk-ZII6M3SN.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  qtiItemElements
3
- } from "./chunk-QECOPVPO.js";
3
+ } from "./chunk-RSVRS5AK.js";
4
4
 
5
5
  // ../qti-item/dist/register.js
6
6
  for (const { tag, ctor } of qtiItemElements) {
@@ -8,4 +8,4 @@ for (const { tag, ctor } of qtiItemElements) {
8
8
  customElements.define(tag, ctor);
9
9
  }
10
10
  }
11
- //# sourceMappingURL=chunk-3AJOQCDU.js.map
11
+ //# sourceMappingURL=chunk-ZII6M3SN.js.map
@@ -35,6 +35,8 @@ type ComputedContext = {
35
35
  title: string;
36
36
  completed?: boolean;
37
37
  items: ComputedItem[];
38
+ navigationMode: 'linear' | 'nonlinear';
39
+ submissionMode: 'individual' | 'simultaneous';
38
40
  }[];
39
41
  }[];
40
42
  };
@@ -1,40 +1,23 @@
1
- import { I as Interaction } from './interaction.d-D4MstYRz.js';
1
+ import { I as Interaction } from './interaction.d-CJiMv8H7.js';
2
2
  import { R as ResponseValue } from './response.d-_8y4kjGP.js';
3
3
  import * as lit from 'lit';
4
4
  import { LitElement } from 'lit';
5
- import { QtiGapText } from '@qti-components/interactions-core/elements/qti-gap-text';
6
- import { QtiHotspotChoice } from '@qti-components/interactions-core/elements/qti-hotspot-choice';
7
- import { QtiHottext } from '@qti-components/interactions-core/elements/qti-hottext';
8
- import { QtiSimpleAssociableChoice } from '@qti-components/interactions-core/elements/qti-simple-associable-choice';
9
- import { QtiSimpleChoice } from '@qti-components/interactions-core/elements/qti-simple-choice';
10
- import { QtiAssessmentItem } from '@qti-components/elements/elements';
11
- import { QtiItem } from '@qti-components/item/elements';
12
- import { QtiTest, TestCheckItem, TestNavigation } from '@qti-components/test/elements';
13
- import { V as View, C as ComputedContext } from './computed.types.d-rKLSPvVG.js';
14
- import { QtiAssessmentItem as QtiAssessmentItem$1 } from './elements.js';
5
+ import { g as QtiGapText, k as QtiHotspotChoice, m as QtiHottext, v as QtiSimpleAssociableChoice, w as QtiSimpleChoice, a as QtiAssociateInteraction, b as QtiChoiceInteraction, c as QtiExtendedTextInteraction, f as QtiGapMatchInteraction, h as QtiGraphicAssociateInteraction, i as QtiGraphicGapMatchInteraction, j as QtiGraphicOrderInteraction, C as Choice, l as QtiHotspotInteraction, n as QtiHottextInteraction, p as QtiInlineChoiceInteraction, q as QtiMatchInteraction, r as QtiOrderInteraction, s as QtiPortableCustomInteraction, u as QtiSelectPointInteraction, x as QtiSliderInteraction, y as QtiTextEntryInteraction } from './qti-text-entry-interaction.d-BGdfV9qG.js';
6
+ import { QtiAssessmentItem } from './elements.js';
7
+ import { QtiItem } from './item.js';
8
+ import { e as QtiTest, T as TestCheckItem, n as TestNavigation } from './qti-test.d-_YAlhDbt.js';
9
+ import { V as View, C as ComputedContext } from './computed.types.d-DpKIYO6e.js';
15
10
  import { C as ComputedItemContext } from './computed-item.types.d-BKZdSLLJ.js';
16
- import { QtiAssociateInteraction } from '@qti-components/associate-interaction/elements';
17
- import { QtiChoiceInteraction } from '@qti-components/choice-interaction/elements';
18
- import { QtiExtendedTextInteraction } from '@qti-components/extended-text-interaction/elements';
19
- import { QtiGapMatchInteraction } from '@qti-components/gap-match-interaction/elements';
20
- import { QtiGraphicAssociateInteraction } from '@qti-components/graphic-associate-interaction/elements';
21
- import { QtiGraphicGapMatchInteraction } from '@qti-components/graphic-gap-match-interaction/elements';
22
- import { QtiGraphicOrderInteraction } from '@qti-components/graphic-order-interaction/elements';
23
- import { Choice } from '@qti-components/interactions-core/mixins/choices/choices.mixin';
24
- import { QtiHotspotInteraction } from '@qti-components/hotspot-interaction/elements';
25
- import { QtiHottextInteraction } from '@qti-components/hottext-interaction/elements';
26
- import { QtiInlineChoiceInteraction } from '@qti-components/inline-choice-interaction/elements';
27
- import { QtiMatchInteraction } from '@qti-components/match-interaction/elements';
28
- import { QtiOrderInteraction } from '@qti-components/order-interaction/elements';
29
- import { QtiPortableCustomInteraction } from '@qti-components/portable-custom-interaction/elements';
30
- import { QtiSelectPointInteraction } from '@qti-components/select-point-interaction/elements';
31
- import { QtiSliderInteraction } from '@qti-components/slider-interaction/elements';
32
- import { QtiTextEntryInteraction } from '@qti-components/text-entry-interaction/elements';
33
11
  import './config.context.d-BvU9r-Mg.js';
34
12
  import './interaction.interface.d-CvjHM2bi.js';
35
13
  import './item.types.d-QU7LljEK.js';
14
+ import './qti.context.d-CejJMlfZ.js';
15
+ import 'lit/directives/ref.js';
36
16
  import './qti-feedback.d-DZbad0RN.js';
37
17
  import './qti-rule-base.d-ajOnfGXY.js';
18
+ import './qti-transform-test.d-BL7GGFJj.js';
19
+ import '@heximal/templates';
20
+ import './qti-expression.d-BietT_8b.js';
38
21
 
39
22
  type AbstractConstructor$2<T = {}> = abstract new (...args: any[]) => T;
40
23
  declare enum Correctness {
@@ -179,7 +162,7 @@ declare class TestNavigationCorrection extends TestNavigation {
179
162
  }
180
163
  /** Test host extension that shows correct responses in scorer view. */
181
164
  declare class QtiTestCorrection extends QtiTest {
182
- updateAssessmentItemView(assessmentItem: QtiAssessmentItem$1, view: View): void;
165
+ updateAssessmentItemView(assessmentItem: QtiAssessmentItem, view: View): void;
183
166
  }
184
167
  /** Check-item extension that reveals the correct response after scoring. */
185
168
  declare class TestCheckItemCorrection extends TestCheckItem {
@@ -34,16 +34,15 @@ import {
34
34
  TestNavigationCorrection,
35
35
  TestShowCorrectResponse,
36
36
  correctionPart
37
- } from "./chunk-XU7HNT4F.js";
38
- import "./chunk-RXGDQDOV.js";
39
- import "./chunk-WVVMNF74.js";
40
- import "./chunk-F4BNJWYN.js";
41
- import "./chunk-X3E5HXG2.js";
42
- import "./chunk-QECOPVPO.js";
43
- import "./chunk-7HC5SMCU.js";
44
- import "./chunk-64XSIBGO.js";
37
+ } from "./chunk-J5SQLKNP.js";
38
+ import "./chunk-HBSWJC3B.js";
39
+ import "./chunk-7AVWRQIS.js";
40
+ import "./chunk-TWPXES3S.js";
41
+ import "./chunk-RSVRS5AK.js";
42
+ import "./chunk-G6GFQDVN.js";
43
+ import "./chunk-4DB4SC5K.js";
45
44
  import "./chunk-IJD53WY6.js";
46
- import "./chunk-H3J7LFRO.js";
45
+ import "./chunk-HQESINXH.js";
47
46
  export {
48
47
  CandidateCorrectionMixin,
49
48
  ChoiceCorrectionMixin,
@@ -132,6 +132,35 @@ declare global {
132
132
  }
133
133
  }
134
134
 
135
+ declare class QtiContentBody extends LitElement {
136
+ #private;
137
+ protected context?: ItemContext;
138
+ render(): lit.TemplateResult<1>;
139
+ connectedCallback(): void;
140
+ protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
141
+ }
142
+ declare global {
143
+ interface HTMLElementTagNameMap {
144
+ 'qti-content-body': QtiContentBody;
145
+ }
146
+ }
147
+
148
+ /**
149
+ * @summary The qti-context-declaration element declares context variables for an item.
150
+ * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.qti-context-declaration
151
+ */
152
+ declare class QtiContextDeclaration extends LitElement {
153
+ identifier: string;
154
+ cardinality: 'single' | 'multiple' | 'ordered' | 'record';
155
+ static styles: lit.CSSResult[];
156
+ render(): lit.TemplateResult<1>;
157
+ }
158
+ declare global {
159
+ interface HTMLElementTagNameMap {
160
+ 'qti-context-declaration': QtiContextDeclaration;
161
+ }
162
+ }
163
+
135
164
  /**
136
165
  * https://www.imsglobal.org/spec/qti/v3p0/impl#h.fi29q8dubjgw
137
166
  * <qti-custom-operator class="js.org">
@@ -178,20 +207,6 @@ declare global {
178
207
  }
179
208
  }
180
209
 
181
- declare class QtiModalFeedback extends QtiFeedback {
182
- static styles: lit.CSSResult;
183
- render(): lit.TemplateResult<1>;
184
- openFeedback(): void;
185
- closeFeedback(): void;
186
- connectedCallback(): void;
187
- protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
188
- }
189
- declare global {
190
- interface HTMLElementTagNameMap {
191
- 'qti-modal-feedback': QtiModalFeedback;
192
- }
193
- }
194
-
195
210
  /**
196
211
  * @summary The qti-item-body node contains the text, graphics, media objects and interactions that describe the item's content and information about how it is structured.
197
212
  * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.sphpo6lu6zqi
@@ -212,75 +227,50 @@ declare global {
212
227
  }
213
228
  }
214
229
 
215
- declare class QtiContentBody extends LitElement {
216
- #private;
217
- protected context?: ItemContext;
230
+ declare class QtiModalFeedback extends QtiFeedback {
231
+ static styles: lit.CSSResult;
218
232
  render(): lit.TemplateResult<1>;
233
+ openFeedback(): void;
234
+ closeFeedback(): void;
219
235
  connectedCallback(): void;
220
236
  protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
221
237
  }
222
238
  declare global {
223
239
  interface HTMLElementTagNameMap {
224
- 'qti-content-body': QtiContentBody;
225
- }
226
- }
227
-
228
- declare class QtiRubricBlock extends LitElement {
229
- id: string;
230
- use: 'instructions' | 'scoring' | 'navigation';
231
- view: 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor';
232
- classNames: string;
233
- handleclassNamesChange(): void;
234
- static styles: lit.CSSResult;
235
- render(): lit.TemplateResult<1>;
236
- }
237
- declare global {
238
- interface HTMLElementTagNameMap {
239
- 'qti-rubric-block': QtiRubricBlock;
240
- }
241
- }
242
-
243
- declare class QtiStylesheet extends LitElement {
244
- #private;
245
- protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
246
- disconnectedCallback(): void;
247
- }
248
- declare global {
249
- interface HTMLElementTagNameMap {
250
- 'qti-stylesheet': QtiStylesheet;
240
+ 'qti-modal-feedback': QtiModalFeedback;
251
241
  }
252
242
  }
253
243
 
254
- declare class QtiResponseDeclaration extends QtiVariableDeclaration {
255
- #private;
244
+ declare class QtiOutcomeDeclaration extends QtiVariableDeclaration {
256
245
  baseType: BaseType;
246
+ externalScored: 'human' | 'externalMachine' | null;
257
247
  identifier: string;
258
248
  cardinality: Cardinality;
259
249
  itemContext?: ItemContext;
260
250
  static styles: lit.CSSResult[];
261
251
  render(): lit.TemplateResult<1>;
252
+ get interpolationTable(): Map<number, number> | null;
262
253
  connectedCallback(): void;
263
254
  }
264
255
  declare global {
265
256
  interface HTMLElementTagNameMap {
266
- 'qti-response-declaration': QtiResponseDeclaration;
257
+ 'qti-outcome-declaration': QtiOutcomeDeclaration;
267
258
  }
268
259
  }
269
260
 
270
- declare class QtiOutcomeDeclaration extends QtiVariableDeclaration {
261
+ declare class QtiResponseDeclaration extends QtiVariableDeclaration {
262
+ #private;
271
263
  baseType: BaseType;
272
- externalScored: 'human' | 'externalMachine' | null;
273
264
  identifier: string;
274
265
  cardinality: Cardinality;
275
266
  itemContext?: ItemContext;
276
267
  static styles: lit.CSSResult[];
277
268
  render(): lit.TemplateResult<1>;
278
- get interpolationTable(): Map<number, number> | null;
279
269
  connectedCallback(): void;
280
270
  }
281
271
  declare global {
282
272
  interface HTMLElementTagNameMap {
283
- 'qti-outcome-declaration': QtiOutcomeDeclaration;
273
+ 'qti-response-declaration': QtiResponseDeclaration;
284
274
  }
285
275
  }
286
276
 
@@ -297,48 +287,29 @@ declare global {
297
287
  }
298
288
  }
299
289
 
300
- /**
301
- * @summary The qti-template-declaration element declares template variables for item cloning.
302
- * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.template-declaration
303
- */
304
- declare class QtiTemplateDeclaration extends LitElement {
305
- #private;
306
- identifier: string;
307
- cardinality: 'single' | 'multiple' | 'ordered' | 'record';
308
- baseType: BaseType;
309
- mathVariable: boolean;
310
- paramVariable: boolean;
311
- static styles: lit.CSSResult[];
290
+ declare class QtiRubricBlock extends LitElement {
291
+ id: string;
292
+ use: 'instructions' | 'scoring' | 'navigation';
293
+ view: 'author' | 'candidate' | 'proctor' | 'scorer' | 'testConstructor' | 'tutor';
294
+ classNames: string;
295
+ handleclassNamesChange(): void;
296
+ static styles: lit.CSSResult;
312
297
  render(): lit.TemplateResult<1>;
313
- connectedCallback(): void;
314
- /**
315
- * Get the template variable definition
316
- */
317
- getTemplateVariable(): TemplateVariable;
318
298
  }
319
299
  declare global {
320
300
  interface HTMLElementTagNameMap {
321
- 'qti-template-declaration': QtiTemplateDeclaration;
301
+ 'qti-rubric-block': QtiRubricBlock;
322
302
  }
323
303
  }
324
304
 
325
- /**
326
- * @summary The qti-template-processing element contains template processing rules.
327
- * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.template-processing
328
- */
329
- declare class QtiTemplateProcessing extends LitElement {
305
+ declare class QtiStylesheet extends LitElement {
330
306
  #private;
331
- static styles: lit.CSSResult[];
332
- render(): lit.TemplateResult<1>;
333
- /**
334
- * Process template rules to set template variable values
335
- */
336
- process(): void;
337
- firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
307
+ protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
308
+ disconnectedCallback(): void;
338
309
  }
339
310
  declare global {
340
311
  interface HTMLElementTagNameMap {
341
- 'qti-template-processing': QtiTemplateProcessing;
312
+ 'qti-stylesheet': QtiStylesheet;
342
313
  }
343
314
  }
344
315
 
@@ -375,18 +346,47 @@ declare global {
375
346
  }
376
347
 
377
348
  /**
378
- * @summary The qti-context-declaration element declares context variables for an item.
379
- * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.qti-context-declaration
349
+ * @summary The qti-template-declaration element declares template variables for item cloning.
350
+ * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.template-declaration
380
351
  */
381
- declare class QtiContextDeclaration extends LitElement {
352
+ declare class QtiTemplateDeclaration extends LitElement {
353
+ #private;
382
354
  identifier: string;
383
355
  cardinality: 'single' | 'multiple' | 'ordered' | 'record';
356
+ baseType: BaseType;
357
+ mathVariable: boolean;
358
+ paramVariable: boolean;
384
359
  static styles: lit.CSSResult[];
385
360
  render(): lit.TemplateResult<1>;
361
+ connectedCallback(): void;
362
+ /**
363
+ * Get the template variable definition
364
+ */
365
+ getTemplateVariable(): TemplateVariable;
386
366
  }
387
367
  declare global {
388
368
  interface HTMLElementTagNameMap {
389
- 'qti-context-declaration': QtiContextDeclaration;
369
+ 'qti-template-declaration': QtiTemplateDeclaration;
370
+ }
371
+ }
372
+
373
+ /**
374
+ * @summary The qti-template-processing element contains template processing rules.
375
+ * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.template-processing
376
+ */
377
+ declare class QtiTemplateProcessing extends LitElement {
378
+ #private;
379
+ static styles: lit.CSSResult[];
380
+ render(): lit.TemplateResult<1>;
381
+ /**
382
+ * Process template rules to set template variable values
383
+ */
384
+ process(): void;
385
+ firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
386
+ }
387
+ declare global {
388
+ interface HTMLElementTagNameMap {
389
+ 'qti-template-processing': QtiTemplateProcessing;
390
390
  }
391
391
  }
392
392
 
package/dist/elements.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-V5G7X53Y.js";
1
+ import "./chunk-NJQHUUTN.js";
2
2
  import {
3
3
  QtiAssessmentItem,
4
4
  QtiAssessmentStimulusRef,
@@ -19,11 +19,10 @@ import {
19
19
  QtiTemplateConstraint,
20
20
  QtiTemplateDeclaration,
21
21
  QtiTemplateProcessing
22
- } from "./chunk-WVVMNF74.js";
23
- import "./chunk-X3E5HXG2.js";
24
- import "./chunk-64XSIBGO.js";
22
+ } from "./chunk-7AVWRQIS.js";
23
+ import "./chunk-4DB4SC5K.js";
25
24
  import "./chunk-IJD53WY6.js";
26
- import "./chunk-H3J7LFRO.js";
25
+ import "./chunk-HQESINXH.js";
27
26
  export {
28
27
  QtiAssessmentItem,
29
28
  QtiAssessmentStimulusRef,
package/dist/index.d.ts CHANGED
@@ -1,25 +1,17 @@
1
- export { IMyQtiTest, IQtiTest, ITestNavigationMixin, ITestProcessingMixin, QtiAssessmentItemRef, QtiAssessmentSection, QtiAssessmentTest, QtiOutcomeProcessing, QtiOutcomeProcessingProcessor, QtiTest, QtiTestFeedback, QtiTestPart, QtiTestVariables, QtiTestVariablesExpression, SpeechState, TestCheckItem, TestContainer, TestEndAttempt, TestItemLink, TestItemToSpeech, TestNavigation, TestNext, TestPagingButtonsStamp, TestPrev, TestPrintContext, TestPrintVariables, TestScoringButtons, TestScoringFeedback, TestSectionButtonsStamp, TestSectionLink, TestStamp, TestTtsNext, TestTtsPause, TestTtsPlay, TestTtsPrev, TestTtsResume, TestTtsStop, TestView, TestViewToggle, TtsContext, ttsContext } from './test.js';
1
+ export { I as ITestNavigationMixin, Q as QtiAssessmentItemRef, a as QtiAssessmentSection, b as QtiAssessmentTest, c as QtiOutcomeProcessing, d as QtiOutcomeProcessingProcessor, e as QtiTest, f as QtiTestFeedback, g as QtiTestPart, h as QtiTestVariables, i as QtiTestVariablesExpression, S as SpeechState, T as TestCheckItem, j as TestContainer, k as TestEndAttempt, l as TestItemLink, m as TestItemToSpeech, n as TestNavigation, o as TestNext, p as TestPagingButtonsStamp, q as TestPrev, r as TestPrintContext, s as TestPrintVariables, t as TestScoringButtons, u as TestScoringFeedback, v as TestSectionButtonsStamp, w as TestSectionLink, x as TestStamp, y as TestTtsNext, z as TestTtsPause, A as TestTtsPlay, B as TestTtsPrev, C as TestTtsResume, D as TestTtsStop, E as TestView, F as TestViewToggle, G as TtsContext, H as ttsContext } from './qti-test.d-_YAlhDbt.js';
2
+ export { IMyQtiTest, IQtiTest, ITestProcessingMixin } from './test.js';
2
3
  export { ItemContainer, ItemPrintVariables, QtiItem } from './item.js';
3
4
  export { QtiAssessmentItem, QtiAssessmentStimulusRef, QtiAssessmentStimulusRefConnectedEvent, QtiCompanionMaterialsInfo, QtiContentBody, QtiContextDeclaration, QtiCustomOperator, QtiFeedbackBlock, QtiFeedbackInline, QtiItemBody, QtiModalFeedback, QtiOutcomeDeclaration, QtiResponseDeclaration, QtiResponseProcessing, QtiRubricBlock, QtiStylesheet, QtiTemplateConstraint, QtiTemplateDeclaration, QtiTemplateProcessing } from './elements.js';
4
- export { Orientation, QtiAssociateInteraction, QtiChoiceInteraction, QtiCustomInteraction, QtiEndAttemptInteraction, QtiExtendedTextInteraction, QtiGapMatchInteraction, QtiGraphicAssociateInteraction, QtiGraphicGapMatchInteraction, QtiGraphicOrderInteraction, QtiHotspotInteraction, QtiHottextInteraction, QtiInlineChoiceInteraction, QtiMatchInteraction, QtiMediaInteraction, QtiOrderInteraction, QtiPortableCustomInteraction, QtiPositionObjectInteraction, QtiPositionObjectStage, QtiSelectPointInteraction, QtiSliderInteraction, QtiTextEntryInteraction, QtiUploadInteraction, qtiInteractionElements } from './interactions.js';
5
- export * from '@qti-components/interactions-core/elements/qti-gap-img';
6
- export * from '@qti-components/interactions-core/elements/qti-gap-text';
7
- export * from '@qti-components/interactions-core/elements/qti-gap';
8
- export * from '@qti-components/interactions-core/elements/qti-inline-choice';
9
- export * from '@qti-components/interactions-core/elements/qti-hottext';
10
- export * from '@qti-components/interactions-core/elements/qti-simple-associable-choice';
11
- export * from '@qti-components/interactions-core/elements/qti-simple-choice';
12
- export * from '@qti-components/interactions-core/elements/qti-hotspot-choice';
13
- export * from '@qti-components/interactions-core/elements/qti-associable-hotspot';
14
- export * from '@qti-components/interactions-core/elements/qti-prompt';
5
+ export { QtiCustomInteraction, QtiEndAttemptInteraction, QtiMediaInteraction, QtiPositionObjectInteraction, QtiPositionObjectStage, QtiUploadInteraction, qtiInteractionElements } from './interactions.js';
6
+ export { O as Orientation, Q as QtiAssociableHotspot, a as QtiAssociateInteraction, b as QtiChoiceInteraction, c as QtiExtendedTextInteraction, d as QtiGap, e as QtiGapImg, f as QtiGapMatchInteraction, g as QtiGapText, h as QtiGraphicAssociateInteraction, i as QtiGraphicGapMatchInteraction, j as QtiGraphicOrderInteraction, k as QtiHotspotChoice, l as QtiHotspotInteraction, m as QtiHottext, n as QtiHottextInteraction, o as QtiInlineChoice, p as QtiInlineChoiceInteraction, q as QtiMatchInteraction, r as QtiOrderInteraction, s as QtiPortableCustomInteraction, t as QtiPrompt, u as QtiSelectPointInteraction, v as QtiSimpleAssociableChoice, w as QtiSimpleChoice, x as QtiSliderInteraction, y as QtiTextEntryInteraction } from './qti-text-entry-interaction.d-BGdfV9qG.js';
15
7
  export { M as ModuleResolutionConfig, q as qtiTransformItem, a as qtiTransformTest, t as transformItemApi, b as transformTestApi } from './qti-transform-test.d-BL7GGFJj.js';
16
8
  export { qtiTransformManifest } from './transformers.js';
17
9
  export { ManifestInfo, getItemByUri, getManifestInfo } from './loader.js';
18
10
  export { IsNullOrUndefined, ScoringHelper, boxSizing, computedContext, computedItemContext, convertNumberToUniversalFormat, decimalSeparator, dropRegion, itemContext, removeDoubleSlashes, validationMessage } from './base.js';
19
11
  export { C as ComputedItemContext } from './computed-item.types.d-BKZdSLLJ.js';
20
- export { C as ComputedContext, a as ComputedItem, I as INITIAL_SESSION_CONTEXT, S as SessionContext, V as View, s as sessionContext } from './computed.types.d-rKLSPvVG.js';
12
+ export { C as ComputedContext, a as ComputedItem, I as INITIAL_SESSION_CONTEXT, S as SessionContext, V as View, s as sessionContext } from './computed.types.d-DpKIYO6e.js';
21
13
  export { C as ConfigContext, V as ValidationDisplayMode, c as configContext } from './config.context.d-BvU9r-Mg.js';
22
- export { C as ChoiceRole, I as Interaction, a as InteractionContext, i as interactionContext } from './interaction.d-D4MstYRz.js';
14
+ export { C as ChoiceRole, I as Interaction, a as InteractionContext, i as interactionContext } from './interaction.d-CJiMv8H7.js';
23
15
  export { B as BaseType, C as Calculate, a as Cardinality, I as ItemContext, M as Multiple, O as Ordered, b as OutcomeVariable, Q as QtiAreaMapEntry, c as QtiAreaMapping, d as QtiMapEntry, e as QtiMapping, R as ResponseInteraction, f as ResponseVariable, T as TemplateVariable, V as VariableDeclaration, g as VariableValue, h as areaShape, i as directedPair, j as float, k as integer, l as itemContextVariables } from './item.types.d-QU7LljEK.js';
24
16
  export { Q as QtiContext, a as QtiContextType, S as Seed, b as asSeed, i as isSeed, q as qtiContext } from './qti.context.d-CejJMlfZ.js';
25
17
  export { I as INITIAL_TEST_CONTEXT, Q as QtiExpression, a as QtiExpressionBase, T as TestContext, t as testContext } from './qti-expression.d-BietT_8b.js';
@@ -32,27 +24,4 @@ export { QtiAnd, QtiAnyN, QtiBaseValue, QtiContainerSize, QtiContains, QtiCorrec
32
24
  export { CandidateCorrectionMixin, ChoiceCorrectionMixin, CorrectResponseInterface, CorrectResponseMixin, CorrectResponseMode, CorrectionConfig, Correctness, ItemCorrectResponseMode, ItemShowCandidateCorrection, ItemShowCorrectResponse, QtiAssessmentItemCorrection, QtiAssociateInteractionCorrection, QtiChoiceInteractionCorrection, QtiExtendedTextInteractionCorrection, QtiGapMatchInteractionCorrection, QtiGapTextCorrection, QtiGraphicAssociateInteractionCorrection, QtiGraphicGapMatchInteractionCorrection, QtiGraphicOrderInteractionCorrection, QtiHotspotChoiceCorrection, QtiHotspotInteractionCorrection, QtiHottextCorrection, QtiHottextInteractionCorrection, QtiInlineChoiceInteractionCorrection, QtiItemCorrection, QtiMatchInteractionCorrection, QtiOrderInteractionCorrection, QtiPortableCustomInteractionCorrection, QtiSelectPointInteractionCorrection, QtiSimpleAssociableChoiceCorrection, QtiSimpleChoiceCorrection, QtiSliderInteractionCorrection, QtiTestCorrection, QtiTextEntryInteractionCorrection, TestCheckItemCorrection, TestNavigationCorrection, TestShowCorrectResponse, correctionPart } from './corrections.js';
33
25
  import 'lit';
34
26
  import '@heximal/templates';
35
- import '@qti-components/elements/elements';
36
27
  import 'lit/directives/ref.js';
37
- import '@qti-components/portable-custom-interaction/qti-portable-custom-test-interaction.js';
38
- import '@qti-components/interactions-core/mixins/drag-drop-observables';
39
- import '@qti-components/interactions-core/mixins/menu-auto-size';
40
- import '@qti-components/interactions-core/mixins/choices/choices.mixin';
41
- import '@qti-components/item/elements';
42
- import '@qti-components/test/elements';
43
- import '@qti-components/associate-interaction/elements';
44
- import '@qti-components/choice-interaction/elements';
45
- import '@qti-components/extended-text-interaction/elements';
46
- import '@qti-components/gap-match-interaction/elements';
47
- import '@qti-components/graphic-associate-interaction/elements';
48
- import '@qti-components/graphic-gap-match-interaction/elements';
49
- import '@qti-components/graphic-order-interaction/elements';
50
- import '@qti-components/hotspot-interaction/elements';
51
- import '@qti-components/hottext-interaction/elements';
52
- import '@qti-components/inline-choice-interaction/elements';
53
- import '@qti-components/match-interaction/elements';
54
- import '@qti-components/order-interaction/elements';
55
- import '@qti-components/portable-custom-interaction/elements';
56
- import '@qti-components/select-point-interaction/elements';
57
- import '@qti-components/slider-interaction/elements';
58
- import '@qti-components/text-entry-interaction/elements';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-CAO4JRLY.js";
1
+ import "./chunk-BQFWCZFH.js";
2
2
  import {
3
3
  CandidateCorrectionMixin,
4
4
  ChoiceCorrectionMixin,
@@ -35,7 +35,7 @@ import {
35
35
  TestNavigationCorrection,
36
36
  TestShowCorrectResponse,
37
37
  correctionPart
38
- } from "./chunk-XU7HNT4F.js";
38
+ } from "./chunk-J5SQLKNP.js";
39
39
  import {
40
40
  QtiAssessmentItemRef,
41
41
  QtiAssessmentSection,
@@ -72,8 +72,8 @@ import {
72
72
  TestView,
73
73
  TestViewToggle,
74
74
  ttsContext
75
- } from "./chunk-RXGDQDOV.js";
76
- import "./chunk-V5G7X53Y.js";
75
+ } from "./chunk-HBSWJC3B.js";
76
+ import "./chunk-NJQHUUTN.js";
77
77
  import {
78
78
  QtiAssessmentItem,
79
79
  QtiAssessmentStimulusRef,
@@ -94,7 +94,7 @@ import {
94
94
  QtiTemplateConstraint,
95
95
  QtiTemplateDeclaration,
96
96
  QtiTemplateProcessing
97
- } from "./chunk-WVVMNF74.js";
97
+ } from "./chunk-7AVWRQIS.js";
98
98
  import {
99
99
  QtiAssociableHotspot,
100
100
  QtiCustomInteraction,
@@ -108,7 +108,7 @@ import {
108
108
  QtiPrompt,
109
109
  QtiUploadInteraction,
110
110
  qtiInteractionElements
111
- } from "./chunk-LVBIQDPM.js";
111
+ } from "./chunk-CK7AV2UJ.js";
112
112
  import {
113
113
  QtiAssociateInteraction,
114
114
  QtiChoiceInteraction,
@@ -131,16 +131,15 @@ import {
131
131
  QtiSimpleChoice,
132
132
  QtiSliderInteraction,
133
133
  QtiTextEntryInteraction
134
- } from "./chunk-F4BNJWYN.js";
135
- import "./chunk-X3E5HXG2.js";
136
- import "./chunk-3AJOQCDU.js";
134
+ } from "./chunk-TWPXES3S.js";
135
+ import "./chunk-ZII6M3SN.js";
137
136
  import {
138
137
  ItemContainer,
139
138
  ItemPrintVariables,
140
139
  QtiItem
141
- } from "./chunk-QECOPVPO.js";
142
- import "./chunk-7HC5SMCU.js";
143
- import "./chunk-64XSIBGO.js";
140
+ } from "./chunk-RSVRS5AK.js";
141
+ import "./chunk-G6GFQDVN.js";
142
+ import "./chunk-4DB4SC5K.js";
144
143
  import {
145
144
  getItemByUri,
146
145
  getManifestInfo
@@ -219,7 +218,7 @@ import {
219
218
  QtiVariable,
220
219
  qtiAndMixin,
221
220
  qtiSubtractMixin
222
- } from "./chunk-NA2N2WSG.js";
221
+ } from "./chunk-VAE6HBKR.js";
223
222
  import {
224
223
  INITIAL_SESSION_CONTEXT,
225
224
  INITIAL_TEST_CONTEXT,
@@ -256,7 +255,7 @@ import {
256
255
  sessionContext,
257
256
  testContext,
258
257
  validationMessage
259
- } from "./chunk-H3J7LFRO.js";
258
+ } from "./chunk-HQESINXH.js";
260
259
  export {
261
260
  CandidateCorrectionMixin,
262
261
  ChoiceCorrectionMixin,
@@ -108,8 +108,19 @@ declare abstract class Interaction extends LitElement implements ValidatableInte
108
108
  connectedCallback(): void;
109
109
  saveResponse(value: string | string[], state?: string | null): void;
110
110
  constructor();
111
- /** Optional lifecycle bridge for interaction subclasses that do not need changed-property data. */
112
- protected firstUpdated(_changedProperties?: PropertyValues<this>): void;
111
+ /**
112
+ * Optional lifecycle bridge for interaction subclasses that do not need changed-property data.
113
+ *
114
+ * The parameter is `PropertyValues`, matching LitElement, and NOT `PropertyValues<this>`.
115
+ * The polymorphic `this` narrowed the parameter per subclass, which made every interaction
116
+ * class structurally incompatible with `LitElement` — so `Constructor<LitElement>`, the
117
+ * standard constraint for a Lit mixin, rejected all of them and consumers could not wrap an
118
+ * interaction in a mixin without casting. `this` buys nothing in a parameter position and
119
+ * costs contravariant compatibility with the base class.
120
+ *
121
+ * Still optional, so subclasses that ignore the argument can override with `firstUpdated()`.
122
+ */
123
+ protected firstUpdated(_changedProperties?: PropertyValues): void;
113
124
  }
114
125
 
115
126
  export { type ChoiceRole as C, Interaction as I, type InteractionContext as a, interactionContext as i };