@citolab/qti-components 6.9.1-beta.9 → 7.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.
@@ -0,0 +1,2174 @@
1
+ /**
2
+ * This type can be used to create scoped tags for your components.
3
+ *
4
+ * Usage:
5
+ *
6
+ * ```ts
7
+ * import type { ScopedElements } from "path/to/library/jsx-integration";
8
+ *
9
+ * declare module "my-library" {
10
+ * namespace JSX {
11
+ * interface IntrinsicElements
12
+ * extends ScopedElements<'test-', ''> {}
13
+ * }
14
+ * }
15
+ * ```
16
+ *
17
+ */
18
+ export type ScopedElements<Prefix extends string = "", Suffix extends string = ""> = {
19
+ [Key in keyof CustomElements as `${Prefix}${Key}${Suffix}`]: CustomElements[Key];
20
+ };
21
+
22
+ type BaseProps = {
23
+ /** Content added between the opening and closing tags of the element */
24
+ children?: any;
25
+ /** Used for declaratively styling one or more elements using CSS (Cascading Stylesheets) */
26
+ class?: string;
27
+ /** Used for declaratively styling one or more elements using CSS (Cascading Stylesheets) */
28
+ className?: string;
29
+ /** Takes an object where the key is the class name(s) and the value is a boolean expression. When true, the class is applied, and when false, it is removed. */
30
+ classList?: Record<string, boolean | undefined>;
31
+ /** Specifies the text direction of the element. */
32
+ dir?: "ltr" | "rtl";
33
+ /** Contains a space-separated list of the part names of the element that should be exposed on the host element. */
34
+ exportparts?: string;
35
+ /** For <label> and <output>, lets you associate the label with some control. */
36
+ htmlFor?: string;
37
+ /** Specifies whether the element should be hidden. */
38
+ hidden?: boolean | string;
39
+ /** A unique identifier for the element. */
40
+ id?: string;
41
+ /** Keys tell React which array item each component corresponds to */
42
+ key?: string | number;
43
+ /** Specifies the language of the element. */
44
+ lang?: string;
45
+ /** Contains a space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element. */
46
+ part?: string;
47
+ /** Use the ref attribute with a variable to assign a DOM element to the variable once the element is rendered. */
48
+ ref?: unknown | ((e: unknown) => void);
49
+ /** Adds a reference for a custom element slot */
50
+ slot?: string;
51
+ /** Prop for setting inline styles */
52
+ style?: Record<string, string | number>;
53
+ /** Overrides the default Tab button behavior. Avoid using values other than -1 and 0. */
54
+ tabIndex?: number;
55
+ /** Specifies the tooltip text for the element. */
56
+ title?: string;
57
+ /** Passing 'no' excludes the element content from being translated. */
58
+ translate?: "yes" | "no";
59
+ };
60
+
61
+ type BaseEvents = {};
62
+
63
+ export type QtiMappingProps = {
64
+ /** */
65
+ "default-value"?: number;
66
+ /** */
67
+ "lower-bound"?: number;
68
+ /** */
69
+ "upper-bound"?: number;
70
+ /** */
71
+ mapEntries?: string;
72
+ };
73
+
74
+ export type QtiRuleProps = {};
75
+
76
+ export type QtiResponseProcessingProps = {};
77
+
78
+ export type QtiMultipleProps = {
79
+ /** */
80
+ getVariables?: string;
81
+ };
82
+
83
+ export type QtiLookupOutcomeValueProps = {
84
+ /** */
85
+ identifier?: string;
86
+ /** */
87
+ childExpression?: QtiExpression<string>;
88
+ /** */
89
+ "onqti-set-outcome-value"?: (e: CustomEvent<CustomEvent>) => void;
90
+ };
91
+
92
+ export type QtiResponseConditionProps = {};
93
+
94
+ export type QtiSetOutcomeValueProps = {
95
+ /** */
96
+ "onqti-set-outcome-value"?: (e: CustomEvent<CustomEvent>) => void;
97
+ };
98
+
99
+ export type QtiResponseElseProps = {};
100
+
101
+ export type QtiResponseIfProps = {};
102
+
103
+ export type QtiResponseElseIfProps = {};
104
+
105
+ export type QtiAndProps = {};
106
+
107
+ export type QtiBaseValueProps = {
108
+ /** */
109
+ "base-type"?: BaseType;
110
+ /** */
111
+ getVariables?: string;
112
+ };
113
+
114
+ export type QtiContainsProps = {
115
+ /** */
116
+ getVariables?: string;
117
+ };
118
+
119
+ export type QtiCorrectProps = {
120
+ /** */
121
+ interpretation?: string;
122
+ /** */
123
+ getVariables?: string;
124
+ };
125
+
126
+ export type QtiEqualRoundedProps = {
127
+ /** */
128
+ roundingMode?: "decimalPlaces" | "significantFigures";
129
+ /** */
130
+ figures?: string;
131
+ /** */
132
+ getVariables?: string;
133
+ };
134
+
135
+ export type QtiEqualProps = {
136
+ /** */
137
+ toleranceMode?: "exact" | "relative" | "absolute";
138
+ /** */
139
+ getVariables?: string;
140
+ };
141
+
142
+ export type QtiGtProps = {
143
+ /** */
144
+ getVariables?: string;
145
+ };
146
+
147
+ export type QtiGteProps = {
148
+ /** */
149
+ getVariables?: string;
150
+ };
151
+
152
+ export type QtiIsNullProps = {
153
+ /** */
154
+ getVariables?: string;
155
+ };
156
+
157
+ export type QtiLtProps = {
158
+ /** */
159
+ getVariables?: string;
160
+ };
161
+
162
+ export type QtiLteProps = {
163
+ /** */
164
+ getVariables?: string;
165
+ };
166
+
167
+ export type QtiMapResponseProps = {
168
+ /** */
169
+ identifier?: string;
170
+ /** */
171
+ getVariables?: string;
172
+ };
173
+
174
+ export type QtiMatchProps = {
175
+ /** */
176
+ getVariables?: string;
177
+ };
178
+
179
+ export type QtiMemberProps = {
180
+ /** */
181
+ getVariables?: string;
182
+ };
183
+
184
+ export type QtiNotProps = {
185
+ /** */
186
+ getVariables?: string;
187
+ };
188
+
189
+ export type QtiOrProps = {
190
+ /** */
191
+ getVariables?: string;
192
+ };
193
+
194
+ export type QtiOrderedProps = {
195
+ /** */
196
+ getVariables?: string;
197
+ };
198
+
199
+ export type QtiPrintedVariableProps = {
200
+ /** */
201
+ identifier?: string;
202
+ };
203
+
204
+ export type QtiProductProps = {
205
+ /** */
206
+ getVariables?: string;
207
+ };
208
+
209
+ export type QtiSubtractProps = {};
210
+
211
+ export type QtiStringMatchProps = {
212
+ /** */
213
+ "case-sensitive"?: string;
214
+ /** */
215
+ getVariables?: string;
216
+ };
217
+
218
+ export type QtiSumProps = {
219
+ /** */
220
+ getVariables?: string;
221
+ };
222
+
223
+ export type QtiVariableProps = {
224
+ /** */
225
+ getVariables?: string;
226
+ };
227
+
228
+ export type QtiAssessmentItemProps = {
229
+ /** */
230
+ title?: string;
231
+ /** */
232
+ identifier?: string;
233
+ /** */
234
+ adaptive?: "true" | "false";
235
+ /** */
236
+ timeDependent?: "true" | "false" | null;
237
+ /** */
238
+ disabled?: boolean;
239
+ /** */
240
+ readonly?: boolean;
241
+ /** */
242
+ _handleDisabledChange?: string;
243
+ /** */
244
+ _handleReadonlyChange?: string;
245
+ /** */
246
+ variables?: VariableValue<string | string[] | null>[];
247
+ /** @deprecated use variables property instead */
248
+ responses?: string;
249
+ /** */
250
+ onname?: (e: CustomEvent<CustomEvent>) => void;
251
+ /** Emitted when an interaction is changed. */
252
+ "onqti-interaction-changed"?: (e: CustomEvent<never>) => void;
253
+ /** Emitted when an outcome has changed. */
254
+ "onqti-outcome-changed"?: (e: CustomEvent<never>) => void;
255
+ /** Emitted when response-processing is called. */
256
+ "onqti-response-processing"?: (e: CustomEvent<never>) => void;
257
+ };
258
+
259
+ export type QtiAssessmentStimulusRefProps = {
260
+ /** The identifier of the stimulus. */
261
+ identifier?: string;
262
+ /** The href of the stimulus. */
263
+ href?: string;
264
+ };
265
+
266
+ export type QtiItemBodyProps = {};
267
+
268
+ export type QtiPromptProps = {};
269
+
270
+ export type QtiStylesheetProps = {};
271
+
272
+ export type QtiVariableDeclarationProps = {};
273
+
274
+ export type QtiOutcomeDeclarationProps = {
275
+ /** */
276
+ "base-type"?: BaseType;
277
+ /** */
278
+ "external-scored"?: "human" | "externalMachine" | null;
279
+ /** */
280
+ identifier?: string;
281
+ /** */
282
+ cardinality?: Cardinality;
283
+ /** */
284
+ itemContext?: ItemContext | undefined;
285
+ /** */
286
+ interpolationTable?: Map<number, number> | null;
287
+ /** */
288
+ "onqti-register-variable"?: (e: CustomEvent<CustomEvent>) => void;
289
+ };
290
+
291
+ export type QtiResponseDeclarationProps = {
292
+ /** */
293
+ "base-type"?: BaseType;
294
+ /** */
295
+ identifier?: string;
296
+ /** */
297
+ cardinality?: Cardinality;
298
+ /** */
299
+ itemContext?: ItemContext | undefined;
300
+ /** */
301
+ "onqti-register-variable"?: (e: CustomEvent<CustomEvent>) => void;
302
+ };
303
+
304
+ export type QtiCompanionMaterialsInfoProps = {};
305
+
306
+ export type QtiContentBodyProps = {};
307
+
308
+ export type QtiRubricBlockProps = {
309
+ /** */
310
+ id?: string;
311
+ /** */
312
+ use?: "instructions" | "scoring" | "navigation";
313
+ /** */
314
+ view?: "author" | "candidate" | "proctor" | "scorer" | "testConstructor" | "tutor";
315
+ /** */
316
+ class?: string;
317
+ };
318
+
319
+ export type QtiFeedbackBlockProps = {
320
+ /** */
321
+ "show-hide"?: string;
322
+ /** */
323
+ "outcome-identifier"?: string;
324
+ /** */
325
+ identifier?: string;
326
+ /** */
327
+ showStatus?: string;
328
+ /** */
329
+ "onqti-register-feedback"?: (e: CustomEvent<CustomEvent>) => void;
330
+ };
331
+
332
+ export type QtiFeedbackInlineProps = {
333
+ /** */
334
+ "show-hide"?: string;
335
+ /** */
336
+ "outcome-identifier"?: string;
337
+ /** */
338
+ identifier?: string;
339
+ /** */
340
+ showStatus?: string;
341
+ /** */
342
+ "onqti-register-feedback"?: (e: CustomEvent<CustomEvent>) => void;
343
+ };
344
+
345
+ export type QtiModalFeedbackProps = {
346
+ /** */
347
+ "show-hide"?: string;
348
+ /** */
349
+ "outcome-identifier"?: string;
350
+ /** */
351
+ identifier?: string;
352
+ /** */
353
+ showStatus?: string;
354
+ /** */
355
+ "onqti-register-feedback"?: (e: CustomEvent<CustomEvent>) => void;
356
+ };
357
+
358
+ export type QtiExtendedTextInteractionProps = {
359
+ /** expected length is mapped to the property maxlength on the textarea */
360
+ "expected-length"?: number;
361
+ /** */
362
+ "pattern-mask"?: string;
363
+ /** text appearing in the extended-text-nteraction if it is empty */
364
+ "placeholder-text"?: string;
365
+ /** */
366
+ "data-patternmask-message"?: string;
367
+ /** */
368
+ class?: string;
369
+ /** */
370
+ "response-identifier"?: string;
371
+ /** */
372
+ disabled?: boolean;
373
+ /** */
374
+ readonly?: boolean;
375
+ /** */
376
+ value?: string | string[];
377
+ /** */
378
+ correctResponse?: string | string[];
379
+ /** */
380
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
381
+ /** */
382
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
383
+ };
384
+
385
+ export type QtiTextEntryInteractionProps = {
386
+ /** */
387
+ "expected-length"?: number;
388
+ /** */
389
+ "pattern-mask"?: string;
390
+ /** */
391
+ "placeholder-text"?: string;
392
+ /** */
393
+ "data-patternmask-message"?: string;
394
+ /** */
395
+ "response-identifier"?: string;
396
+ /** */
397
+ disabled?: boolean;
398
+ /** */
399
+ readonly?: boolean;
400
+ /** */
401
+ inputRef?: string;
402
+ /** */
403
+ value?: string | string[];
404
+ /** */
405
+ correctResponse?: string | string[];
406
+ /** */
407
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
408
+ /** */
409
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
410
+ };
411
+
412
+ export type QtiHottextInteractionProps = {
413
+ /** */
414
+ "min-choices"?: number;
415
+ /** */
416
+ "max-choices"?: number;
417
+ /** */
418
+ "response-identifier"?: string;
419
+ /** */
420
+ disabled?: boolean;
421
+ /** */
422
+ readonly?: boolean;
423
+ /** */
424
+ value?: string | string[];
425
+ /** */
426
+ correctResponse?: string | string[];
427
+ /** */
428
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
429
+ /** */
430
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
431
+ };
432
+
433
+ export type QtiInlineChoiceInteractionProps = {
434
+ /** */
435
+ "data-prompt"?: string;
436
+ /** */
437
+ "response-identifier"?: string;
438
+ /** */
439
+ disabled?: boolean;
440
+ /** */
441
+ readonly?: boolean;
442
+ /** */
443
+ options?: OptionType[];
444
+ /** */
445
+ correctOption?: string;
446
+ /** */
447
+ value?: string | string[];
448
+ /** */
449
+ correctResponse?: string | string[];
450
+ /** */
451
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
452
+ /** */
453
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
454
+ };
455
+
456
+ export type QtiSimpleChoiceProps = {
457
+ /** */
458
+ identifier?: string;
459
+ /** */
460
+ tabindex?: number;
461
+ /** */
462
+ "aria-disabled"?: boolean;
463
+ /** */
464
+ "aria-readonly"?: boolean;
465
+ /** */
466
+ marker?: string;
467
+ /** */
468
+ checked?: string;
469
+ /** */
470
+ internals?: ElementInternals;
471
+ /** */
472
+ onundefined?: (e: CustomEvent<CustomEvent>) => void;
473
+ };
474
+
475
+ export type QtiChoiceInteractionProps = {
476
+ /** @deprecated , use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead */
477
+ orientation?: Orientation;
478
+ /** */
479
+ class?: string;
480
+ /** <span style="color:blue">some *blue* text</span>. Does not work in storybook */
481
+ shuffle?: "true" | "false";
482
+ /** */
483
+ "min-choices"?: number;
484
+ /** */
485
+ "max-choices"?: number;
486
+ /** */
487
+ "response-identifier"?: string;
488
+ /** */
489
+ disabled?: boolean;
490
+ /** */
491
+ readonly?: boolean;
492
+ /** */
493
+ role?: string;
494
+ /** */
495
+ value?: string | string[];
496
+ /** */
497
+ correctResponse?: string | string[];
498
+ /** */
499
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
500
+ /** */
501
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
502
+ };
503
+
504
+ export type QtiOutcomeProcessingProps = {};
505
+
506
+ export type QtiPortableCustomInteractionProps = {
507
+ /** */
508
+ module?: string;
509
+ /** */
510
+ "custom-interaction-type-identifier"?: string;
511
+ /** */
512
+ "response-identifier"?: string;
513
+ /** */
514
+ disabled?: boolean;
515
+ /** */
516
+ readonly?: boolean;
517
+ /** */
518
+ value?: string | string[];
519
+ /** */
520
+ loadConfig?: string;
521
+ /** */
522
+ getResolvablePathString?: string;
523
+ /** */
524
+ getResolvablePath?: string;
525
+ /** */
526
+ correctResponse?: string | string[];
527
+ /** */
528
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
529
+ /** */
530
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
531
+ };
532
+
533
+ export type QtiSimpleAssociableChoiceProps = {
534
+ /** the minimal number of selections a candidate must make */
535
+ "match-min"?: number;
536
+ /** the maximum number of selections a candidate must make, the other options will be disabled when max options is checked */
537
+ "match-max"?: number;
538
+ /** */
539
+ fixed?: boolean;
540
+ /** */
541
+ identifier?: string;
542
+ /** */
543
+ tabindex?: number;
544
+ /** */
545
+ "aria-disabled"?: boolean;
546
+ /** */
547
+ "aria-readonly"?: boolean;
548
+ /** */
549
+ internals?: ElementInternals;
550
+ /** */
551
+ onundefined?: (e: CustomEvent<CustomEvent>) => void;
552
+ };
553
+
554
+ export type QtiAssociateInteractionProps = {
555
+ /** */
556
+ "min-associations"?: number;
557
+ /** */
558
+ "max-associations"?: number;
559
+ /** */
560
+ disabled?: boolean;
561
+ /** */
562
+ "response-identifier"?: string;
563
+ /** */
564
+ readonly?: boolean;
565
+ /** */
566
+ dragDropApi?: TouchDragAndDrop;
567
+ /** */
568
+ configuration?: InteractionConfiguration;
569
+ /** */
570
+ value?: string | string[];
571
+ /** */
572
+ correctResponse?: string | string[];
573
+ /** */
574
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
575
+ /** */
576
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
577
+ };
578
+
579
+ export type QtiCustomInteractionProps = {
580
+ /** */
581
+ data?: string;
582
+ /** */
583
+ "data-base-item"?: string;
584
+ /** */
585
+ "data-base-ref"?: string;
586
+ /** */
587
+ id?: string;
588
+ /** */
589
+ "response-identifier"?: string;
590
+ /** */
591
+ disabled?: boolean;
592
+ /** */
593
+ readonly?: boolean;
594
+ /** */
595
+ manifest?: {
596
+ script: string[];
597
+ style: string[];
598
+ media: string[];
599
+ };
600
+ /** */
601
+ value?: string | string[];
602
+ /** */
603
+ correctResponse?: string | string[];
604
+ /** */
605
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
606
+ /** */
607
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
608
+ };
609
+
610
+ export type QtiEndAttemptInteractionProps = {
611
+ /** */
612
+ "count-attempt"?: string;
613
+ /** */
614
+ title?: "end attempt";
615
+ /** */
616
+ "response-identifier"?: string;
617
+ /** */
618
+ disabled?: boolean;
619
+ /** */
620
+ readonly?: boolean;
621
+ /** */
622
+ value?: string | string[];
623
+ /** */
624
+ correctResponse?: string | string[];
625
+ /** */
626
+ "onend-attempt"?: (e: CustomEvent<CustomEvent>) => void;
627
+ /** */
628
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
629
+ /** */
630
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
631
+ };
632
+
633
+ export type QtiGapMatchInteractionProps = {
634
+ /** */
635
+ "min-associations"?: number;
636
+ /** */
637
+ "max-associations"?: number;
638
+ /** */
639
+ disabled?: boolean;
640
+ /** */
641
+ "response-identifier"?: string;
642
+ /** */
643
+ readonly?: boolean;
644
+ /** */
645
+ correctResponse?: string | string[];
646
+ /** */
647
+ dragDropApi?: TouchDragAndDrop;
648
+ /** */
649
+ configuration?: InteractionConfiguration;
650
+ /** */
651
+ value?: string | string[];
652
+ /** */
653
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
654
+ /** */
655
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
656
+ };
657
+
658
+ export type QtiHotspotChoiceProps = {
659
+ /** */
660
+ "aria-ordervalue"?: number;
661
+ /** */
662
+ identifier?: string;
663
+ /** */
664
+ tabindex?: number;
665
+ /** */
666
+ "aria-disabled"?: boolean;
667
+ /** */
668
+ "aria-readonly"?: boolean;
669
+ /** */
670
+ internals?: ElementInternals;
671
+ /** */
672
+ onundefined?: (e: CustomEvent<CustomEvent>) => void;
673
+ };
674
+
675
+ export type QtiGraphicAssociateInteractionProps = {
676
+ /** */
677
+ "response-identifier"?: string;
678
+ /** */
679
+ disabled?: boolean;
680
+ /** */
681
+ readonly?: boolean;
682
+ /** */
683
+ choiceOrdering?: boolean;
684
+ /** */
685
+ hotspots?: string;
686
+ /** */
687
+ startPoint?: null;
688
+ /** */
689
+ endPoint?: null;
690
+ /** */
691
+ _lines?: array;
692
+ /** */
693
+ startCoord?: { x: any; y: any };
694
+ /** */
695
+ mouseCoord?: { x: number; y: number };
696
+ /** */
697
+ svgContainer?: string;
698
+ /** */
699
+ grImage?: string;
700
+ /** */
701
+ svg?: SVGSVGElement;
702
+ /** */
703
+ value?: string | string[];
704
+ /** */
705
+ correctResponse?: string | string[];
706
+ /** */
707
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
708
+ /** */
709
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
710
+ };
711
+
712
+ export type QtiGraphicGapMatchInteractionProps = {
713
+ /** */
714
+ "min-associations"?: number;
715
+ /** */
716
+ "max-associations"?: number;
717
+ /** */
718
+ disabled?: boolean;
719
+ /** */
720
+ "response-identifier"?: string;
721
+ /** */
722
+ readonly?: boolean;
723
+ /** */
724
+ dragDropApi?: TouchDragAndDrop;
725
+ /** */
726
+ configuration?: InteractionConfiguration;
727
+ /** */
728
+ value?: string | string[];
729
+ /** */
730
+ correctResponse?: string | string[];
731
+ /** */
732
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
733
+ /** */
734
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
735
+ };
736
+
737
+ export type QtiGraphicOrderInteractionProps = {
738
+ /** */
739
+ "min-choices"?: number;
740
+ /** */
741
+ "max-choices"?: number;
742
+ /** */
743
+ "response-identifier"?: string;
744
+ /** */
745
+ disabled?: boolean;
746
+ /** */
747
+ readonly?: boolean;
748
+ /** */
749
+ choiceOrdering?: boolean;
750
+ /** */
751
+ value?: string | string[];
752
+ /** */
753
+ correctResponse?: string | string[];
754
+ /** */
755
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
756
+ /** */
757
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
758
+ };
759
+
760
+ export type QtiHotspotInteractionProps = {
761
+ /** */
762
+ "min-choices"?: number;
763
+ /** */
764
+ "max-choices"?: number;
765
+ /** */
766
+ "response-identifier"?: string;
767
+ /** */
768
+ disabled?: boolean;
769
+ /** */
770
+ readonly?: boolean;
771
+ /** */
772
+ value?: string | string[];
773
+ /** */
774
+ correctResponse?: string | string[];
775
+ /** */
776
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
777
+ /** */
778
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
779
+ };
780
+
781
+ export type QtiMatchInteractionProps = {
782
+ /** */
783
+ "response-identifier"?: string;
784
+ /** */
785
+ "min-associations"?: number;
786
+ /** */
787
+ "max-associations"?: number;
788
+ /** */
789
+ disabled?: boolean;
790
+ /** */
791
+ readonly?: boolean;
792
+ /** */
793
+ rows?: QtiSimpleAssociableChoice[];
794
+ /** */
795
+ cols?: QtiSimpleAssociableChoice[];
796
+ /** */
797
+ lastCheckedRadio?: HTMLInputElement | null;
798
+ /** */
799
+ _response?: string | string[];
800
+ /** */
801
+ value?: string | string[];
802
+ /** */
803
+ correctOptions?: string[];
804
+ /** */
805
+ handleRadioClick?: string;
806
+ /** */
807
+ handleRadioChange?: string;
808
+ /** */
809
+ correctResponse?: string | string[];
810
+ /** */
811
+ dragDropApi?: TouchDragAndDrop;
812
+ /** */
813
+ configuration?: InteractionConfiguration;
814
+ /** */
815
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
816
+ /** */
817
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
818
+ };
819
+
820
+ export type QtiMediaInteractionProps = {
821
+ /** */
822
+ "response-identifier"?: string;
823
+ /** */
824
+ disabled?: boolean;
825
+ /** */
826
+ readonly?: boolean;
827
+ /** */
828
+ value?: string | string[];
829
+ /** */
830
+ correctResponse?: string | string[];
831
+ /** */
832
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
833
+ /** */
834
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
835
+ };
836
+
837
+ export type QtiOrderInteractionProps = {
838
+ /** orientation of choices */
839
+ orientation?: "horizontal" | "vertical";
840
+ /** <span style="color:blue">some *blue* text</span>. Does not work in storybook */
841
+ shuffle?: "true" | "false";
842
+ /** */
843
+ "min-associations"?: number;
844
+ /** */
845
+ "max-associations"?: number;
846
+ /** */
847
+ disabled?: boolean;
848
+ /** */
849
+ "response-identifier"?: string;
850
+ /** */
851
+ readonly?: boolean;
852
+ /** */
853
+ childrenMap?: Element[];
854
+ /** */
855
+ nrChoices?: number;
856
+ /** */
857
+ correctResponses?: string[];
858
+ /** */
859
+ showCorrectResponses?: boolean;
860
+ /** */
861
+ correctResponse?: string | string[];
862
+ /** */
863
+ dragDropApi?: TouchDragAndDrop;
864
+ /** */
865
+ configuration?: InteractionConfiguration;
866
+ /** */
867
+ value?: string | string[];
868
+ /** */
869
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
870
+ /** */
871
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
872
+ };
873
+
874
+ export type QtiPositionObjectInteractionProps = {};
875
+
876
+ export type QtiPositionObjectStageProps = {
877
+ /** */
878
+ choiceOrdering?: boolean;
879
+ /** */
880
+ startX?: any;
881
+ /** */
882
+ startY?: any;
883
+ /** */
884
+ dragElement?: any;
885
+ };
886
+
887
+ export type QtiSelectPointInteractionProps = {
888
+ /** */
889
+ "max-choices"?: number;
890
+ /** */
891
+ "min-choices"?: number;
892
+ /** */
893
+ "response-identifier"?: string;
894
+ /** */
895
+ disabled?: boolean;
896
+ /** */
897
+ readonly?: boolean;
898
+ /** */
899
+ value?: string | string[];
900
+ /** */
901
+ correctResponse?: string | string[];
902
+ /** */
903
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
904
+ /** */
905
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
906
+ };
907
+
908
+ export type QtiSliderInteractionProps = {
909
+ /** */
910
+ "step-label"?: boolean;
911
+ /** */
912
+ reverse?: boolean;
913
+ /** */
914
+ "lower-bound"?: number;
915
+ /** */
916
+ "upper-bound"?: number;
917
+ /** */
918
+ step?: number;
919
+ /** */
920
+ "response-identifier"?: string;
921
+ /** */
922
+ disabled?: boolean;
923
+ /** */
924
+ readonly?: boolean;
925
+ /** */
926
+ csLive?: CSSStyleDeclaration;
927
+ /** */
928
+ _handleDisabledChange?: string;
929
+ /** */
930
+ _handleReadonlyChange?: string;
931
+ /** */
932
+ value?: string | string[];
933
+ /** */
934
+ response?: string;
935
+ /** */
936
+ correctResponse?: string | string[];
937
+ /** emitted when the interaction wants to register itself */
938
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
939
+ /** emitted when the interaction changes */
940
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
941
+ };
942
+
943
+ export type QtiCustomOperatorProps = {
944
+ /** */
945
+ "onqti-set-outcome-value"?: (e: CustomEvent<CustomEvent>) => void;
946
+ /** */
947
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
948
+ };
949
+
950
+ export type QtiAssociableHotspotProps = {
951
+ /** */
952
+ "onqti-register-hotspot"?: (e: CustomEvent<CustomEvent>) => void;
953
+ };
954
+
955
+ export type QtiGapProps = {
956
+ /** */
957
+ tabindex?: number | undefined;
958
+ };
959
+
960
+ export type QtiGapImgProps = {
961
+ /** */
962
+ tabindex?: number | undefined;
963
+ };
964
+
965
+ export type QtiGapTextProps = {
966
+ /** */
967
+ tabindex?: number;
968
+ /** */
969
+ identifier?: string;
970
+ /** */
971
+ "aria-disabled"?: boolean;
972
+ /** */
973
+ "aria-readonly"?: boolean;
974
+ /** */
975
+ internals?: ElementInternals;
976
+ /** */
977
+ onundefined?: (e: CustomEvent<CustomEvent>) => void;
978
+ };
979
+
980
+ export type QtiHottextProps = {
981
+ /** */
982
+ identifier?: string;
983
+ /** */
984
+ tabindex?: number;
985
+ /** */
986
+ "aria-disabled"?: boolean;
987
+ /** */
988
+ "aria-readonly"?: boolean;
989
+ /** */
990
+ internals?: ElementInternals;
991
+ /** */
992
+ onundefined?: (e: CustomEvent<CustomEvent>) => void;
993
+ };
994
+
995
+ export type QtiInlineChoiceProps = {
996
+ /** */
997
+ identifier?: string;
998
+
999
+ /** */
1000
+ "onqti-inline-choice-register"?: (e: CustomEvent<CustomEvent>) => void;
1001
+ /** */
1002
+ "onqti-inline-choice-select"?: (e: CustomEvent<CustomEvent>) => void;
1003
+ };
1004
+
1005
+ export type TestElementProps = {
1006
+ /** */
1007
+ class?: string;
1008
+ /** <span style="color:blue">some *blue* text</span>. Does not work in storybook */
1009
+ shuffle?: "true" | "false";
1010
+ /** */
1011
+ "response-identifier"?: string;
1012
+ /** */
1013
+ disabled?: boolean;
1014
+ /** */
1015
+ readonly?: boolean;
1016
+ /** */
1017
+ value?: string | string[];
1018
+ /** */
1019
+ correctResponse?: string | string[];
1020
+ /** */
1021
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
1022
+ /** */
1023
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
1024
+ };
1025
+
1026
+ export type TestElementProps = {
1027
+ /** */
1028
+ class?: string;
1029
+ /** <span style="color:blue">some *blue* text</span>. Does not work in storybook */
1030
+ shuffle?: "true" | "false";
1031
+ /** */
1032
+ "response-identifier"?: string;
1033
+ /** */
1034
+ disabled?: boolean;
1035
+ /** */
1036
+ readonly?: boolean;
1037
+ /** */
1038
+ value?: string | string[];
1039
+ /** */
1040
+ correctResponse?: string | string[];
1041
+ /** */
1042
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
1043
+ /** */
1044
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
1045
+ };
1046
+
1047
+ export type TestElementProps = {
1048
+ /** */
1049
+ class?: string;
1050
+ /** <span style="color:blue">some *blue* text</span>. Does not work in storybook */
1051
+ shuffle?: "true" | "false";
1052
+ /** */
1053
+ "response-identifier"?: string;
1054
+ /** */
1055
+ disabled?: boolean;
1056
+ /** */
1057
+ readonly?: boolean;
1058
+ /** */
1059
+ value?: string | string[];
1060
+ /** */
1061
+ correctResponse?: string | string[];
1062
+ /** */
1063
+ "onqti-register-interaction"?: (e: CustomEvent<CustomEvent>) => void;
1064
+ /** */
1065
+ "onqti-interaction-response"?: (e: CustomEvent<CustomEvent>) => void;
1066
+ };
1067
+
1068
+ export type QtiAssessmentItemRefProps = {
1069
+ /** */
1070
+ category?: string | undefined;
1071
+ /** */
1072
+ identifier?: string | undefined;
1073
+ /** */
1074
+ required?: boolean | undefined;
1075
+ /** */
1076
+ fixed?: boolean | undefined;
1077
+ /** */
1078
+ href?: string | undefined;
1079
+ /** */
1080
+ _testContext?: TestContext | undefined;
1081
+ /** */
1082
+ weigths?: Map<string, number>;
1083
+ /** */
1084
+ xmlDoc?: DocumentFragment;
1085
+ /** */
1086
+ assessmentItem?: QtiAssessmentItem | null;
1087
+ /** */
1088
+ "onqti-assessment-item-ref-connected"?: (e: CustomEvent<CustomEvent>) => void;
1089
+ };
1090
+
1091
+ export type QtiAssessmentSectionProps = {
1092
+ /** */
1093
+ identifier?: string;
1094
+ /** */
1095
+ required?: string;
1096
+ /** */
1097
+ fixed?: boolean;
1098
+ /** */
1099
+ title?: string;
1100
+ /** */
1101
+ visible?: boolean;
1102
+ /** */
1103
+ "keep-together"?: boolean;
1104
+ /** */
1105
+ _testContext?: TestContext | undefined;
1106
+ /** */
1107
+ "onqti-assessment-section-connected"?: (e: CustomEvent<Event>) => void;
1108
+ };
1109
+
1110
+ export type QtiAssessmentTestProps = {
1111
+ /** */
1112
+ identifier?: string;
1113
+ /** */
1114
+ title?: string;
1115
+ /** */
1116
+ _testContext?: TestContext | undefined;
1117
+ /** */
1118
+ "onqti-assessment-test-connected"?: (e: CustomEvent<CustomEvent>) => void;
1119
+ };
1120
+
1121
+ export type QtiTestPartProps = {
1122
+ /** */
1123
+ identifier?: string;
1124
+ /** */
1125
+ title?: string;
1126
+ /** */
1127
+ class?: string;
1128
+ /** */
1129
+ "navigation-mode"?: "linear" | "nonlinear";
1130
+ /** */
1131
+ "submission-mode"?: "individual" | "simultaneous";
1132
+
1133
+ /** */
1134
+ "onqti-test-part-connected"?: (e: CustomEvent<Event>) => void;
1135
+ };
1136
+
1137
+ export type QtiTestProps = {
1138
+ /** the relative location to the QTI assessment.xml file */
1139
+ testURL?: string;
1140
+ /** */
1141
+ context?: TestContext;
1142
+ };
1143
+
1144
+ export type TestNextProps = {
1145
+ /** */
1146
+ role?: string;
1147
+ /** */
1148
+ ariaLabel?: string;
1149
+ /** */
1150
+ disabled?: boolean;
1151
+ /** */
1152
+ _testContext?: TestContext | undefined;
1153
+ /** */
1154
+ _testElement?: TestElement | undefined;
1155
+ /** */
1156
+ "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1157
+ /** */
1158
+ "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1159
+ };
1160
+
1161
+ export type TestPrevProps = {
1162
+ /** */
1163
+ role?: string;
1164
+ /** */
1165
+ ariaLabel?: string;
1166
+ /** */
1167
+ disabled?: boolean;
1168
+ /** */
1169
+ _testContext?: TestContext | undefined;
1170
+ /** */
1171
+ _testElement?: TestElement | undefined;
1172
+ /** */
1173
+ "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1174
+ /** */
1175
+ "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1176
+ };
1177
+
1178
+ export type TestViewProps = {
1179
+ /** */
1180
+ label?: string;
1181
+ /** */
1182
+ "view-options"?: string;
1183
+ /** */
1184
+ _handleViewOptionsChange?: string;
1185
+ /** */
1186
+ disabled?: boolean;
1187
+ /** */
1188
+ _testContext?: TestContext | undefined;
1189
+ /** */
1190
+ _testElement?: TestElement | undefined;
1191
+ /** */
1192
+ "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1193
+ /** */
1194
+ "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1195
+ };
1196
+
1197
+ export type TestItemLinkProps = {
1198
+ /** */
1199
+ "item-id"?: string;
1200
+ /** */
1201
+ disabled?: boolean;
1202
+ /** */
1203
+ _testContext?: TestContext | undefined;
1204
+ /** */
1205
+ _testElement?: TestElement | undefined;
1206
+ /** */
1207
+ "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1208
+ /** */
1209
+ "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1210
+ };
1211
+
1212
+ export type TestContainerProps = {
1213
+ /** */
1214
+ "test-url"?: string;
1215
+ };
1216
+
1217
+ export type TestPagingButtonsStampProps = {
1218
+ /** */
1219
+ "max-displayed-items"?: number;
1220
+ /** */
1221
+ "skip-on-category"?: string;
1222
+ /** */
1223
+ ariaLabel?: string;
1224
+ /** */
1225
+ disabled?: boolean;
1226
+ /** */
1227
+ _testContext?: TestContext | undefined;
1228
+ /** */
1229
+ _testElement?: TestElement | undefined;
1230
+ /** */
1231
+ "onon-test-switch-view"?: (e: CustomEvent<CustomEvent>) => void;
1232
+ /** */
1233
+ "onqti-request-test-item"?: (e: CustomEvent<CustomEvent>) => void;
1234
+ };
1235
+
1236
+ export type QtiItemProps = {
1237
+ /** */
1238
+ identifier?: string | undefined;
1239
+ /** */
1240
+ href?: string | undefined;
1241
+ /** */
1242
+ xmlDoc?: DocumentFragment;
1243
+ /** */
1244
+ assessmentItem?: QtiAssessmentItem | null;
1245
+ /** */
1246
+ "onqti-item-connected"?: (e: CustomEvent<CustomEvent>) => void;
1247
+ };
1248
+
1249
+ export type CustomElements = {
1250
+ /**
1251
+ *
1252
+ * ---
1253
+ *
1254
+ */
1255
+ "qti-mapping": Partial<QtiMappingProps & BaseProps & BaseEvents>;
1256
+
1257
+ /**
1258
+ *
1259
+ * ---
1260
+ *
1261
+ */
1262
+ "qti-rule": Partial<QtiRuleProps & BaseProps & BaseEvents>;
1263
+
1264
+ /**
1265
+ *
1266
+ * ---
1267
+ *
1268
+ */
1269
+ "qti-response-processing": Partial<QtiResponseProcessingProps & BaseProps & BaseEvents>;
1270
+
1271
+ /**
1272
+ *
1273
+ * ---
1274
+ *
1275
+ */
1276
+ "qti-multiple": Partial<QtiMultipleProps & BaseProps & BaseEvents>;
1277
+
1278
+ /**
1279
+ * The lookupOutcomeValue rule sets the value of an outcome variable to the value obtained
1280
+ * by looking up the value of the associated expression in the lookupTable associated
1281
+ * with the outcome's declaration.
1282
+ * ---
1283
+ *
1284
+ *
1285
+ * ### **Events:**
1286
+ * - **qti-set-outcome-value**
1287
+ */
1288
+ "qti-lookup-outcome-value": Partial<QtiLookupOutcomeValueProps & BaseProps & BaseEvents>;
1289
+
1290
+ /**
1291
+ *
1292
+ * ---
1293
+ *
1294
+ */
1295
+ "qti-response-condition": Partial<QtiResponseConditionProps & BaseProps & BaseEvents>;
1296
+
1297
+ /**
1298
+ *
1299
+ * ---
1300
+ *
1301
+ *
1302
+ * ### **Events:**
1303
+ * - **qti-set-outcome-value**
1304
+ */
1305
+ "qti-set-outcome-value": Partial<QtiSetOutcomeValueProps & BaseProps & BaseEvents>;
1306
+
1307
+ /**
1308
+ *
1309
+ * ---
1310
+ *
1311
+ */
1312
+ "qti-response-else": Partial<QtiResponseElseProps & BaseProps & BaseEvents>;
1313
+
1314
+ /**
1315
+ *
1316
+ * ---
1317
+ *
1318
+ */
1319
+ "qti-response-if": Partial<QtiResponseIfProps & BaseProps & BaseEvents>;
1320
+
1321
+ /**
1322
+ *
1323
+ * ---
1324
+ *
1325
+ */
1326
+ "qti-response-else-if": Partial<QtiResponseElseIfProps & BaseProps & BaseEvents>;
1327
+
1328
+ /**
1329
+ *
1330
+ * ---
1331
+ *
1332
+ */
1333
+ "qti-and": Partial<QtiAndProps & BaseProps & BaseEvents>;
1334
+
1335
+ /**
1336
+ *
1337
+ * ---
1338
+ *
1339
+ */
1340
+ "qti-base-value": Partial<QtiBaseValueProps & BaseProps & BaseEvents>;
1341
+
1342
+ /**
1343
+ *
1344
+ * ---
1345
+ *
1346
+ */
1347
+ "qti-contains": Partial<QtiContainsProps & BaseProps & BaseEvents>;
1348
+
1349
+ /**
1350
+ *
1351
+ * ---
1352
+ *
1353
+ */
1354
+ "qti-correct": Partial<QtiCorrectProps & BaseProps & BaseEvents>;
1355
+
1356
+ /**
1357
+ *
1358
+ * ---
1359
+ *
1360
+ */
1361
+ "qti-equal-rounded": Partial<QtiEqualRoundedProps & BaseProps & BaseEvents>;
1362
+
1363
+ /**
1364
+ *
1365
+ * ---
1366
+ *
1367
+ */
1368
+ "qti-equal": Partial<QtiEqualProps & BaseProps & BaseEvents>;
1369
+
1370
+ /**
1371
+ *
1372
+ * ---
1373
+ *
1374
+ */
1375
+ "qti-gt": Partial<QtiGtProps & BaseProps & BaseEvents>;
1376
+
1377
+ /**
1378
+ *
1379
+ * ---
1380
+ *
1381
+ */
1382
+ "qti-gte": Partial<QtiGteProps & BaseProps & BaseEvents>;
1383
+
1384
+ /**
1385
+ *
1386
+ * ---
1387
+ *
1388
+ */
1389
+ "qti-is-null": Partial<QtiIsNullProps & BaseProps & BaseEvents>;
1390
+
1391
+ /**
1392
+ *
1393
+ * ---
1394
+ *
1395
+ */
1396
+ "qti-lt": Partial<QtiLtProps & BaseProps & BaseEvents>;
1397
+
1398
+ /**
1399
+ *
1400
+ * ---
1401
+ *
1402
+ */
1403
+ "qti-lte": Partial<QtiLteProps & BaseProps & BaseEvents>;
1404
+
1405
+ /**
1406
+ *
1407
+ * ---
1408
+ *
1409
+ */
1410
+ "qti-map-response": Partial<QtiMapResponseProps & BaseProps & BaseEvents>;
1411
+
1412
+ /**
1413
+ *
1414
+ * ---
1415
+ *
1416
+ */
1417
+ "qti-match": Partial<QtiMatchProps & BaseProps & BaseEvents>;
1418
+
1419
+ /**
1420
+ *
1421
+ * ---
1422
+ *
1423
+ */
1424
+ "qti-member": Partial<QtiMemberProps & BaseProps & BaseEvents>;
1425
+
1426
+ /**
1427
+ *
1428
+ * ---
1429
+ *
1430
+ */
1431
+ "qti-not": Partial<QtiNotProps & BaseProps & BaseEvents>;
1432
+
1433
+ /**
1434
+ *
1435
+ * ---
1436
+ *
1437
+ */
1438
+ "qti-or": Partial<QtiOrProps & BaseProps & BaseEvents>;
1439
+
1440
+ /**
1441
+ *
1442
+ * ---
1443
+ *
1444
+ */
1445
+ "qti-ordered": Partial<QtiOrderedProps & BaseProps & BaseEvents>;
1446
+
1447
+ /**
1448
+ *
1449
+ * ---
1450
+ *
1451
+ */
1452
+ "qti-printed-variable": Partial<QtiPrintedVariableProps & BaseProps & BaseEvents>;
1453
+
1454
+ /**
1455
+ *
1456
+ * ---
1457
+ *
1458
+ */
1459
+ "qti-product": Partial<QtiProductProps & BaseProps & BaseEvents>;
1460
+
1461
+ /**
1462
+ *
1463
+ * ---
1464
+ *
1465
+ */
1466
+ "qti-subtract": Partial<QtiSubtractProps & BaseProps & BaseEvents>;
1467
+
1468
+ /**
1469
+ *
1470
+ * ---
1471
+ *
1472
+ */
1473
+ "qti-string-match": Partial<QtiStringMatchProps & BaseProps & BaseEvents>;
1474
+
1475
+ /**
1476
+ *
1477
+ * ---
1478
+ *
1479
+ */
1480
+ "qti-sum": Partial<QtiSumProps & BaseProps & BaseEvents>;
1481
+
1482
+ /**
1483
+ *
1484
+ * ---
1485
+ *
1486
+ */
1487
+ "qti-variable": Partial<QtiVariableProps & BaseProps & BaseEvents>;
1488
+
1489
+ /**
1490
+ * The qti-assessment-item element contains all the other QTI 3 item structures.
1491
+ * ---
1492
+ *
1493
+ *
1494
+ * ### **Events:**
1495
+ * - **name**
1496
+ * - **qti-interaction-changed** - Emitted when an interaction is changed.
1497
+ * - **qti-outcome-changed** - Emitted when an outcome has changed.
1498
+ * - **qti-response-processing** - Emitted when response-processing is called.
1499
+ *
1500
+ * ### **Slots:**
1501
+ * - _default_ - The default slot where all the other QTI 3 item structures go.
1502
+ */
1503
+ "qti-assessment-item": Partial<QtiAssessmentItemProps & BaseProps & BaseEvents>;
1504
+
1505
+ /**
1506
+ * Represents a custom element for referencing an assessment stimulus.
1507
+ * ---
1508
+ *
1509
+ *
1510
+ * ### **Methods:**
1511
+ * - **updateStimulusRef(stimulusRef: _Element_)** - Loads and appends the stimulus to the specified element.
1512
+ */
1513
+ "qti-assessment-stimulus-ref": Partial<QtiAssessmentStimulusRefProps & BaseProps & BaseEvents>;
1514
+
1515
+ /**
1516
+ * 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.
1517
+ * ---
1518
+ *
1519
+ *
1520
+ * ### **Slots:**
1521
+ * - _default_ - item body content.
1522
+ * - **qti-rubric-block** - the qti rubric block is placed above the item
1523
+ */
1524
+ "qti-item-body": Partial<QtiItemBodyProps & BaseProps & BaseEvents>;
1525
+
1526
+ /**
1527
+ *
1528
+ * ---
1529
+ *
1530
+ */
1531
+ "qti-prompt": Partial<QtiPromptProps & BaseProps & BaseEvents>;
1532
+
1533
+ /**
1534
+ *
1535
+ * ---
1536
+ *
1537
+ */
1538
+ "qti-stylesheet": Partial<QtiStylesheetProps & BaseProps & BaseEvents>;
1539
+
1540
+ /**
1541
+ *
1542
+ * ---
1543
+ *
1544
+ */
1545
+ "qti-variabledeclaration": Partial<QtiVariableDeclarationProps & BaseProps & BaseEvents>;
1546
+
1547
+ /**
1548
+ *
1549
+ * ---
1550
+ *
1551
+ *
1552
+ * ### **Events:**
1553
+ * - **qti-register-variable**
1554
+ */
1555
+ "qti-outcome-declaration": Partial<QtiOutcomeDeclarationProps & BaseProps & BaseEvents>;
1556
+
1557
+ /**
1558
+ *
1559
+ * ---
1560
+ *
1561
+ *
1562
+ * ### **Events:**
1563
+ * - **qti-register-variable**
1564
+ */
1565
+ "qti-response-declaration": Partial<QtiResponseDeclarationProps & BaseProps & BaseEvents>;
1566
+
1567
+ /**
1568
+ *
1569
+ * ---
1570
+ *
1571
+ */
1572
+ "qti-companion-materials-info": Partial<QtiCompanionMaterialsInfoProps & BaseProps & BaseEvents>;
1573
+
1574
+ /**
1575
+ *
1576
+ * ---
1577
+ *
1578
+ */
1579
+ "qti-content-body": Partial<QtiContentBodyProps & BaseProps & BaseEvents>;
1580
+
1581
+ /**
1582
+ *
1583
+ * ---
1584
+ *
1585
+ */
1586
+ "qti-rubric-block": Partial<QtiRubricBlockProps & BaseProps & BaseEvents>;
1587
+
1588
+ /**
1589
+ *
1590
+ * ---
1591
+ *
1592
+ *
1593
+ * ### **Events:**
1594
+ * - **qti-register-feedback**
1595
+ */
1596
+ "qti-feedback-block": Partial<QtiFeedbackBlockProps & BaseProps & BaseEvents>;
1597
+
1598
+ /**
1599
+ *
1600
+ * ---
1601
+ *
1602
+ *
1603
+ * ### **Events:**
1604
+ * - **qti-register-feedback**
1605
+ */
1606
+ "qti-feedback-inline": Partial<QtiFeedbackInlineProps & BaseProps & BaseEvents>;
1607
+
1608
+ /**
1609
+ *
1610
+ * ---
1611
+ *
1612
+ *
1613
+ * ### **Events:**
1614
+ * - **qti-register-feedback**
1615
+ */
1616
+ "qti-modal-feedback": Partial<QtiModalFeedbackProps & BaseProps & BaseEvents>;
1617
+
1618
+ /**
1619
+ *
1620
+ * ---
1621
+ *
1622
+ *
1623
+ * ### **Events:**
1624
+ * - **qti-register-interaction**
1625
+ * - **qti-interaction-response**
1626
+ */
1627
+ "qti-extended-text-interaction": Partial<QtiExtendedTextInteractionProps & BaseProps & BaseEvents>;
1628
+
1629
+ /**
1630
+ *
1631
+ * ---
1632
+ *
1633
+ *
1634
+ * ### **Events:**
1635
+ * - **qti-register-interaction**
1636
+ * - **qti-interaction-response**
1637
+ */
1638
+ "qti-text-entry-interaction": Partial<QtiTextEntryInteractionProps & BaseProps & BaseEvents>;
1639
+
1640
+ /**
1641
+ *
1642
+ * ---
1643
+ *
1644
+ *
1645
+ * ### **Events:**
1646
+ * - **qti-register-interaction**
1647
+ * - **qti-interaction-response**
1648
+ */
1649
+ "qti-hottext-interaction": Partial<QtiHottextInteractionProps & BaseProps & BaseEvents>;
1650
+
1651
+ /**
1652
+ *
1653
+ * ---
1654
+ *
1655
+ *
1656
+ * ### **Events:**
1657
+ * - **qti-register-interaction**
1658
+ * - **qti-interaction-response**
1659
+ */
1660
+ "qti-inline-choice-interaction": Partial<QtiInlineChoiceInteractionProps & BaseProps & BaseEvents>;
1661
+
1662
+ /**
1663
+ * qti-order-interaction
1664
+ * qti-choice-interaction
1665
+ * ---
1666
+ *
1667
+ *
1668
+ * ### **Events:**
1669
+ *
1670
+ */
1671
+ "qti-simple-choice": Partial<QtiSimpleChoiceProps & BaseProps & BaseEvents>;
1672
+
1673
+ /**
1674
+ * An sample element.
1675
+ * ---
1676
+ *
1677
+ *
1678
+ * ### **Events:**
1679
+ * - **qti-register-interaction**
1680
+ * - **qti-interaction-response**
1681
+ *
1682
+ * ### **Slots:**
1683
+ * - _default_ - default slot of the choices
1684
+ * - **prompt** - slot of the prompt
1685
+ *
1686
+ * ### **CSS Properties:**
1687
+ * - **--qti-bg-active** - The active background color _(default: #ffecec)_
1688
+ * - **--qti-border-active** - The active border color _(default: #f86d70)_
1689
+ * - **--qti-padding-horizontal** - The option horizontal padding _(default: 1px)_
1690
+ * - **--qti-padding-vertical** - The option vertical padding _(default: solid)_
1691
+ * - **--qti-border-radius** - The option border radius _(default: 8px)_
1692
+ *
1693
+ * ### **CSS Parts:**
1694
+ * - **slot** - The choice elements
1695
+ * - **prompt** - The prompt
1696
+ * - **message** - The validation message
1697
+ */
1698
+ "qti-choice-interaction": Partial<QtiChoiceInteractionProps & BaseProps & BaseEvents>;
1699
+
1700
+ /**
1701
+ *
1702
+ * ---
1703
+ *
1704
+ */
1705
+ "qti-outcome-processing": Partial<QtiOutcomeProcessingProps & BaseProps & BaseEvents>;
1706
+
1707
+ /**
1708
+ *
1709
+ * ---
1710
+ *
1711
+ *
1712
+ * ### **Events:**
1713
+ * - **qti-register-interaction**
1714
+ * - **qti-interaction-response**
1715
+ */
1716
+ "qti-portable-custom-interaction": Partial<QtiPortableCustomInteractionProps & BaseProps & BaseEvents>;
1717
+
1718
+ /**
1719
+ *
1720
+ * ---
1721
+ *
1722
+ *
1723
+ * ### **Events:**
1724
+ *
1725
+ */
1726
+ "qti-simple-associable-choice": Partial<QtiSimpleAssociableChoiceProps & BaseProps & BaseEvents>;
1727
+
1728
+ /**
1729
+ *
1730
+ * ---
1731
+ *
1732
+ *
1733
+ * ### **Events:**
1734
+ * - **qti-register-interaction**
1735
+ * - **qti-interaction-response**
1736
+ */
1737
+ "qti-associate-interaction": Partial<QtiAssociateInteractionProps & BaseProps & BaseEvents>;
1738
+
1739
+ /**
1740
+ *
1741
+ * ---
1742
+ *
1743
+ *
1744
+ * ### **Events:**
1745
+ * - **qti-register-interaction**
1746
+ * - **qti-interaction-response**
1747
+ */
1748
+ "qti-custom-interaction": Partial<QtiCustomInteractionProps & BaseProps & BaseEvents>;
1749
+
1750
+ /**
1751
+ *
1752
+ * ---
1753
+ *
1754
+ *
1755
+ * ### **Events:**
1756
+ * - **end-attempt**
1757
+ * - **qti-register-interaction**
1758
+ * - **qti-interaction-response**
1759
+ */
1760
+ "qti-end-attempt-interaction": Partial<QtiEndAttemptInteractionProps & BaseProps & BaseEvents>;
1761
+
1762
+ /**
1763
+ *
1764
+ * ---
1765
+ *
1766
+ *
1767
+ * ### **Events:**
1768
+ * - **qti-register-interaction**
1769
+ * - **qti-interaction-response**
1770
+ */
1771
+ "qti-gap-match-interaction": Partial<QtiGapMatchInteractionProps & BaseProps & BaseEvents>;
1772
+
1773
+ /**
1774
+ *
1775
+ * ---
1776
+ *
1777
+ *
1778
+ * ### **Events:**
1779
+ *
1780
+ */
1781
+ "qti-hotspot-choice": Partial<QtiHotspotChoiceProps & BaseProps & BaseEvents>;
1782
+
1783
+ /**
1784
+ *
1785
+ * ---
1786
+ *
1787
+ *
1788
+ * ### **Events:**
1789
+ * - **qti-register-interaction**
1790
+ * - **qti-interaction-response**
1791
+ */
1792
+ "qti-graphic-associate-interaction": Partial<QtiGraphicAssociateInteractionProps & BaseProps & BaseEvents>;
1793
+
1794
+ /**
1795
+ *
1796
+ * ---
1797
+ *
1798
+ *
1799
+ * ### **Events:**
1800
+ * - **qti-register-interaction**
1801
+ * - **qti-interaction-response**
1802
+ */
1803
+ "qti-graphic-gap-match-interaction": Partial<QtiGraphicGapMatchInteractionProps & BaseProps & BaseEvents>;
1804
+
1805
+ /**
1806
+ *
1807
+ * ---
1808
+ *
1809
+ *
1810
+ * ### **Events:**
1811
+ * - **qti-register-interaction**
1812
+ * - **qti-interaction-response**
1813
+ */
1814
+ "qti-graphic-order-interaction": Partial<QtiGraphicOrderInteractionProps & BaseProps & BaseEvents>;
1815
+
1816
+ /**
1817
+ *
1818
+ * ---
1819
+ *
1820
+ *
1821
+ * ### **Events:**
1822
+ * - **qti-register-interaction**
1823
+ * - **qti-interaction-response**
1824
+ */
1825
+ "qti-hotspot-interaction": Partial<QtiHotspotInteractionProps & BaseProps & BaseEvents>;
1826
+
1827
+ /**
1828
+ *
1829
+ * ---
1830
+ *
1831
+ *
1832
+ * ### **Events:**
1833
+ * - **qti-register-interaction**
1834
+ * - **qti-interaction-response**
1835
+ */
1836
+ "qti-match-interaction": Partial<QtiMatchInteractionProps & BaseProps & BaseEvents>;
1837
+
1838
+ /**
1839
+ *
1840
+ * ---
1841
+ *
1842
+ *
1843
+ * ### **Events:**
1844
+ * - **qti-register-interaction**
1845
+ * - **qti-interaction-response**
1846
+ */
1847
+ "qti-media-interaction": Partial<QtiMediaInteractionProps & BaseProps & BaseEvents>;
1848
+
1849
+ /**
1850
+ *
1851
+ * ---
1852
+ *
1853
+ *
1854
+ * ### **Events:**
1855
+ * - **qti-register-interaction**
1856
+ * - **qti-interaction-response**
1857
+ */
1858
+ "qti-order-interaction": Partial<QtiOrderInteractionProps & BaseProps & BaseEvents>;
1859
+
1860
+ /**
1861
+ *
1862
+ * ---
1863
+ *
1864
+ */
1865
+ "qti-position-object-interaction": Partial<QtiPositionObjectInteractionProps & BaseProps & BaseEvents>;
1866
+
1867
+ /**
1868
+ *
1869
+ * ---
1870
+ *
1871
+ */
1872
+ "qti-position-object-stage": Partial<QtiPositionObjectStageProps & BaseProps & BaseEvents>;
1873
+
1874
+ /**
1875
+ *
1876
+ * ---
1877
+ *
1878
+ *
1879
+ * ### **Events:**
1880
+ * - **qti-register-interaction**
1881
+ * - **qti-interaction-response**
1882
+ */
1883
+ "qti-select-point-interaction": Partial<QtiSelectPointInteractionProps & BaseProps & BaseEvents>;
1884
+
1885
+ /**
1886
+ * The SliderInteraction.Type (qti-slider-interaction) presents the candidate with a control for selecting a numerical value between a lower and upper bound.
1887
+ * ---
1888
+ *
1889
+ *
1890
+ * ### **Events:**
1891
+ * - **qti-register-interaction** - emitted when the interaction wants to register itself
1892
+ * - **qti-interaction-response** - emitted when the interaction changes
1893
+ *
1894
+ * ### **Slots:**
1895
+ * - _default_ - The default slot where <qti-simple-choice> must be placed.
1896
+ * - **prompt** - slot where the prompt is placed.
1897
+ *
1898
+ * ### **CSS Properties:**
1899
+ * - **--show-value** - shows the current value while sliding _(default: undefined)_
1900
+ * - **--show-ticks** - shows the ticks according to steps _(default: undefined)_
1901
+ * - **--show-bounds** - shows value for lower and upper boundary _(default: undefined)_
1902
+ *
1903
+ * ### **CSS Parts:**
1904
+ * - **slider** - -- slider inluding, bounds and ticks and value, use it for paddings and margins
1905
+ * - **bounds** - -- div for bounds, containing two divs for with min, and max bounds value
1906
+ * - **ticks** - -- div for ticks, use lineair gradient and exposed css variables for styling
1907
+ * - **rail** - -- div for rail, style according to needs
1908
+ * - **knob** - -- div, should be relative or absolute
1909
+ * - **value** - -- div, containing value
1910
+ */
1911
+ "qti-slider-interaction": Partial<QtiSliderInteractionProps & BaseProps & BaseEvents>;
1912
+
1913
+ /**
1914
+ * https://www.imsglobal.org/spec/qti/v3p0/impl#h.fi29q8dubjgw
1915
+ * <qti-custom-operator class="js.org">
1916
+ * <qti-base-value base-type="string"><![CDATA[
1917
+ * console.log(context.variables);
1918
+ * return 'B'
1919
+ * document.querySelector('qti-end-attempt-interaction').disabled = true;
1920
+ * ]]></qti-base-value>
1921
+ * </qti-custom-operator>
1922
+ * </qti-set-outcome-value>
1923
+ * ---
1924
+ *
1925
+ *
1926
+ * ### **Events:**
1927
+ * - **qti-set-outcome-value**
1928
+ * - **qti-interaction-response**
1929
+ */
1930
+ "qti-custom-operator": Partial<QtiCustomOperatorProps & BaseProps & BaseEvents>;
1931
+
1932
+ /**
1933
+ *
1934
+ * ---
1935
+ *
1936
+ *
1937
+ * ### **Events:**
1938
+ * - **qti-register-hotspot**
1939
+ */
1940
+ "qti-associable-hotspot": Partial<QtiAssociableHotspotProps & BaseProps & BaseEvents>;
1941
+
1942
+ /**
1943
+ *
1944
+ * ---
1945
+ *
1946
+ */
1947
+ "qti-gap": Partial<QtiGapProps & BaseProps & BaseEvents>;
1948
+
1949
+ /**
1950
+ *
1951
+ * ---
1952
+ *
1953
+ */
1954
+ "qti-gap-img": Partial<QtiGapImgProps & BaseProps & BaseEvents>;
1955
+
1956
+ /**
1957
+ *
1958
+ * ---
1959
+ *
1960
+ *
1961
+ * ### **Events:**
1962
+ *
1963
+ */
1964
+ "qti-gap-text": Partial<QtiGapTextProps & BaseProps & BaseEvents>;
1965
+
1966
+ /**
1967
+ *
1968
+ * ---
1969
+ *
1970
+ *
1971
+ * ### **Events:**
1972
+ *
1973
+ */
1974
+ "qti-hottext": Partial<QtiHottextProps & BaseProps & BaseEvents>;
1975
+
1976
+ /**
1977
+ *
1978
+ * ---
1979
+ *
1980
+ *
1981
+ * ### **Events:**
1982
+ * - **qti-inline-choice-register**
1983
+ * - **qti-inline-choice-select**
1984
+ */
1985
+ "qti-inline-choice": Partial<QtiInlineChoiceProps & BaseProps & BaseEvents>;
1986
+
1987
+ /**
1988
+ *
1989
+ * ---
1990
+ *
1991
+ *
1992
+ * ### **Events:**
1993
+ * - **qti-register-interaction**
1994
+ * - **qti-interaction-response**
1995
+ */
1996
+ "test-element": Partial<TestElementProps & BaseProps & BaseEvents>;
1997
+
1998
+ /**
1999
+ *
2000
+ * ---
2001
+ *
2002
+ *
2003
+ * ### **Events:**
2004
+ * - **qti-register-interaction**
2005
+ * - **qti-interaction-response**
2006
+ */
2007
+ "test-element": Partial<TestElementProps & BaseProps & BaseEvents>;
2008
+
2009
+ /**
2010
+ *
2011
+ * ---
2012
+ *
2013
+ *
2014
+ * ### **Events:**
2015
+ * - **qti-register-interaction**
2016
+ * - **qti-interaction-response**
2017
+ */
2018
+ "test-element": Partial<TestElementProps & BaseProps & BaseEvents>;
2019
+
2020
+ /**
2021
+ *
2022
+ * ---
2023
+ *
2024
+ *
2025
+ * ### **Events:**
2026
+ * - **qti-assessment-item-ref-connected**
2027
+ */
2028
+ "qti-assessment-item-ref": Partial<QtiAssessmentItemRefProps & BaseProps & BaseEvents>;
2029
+
2030
+ /**
2031
+ *
2032
+ * ---
2033
+ *
2034
+ *
2035
+ * ### **Events:**
2036
+ * - **qti-assessment-section-connected**
2037
+ */
2038
+ "qti-assessment-section": Partial<QtiAssessmentSectionProps & BaseProps & BaseEvents>;
2039
+
2040
+ /**
2041
+ *
2042
+ * ---
2043
+ *
2044
+ *
2045
+ * ### **Events:**
2046
+ * - **qti-assessment-test-connected**
2047
+ */
2048
+ "qti-assessment-test": Partial<QtiAssessmentTestProps & BaseProps & BaseEvents>;
2049
+
2050
+ /**
2051
+ *
2052
+ * ---
2053
+ *
2054
+ *
2055
+ * ### **Events:**
2056
+ * - **qti-test-part-connected**
2057
+ */
2058
+ "qti-test-part": Partial<QtiTestPartProps & BaseProps & BaseEvents>;
2059
+
2060
+ /**
2061
+ * `<qti-test>` is a custom element designed for rendering and interacting with QTI (Question and Test Interoperability) tests.
2062
+ *
2063
+ * This component leverages several mixins to provide functionality for loading, navigating, processing, and displaying QTI test assessments.
2064
+ *
2065
+ * ### Example Usage
2066
+ *
2067
+ * Minimal markup:
2068
+ * ```html
2069
+ * <qti-test test="./path/to/assessment.xml">
2070
+ * <test-container></test-container>
2071
+ * </qti-test>
2072
+ * ```
2073
+ *
2074
+ * With navigation buttons:
2075
+ * ```html
2076
+ * <qti-test >
2077
+ * <test-container test-url="./path/to/assessment.xml"></test-container>
2078
+ * <div class="flex">
2079
+ * <test-prev></test-prev>
2080
+ * <test-next></test-next>
2081
+ * </div>
2082
+ * </qti-test>
2083
+ * ```
2084
+ *
2085
+ * You can use normal class names to style the elements.
2086
+ * And you can use the `test-prev` and `test-next` elements to navigate through the test.
2087
+ * ---
2088
+ *
2089
+ */
2090
+ "qti-player": Partial<QtiTestProps & BaseProps & BaseEvents>;
2091
+
2092
+ /**
2093
+ * Represents a custom element for navigating to the next test item.
2094
+ * ---
2095
+ *
2096
+ *
2097
+ * ### **Events:**
2098
+ * - **on-test-switch-view**
2099
+ * - **qti-request-test-item**
2100
+ */
2101
+ "test-next": Partial<TestNextProps & BaseProps & BaseEvents>;
2102
+
2103
+ /**
2104
+ * Represents a custom element for navigating to the previous test item.
2105
+ * ---
2106
+ *
2107
+ *
2108
+ * ### **Events:**
2109
+ * - **on-test-switch-view**
2110
+ * - **qti-request-test-item**
2111
+ */
2112
+ "test-prev": Partial<TestPrevProps & BaseProps & BaseEvents>;
2113
+
2114
+ /**
2115
+ *
2116
+ * ---
2117
+ *
2118
+ *
2119
+ * ### **Events:**
2120
+ * - **on-test-switch-view**
2121
+ * - **qti-request-test-item**
2122
+ */
2123
+ "test-view": Partial<TestViewProps & BaseProps & BaseEvents>;
2124
+
2125
+ /**
2126
+ *
2127
+ * ---
2128
+ *
2129
+ *
2130
+ * ### **Events:**
2131
+ * - **on-test-switch-view**
2132
+ * - **qti-request-test-item**
2133
+ */
2134
+ "test-item-link": Partial<TestItemLinkProps & BaseProps & BaseEvents>;
2135
+
2136
+ /**
2137
+ * `<test-container>` is a custom element designed for hosting the qti-assessment-test.
2138
+ * The `qti-assessment-test` will be placed inside the shadow DOM of this element.
2139
+ *
2140
+ * ### Example Usage
2141
+ * The `test-container` element to hosts the visual representation of the items.
2142
+ * You can style the container by adding a class to the element.
2143
+ *
2144
+ * ```html
2145
+ * <qti-test testurl="./path/to/assessment.xml">
2146
+ * <test-container class="container bg-white m-2"></test-container>
2147
+ * </qti-test>
2148
+ * ```
2149
+ * ---
2150
+ *
2151
+ */
2152
+ "test-container": Partial<TestContainerProps & BaseProps & BaseEvents>;
2153
+
2154
+ /**
2155
+ *
2156
+ * ---
2157
+ *
2158
+ *
2159
+ * ### **Events:**
2160
+ * - **on-test-switch-view**
2161
+ * - **qti-request-test-item**
2162
+ */
2163
+ "test-paging-buttons-stamp": Partial<TestPagingButtonsStampProps & BaseProps & BaseEvents>;
2164
+
2165
+ /**
2166
+ *
2167
+ * ---
2168
+ *
2169
+ *
2170
+ * ### **Events:**
2171
+ * - **qti-item-connected**
2172
+ */
2173
+ "qti-item": Partial<QtiItemProps & BaseProps & BaseEvents>;
2174
+ };