@citolab/qti-components 8.0.0 → 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.
- package/cdn/index.global.js +1 -1
- package/cdn/index.js +690 -316
- package/dist/base.d.ts +135 -9
- package/dist/base.js +1 -1
- package/dist/chunk-4DB4SC5K.js +100 -0
- package/dist/chunk-4DB4SC5K.js.map +1 -0
- package/dist/{chunk-WVVMNF74.js → chunk-7AVWRQIS.js} +188 -160
- package/dist/{chunk-WVVMNF74.js.map → chunk-7AVWRQIS.js.map} +1 -1
- package/dist/{chunk-MGF5F3S2.js → chunk-BQFWCZFH.js} +2 -2
- package/dist/{chunk-5QYII4OZ.js → chunk-CK7AV2UJ.js} +147 -101
- package/dist/chunk-CK7AV2UJ.js.map +1 -0
- package/dist/chunk-G6GFQDVN.js +7 -0
- package/dist/chunk-G6GFQDVN.js.map +1 -0
- package/dist/{chunk-LZJHHZQ2.js → chunk-HBSWJC3B.js} +643 -553
- package/dist/chunk-HBSWJC3B.js.map +1 -0
- package/dist/chunk-HQESINXH.js +834 -0
- package/dist/chunk-HQESINXH.js.map +1 -0
- package/dist/{chunk-KYEZRYO6.js → chunk-J5SQLKNP.js} +145 -119
- package/dist/{chunk-KYEZRYO6.js.map → chunk-J5SQLKNP.js.map} +1 -1
- package/dist/{chunk-V5G7X53Y.js → chunk-NJQHUUTN.js} +2 -2
- package/dist/{chunk-W4QZPCNC.js → chunk-RSVRS5AK.js} +59 -58
- package/dist/chunk-RSVRS5AK.js.map +1 -0
- package/dist/{chunk-5SJS36BI.js → chunk-TWPXES3S.js} +642 -673
- package/dist/chunk-TWPXES3S.js.map +1 -0
- package/dist/{chunk-NA2N2WSG.js → chunk-VAE6HBKR.js} +176 -152
- package/dist/{chunk-NA2N2WSG.js.map → chunk-VAE6HBKR.js.map} +1 -1
- package/dist/{chunk-MJVPNN7W.js → chunk-ZII6M3SN.js} +2 -2
- package/dist/computed-item.types.d-BKZdSLLJ.d.ts +19 -0
- package/dist/computed.types.d-DpKIYO6e.d.ts +44 -0
- package/dist/config.context.d-BvU9r-Mg.d.ts +91 -0
- package/dist/corrections.d.ts +415 -1
- package/dist/corrections.js +8 -9
- package/dist/elements.d.ts +393 -1
- package/dist/elements.js +4 -5
- package/dist/index.d.ts +27 -9
- package/dist/index.js +21 -14
- package/dist/interaction.d-CJiMv8H7.d.ts +126 -0
- package/dist/interaction.interface.d-CvjHM2bi.d.ts +46 -0
- package/dist/interactions.d.ts +281 -1
- package/dist/interactions.js +4 -5
- package/dist/item.css +588 -214
- package/dist/item.d.ts +92 -1
- package/dist/item.js +5 -5
- package/dist/item.types.d-QU7LljEK.d.ts +82 -0
- package/dist/loader.d.ts +22 -1
- package/dist/processing.d.ts +730 -1
- package/dist/processing.js +2 -2
- package/dist/qti-components-jsx.d.ts +854 -844
- package/dist/qti-components-jsx.js +1 -0
- package/dist/qti-condition-expression.d-aMvBvpc6.d.ts +8 -0
- package/dist/qti-expression.d-BietT_8b.d.ts +31 -0
- package/dist/qti-feedback.d-DZbad0RN.d.ts +21 -0
- package/dist/qti-rule-base.d-ajOnfGXY.d.ts +16 -0
- package/dist/qti-test.d-_YAlhDbt.d.ts +702 -0
- package/dist/qti-text-entry-interaction.d-BGdfV9qG.d.ts +1567 -0
- package/dist/qti-transform-test.d-BL7GGFJj.d.ts +70 -0
- package/dist/qti.context.d-CejJMlfZ.d.ts +50 -0
- package/dist/response.d-_8y4kjGP.d.ts +106 -0
- package/dist/test.d.ts +32 -1
- package/dist/test.js +14 -7
- package/dist/transformers.d.ts +18 -1
- package/package.json +15 -11
- package/dist/chunk-5QYII4OZ.js.map +0 -1
- package/dist/chunk-5SJS36BI.js.map +0 -1
- package/dist/chunk-64XSIBGO.js +0 -241
- package/dist/chunk-64XSIBGO.js.map +0 -1
- package/dist/chunk-H3J7LFRO.js +0 -2243
- package/dist/chunk-H3J7LFRO.js.map +0 -1
- package/dist/chunk-LZJHHZQ2.js.map +0 -1
- package/dist/chunk-W4QZPCNC.js.map +0 -1
- package/dist/chunk-WCQ26LV7.js +0 -102
- package/dist/chunk-WCQ26LV7.js.map +0 -1
- package/dist/chunk-X3E5HXG2.js +0 -20
- package/dist/chunk-X3E5HXG2.js.map +0 -1
- /package/dist/{chunk-MGF5F3S2.js.map → chunk-BQFWCZFH.js.map} +0 -0
- /package/dist/{chunk-V5G7X53Y.js.map → chunk-NJQHUUTN.js.map} +0 -0
- /package/dist/{chunk-MJVPNN7W.js.map → chunk-ZII6M3SN.js.map} +0 -0
|
@@ -1,59 +1,60 @@
|
|
|
1
|
-
import type { Interaction } from "
|
|
2
|
-
import type { QtiVariableDeclaration } from "
|
|
3
|
-
import type { QtiExpression } from "
|
|
4
|
-
import type { QtiFeedback } from "
|
|
5
|
-
import type { QtiRuleElement } from "
|
|
6
|
-
import type { ItemContainer } from "
|
|
7
|
-
import type { ItemPrintVariables } from "
|
|
8
|
-
import type { QtiTemplateConstraint } from "
|
|
9
|
-
import type { QtiTemplateProcessing } from "
|
|
10
|
-
import type { QtiResponseProcessing } from "
|
|
11
|
-
import type { QtiAssessmentItem } from "
|
|
1
|
+
import type { Interaction } from "./base.js";
|
|
2
|
+
import type { QtiVariableDeclaration } from "./base.js";
|
|
3
|
+
import type { QtiExpression } from "./base.js";
|
|
4
|
+
import type { QtiFeedback } from "./base.js";
|
|
5
|
+
import type { QtiRuleElement } from "./base.js";
|
|
6
|
+
import type { ItemContainer } from "./item.js";
|
|
7
|
+
import type { ItemPrintVariables } from "./item.js";
|
|
8
|
+
import type { QtiTemplateConstraint } from "./elements.js";
|
|
9
|
+
import type { QtiTemplateProcessing } from "./elements.js";
|
|
10
|
+
import type { QtiResponseProcessing } from "./elements.js";
|
|
11
|
+
import type { QtiAssessmentItem } from "./elements.js";
|
|
12
12
|
import type {
|
|
13
13
|
QtiAssessmentStimulusRef,
|
|
14
14
|
QtiAssessmentStimulusRefConnectedEvent,
|
|
15
|
-
} from "
|
|
16
|
-
import type { QtiCompanionMaterialsInfo } from "
|
|
17
|
-
import type { QtiContentBody } from "
|
|
18
|
-
import type { QtiContextDeclaration } from "
|
|
19
|
-
import type { QtiCustomOperator } from "
|
|
20
|
-
import type { QtiFeedbackBlock } from "
|
|
21
|
-
import type { QtiFeedbackInline } from "
|
|
22
|
-
import type { QtiItemBody } from "
|
|
23
|
-
import type { QtiModalFeedback } from "
|
|
24
|
-
import type { QtiOutcomeDeclaration } from "
|
|
25
|
-
import type { QtiResponseDeclaration } from "
|
|
26
|
-
import type { QtiRubricBlock } from "
|
|
27
|
-
import type { QtiStylesheet } from "
|
|
28
|
-
import type { QtiTemplateDeclaration } from "
|
|
29
|
-
import type { QtiItem } from "
|
|
30
|
-
import type { QtiAssessmentItemRef } from "
|
|
31
|
-
import type { QtiAssessmentSection } from "
|
|
32
|
-
import type {
|
|
33
|
-
import type {
|
|
34
|
-
import type { TestNavigation } from "
|
|
35
|
-
import type { TestContainer } from "
|
|
15
|
+
} from "./elements.js";
|
|
16
|
+
import type { QtiCompanionMaterialsInfo } from "./elements.js";
|
|
17
|
+
import type { QtiContentBody } from "./elements.js";
|
|
18
|
+
import type { QtiContextDeclaration } from "./elements.js";
|
|
19
|
+
import type { QtiCustomOperator } from "./elements.js";
|
|
20
|
+
import type { QtiFeedbackBlock } from "./elements.js";
|
|
21
|
+
import type { QtiFeedbackInline } from "./elements.js";
|
|
22
|
+
import type { QtiItemBody } from "./elements.js";
|
|
23
|
+
import type { QtiModalFeedback } from "./elements.js";
|
|
24
|
+
import type { QtiOutcomeDeclaration } from "./elements.js";
|
|
25
|
+
import type { QtiResponseDeclaration } from "./elements.js";
|
|
26
|
+
import type { QtiRubricBlock } from "./elements.js";
|
|
27
|
+
import type { QtiStylesheet } from "./elements.js";
|
|
28
|
+
import type { QtiTemplateDeclaration } from "./elements.js";
|
|
29
|
+
import type { QtiItem } from "./item.js";
|
|
30
|
+
import type { QtiAssessmentItemRef } from "./test.js";
|
|
31
|
+
import type { QtiAssessmentSection } from "./test.js";
|
|
32
|
+
import type { QtiTestPart } from "./test.js";
|
|
33
|
+
import type { QtiAssessmentTest } from "./test.js";
|
|
34
|
+
import type { TestNavigation } from "./test.js";
|
|
35
|
+
import type { TestContainer } from "./test.js";
|
|
36
36
|
import type {
|
|
37
37
|
QtiOutcomeProcessing,
|
|
38
38
|
QtiOutcomeProcessingProcessor,
|
|
39
|
-
} from "
|
|
40
|
-
import type { QtiTest } from "
|
|
41
|
-
import type { QtiTestFeedback } from "
|
|
42
|
-
import type {
|
|
43
|
-
import type {
|
|
44
|
-
import type {
|
|
45
|
-
import type {
|
|
46
|
-
import type {
|
|
47
|
-
import type {
|
|
48
|
-
import type {
|
|
49
|
-
import type {
|
|
50
|
-
import type {
|
|
51
|
-
import type {
|
|
52
|
-
import type {
|
|
53
|
-
import type {
|
|
54
|
-
import type {
|
|
55
|
-
import type {
|
|
56
|
-
import type {
|
|
39
|
+
} from "./test.js";
|
|
40
|
+
import type { QtiTest } from "./test.js";
|
|
41
|
+
import type { QtiTestFeedback } from "./test.js";
|
|
42
|
+
import type { QtiTestVariables, QtiTestVariablesExpression } from "./test.js";
|
|
43
|
+
import type { TestNext } from "./test.js";
|
|
44
|
+
import type { TestPrev } from "./test.js";
|
|
45
|
+
import type { TestView } from "./test.js";
|
|
46
|
+
import type { TestItemLink } from "./test.js";
|
|
47
|
+
import type { TestEndAttempt } from "./test.js";
|
|
48
|
+
import type { TestPagingButtonsStamp } from "./test.js";
|
|
49
|
+
import type { TestPrintVariables } from "./test.js";
|
|
50
|
+
import type { TestSectionButtonsStamp } from "./test.js";
|
|
51
|
+
import type { TestSectionLink } from "./test.js";
|
|
52
|
+
import type { TestPrintContext } from "./test.js";
|
|
53
|
+
import type { TestStamp } from "./test.js";
|
|
54
|
+
import type { TestScoringButtons } from "./test.js";
|
|
55
|
+
import type { TestViewToggle } from "./test.js";
|
|
56
|
+
import type { TestScoringFeedback } from "./test.js";
|
|
57
|
+
import type { TestCheckItem } from "./test.js";
|
|
57
58
|
import type {
|
|
58
59
|
TestTtsStop,
|
|
59
60
|
TestTtsResume,
|
|
@@ -64,136 +65,123 @@ import type {
|
|
|
64
65
|
TestItemToSpeech,
|
|
65
66
|
SpeechState,
|
|
66
67
|
ttsContext,
|
|
67
|
-
} from "
|
|
68
|
-
import type {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
} from "
|
|
72
|
-
import type {
|
|
73
|
-
import type {
|
|
74
|
-
import type {
|
|
75
|
-
import type {
|
|
76
|
-
import type {
|
|
77
|
-
import type {
|
|
78
|
-
import type {
|
|
79
|
-
import type {
|
|
80
|
-
import type {
|
|
81
|
-
import type {
|
|
82
|
-
import type {
|
|
83
|
-
import type {
|
|
84
|
-
import type {
|
|
85
|
-
import type {
|
|
86
|
-
import type {
|
|
87
|
-
import type {
|
|
88
|
-
import type {
|
|
89
|
-
import type {
|
|
90
|
-
import type {
|
|
91
|
-
import type {
|
|
92
|
-
import type {
|
|
93
|
-
import type {
|
|
94
|
-
import type {
|
|
95
|
-
import type {
|
|
96
|
-
import type {
|
|
97
|
-
import type {
|
|
98
|
-
import type {
|
|
99
|
-
import type {
|
|
100
|
-
import type {
|
|
101
|
-
import type {
|
|
102
|
-
import type {
|
|
103
|
-
import type {
|
|
104
|
-
import type {
|
|
105
|
-
import type {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
} from "
|
|
109
|
-
import type {
|
|
110
|
-
import type {
|
|
111
|
-
import type {
|
|
112
|
-
import type {
|
|
113
|
-
import type {
|
|
114
|
-
import type {
|
|
115
|
-
import type {
|
|
116
|
-
import type {
|
|
117
|
-
import type {
|
|
118
|
-
import type {
|
|
119
|
-
import type {
|
|
120
|
-
import type {
|
|
121
|
-
import type {
|
|
122
|
-
import type {
|
|
123
|
-
import type {
|
|
124
|
-
import type {
|
|
125
|
-
import type {
|
|
126
|
-
import type {
|
|
127
|
-
import type {
|
|
128
|
-
import type {
|
|
129
|
-
import type {
|
|
130
|
-
import type {
|
|
131
|
-
import type {
|
|
132
|
-
import type {
|
|
133
|
-
import type {
|
|
134
|
-
import type {
|
|
135
|
-
import type {
|
|
136
|
-
import type {
|
|
137
|
-
import type {
|
|
138
|
-
import type {
|
|
139
|
-
import type {
|
|
140
|
-
import type {
|
|
141
|
-
import type {
|
|
142
|
-
import type {
|
|
143
|
-
import type {
|
|
144
|
-
import type {
|
|
145
|
-
import type { QtiOrdered } from "packages/qti-processing/src/components/qti-ordered/qti-ordered.ts";
|
|
146
|
-
import type { QtiPower } from "packages/qti-processing/src/components/qti-power/qti-power.ts";
|
|
147
|
-
import type { QtiPatternMatch } from "packages/qti-processing/src/components/qti-pattern-match/qti-pattern-match.ts";
|
|
148
|
-
import type { QtiPrintedVariable } from "packages/qti-processing/src/components/qti-printed-variable/qti-printed-variable.ts";
|
|
149
|
-
import type { QtiProduct } from "packages/qti-processing/src/components/qti-product/qti-product.ts";
|
|
150
|
-
import type { QtiRepeat } from "packages/qti-processing/src/components/qti-repeat/qti-repeat.ts";
|
|
151
|
-
import type { QtiRule } from "packages/qti-processing/src/components/qti-rule/qti-rule.ts";
|
|
68
|
+
} from "./test.js";
|
|
69
|
+
import type { QtiSimpleAssociableChoice } from "./interactions.js";
|
|
70
|
+
import type { QtiAssociateInteraction } from "./interactions.js";
|
|
71
|
+
import type { QtiAssociableHotspot } from "./interactions.js";
|
|
72
|
+
import type { QtiGap } from "./interactions.js";
|
|
73
|
+
import type { QtiGapImg } from "./interactions.js";
|
|
74
|
+
import type { QtiGapText } from "./interactions.js";
|
|
75
|
+
import type { QtiHotspotChoice } from "./interactions.js";
|
|
76
|
+
import type { QtiHottext } from "./interactions.js";
|
|
77
|
+
import type { QtiInlineChoice } from "./interactions.js";
|
|
78
|
+
import type { QtiPrompt } from "./interactions.js";
|
|
79
|
+
import type { QtiSimpleChoice } from "./interactions.js";
|
|
80
|
+
import type { QtiChoiceInteraction } from "./interactions.js";
|
|
81
|
+
import type { QtiCustomInteraction } from "./interactions.js";
|
|
82
|
+
import type { QtiEndAttemptInteraction } from "./interactions.js";
|
|
83
|
+
import type { QtiExtendedTextInteraction } from "./interactions.js";
|
|
84
|
+
import type { QtiGapMatchInteraction } from "./interactions.js";
|
|
85
|
+
import type { QtiGraphicAssociateInteraction } from "./interactions.js";
|
|
86
|
+
import type { QtiGraphicGapMatchInteraction } from "./interactions.js";
|
|
87
|
+
import type { QtiGraphicOrderInteraction } from "./interactions.js";
|
|
88
|
+
import type { QtiHotspotInteraction } from "./interactions.js";
|
|
89
|
+
import type { QtiHottextInteraction } from "./interactions.js";
|
|
90
|
+
import type { QtiInlineChoiceInteraction } from "./interactions.js";
|
|
91
|
+
import type { QtiMatchInteraction } from "./interactions.js";
|
|
92
|
+
import type { QtiMediaInteraction } from "./interactions.js";
|
|
93
|
+
import type { QtiOrderInteraction } from "./interactions.js";
|
|
94
|
+
import type { QtiPortableCustomInteraction } from "./interactions.js";
|
|
95
|
+
import type { QtiPortableCustomInteractionTest } from "./interactions.js";
|
|
96
|
+
import type { QtiPositionObjectInteraction } from "./interactions.js";
|
|
97
|
+
import type { QtiPositionObjectStage } from "./interactions.js";
|
|
98
|
+
import type { QtiSelectPointInteraction } from "./interactions.js";
|
|
99
|
+
import type { QtiSliderInteraction } from "./interactions.js";
|
|
100
|
+
import type { QtiTextEntryInteraction } from "./interactions.js";
|
|
101
|
+
import type { QtiUploadInteraction } from "./interactions.js";
|
|
102
|
+
import type { QtiAnd, qtiAndMixin } from "./processing.js";
|
|
103
|
+
import type { QtiAnyN } from "./processing.js";
|
|
104
|
+
import type { QtiBaseValue } from "./processing.js";
|
|
105
|
+
import type { QtiContainerSize } from "./processing.js";
|
|
106
|
+
import type { QtiContains } from "./processing.js";
|
|
107
|
+
import type { QtiCorrect } from "./processing.js";
|
|
108
|
+
import type { QtiDefault } from "./processing.js";
|
|
109
|
+
import type { QtiEqualRounded } from "./processing.js";
|
|
110
|
+
import type { QtiRound } from "./processing.js";
|
|
111
|
+
import type { QtiRoundTo } from "./processing.js";
|
|
112
|
+
import type { QtiEqual } from "./processing.js";
|
|
113
|
+
import type { QtiDivide } from "./processing.js";
|
|
114
|
+
import type { QtiDurationGte } from "./processing.js";
|
|
115
|
+
import type { QtiDurationLt } from "./processing.js";
|
|
116
|
+
import type { QtiGcd } from "./processing.js";
|
|
117
|
+
import type { QtiGt } from "./processing.js";
|
|
118
|
+
import type { QtiGte } from "./processing.js";
|
|
119
|
+
import type { QtiInside } from "./processing.js";
|
|
120
|
+
import type { QtiIntegerDivide } from "./processing.js";
|
|
121
|
+
import type { QtiIntegerModulus } from "./processing.js";
|
|
122
|
+
import type { QtiIntegerToFloat } from "./processing.js";
|
|
123
|
+
import type { QtiLcm } from "./processing.js";
|
|
124
|
+
import type { QtiNull } from "./processing.js";
|
|
125
|
+
import type { QtiIsNull } from "./processing.js";
|
|
126
|
+
import type { QtiFieldValue } from "./processing.js";
|
|
127
|
+
import type { QtiLt } from "./processing.js";
|
|
128
|
+
import type { QtiLte } from "./processing.js";
|
|
129
|
+
import type { QtiMapResponse } from "./processing.js";
|
|
130
|
+
import type { QtiMapResponsePoint } from "./processing.js";
|
|
131
|
+
import type { QtiMathOperator } from "./processing.js";
|
|
132
|
+
import type { QtiMatch } from "./processing.js";
|
|
133
|
+
import type { QtiMax } from "./processing.js";
|
|
134
|
+
import type { QtiMember } from "./processing.js";
|
|
135
|
+
import type { QtiMin } from "./processing.js";
|
|
136
|
+
import type { QtiMultiple } from "./processing.js";
|
|
137
|
+
import type { QtiNot } from "./processing.js";
|
|
138
|
+
import type { QtiOr } from "./processing.js";
|
|
139
|
+
import type { QtiOrdered } from "./processing.js";
|
|
140
|
+
import type { QtiPower } from "./processing.js";
|
|
141
|
+
import type { QtiPatternMatch } from "./processing.js";
|
|
142
|
+
import type { QtiPrintedVariable } from "./processing.js";
|
|
143
|
+
import type { QtiProduct } from "./processing.js";
|
|
144
|
+
import type { QtiRepeat } from "./processing.js";
|
|
145
|
+
import type { QtiRule } from "./processing.js";
|
|
152
146
|
import type {
|
|
153
147
|
QtiSetCorrectResponse,
|
|
154
148
|
QtiSetCorrectResponseRule,
|
|
155
|
-
} from "
|
|
149
|
+
} from "./processing.js";
|
|
156
150
|
import type {
|
|
157
151
|
QtiSetTemplateValue,
|
|
158
152
|
QtiSetTemplateValueRule,
|
|
159
|
-
} from "
|
|
160
|
-
import type { QtiStatsOperator } from "
|
|
161
|
-
import type {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
} from "
|
|
165
|
-
import type {
|
|
166
|
-
import type {
|
|
167
|
-
import type {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
} from "
|
|
171
|
-
import type {
|
|
172
|
-
import type {
|
|
173
|
-
import type {
|
|
174
|
-
import type {
|
|
175
|
-
import type {
|
|
176
|
-
import type { QtiIndex } from "packages/qti-processing/src/components/qti-index/qti-index.ts";
|
|
177
|
-
import type { QtiLookupOutcomeValue } from "packages/qti-processing/src/components/qti-lookup-outcome-value/qti-lookup-outcome-value.ts";
|
|
178
|
-
import type { QtiResponseCondition } from "packages/qti-processing/src/components/qti-response-condition/qti-response-condition.ts";
|
|
179
|
-
import type { QtiResponseElse } from "packages/qti-processing/src/components/qti-response-else/qti-response-else.ts";
|
|
180
|
-
import type { QtiResponseIf } from "packages/qti-processing/src/components/qti-response-if/qti-response-if.ts";
|
|
181
|
-
import type { QtiResponseElseIf } from "packages/qti-processing/src/components/qti-response-else-if/qti-response-else-if.ts";
|
|
153
|
+
} from "./processing.js";
|
|
154
|
+
import type { QtiStatsOperator } from "./processing.js";
|
|
155
|
+
import type { QtiSubtract, qtiSubtractMixin } from "./processing.js";
|
|
156
|
+
import type { QtiSubstring } from "./processing.js";
|
|
157
|
+
import type { QtiStringMatch } from "./processing.js";
|
|
158
|
+
import type { QtiSum, QtiSumExpression } from "./processing.js";
|
|
159
|
+
import type { QtiTruncate } from "./processing.js";
|
|
160
|
+
import type { QtiVariable } from "./processing.js";
|
|
161
|
+
import type { QtiRandomInteger } from "./processing.js";
|
|
162
|
+
import type { QtiRandom } from "./processing.js";
|
|
163
|
+
import type { QtiDelete } from "./processing.js";
|
|
164
|
+
import type { QtiIndex } from "./processing.js";
|
|
165
|
+
import type { QtiLookupOutcomeValue } from "./processing.js";
|
|
166
|
+
import type { QtiResponseCondition } from "./processing.js";
|
|
167
|
+
import type { QtiResponseElse } from "./processing.js";
|
|
168
|
+
import type { QtiResponseIf } from "./processing.js";
|
|
169
|
+
import type { QtiResponseElseIf } from "./processing.js";
|
|
182
170
|
import type {
|
|
183
171
|
QtiSetOutcomeValue,
|
|
184
172
|
QtiSetOutcomeValueRule,
|
|
185
|
-
} from "
|
|
186
|
-
import type { QtiAssessmentItemCorrection } from "
|
|
187
|
-
import type { QtiItemCorrection } from "
|
|
173
|
+
} from "./processing.js";
|
|
174
|
+
import type { QtiAssessmentItemCorrection } from "./corrections.js";
|
|
175
|
+
import type { QtiItemCorrection } from "./corrections.js";
|
|
188
176
|
import type {
|
|
189
177
|
QtiTestCorrection,
|
|
190
178
|
TestNavigationCorrection,
|
|
191
179
|
TestCheckItemCorrection,
|
|
192
|
-
} from "
|
|
193
|
-
import type { ItemCorrectResponseMode } from "
|
|
194
|
-
import type { ItemShowCandidateCorrection } from "
|
|
195
|
-
import type { ItemShowCorrectResponse } from "
|
|
196
|
-
import type { TestShowCorrectResponse } from "
|
|
180
|
+
} from "./corrections.js";
|
|
181
|
+
import type { ItemCorrectResponseMode } from "./corrections.js";
|
|
182
|
+
import type { ItemShowCandidateCorrection } from "./corrections.js";
|
|
183
|
+
import type { ItemShowCorrectResponse } from "./corrections.js";
|
|
184
|
+
import type { TestShowCorrectResponse } from "./corrections.js";
|
|
197
185
|
|
|
198
186
|
/**
|
|
199
187
|
* This type can be used to create scoped tags for your components.
|
|
@@ -246,7 +234,7 @@ type BaseProps<T extends HTMLElement> = {
|
|
|
246
234
|
/** 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. */
|
|
247
235
|
part?: string;
|
|
248
236
|
/** Use the ref attribute with a variable to assign a DOM element to the variable once the element is rendered. */
|
|
249
|
-
ref?: T | ((e: T) => void);
|
|
237
|
+
ref?: T | ((e: T) => void) | { current: T | null } | null;
|
|
250
238
|
/** Adds a reference for a custom element slot */
|
|
251
239
|
slot?: string;
|
|
252
240
|
/** Prop for setting inline styles */
|
|
@@ -867,6 +855,14 @@ export type QtiAssessmentSectionProps = {
|
|
|
867
855
|
/** */
|
|
868
856
|
keepTogether?: QtiAssessmentSection["keepTogether"];
|
|
869
857
|
/** */
|
|
858
|
+
"navigation-mode"?: QtiAssessmentSection["navigationMode"];
|
|
859
|
+
/** */
|
|
860
|
+
navigationMode?: QtiAssessmentSection["navigationMode"];
|
|
861
|
+
/** */
|
|
862
|
+
"submission-mode"?: QtiAssessmentSection["submissionMode"];
|
|
863
|
+
/** */
|
|
864
|
+
submissionMode?: QtiAssessmentSection["submissionMode"];
|
|
865
|
+
/** */
|
|
870
866
|
title?: QtiAssessmentSection["title"];
|
|
871
867
|
/** */
|
|
872
868
|
_testContext?: QtiAssessmentSection["_testContext"];
|
|
@@ -889,39 +885,19 @@ export type QtiAssessmentSectionSolidJsProps = {
|
|
|
889
885
|
/** */
|
|
890
886
|
"prop:keepTogether"?: QtiAssessmentSection["keepTogether"];
|
|
891
887
|
/** */
|
|
892
|
-
"
|
|
893
|
-
/** */
|
|
894
|
-
"prop:_testContext"?: QtiAssessmentSection["_testContext"];
|
|
895
|
-
/** */
|
|
896
|
-
"on:qti-assessment-section-connected"?: (e: Event) => void;
|
|
897
|
-
|
|
898
|
-
/** Set the innerHTML of the element */
|
|
899
|
-
innerHTML?: string;
|
|
900
|
-
/** Set the textContent of the element */
|
|
901
|
-
textContent?: string | number;
|
|
902
|
-
};
|
|
903
|
-
|
|
904
|
-
export type QtiAssessmentTestProps = {
|
|
905
|
-
/** */
|
|
906
|
-
identifier?: QtiAssessmentTest["identifier"];
|
|
907
|
-
/** */
|
|
908
|
-
title?: QtiAssessmentTest["title"];
|
|
888
|
+
"attr:navigation-mode"?: QtiAssessmentSection["navigationMode"];
|
|
909
889
|
/** */
|
|
910
|
-
|
|
911
|
-
|
|
890
|
+
"prop:navigationMode"?: QtiAssessmentSection["navigationMode"];
|
|
912
891
|
/** */
|
|
913
|
-
"
|
|
914
|
-
};
|
|
915
|
-
|
|
916
|
-
export type QtiAssessmentTestSolidJsProps = {
|
|
892
|
+
"attr:submission-mode"?: QtiAssessmentSection["submissionMode"];
|
|
917
893
|
/** */
|
|
918
|
-
"prop:
|
|
894
|
+
"prop:submissionMode"?: QtiAssessmentSection["submissionMode"];
|
|
919
895
|
/** */
|
|
920
|
-
"prop:title"?:
|
|
896
|
+
"prop:title"?: QtiAssessmentSection["title"];
|
|
921
897
|
/** */
|
|
922
|
-
"prop:_testContext"?:
|
|
898
|
+
"prop:_testContext"?: QtiAssessmentSection["_testContext"];
|
|
923
899
|
/** */
|
|
924
|
-
"on:qti-assessment-
|
|
900
|
+
"on:qti-assessment-section-connected"?: (e: Event) => void;
|
|
925
901
|
|
|
926
902
|
/** Set the innerHTML of the element */
|
|
927
903
|
innerHTML?: string;
|
|
@@ -973,6 +949,34 @@ export type QtiTestPartSolidJsProps = {
|
|
|
973
949
|
textContent?: string | number;
|
|
974
950
|
};
|
|
975
951
|
|
|
952
|
+
export type QtiAssessmentTestProps = {
|
|
953
|
+
/** */
|
|
954
|
+
identifier?: QtiAssessmentTest["identifier"];
|
|
955
|
+
/** */
|
|
956
|
+
title?: QtiAssessmentTest["title"];
|
|
957
|
+
/** */
|
|
958
|
+
_testContext?: QtiAssessmentTest["_testContext"];
|
|
959
|
+
|
|
960
|
+
/** */
|
|
961
|
+
"onqti-assessment-test-connected"?: (e: CustomEvent) => void;
|
|
962
|
+
};
|
|
963
|
+
|
|
964
|
+
export type QtiAssessmentTestSolidJsProps = {
|
|
965
|
+
/** */
|
|
966
|
+
"prop:identifier"?: QtiAssessmentTest["identifier"];
|
|
967
|
+
/** */
|
|
968
|
+
"prop:title"?: QtiAssessmentTest["title"];
|
|
969
|
+
/** */
|
|
970
|
+
"prop:_testContext"?: QtiAssessmentTest["_testContext"];
|
|
971
|
+
/** */
|
|
972
|
+
"on:qti-assessment-test-connected"?: (e: CustomEvent) => void;
|
|
973
|
+
|
|
974
|
+
/** Set the innerHTML of the element */
|
|
975
|
+
innerHTML?: string;
|
|
976
|
+
/** Set the textContent of the element */
|
|
977
|
+
textContent?: string | number;
|
|
978
|
+
};
|
|
979
|
+
|
|
976
980
|
export type TestNavigationProps = {
|
|
977
981
|
/** */
|
|
978
982
|
identifier?: TestNavigation["identifier"];
|
|
@@ -1113,6 +1117,25 @@ export type QtiTestFeedbackSolidJsProps = {
|
|
|
1113
1117
|
textContent?: string | number;
|
|
1114
1118
|
};
|
|
1115
1119
|
|
|
1120
|
+
export type QtiTestVariablesProps = {
|
|
1121
|
+
/** */
|
|
1122
|
+
_testContext?: QtiTestVariables["_testContext"];
|
|
1123
|
+
/** */
|
|
1124
|
+
getVariables?: QtiTestVariables["getVariables"];
|
|
1125
|
+
};
|
|
1126
|
+
|
|
1127
|
+
export type QtiTestVariablesSolidJsProps = {
|
|
1128
|
+
/** */
|
|
1129
|
+
"prop:_testContext"?: QtiTestVariables["_testContext"];
|
|
1130
|
+
/** */
|
|
1131
|
+
"prop:getVariables"?: QtiTestVariables["getVariables"];
|
|
1132
|
+
|
|
1133
|
+
/** Set the innerHTML of the element */
|
|
1134
|
+
innerHTML?: string;
|
|
1135
|
+
/** Set the textContent of the element */
|
|
1136
|
+
textContent?: string | number;
|
|
1137
|
+
};
|
|
1138
|
+
|
|
1116
1139
|
export type TestNextProps = {
|
|
1117
1140
|
/** */
|
|
1118
1141
|
disabled?: TestNext["_internalDisabled"];
|
|
@@ -1509,25 +1532,6 @@ export type TestTtsNextSolidJsProps = {
|
|
|
1509
1532
|
textContent?: string | number;
|
|
1510
1533
|
};
|
|
1511
1534
|
|
|
1512
|
-
export type QtiTestVariablesProps = {
|
|
1513
|
-
/** */
|
|
1514
|
-
_testContext?: QtiTestVariables["_testContext"];
|
|
1515
|
-
/** */
|
|
1516
|
-
getVariables?: QtiTestVariables["getVariables"];
|
|
1517
|
-
};
|
|
1518
|
-
|
|
1519
|
-
export type QtiTestVariablesSolidJsProps = {
|
|
1520
|
-
/** */
|
|
1521
|
-
"prop:_testContext"?: QtiTestVariables["_testContext"];
|
|
1522
|
-
/** */
|
|
1523
|
-
"prop:getVariables"?: QtiTestVariables["getVariables"];
|
|
1524
|
-
|
|
1525
|
-
/** Set the innerHTML of the element */
|
|
1526
|
-
innerHTML?: string;
|
|
1527
|
-
/** Set the textContent of the element */
|
|
1528
|
-
textContent?: string | number;
|
|
1529
|
-
};
|
|
1530
|
-
|
|
1531
1535
|
export type QtiSimpleAssociableChoiceProps = {
|
|
1532
1536
|
/** Required. Value recorded in the response pair when this choice participates in an association. */
|
|
1533
1537
|
identifier?: QtiSimpleAssociableChoice["identifier"];
|
|
@@ -1626,66 +1630,23 @@ export type QtiAssociateInteractionSolidJsProps = {
|
|
|
1626
1630
|
textContent?: string | number;
|
|
1627
1631
|
};
|
|
1628
1632
|
|
|
1629
|
-
export type
|
|
1630
|
-
/** Required. Value recorded in the response when this choice is selected, or its position when used for ordering. */
|
|
1631
|
-
identifier?: QtiSimpleChoice["identifier"];
|
|
1632
|
-
/** Pins this choice in place when the enclosing interaction is shuffled. */
|
|
1633
|
-
fixed?: QtiSimpleChoice["fixed"];
|
|
1634
|
-
/** Identifier of a template variable controlling this choice's visibility. */
|
|
1635
|
-
"template-identifier"?: QtiSimpleChoice["templateIdentifier"];
|
|
1636
|
-
/** Identifier of a template variable controlling this choice's visibility. */
|
|
1637
|
-
templateIdentifier?: QtiSimpleChoice["templateIdentifier"];
|
|
1638
|
-
/** How `template-identifier` controls visibility. */
|
|
1639
|
-
"show-hide"?: QtiSimpleChoice["showHide"];
|
|
1640
|
-
/** How `template-identifier` controls visibility. */
|
|
1641
|
-
showHide?: QtiSimpleChoice["showHide"];
|
|
1642
|
-
/** */
|
|
1643
|
-
tabindex?: QtiSimpleChoice["tabIndex"];
|
|
1644
|
-
/** */
|
|
1645
|
-
tabIndex?: QtiSimpleChoice["tabIndex"];
|
|
1646
|
-
/** */
|
|
1647
|
-
"aria-disabled"?: QtiSimpleChoice["disabled"];
|
|
1648
|
-
/** */
|
|
1649
|
-
disabled?: QtiSimpleChoice["disabled"];
|
|
1650
|
-
/** */
|
|
1651
|
-
"aria-readonly"?: QtiSimpleChoice["readonly"];
|
|
1652
|
-
/** */
|
|
1653
|
-
readonly?: QtiSimpleChoice["readonly"];
|
|
1633
|
+
export type QtiAssociableHotspotProps = {
|
|
1654
1634
|
/** */
|
|
1655
|
-
|
|
1635
|
+
identifier?: QtiAssociableHotspot["identifier"];
|
|
1636
|
+
/** Carries `:state(filled)` while the hotspot holds a chip. */
|
|
1637
|
+
internals?: QtiAssociableHotspot["internals"];
|
|
1638
|
+
|
|
1656
1639
|
/** */
|
|
1657
|
-
|
|
1640
|
+
"onqti-register-hotspot"?: (e: CustomEvent) => void;
|
|
1658
1641
|
};
|
|
1659
1642
|
|
|
1660
|
-
export type
|
|
1661
|
-
/** Required. Value recorded in the response when this choice is selected, or its position when used for ordering. */
|
|
1662
|
-
"prop:identifier"?: QtiSimpleChoice["identifier"];
|
|
1663
|
-
/** Pins this choice in place when the enclosing interaction is shuffled. */
|
|
1664
|
-
"prop:fixed"?: QtiSimpleChoice["fixed"];
|
|
1665
|
-
/** Identifier of a template variable controlling this choice's visibility. */
|
|
1666
|
-
"attr:template-identifier"?: QtiSimpleChoice["templateIdentifier"];
|
|
1667
|
-
/** Identifier of a template variable controlling this choice's visibility. */
|
|
1668
|
-
"prop:templateIdentifier"?: QtiSimpleChoice["templateIdentifier"];
|
|
1669
|
-
/** How `template-identifier` controls visibility. */
|
|
1670
|
-
"attr:show-hide"?: QtiSimpleChoice["showHide"];
|
|
1671
|
-
/** How `template-identifier` controls visibility. */
|
|
1672
|
-
"prop:showHide"?: QtiSimpleChoice["showHide"];
|
|
1673
|
-
/** */
|
|
1674
|
-
"attr:tabindex"?: QtiSimpleChoice["tabIndex"];
|
|
1675
|
-
/** */
|
|
1676
|
-
"prop:tabIndex"?: QtiSimpleChoice["tabIndex"];
|
|
1677
|
-
/** */
|
|
1678
|
-
"bool:aria-disabled"?: QtiSimpleChoice["disabled"];
|
|
1679
|
-
/** */
|
|
1680
|
-
"prop:disabled"?: QtiSimpleChoice["disabled"];
|
|
1681
|
-
/** */
|
|
1682
|
-
"bool:aria-readonly"?: QtiSimpleChoice["readonly"];
|
|
1683
|
-
/** */
|
|
1684
|
-
"prop:readonly"?: QtiSimpleChoice["readonly"];
|
|
1643
|
+
export type QtiAssociableHotspotSolidJsProps = {
|
|
1685
1644
|
/** */
|
|
1686
|
-
"prop:
|
|
1645
|
+
"prop:identifier"?: QtiAssociableHotspot["identifier"];
|
|
1646
|
+
/** Carries `:state(filled)` while the hotspot holds a chip. */
|
|
1647
|
+
"prop:internals"?: QtiAssociableHotspot["internals"];
|
|
1687
1648
|
/** */
|
|
1688
|
-
"
|
|
1649
|
+
"on:qti-register-hotspot"?: (e: CustomEvent) => void;
|
|
1689
1650
|
|
|
1690
1651
|
/** Set the innerHTML of the element */
|
|
1691
1652
|
innerHTML?: string;
|
|
@@ -1693,208 +1654,58 @@ export type QtiSimpleChoiceSolidJsProps = {
|
|
|
1693
1654
|
textContent?: string | number;
|
|
1694
1655
|
};
|
|
1695
1656
|
|
|
1696
|
-
export type
|
|
1697
|
-
/** Required.
|
|
1698
|
-
|
|
1699
|
-
/**
|
|
1700
|
-
|
|
1701
|
-
/**
|
|
1702
|
-
"max-choices"?: QtiChoiceInteraction["maxChoices"];
|
|
1703
|
-
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
1704
|
-
maxChoices?: QtiChoiceInteraction["maxChoices"];
|
|
1705
|
-
/** Minimum selectable choices for a valid response. */
|
|
1706
|
-
"min-choices"?: QtiChoiceInteraction["minChoices"];
|
|
1707
|
-
/** Minimum selectable choices for a valid response. */
|
|
1708
|
-
minChoices?: QtiChoiceInteraction["minChoices"];
|
|
1709
|
-
/** @deprecated , use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead - Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary. */
|
|
1710
|
-
orientation?: QtiChoiceInteraction["orientation"];
|
|
1711
|
-
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
1712
|
-
shuffle?: unknown;
|
|
1713
|
-
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
1657
|
+
export type QtiGapProps = {
|
|
1658
|
+
/** Required. Value recorded as the gap side of the response pair. */
|
|
1659
|
+
identifier?: QtiGap["identifier"];
|
|
1660
|
+
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1661
|
+
"match-max"?: unknown;
|
|
1662
|
+
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1714
1663
|
undefined?: unknown;
|
|
1715
|
-
/**
|
|
1716
|
-
|
|
1717
|
-
/**
|
|
1718
|
-
|
|
1719
|
-
/**
|
|
1720
|
-
|
|
1721
|
-
/**
|
|
1722
|
-
|
|
1723
|
-
/** */
|
|
1724
|
-
name?: QtiChoiceInteraction["name"];
|
|
1664
|
+
/** Minimum tokens this gap must hold. */
|
|
1665
|
+
"match-min"?: unknown;
|
|
1666
|
+
/** Not implemented. Whether this gap must be filled for the response to be valid. */
|
|
1667
|
+
required?: unknown;
|
|
1668
|
+
/** Not implemented. Identifier of a template variable controlling this gap's visibility. */
|
|
1669
|
+
"template-identifier"?: unknown;
|
|
1670
|
+
/** Not implemented. How `template-identifier` controls visibility. */
|
|
1671
|
+
"show-hide"?: unknown;
|
|
1725
1672
|
/** */
|
|
1726
|
-
|
|
1727
|
-
/**
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
1731
|
-
setting the field is all that is needed:
|
|
1673
|
+
tabindex?: QtiGap["tabindex"];
|
|
1674
|
+
/** Carries `:state(filled)` while the gap holds a chip. */
|
|
1675
|
+
internals?: QtiGap["internals"];
|
|
1676
|
+
};
|
|
1732
1677
|
|
|
1733
|
-
|
|
1678
|
+
export type QtiGapSolidJsProps = {
|
|
1679
|
+
/** Required. Value recorded as the gap side of the response pair. */
|
|
1680
|
+
"prop:identifier"?: QtiGap["identifier"];
|
|
1681
|
+
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1682
|
+
"attr:match-max"?: unknown;
|
|
1683
|
+
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1684
|
+
"prop:undefined"?: unknown;
|
|
1685
|
+
/** Minimum tokens this gap must hold. */
|
|
1686
|
+
"attr:match-min"?: unknown;
|
|
1687
|
+
/** Not implemented. Whether this gap must be filled for the response to be valid. */
|
|
1688
|
+
"bool:required"?: unknown;
|
|
1689
|
+
/** Not implemented. Identifier of a template variable controlling this gap's visibility. */
|
|
1690
|
+
"attr:template-identifier"?: unknown;
|
|
1691
|
+
/** Not implemented. How `template-identifier` controls visibility. */
|
|
1692
|
+
"attr:show-hide"?: unknown;
|
|
1693
|
+
/** */
|
|
1694
|
+
"prop:tabindex"?: QtiGap["tabindex"];
|
|
1695
|
+
/** Carries `:state(filled)` while the gap holds a chip. */
|
|
1696
|
+
"prop:internals"?: QtiGap["internals"];
|
|
1734
1697
|
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1698
|
+
/** Set the innerHTML of the element */
|
|
1699
|
+
innerHTML?: string;
|
|
1700
|
+
/** Set the textContent of the element */
|
|
1701
|
+
textContent?: string | number;
|
|
1702
|
+
};
|
|
1738
1703
|
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
1745
|
-
|
|
1746
|
-
It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
1747
|
-
`as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
1748
|
-
casts, rather than pretending at an encapsulation the type system was the only thing enforcing. */
|
|
1749
|
-
configContext?: QtiChoiceInteraction["configContext"];
|
|
1750
|
-
|
|
1751
|
-
/** */
|
|
1752
|
-
"onqti-register-interaction"?: (e: CustomEvent) => void;
|
|
1753
|
-
/** */
|
|
1754
|
-
"onqti-interaction-response"?: (e: CustomEvent) => void;
|
|
1755
|
-
};
|
|
1756
|
-
|
|
1757
|
-
export type QtiChoiceInteractionSolidJsProps = {
|
|
1758
|
-
/** Required. Identifier of the bound response variable. */
|
|
1759
|
-
"attr:response-identifier"?: QtiChoiceInteraction["responseIdentifier"];
|
|
1760
|
-
/** Required. Identifier of the bound response variable. */
|
|
1761
|
-
"prop:responseIdentifier"?: QtiChoiceInteraction["responseIdentifier"];
|
|
1762
|
-
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
1763
|
-
"attr:max-choices"?: QtiChoiceInteraction["maxChoices"];
|
|
1764
|
-
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
1765
|
-
"prop:maxChoices"?: QtiChoiceInteraction["maxChoices"];
|
|
1766
|
-
/** Minimum selectable choices for a valid response. */
|
|
1767
|
-
"attr:min-choices"?: QtiChoiceInteraction["minChoices"];
|
|
1768
|
-
/** Minimum selectable choices for a valid response. */
|
|
1769
|
-
"prop:minChoices"?: QtiChoiceInteraction["minChoices"];
|
|
1770
|
-
/** @deprecated , use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead - Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary. */
|
|
1771
|
-
"prop:orientation"?: QtiChoiceInteraction["orientation"];
|
|
1772
|
-
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
1773
|
-
"bool:shuffle"?: unknown;
|
|
1774
|
-
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
1775
|
-
"prop:undefined"?: unknown;
|
|
1776
|
-
/** QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`. */
|
|
1777
|
-
"prop:class"?: QtiChoiceInteraction["class"];
|
|
1778
|
-
/** */
|
|
1779
|
-
"prop:response"?: QtiChoiceInteraction["response"];
|
|
1780
|
-
/** */
|
|
1781
|
-
"prop:disabled"?: QtiChoiceInteraction["disabled"];
|
|
1782
|
-
/** */
|
|
1783
|
-
"prop:readonly"?: QtiChoiceInteraction["readonly"];
|
|
1784
|
-
/** */
|
|
1785
|
-
"prop:name"?: QtiChoiceInteraction["name"];
|
|
1786
|
-
/** */
|
|
1787
|
-
"prop:value"?: QtiChoiceInteraction["value"];
|
|
1788
|
-
/** Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
1789
|
-
|
|
1790
|
-
**Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
1791
|
-
has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
1792
|
-
setting the field is all that is needed:
|
|
1793
|
-
|
|
1794
|
-
orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
1795
|
-
|
|
1796
|
-
With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
1797
|
-
provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
1798
|
-
field. There is no merging — set the value on the provider in that case.
|
|
1799
|
-
|
|
1800
|
-
In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
1801
|
-
|
|
1802
|
-
html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
1803
|
-
|
|
1804
|
-
The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
1805
|
-
is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
1806
|
-
|
|
1807
|
-
It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
1808
|
-
`as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
1809
|
-
casts, rather than pretending at an encapsulation the type system was the only thing enforcing. */
|
|
1810
|
-
"prop:configContext"?: QtiChoiceInteraction["configContext"];
|
|
1811
|
-
/** */
|
|
1812
|
-
"on:qti-register-interaction"?: (e: CustomEvent) => void;
|
|
1813
|
-
/** */
|
|
1814
|
-
"on:qti-interaction-response"?: (e: CustomEvent) => void;
|
|
1815
|
-
|
|
1816
|
-
/** Set the innerHTML of the element */
|
|
1817
|
-
innerHTML?: string;
|
|
1818
|
-
/** Set the textContent of the element */
|
|
1819
|
-
textContent?: string | number;
|
|
1820
|
-
};
|
|
1821
|
-
|
|
1822
|
-
export type QtiAssociableHotspotProps = {
|
|
1823
|
-
/** */
|
|
1824
|
-
identifier?: QtiAssociableHotspot["identifier"];
|
|
1825
|
-
/** Carries `:state(filled)` while the hotspot holds a chip. */
|
|
1826
|
-
internals?: QtiAssociableHotspot["internals"];
|
|
1827
|
-
|
|
1828
|
-
/** */
|
|
1829
|
-
"onqti-register-hotspot"?: (e: CustomEvent) => void;
|
|
1830
|
-
};
|
|
1831
|
-
|
|
1832
|
-
export type QtiAssociableHotspotSolidJsProps = {
|
|
1833
|
-
/** */
|
|
1834
|
-
"prop:identifier"?: QtiAssociableHotspot["identifier"];
|
|
1835
|
-
/** Carries `:state(filled)` while the hotspot holds a chip. */
|
|
1836
|
-
"prop:internals"?: QtiAssociableHotspot["internals"];
|
|
1837
|
-
/** */
|
|
1838
|
-
"on:qti-register-hotspot"?: (e: CustomEvent) => void;
|
|
1839
|
-
|
|
1840
|
-
/** Set the innerHTML of the element */
|
|
1841
|
-
innerHTML?: string;
|
|
1842
|
-
/** Set the textContent of the element */
|
|
1843
|
-
textContent?: string | number;
|
|
1844
|
-
};
|
|
1845
|
-
|
|
1846
|
-
export type QtiGapProps = {
|
|
1847
|
-
/** Required. Value recorded as the gap side of the response pair. */
|
|
1848
|
-
identifier?: QtiGap["identifier"];
|
|
1849
|
-
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1850
|
-
"match-max"?: unknown;
|
|
1851
|
-
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1852
|
-
undefined?: unknown;
|
|
1853
|
-
/** Minimum tokens this gap must hold. */
|
|
1854
|
-
"match-min"?: unknown;
|
|
1855
|
-
/** Not implemented. Whether this gap must be filled for the response to be valid. */
|
|
1856
|
-
required?: unknown;
|
|
1857
|
-
/** Not implemented. Identifier of a template variable controlling this gap's visibility. */
|
|
1858
|
-
"template-identifier"?: unknown;
|
|
1859
|
-
/** Not implemented. How `template-identifier` controls visibility. */
|
|
1860
|
-
"show-hide"?: unknown;
|
|
1861
|
-
/** */
|
|
1862
|
-
tabindex?: QtiGap["tabindex"];
|
|
1863
|
-
/** Carries `:state(filled)` while the gap holds a chip. */
|
|
1864
|
-
internals?: QtiGap["internals"];
|
|
1865
|
-
};
|
|
1866
|
-
|
|
1867
|
-
export type QtiGapSolidJsProps = {
|
|
1868
|
-
/** Required. Value recorded as the gap side of the response pair. */
|
|
1869
|
-
"prop:identifier"?: QtiGap["identifier"];
|
|
1870
|
-
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1871
|
-
"attr:match-max"?: unknown;
|
|
1872
|
-
/** How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin. */
|
|
1873
|
-
"prop:undefined"?: unknown;
|
|
1874
|
-
/** Minimum tokens this gap must hold. */
|
|
1875
|
-
"attr:match-min"?: unknown;
|
|
1876
|
-
/** Not implemented. Whether this gap must be filled for the response to be valid. */
|
|
1877
|
-
"bool:required"?: unknown;
|
|
1878
|
-
/** Not implemented. Identifier of a template variable controlling this gap's visibility. */
|
|
1879
|
-
"attr:template-identifier"?: unknown;
|
|
1880
|
-
/** Not implemented. How `template-identifier` controls visibility. */
|
|
1881
|
-
"attr:show-hide"?: unknown;
|
|
1882
|
-
/** */
|
|
1883
|
-
"prop:tabindex"?: QtiGap["tabindex"];
|
|
1884
|
-
/** Carries `:state(filled)` while the gap holds a chip. */
|
|
1885
|
-
"prop:internals"?: QtiGap["internals"];
|
|
1886
|
-
|
|
1887
|
-
/** Set the innerHTML of the element */
|
|
1888
|
-
innerHTML?: string;
|
|
1889
|
-
/** Set the textContent of the element */
|
|
1890
|
-
textContent?: string | number;
|
|
1891
|
-
};
|
|
1892
|
-
|
|
1893
|
-
export type QtiGapImgProps = {
|
|
1894
|
-
/** */
|
|
1895
|
-
tabindex?: QtiGapImg["tabindex"];
|
|
1896
|
-
/** `qti-gap-img` is a draggable chip, so it needs ElementInternals to carry the drag states
|
|
1897
|
-
(`dragging`, `placeholder`). It works without a shadow root.
|
|
1704
|
+
export type QtiGapImgProps = {
|
|
1705
|
+
/** */
|
|
1706
|
+
tabindex?: QtiGapImg["tabindex"];
|
|
1707
|
+
/** `qti-gap-img` is a draggable chip, so it needs ElementInternals to carry the drag states
|
|
1708
|
+
(`dragging`, `placeholder`). It works without a shadow root.
|
|
1898
1709
|
|
|
1899
1710
|
NOTE: this element never calls `super.connectedCallback()`, so Lit never enables updating
|
|
1900
1711
|
and it has no shadow root — which makes `qti-gap-img.styles.ts` dead code. Fixing that means
|
|
@@ -2169,33 +1980,226 @@ export type QtiPromptSolidJsProps = {
|
|
|
2169
1980
|
textContent?: string | number;
|
|
2170
1981
|
};
|
|
2171
1982
|
|
|
2172
|
-
export type
|
|
1983
|
+
export type QtiSimpleChoiceProps = {
|
|
1984
|
+
/** Required. Value recorded in the response when this choice is selected, or its position when used for ordering. */
|
|
1985
|
+
identifier?: QtiSimpleChoice["identifier"];
|
|
1986
|
+
/** Pins this choice in place when the enclosing interaction is shuffled. */
|
|
1987
|
+
fixed?: QtiSimpleChoice["fixed"];
|
|
1988
|
+
/** Identifier of a template variable controlling this choice's visibility. */
|
|
1989
|
+
"template-identifier"?: QtiSimpleChoice["templateIdentifier"];
|
|
1990
|
+
/** Identifier of a template variable controlling this choice's visibility. */
|
|
1991
|
+
templateIdentifier?: QtiSimpleChoice["templateIdentifier"];
|
|
1992
|
+
/** How `template-identifier` controls visibility. */
|
|
1993
|
+
"show-hide"?: QtiSimpleChoice["showHide"];
|
|
1994
|
+
/** How `template-identifier` controls visibility. */
|
|
1995
|
+
showHide?: QtiSimpleChoice["showHide"];
|
|
2173
1996
|
/** */
|
|
2174
|
-
|
|
1997
|
+
tabindex?: QtiSimpleChoice["tabIndex"];
|
|
2175
1998
|
/** */
|
|
2176
|
-
|
|
1999
|
+
tabIndex?: QtiSimpleChoice["tabIndex"];
|
|
2177
2000
|
/** */
|
|
2178
|
-
|
|
2001
|
+
"aria-disabled"?: QtiSimpleChoice["disabled"];
|
|
2179
2002
|
/** */
|
|
2180
|
-
|
|
2003
|
+
disabled?: QtiSimpleChoice["disabled"];
|
|
2181
2004
|
/** */
|
|
2182
|
-
|
|
2005
|
+
"aria-readonly"?: QtiSimpleChoice["readonly"];
|
|
2183
2006
|
/** */
|
|
2184
|
-
|
|
2007
|
+
readonly?: QtiSimpleChoice["readonly"];
|
|
2185
2008
|
/** */
|
|
2186
|
-
|
|
2009
|
+
marker?: QtiSimpleChoice["marker"];
|
|
2187
2010
|
/** */
|
|
2188
|
-
|
|
2011
|
+
internals?: QtiSimpleChoice["internals"];
|
|
2012
|
+
};
|
|
2013
|
+
|
|
2014
|
+
export type QtiSimpleChoiceSolidJsProps = {
|
|
2015
|
+
/** Required. Value recorded in the response when this choice is selected, or its position when used for ordering. */
|
|
2016
|
+
"prop:identifier"?: QtiSimpleChoice["identifier"];
|
|
2017
|
+
/** Pins this choice in place when the enclosing interaction is shuffled. */
|
|
2018
|
+
"prop:fixed"?: QtiSimpleChoice["fixed"];
|
|
2019
|
+
/** Identifier of a template variable controlling this choice's visibility. */
|
|
2020
|
+
"attr:template-identifier"?: QtiSimpleChoice["templateIdentifier"];
|
|
2021
|
+
/** Identifier of a template variable controlling this choice's visibility. */
|
|
2022
|
+
"prop:templateIdentifier"?: QtiSimpleChoice["templateIdentifier"];
|
|
2023
|
+
/** How `template-identifier` controls visibility. */
|
|
2024
|
+
"attr:show-hide"?: QtiSimpleChoice["showHide"];
|
|
2025
|
+
/** How `template-identifier` controls visibility. */
|
|
2026
|
+
"prop:showHide"?: QtiSimpleChoice["showHide"];
|
|
2189
2027
|
/** */
|
|
2190
|
-
|
|
2028
|
+
"attr:tabindex"?: QtiSimpleChoice["tabIndex"];
|
|
2191
2029
|
/** */
|
|
2192
|
-
|
|
2030
|
+
"prop:tabIndex"?: QtiSimpleChoice["tabIndex"];
|
|
2193
2031
|
/** */
|
|
2194
|
-
|
|
2032
|
+
"bool:aria-disabled"?: QtiSimpleChoice["disabled"];
|
|
2195
2033
|
/** */
|
|
2196
|
-
|
|
2034
|
+
"prop:disabled"?: QtiSimpleChoice["disabled"];
|
|
2197
2035
|
/** */
|
|
2198
|
-
|
|
2036
|
+
"bool:aria-readonly"?: QtiSimpleChoice["readonly"];
|
|
2037
|
+
/** */
|
|
2038
|
+
"prop:readonly"?: QtiSimpleChoice["readonly"];
|
|
2039
|
+
/** */
|
|
2040
|
+
"prop:marker"?: QtiSimpleChoice["marker"];
|
|
2041
|
+
/** */
|
|
2042
|
+
"prop:internals"?: QtiSimpleChoice["internals"];
|
|
2043
|
+
|
|
2044
|
+
/** Set the innerHTML of the element */
|
|
2045
|
+
innerHTML?: string;
|
|
2046
|
+
/** Set the textContent of the element */
|
|
2047
|
+
textContent?: string | number;
|
|
2048
|
+
};
|
|
2049
|
+
|
|
2050
|
+
export type QtiChoiceInteractionProps = {
|
|
2051
|
+
/** Required. Identifier of the bound response variable. */
|
|
2052
|
+
"response-identifier"?: QtiChoiceInteraction["responseIdentifier"];
|
|
2053
|
+
/** Required. Identifier of the bound response variable. */
|
|
2054
|
+
responseIdentifier?: QtiChoiceInteraction["responseIdentifier"];
|
|
2055
|
+
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
2056
|
+
"max-choices"?: QtiChoiceInteraction["maxChoices"];
|
|
2057
|
+
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
2058
|
+
maxChoices?: QtiChoiceInteraction["maxChoices"];
|
|
2059
|
+
/** Minimum selectable choices for a valid response. */
|
|
2060
|
+
"min-choices"?: QtiChoiceInteraction["minChoices"];
|
|
2061
|
+
/** Minimum selectable choices for a valid response. */
|
|
2062
|
+
minChoices?: QtiChoiceInteraction["minChoices"];
|
|
2063
|
+
/** @deprecated , use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead - Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary. */
|
|
2064
|
+
orientation?: QtiChoiceInteraction["orientation"];
|
|
2065
|
+
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
2066
|
+
shuffle?: unknown;
|
|
2067
|
+
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
2068
|
+
undefined?: unknown;
|
|
2069
|
+
/** QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`. */
|
|
2070
|
+
class?: QtiChoiceInteraction["class"];
|
|
2071
|
+
/** */
|
|
2072
|
+
response?: QtiChoiceInteraction["response"];
|
|
2073
|
+
/** */
|
|
2074
|
+
disabled?: QtiChoiceInteraction["disabled"];
|
|
2075
|
+
/** */
|
|
2076
|
+
readonly?: QtiChoiceInteraction["readonly"];
|
|
2077
|
+
/** */
|
|
2078
|
+
name?: QtiChoiceInteraction["name"];
|
|
2079
|
+
/** */
|
|
2080
|
+
value?: QtiChoiceInteraction["value"];
|
|
2081
|
+
/** Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
2082
|
+
|
|
2083
|
+
**Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
2084
|
+
has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
2085
|
+
setting the field is all that is needed:
|
|
2086
|
+
|
|
2087
|
+
orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
2088
|
+
|
|
2089
|
+
With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
2090
|
+
provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
2091
|
+
field. There is no merging — set the value on the provider in that case.
|
|
2092
|
+
|
|
2093
|
+
In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
2094
|
+
|
|
2095
|
+
html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
2096
|
+
|
|
2097
|
+
The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
2098
|
+
is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
2099
|
+
|
|
2100
|
+
It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
2101
|
+
`as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
2102
|
+
casts, rather than pretending at an encapsulation the type system was the only thing enforcing. */
|
|
2103
|
+
configContext?: QtiChoiceInteraction["configContext"];
|
|
2104
|
+
|
|
2105
|
+
/** */
|
|
2106
|
+
"onqti-register-interaction"?: (e: CustomEvent) => void;
|
|
2107
|
+
/** */
|
|
2108
|
+
"onqti-interaction-response"?: (e: CustomEvent) => void;
|
|
2109
|
+
};
|
|
2110
|
+
|
|
2111
|
+
export type QtiChoiceInteractionSolidJsProps = {
|
|
2112
|
+
/** Required. Identifier of the bound response variable. */
|
|
2113
|
+
"attr:response-identifier"?: QtiChoiceInteraction["responseIdentifier"];
|
|
2114
|
+
/** Required. Identifier of the bound response variable. */
|
|
2115
|
+
"prop:responseIdentifier"?: QtiChoiceInteraction["responseIdentifier"];
|
|
2116
|
+
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
2117
|
+
"attr:max-choices"?: QtiChoiceInteraction["maxChoices"];
|
|
2118
|
+
/** Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item. */
|
|
2119
|
+
"prop:maxChoices"?: QtiChoiceInteraction["maxChoices"];
|
|
2120
|
+
/** Minimum selectable choices for a valid response. */
|
|
2121
|
+
"attr:min-choices"?: QtiChoiceInteraction["minChoices"];
|
|
2122
|
+
/** Minimum selectable choices for a valid response. */
|
|
2123
|
+
"prop:minChoices"?: QtiChoiceInteraction["minChoices"];
|
|
2124
|
+
/** @deprecated , use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead - Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary. */
|
|
2125
|
+
"prop:orientation"?: QtiChoiceInteraction["orientation"];
|
|
2126
|
+
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
2127
|
+
"bool:shuffle"?: unknown;
|
|
2128
|
+
/** Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element. */
|
|
2129
|
+
"prop:undefined"?: unknown;
|
|
2130
|
+
/** QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`. */
|
|
2131
|
+
"prop:class"?: QtiChoiceInteraction["class"];
|
|
2132
|
+
/** */
|
|
2133
|
+
"prop:response"?: QtiChoiceInteraction["response"];
|
|
2134
|
+
/** */
|
|
2135
|
+
"prop:disabled"?: QtiChoiceInteraction["disabled"];
|
|
2136
|
+
/** */
|
|
2137
|
+
"prop:readonly"?: QtiChoiceInteraction["readonly"];
|
|
2138
|
+
/** */
|
|
2139
|
+
"prop:name"?: QtiChoiceInteraction["name"];
|
|
2140
|
+
/** */
|
|
2141
|
+
"prop:value"?: QtiChoiceInteraction["value"];
|
|
2142
|
+
/** Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
2143
|
+
|
|
2144
|
+
**Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
2145
|
+
has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
2146
|
+
setting the field is all that is needed:
|
|
2147
|
+
|
|
2148
|
+
orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
2149
|
+
|
|
2150
|
+
With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
2151
|
+
provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
2152
|
+
field. There is no merging — set the value on the provider in that case.
|
|
2153
|
+
|
|
2154
|
+
In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
2155
|
+
|
|
2156
|
+
html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
2157
|
+
|
|
2158
|
+
The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
2159
|
+
is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
2160
|
+
|
|
2161
|
+
It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
2162
|
+
`as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
2163
|
+
casts, rather than pretending at an encapsulation the type system was the only thing enforcing. */
|
|
2164
|
+
"prop:configContext"?: QtiChoiceInteraction["configContext"];
|
|
2165
|
+
/** */
|
|
2166
|
+
"on:qti-register-interaction"?: (e: CustomEvent) => void;
|
|
2167
|
+
/** */
|
|
2168
|
+
"on:qti-interaction-response"?: (e: CustomEvent) => void;
|
|
2169
|
+
|
|
2170
|
+
/** Set the innerHTML of the element */
|
|
2171
|
+
innerHTML?: string;
|
|
2172
|
+
/** Set the textContent of the element */
|
|
2173
|
+
textContent?: string | number;
|
|
2174
|
+
};
|
|
2175
|
+
|
|
2176
|
+
export type QtiCustomInteractionProps = {
|
|
2177
|
+
/** */
|
|
2178
|
+
data?: QtiCustomInteraction["data"];
|
|
2179
|
+
/** */
|
|
2180
|
+
"data-base-item"?: QtiCustomInteraction["baseItemUrl"];
|
|
2181
|
+
/** */
|
|
2182
|
+
baseItemUrl?: QtiCustomInteraction["baseItemUrl"];
|
|
2183
|
+
/** */
|
|
2184
|
+
"data-base-ref"?: QtiCustomInteraction["baseRefUrl"];
|
|
2185
|
+
/** */
|
|
2186
|
+
baseRefUrl?: QtiCustomInteraction["baseRefUrl"];
|
|
2187
|
+
/** */
|
|
2188
|
+
id?: QtiCustomInteraction["id"];
|
|
2189
|
+
/** */
|
|
2190
|
+
"response-identifier"?: QtiCustomInteraction["responseIdentifier"];
|
|
2191
|
+
/** */
|
|
2192
|
+
responseIdentifier?: QtiCustomInteraction["responseIdentifier"];
|
|
2193
|
+
/** */
|
|
2194
|
+
disabled?: QtiCustomInteraction["disabled"];
|
|
2195
|
+
/** */
|
|
2196
|
+
readonly?: QtiCustomInteraction["readonly"];
|
|
2197
|
+
/** */
|
|
2198
|
+
name?: QtiCustomInteraction["name"];
|
|
2199
|
+
/** */
|
|
2200
|
+
manifest?: QtiCustomInteraction["manifest"];
|
|
2201
|
+
/** */
|
|
2202
|
+
response?: QtiCustomInteraction["response"];
|
|
2199
2203
|
/** Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
2200
2204
|
|
|
2201
2205
|
**Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
@@ -6326,6 +6330,8 @@ export type CustomElements = {
|
|
|
6326
6330
|
* - `fixed`: undefined
|
|
6327
6331
|
* - `visible`: undefined
|
|
6328
6332
|
* - `keep-together`/`keepTogether`: undefined
|
|
6333
|
+
* - `navigation-mode`/`navigationMode`: undefined
|
|
6334
|
+
* - `submission-mode`/`submissionMode`: undefined
|
|
6329
6335
|
* - `title`: undefined (property only)
|
|
6330
6336
|
* - `_testContext`: undefined (property only)
|
|
6331
6337
|
*
|
|
@@ -6347,17 +6353,19 @@ export type CustomElements = {
|
|
|
6347
6353
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
6348
6354
|
*
|
|
6349
6355
|
* - `identifier`: undefined
|
|
6350
|
-
* - `
|
|
6351
|
-
* - `
|
|
6356
|
+
* - `class`: undefined
|
|
6357
|
+
* - `navigation-mode`/`navigationMode`: undefined
|
|
6358
|
+
* - `submission-mode`/`submissionMode`: undefined
|
|
6359
|
+
* - `title`: undefined (property only)
|
|
6352
6360
|
*
|
|
6353
6361
|
* ## Events
|
|
6354
6362
|
*
|
|
6355
6363
|
* Events that will be emitted by the component.
|
|
6356
6364
|
*
|
|
6357
|
-
* - `qti-
|
|
6365
|
+
* - `qti-test-part-connected`: undefined
|
|
6358
6366
|
*/
|
|
6359
|
-
"qti-
|
|
6360
|
-
|
|
6367
|
+
"qti-test-part": Partial<
|
|
6368
|
+
QtiTestPartProps & BaseProps<QtiTestPart> & BaseEvents
|
|
6361
6369
|
>;
|
|
6362
6370
|
|
|
6363
6371
|
/**
|
|
@@ -6368,19 +6376,17 @@ export type CustomElements = {
|
|
|
6368
6376
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
6369
6377
|
*
|
|
6370
6378
|
* - `identifier`: undefined
|
|
6371
|
-
* - `
|
|
6372
|
-
* - `
|
|
6373
|
-
* - `submission-mode`/`submissionMode`: undefined
|
|
6374
|
-
* - `title`: undefined (property only)
|
|
6379
|
+
* - `title`: undefined
|
|
6380
|
+
* - `_testContext`: undefined (property only)
|
|
6375
6381
|
*
|
|
6376
6382
|
* ## Events
|
|
6377
6383
|
*
|
|
6378
6384
|
* Events that will be emitted by the component.
|
|
6379
6385
|
*
|
|
6380
|
-
* - `qti-test-
|
|
6386
|
+
* - `qti-assessment-test-connected`: undefined
|
|
6381
6387
|
*/
|
|
6382
|
-
"qti-test
|
|
6383
|
-
|
|
6388
|
+
"qti-assessment-test": Partial<
|
|
6389
|
+
QtiAssessmentTestProps & BaseProps<QtiAssessmentTest> & BaseEvents
|
|
6384
6390
|
>;
|
|
6385
6391
|
|
|
6386
6392
|
/**
|
|
@@ -6536,6 +6542,26 @@ export type CustomElements = {
|
|
|
6536
6542
|
QtiTestFeedbackProps & BaseProps<QtiTestFeedback> & BaseEvents
|
|
6537
6543
|
>;
|
|
6538
6544
|
|
|
6545
|
+
/**
|
|
6546
|
+
*
|
|
6547
|
+
*
|
|
6548
|
+
* ## Attributes & Properties
|
|
6549
|
+
*
|
|
6550
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
6551
|
+
*
|
|
6552
|
+
* - `_testContext`: undefined (property only)
|
|
6553
|
+
* - `getVariables`: undefined (property only)
|
|
6554
|
+
*
|
|
6555
|
+
* ## Methods
|
|
6556
|
+
*
|
|
6557
|
+
* Methods that can be called to access component functionality.
|
|
6558
|
+
*
|
|
6559
|
+
* - `calculate() => Readonly<T>`: undefined
|
|
6560
|
+
*/
|
|
6561
|
+
"qti-test-variables": Partial<
|
|
6562
|
+
QtiTestVariablesProps & BaseProps<QtiTestVariables> & BaseEvents
|
|
6563
|
+
>;
|
|
6564
|
+
|
|
6539
6565
|
/**
|
|
6540
6566
|
* Represents a custom element for navigating to the next test item.
|
|
6541
6567
|
*
|
|
@@ -6940,26 +6966,6 @@ export type CustomElements = {
|
|
|
6940
6966
|
TestTtsNextProps & BaseProps<TestTtsNext> & BaseEvents
|
|
6941
6967
|
>;
|
|
6942
6968
|
|
|
6943
|
-
/**
|
|
6944
|
-
*
|
|
6945
|
-
*
|
|
6946
|
-
* ## Attributes & Properties
|
|
6947
|
-
*
|
|
6948
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
6949
|
-
*
|
|
6950
|
-
* - `_testContext`: undefined (property only)
|
|
6951
|
-
* - `getVariables`: undefined (property only)
|
|
6952
|
-
*
|
|
6953
|
-
* ## Methods
|
|
6954
|
-
*
|
|
6955
|
-
* Methods that can be called to access component functionality.
|
|
6956
|
-
*
|
|
6957
|
-
* - `calculate() => Readonly<T>`: undefined
|
|
6958
|
-
*/
|
|
6959
|
-
"qti-test-variables": Partial<
|
|
6960
|
-
QtiTestVariablesProps & BaseProps<QtiTestVariables> & BaseEvents
|
|
6961
|
-
>;
|
|
6962
|
-
|
|
6963
6969
|
/**
|
|
6964
6970
|
* A choice in one of the two match sets of `qti-match-interaction`, or in
|
|
6965
6971
|
* `qti-associate-interaction`.
|
|
@@ -7057,177 +7063,49 @@ export type CustomElements = {
|
|
|
7057
7063
|
>;
|
|
7058
7064
|
|
|
7059
7065
|
/**
|
|
7060
|
-
* A
|
|
7061
|
-
*
|
|
7062
|
-
* The `control` part is one box whose *role* is carried by state, not by its name: a radio
|
|
7063
|
-
* circle under `:state(radio)`, a checkbox square under `:state(checkbox)`, and a drag grip
|
|
7064
|
-
* when the choice is draggable. Style it as `qti-simple-choice::part(control)`.
|
|
7066
|
+
* A drop target positioned over an image. Like `qti-gap`, it renders the chips it holds from
|
|
7067
|
+
* `dragDropContext` rather than having them appended into it.
|
|
7065
7068
|
*
|
|
7066
7069
|
* ## Attributes & Properties
|
|
7067
7070
|
*
|
|
7068
7071
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
7069
7072
|
*
|
|
7070
|
-
* - `identifier`:
|
|
7071
|
-
* - `
|
|
7072
|
-
* - `
|
|
7073
|
-
* - `
|
|
7074
|
-
* - `tabindex`/`tabIndex`: undefined
|
|
7075
|
-
* - `aria-disabled`/`disabled`: undefined
|
|
7076
|
-
* - `aria-readonly`/`readonly`: undefined
|
|
7077
|
-
* - `marker`: undefined (property only)
|
|
7078
|
-
* - `checked`: undefined (property only) (readonly)
|
|
7079
|
-
* - `internals`: undefined (property only)
|
|
7073
|
+
* - `identifier`: undefined
|
|
7074
|
+
* - `internals`: Carries `:state(filled)` while the hotspot holds a chip. (property only)
|
|
7075
|
+
* - `acceptsDeclarativeDrops`: Opt-in marker read by `DragDropSlottedMixin`; see qti-gap. (property only) (readonly)
|
|
7076
|
+
* - `drags`: The chips this hotspot holds. Stable node references, cloned once at drop time. (property only) (readonly)
|
|
7080
7077
|
*
|
|
7081
7078
|
* ## Events
|
|
7082
7079
|
*
|
|
7083
7080
|
* Events that will be emitted by the component.
|
|
7084
7081
|
*
|
|
7085
|
-
* - `
|
|
7086
|
-
*
|
|
7087
|
-
* ## Methods
|
|
7088
|
-
*
|
|
7089
|
-
* Methods that can be called to access component functionality.
|
|
7090
|
-
*
|
|
7091
|
-
* - `handleDisabledChange(_oldValue: boolean, disabled: boolean) => void`: undefined
|
|
7092
|
-
* - `handleReadonlyChange(_oldValue: boolean, readonly: boolean) => void`: undefined
|
|
7082
|
+
* - `qti-register-hotspot`: undefined
|
|
7093
7083
|
*
|
|
7094
7084
|
* ## CSS Parts
|
|
7095
7085
|
*
|
|
7096
7086
|
* Custom selectors for styling elements within the component.
|
|
7097
7087
|
*
|
|
7098
|
-
* - `
|
|
7099
|
-
* - `control-mark`: The mark inside the box (inner dot / checkmark).
|
|
7100
|
-
* - `label`: The default slot holding the choice content.
|
|
7101
|
-
* - `marker`: The order-number badge, when `marker` is set.
|
|
7088
|
+
* - `drop`: The region a chip lands in.
|
|
7102
7089
|
*/
|
|
7103
|
-
"qti-
|
|
7104
|
-
|
|
7090
|
+
"qti-associable-hotspot": Partial<
|
|
7091
|
+
QtiAssociableHotspotProps & BaseProps<QtiAssociableHotspot> & BaseEvents
|
|
7105
7092
|
>;
|
|
7106
7093
|
|
|
7107
7094
|
/**
|
|
7108
|
-
* A
|
|
7095
|
+
* A gap in the prose, and the first drop target to render its own chips.
|
|
7109
7096
|
*
|
|
7110
|
-
*
|
|
7097
|
+
* The interaction owns placement and publishes it on `dragDropContext`; this element subscribes and
|
|
7098
|
+
* renders what it holds. Nothing appends into it. That inverts the old flow, where `handleDrop` did
|
|
7099
|
+
* `cloneNode` + `appendChild` and the response was recovered afterwards by reading the DOM back
|
|
7100
|
+
* out — which is why placement and the response could ever disagree at all.
|
|
7111
7101
|
*
|
|
7112
|
-
*
|
|
7102
|
+
* The chips land in this shadow root rather than in the light DOM, so a theme reaches them as
|
|
7103
|
+
* `::part(drag)` — a bare `::part()` matches in any shadow root — instead of by tag. The gap's own
|
|
7104
|
+
* `:state(filled)` says whether it holds anything.
|
|
7113
7105
|
*
|
|
7114
|
-
*
|
|
7115
|
-
* - `max-choices`/`maxChoices`: Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item.
|
|
7116
|
-
* - `min-choices`/`minChoices`: Minimum selectable choices for a valid response.
|
|
7117
|
-
* - `orientation`: Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary.
|
|
7118
|
-
* - `shuffle`/`undefined`: Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element.
|
|
7119
|
-
* - `class`: QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`.
|
|
7120
|
-
* - `response`: undefined
|
|
7121
|
-
* - `disabled`: undefined
|
|
7122
|
-
* - `readonly`: undefined
|
|
7123
|
-
* - `name`: undefined
|
|
7124
|
-
* - `value`: undefined (property only)
|
|
7125
|
-
* - `configContext`: Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
7106
|
+
* ## Attributes & Properties
|
|
7126
7107
|
*
|
|
7127
|
-
*
|
|
7128
|
-
* has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
7129
|
-
* setting the field is all that is needed:
|
|
7130
|
-
*
|
|
7131
|
-
* orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
7132
|
-
*
|
|
7133
|
-
* With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
7134
|
-
* provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
7135
|
-
* field. There is no merging — set the value on the provider in that case.
|
|
7136
|
-
*
|
|
7137
|
-
* In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
7138
|
-
*
|
|
7139
|
-
* html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
7140
|
-
*
|
|
7141
|
-
* The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
7142
|
-
* is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
7143
|
-
*
|
|
7144
|
-
* It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
7145
|
-
* `as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
7146
|
-
* casts, rather than pretending at an encapsulation the type system was the only thing enforcing. (property only)
|
|
7147
|
-
* - `internals`: undefined (property only) (readonly)
|
|
7148
|
-
* - `isInline`: undefined (property only) (readonly)
|
|
7149
|
-
* - `responseVariable`: undefined (property only) (readonly)
|
|
7150
|
-
*
|
|
7151
|
-
* ## Events
|
|
7152
|
-
*
|
|
7153
|
-
* Events that will be emitted by the component.
|
|
7154
|
-
*
|
|
7155
|
-
* - `qti-register-interaction`: undefined
|
|
7156
|
-
* - `qti-interaction-response`: undefined
|
|
7157
|
-
*
|
|
7158
|
-
* ## Slots
|
|
7159
|
-
*
|
|
7160
|
-
* Areas where markup can be added to the component.
|
|
7161
|
-
*
|
|
7162
|
-
* - `prompt`: The prompt shown above the choices.
|
|
7163
|
-
* - `(default)`: Default slot for `qti-simple-choice` elements.
|
|
7164
|
-
*
|
|
7165
|
-
* ## Methods
|
|
7166
|
-
*
|
|
7167
|
-
* Methods that can be called to access component functionality.
|
|
7168
|
-
*
|
|
7169
|
-
* - `validate() => boolean`: undefined
|
|
7170
|
-
* - `reportValidity() => boolean`: undefined
|
|
7171
|
-
* - `reset() => void`: undefined
|
|
7172
|
-
* - `formResetCallback() => void`: undefined
|
|
7173
|
-
* - `saveResponse(value: string | string[], state?: string | null) => void`: undefined
|
|
7174
|
-
*
|
|
7175
|
-
* ## CSS Parts
|
|
7176
|
-
*
|
|
7177
|
-
* Custom selectors for styling elements within the component.
|
|
7178
|
-
*
|
|
7179
|
-
* - `prompt`: Wrapper around the prompt slot.
|
|
7180
|
-
* - `slot`: Wrapper around the default slot containing the choices.
|
|
7181
|
-
* - `message`: Live validation message region (role="alert").
|
|
7182
|
-
*/
|
|
7183
|
-
"qti-choice-interaction": Partial<
|
|
7184
|
-
QtiChoiceInteractionProps & BaseProps<QtiChoiceInteraction> & BaseEvents
|
|
7185
|
-
>;
|
|
7186
|
-
|
|
7187
|
-
/**
|
|
7188
|
-
* A drop target positioned over an image. Like `qti-gap`, it renders the chips it holds from
|
|
7189
|
-
* `dragDropContext` rather than having them appended into it.
|
|
7190
|
-
*
|
|
7191
|
-
* ## Attributes & Properties
|
|
7192
|
-
*
|
|
7193
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
7194
|
-
*
|
|
7195
|
-
* - `identifier`: undefined
|
|
7196
|
-
* - `internals`: Carries `:state(filled)` while the hotspot holds a chip. (property only)
|
|
7197
|
-
* - `acceptsDeclarativeDrops`: Opt-in marker read by `DragDropSlottedMixin`; see qti-gap. (property only) (readonly)
|
|
7198
|
-
* - `drags`: The chips this hotspot holds. Stable node references, cloned once at drop time. (property only) (readonly)
|
|
7199
|
-
*
|
|
7200
|
-
* ## Events
|
|
7201
|
-
*
|
|
7202
|
-
* Events that will be emitted by the component.
|
|
7203
|
-
*
|
|
7204
|
-
* - `qti-register-hotspot`: undefined
|
|
7205
|
-
*
|
|
7206
|
-
* ## CSS Parts
|
|
7207
|
-
*
|
|
7208
|
-
* Custom selectors for styling elements within the component.
|
|
7209
|
-
*
|
|
7210
|
-
* - `drop`: The region a chip lands in.
|
|
7211
|
-
*/
|
|
7212
|
-
"qti-associable-hotspot": Partial<
|
|
7213
|
-
QtiAssociableHotspotProps & BaseProps<QtiAssociableHotspot> & BaseEvents
|
|
7214
|
-
>;
|
|
7215
|
-
|
|
7216
|
-
/**
|
|
7217
|
-
* A gap in the prose, and the first drop target to render its own chips.
|
|
7218
|
-
*
|
|
7219
|
-
* The interaction owns placement and publishes it on `dragDropContext`; this element subscribes and
|
|
7220
|
-
* renders what it holds. Nothing appends into it. That inverts the old flow, where `handleDrop` did
|
|
7221
|
-
* `cloneNode` + `appendChild` and the response was recovered afterwards by reading the DOM back
|
|
7222
|
-
* out — which is why placement and the response could ever disagree at all.
|
|
7223
|
-
*
|
|
7224
|
-
* The chips land in this shadow root rather than in the light DOM, so a theme reaches them as
|
|
7225
|
-
* `::part(drag)` — a bare `::part()` matches in any shadow root — instead of by tag. The gap's own
|
|
7226
|
-
* `:state(filled)` says whether it holds anything.
|
|
7227
|
-
*
|
|
7228
|
-
* ## Attributes & Properties
|
|
7229
|
-
*
|
|
7230
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
7108
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
7231
7109
|
*
|
|
7232
7110
|
* - `identifier`: Required. Value recorded as the gap side of the response pair.
|
|
7233
7111
|
* - `match-max`/`undefined`: How many tokens this gap can hold; `0` means unlimited. Read from the DOM by the drag-drop mixin.
|
|
@@ -7401,6 +7279,134 @@ export type CustomElements = {
|
|
|
7401
7279
|
*/
|
|
7402
7280
|
"qti-prompt": Partial<QtiPromptProps & BaseProps<QtiPrompt> & BaseEvents>;
|
|
7403
7281
|
|
|
7282
|
+
/**
|
|
7283
|
+
* A choice, used by `qti-choice-interaction` and `qti-order-interaction`.
|
|
7284
|
+
*
|
|
7285
|
+
* The `control` part is one box whose *role* is carried by state, not by its name: a radio
|
|
7286
|
+
* circle under `:state(radio)`, a checkbox square under `:state(checkbox)`, and a drag grip
|
|
7287
|
+
* when the choice is draggable. Style it as `qti-simple-choice::part(control)`.
|
|
7288
|
+
*
|
|
7289
|
+
* ## Attributes & Properties
|
|
7290
|
+
*
|
|
7291
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
7292
|
+
*
|
|
7293
|
+
* - `identifier`: Required. Value recorded in the response when this choice is selected, or its position when used for ordering.
|
|
7294
|
+
* - `fixed`: Pins this choice in place when the enclosing interaction is shuffled.
|
|
7295
|
+
* - `template-identifier`/`templateIdentifier`: Identifier of a template variable controlling this choice's visibility.
|
|
7296
|
+
* - `show-hide`/`showHide`: How `template-identifier` controls visibility.
|
|
7297
|
+
* - `tabindex`/`tabIndex`: undefined
|
|
7298
|
+
* - `aria-disabled`/`disabled`: undefined
|
|
7299
|
+
* - `aria-readonly`/`readonly`: undefined
|
|
7300
|
+
* - `marker`: undefined (property only)
|
|
7301
|
+
* - `checked`: undefined (property only) (readonly)
|
|
7302
|
+
* - `internals`: undefined (property only)
|
|
7303
|
+
*
|
|
7304
|
+
* ## Events
|
|
7305
|
+
*
|
|
7306
|
+
* Events that will be emitted by the component.
|
|
7307
|
+
*
|
|
7308
|
+
* - `undefined`: undefined
|
|
7309
|
+
*
|
|
7310
|
+
* ## Methods
|
|
7311
|
+
*
|
|
7312
|
+
* Methods that can be called to access component functionality.
|
|
7313
|
+
*
|
|
7314
|
+
* - `handleDisabledChange(_oldValue: boolean, disabled: boolean) => void`: undefined
|
|
7315
|
+
* - `handleReadonlyChange(_oldValue: boolean, readonly: boolean) => void`: undefined
|
|
7316
|
+
*
|
|
7317
|
+
* ## CSS Parts
|
|
7318
|
+
*
|
|
7319
|
+
* Custom selectors for styling elements within the component.
|
|
7320
|
+
*
|
|
7321
|
+
* - `control`: The box before the label (radio / checkbox / drag grip).
|
|
7322
|
+
* - `control-mark`: The mark inside the box (inner dot / checkmark).
|
|
7323
|
+
* - `label`: The default slot holding the choice content.
|
|
7324
|
+
* - `marker`: The order-number badge, when `marker` is set.
|
|
7325
|
+
*/
|
|
7326
|
+
"qti-simple-choice": Partial<
|
|
7327
|
+
QtiSimpleChoiceProps & BaseProps<QtiSimpleChoice> & BaseEvents
|
|
7328
|
+
>;
|
|
7329
|
+
|
|
7330
|
+
/**
|
|
7331
|
+
* A single-response or multiple-response choice interaction.
|
|
7332
|
+
*
|
|
7333
|
+
* ## Attributes & Properties
|
|
7334
|
+
*
|
|
7335
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
7336
|
+
*
|
|
7337
|
+
* - `response-identifier`/`responseIdentifier`: Required. Identifier of the bound response variable.
|
|
7338
|
+
* - `max-choices`/`maxChoices`: Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item.
|
|
7339
|
+
* - `min-choices`/`minChoices`: Minimum selectable choices for a valid response.
|
|
7340
|
+
* - `orientation`: Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary.
|
|
7341
|
+
* - `shuffle`/`undefined`: Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element.
|
|
7342
|
+
* - `class`: QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`.
|
|
7343
|
+
* - `response`: undefined
|
|
7344
|
+
* - `disabled`: undefined
|
|
7345
|
+
* - `readonly`: undefined
|
|
7346
|
+
* - `name`: undefined
|
|
7347
|
+
* - `value`: undefined (property only)
|
|
7348
|
+
* - `configContext`: Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
7349
|
+
*
|
|
7350
|
+
* **Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
7351
|
+
* has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
7352
|
+
* setting the field is all that is needed:
|
|
7353
|
+
*
|
|
7354
|
+
* orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
7355
|
+
*
|
|
7356
|
+
* With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
7357
|
+
* provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
7358
|
+
* field. There is no merging — set the value on the provider in that case.
|
|
7359
|
+
*
|
|
7360
|
+
* In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
7361
|
+
*
|
|
7362
|
+
* html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
7363
|
+
*
|
|
7364
|
+
* The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
7365
|
+
* is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
7366
|
+
*
|
|
7367
|
+
* It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
7368
|
+
* `as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
7369
|
+
* casts, rather than pretending at an encapsulation the type system was the only thing enforcing. (property only)
|
|
7370
|
+
* - `internals`: undefined (property only) (readonly)
|
|
7371
|
+
* - `isInline`: undefined (property only) (readonly)
|
|
7372
|
+
* - `responseVariable`: undefined (property only) (readonly)
|
|
7373
|
+
*
|
|
7374
|
+
* ## Events
|
|
7375
|
+
*
|
|
7376
|
+
* Events that will be emitted by the component.
|
|
7377
|
+
*
|
|
7378
|
+
* - `qti-register-interaction`: undefined
|
|
7379
|
+
* - `qti-interaction-response`: undefined
|
|
7380
|
+
*
|
|
7381
|
+
* ## Slots
|
|
7382
|
+
*
|
|
7383
|
+
* Areas where markup can be added to the component.
|
|
7384
|
+
*
|
|
7385
|
+
* - `prompt`: The prompt shown above the choices.
|
|
7386
|
+
* - `(default)`: Default slot for `qti-simple-choice` elements.
|
|
7387
|
+
*
|
|
7388
|
+
* ## Methods
|
|
7389
|
+
*
|
|
7390
|
+
* Methods that can be called to access component functionality.
|
|
7391
|
+
*
|
|
7392
|
+
* - `validate() => boolean`: undefined
|
|
7393
|
+
* - `reportValidity() => boolean`: undefined
|
|
7394
|
+
* - `reset() => void`: undefined
|
|
7395
|
+
* - `formResetCallback() => void`: undefined
|
|
7396
|
+
* - `saveResponse(value: string | string[], state?: string | null) => void`: undefined
|
|
7397
|
+
*
|
|
7398
|
+
* ## CSS Parts
|
|
7399
|
+
*
|
|
7400
|
+
* Custom selectors for styling elements within the component.
|
|
7401
|
+
*
|
|
7402
|
+
* - `prompt`: Wrapper around the prompt slot.
|
|
7403
|
+
* - `slot`: Wrapper around the default slot containing the choices.
|
|
7404
|
+
* - `message`: Live validation message region (role="alert").
|
|
7405
|
+
*/
|
|
7406
|
+
"qti-choice-interaction": Partial<
|
|
7407
|
+
QtiChoiceInteractionProps & BaseProps<QtiChoiceInteraction> & BaseEvents
|
|
7408
|
+
>;
|
|
7409
|
+
|
|
7404
7410
|
/**
|
|
7405
7411
|
* QTI Custom Interaction component for legacy CES-based interactions.
|
|
7406
7412
|
*
|
|
@@ -8922,8 +8928,9 @@ export type CustomElements = {
|
|
|
8922
8928
|
*
|
|
8923
8929
|
* Custom selectors for styling elements within the component.
|
|
8924
8930
|
*
|
|
8931
|
+
* - `answer`: The answer-key line, revealed above the field when the correct response is shown.
|
|
8925
8932
|
* - `input`: The text input element.
|
|
8926
|
-
* - `
|
|
8933
|
+
* - `message`: The validation message, hidden until `reportValidity` shows it.
|
|
8927
8934
|
*/
|
|
8928
8935
|
"qti-text-entry-interaction": Partial<
|
|
8929
8936
|
QtiTextEntryInteractionProps &
|
|
@@ -10896,6 +10903,8 @@ export type CustomElementsSolidJs = {
|
|
|
10896
10903
|
* - `fixed`: undefined
|
|
10897
10904
|
* - `visible`: undefined
|
|
10898
10905
|
* - `keep-together`/`keepTogether`: undefined
|
|
10906
|
+
* - `navigation-mode`/`navigationMode`: undefined
|
|
10907
|
+
* - `submission-mode`/`submissionMode`: undefined
|
|
10899
10908
|
* - `title`: undefined (property only)
|
|
10900
10909
|
* - `_testContext`: undefined (property only)
|
|
10901
10910
|
*
|
|
@@ -10912,30 +10921,6 @@ export type CustomElementsSolidJs = {
|
|
|
10912
10921
|
BaseEvents
|
|
10913
10922
|
>;
|
|
10914
10923
|
|
|
10915
|
-
/**
|
|
10916
|
-
*
|
|
10917
|
-
*
|
|
10918
|
-
* ## Attributes & Properties
|
|
10919
|
-
*
|
|
10920
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
10921
|
-
*
|
|
10922
|
-
* - `identifier`: undefined
|
|
10923
|
-
* - `title`: undefined
|
|
10924
|
-
* - `_testContext`: undefined (property only)
|
|
10925
|
-
*
|
|
10926
|
-
* ## Events
|
|
10927
|
-
*
|
|
10928
|
-
* Events that will be emitted by the component.
|
|
10929
|
-
*
|
|
10930
|
-
* - `qti-assessment-test-connected`: undefined
|
|
10931
|
-
*/
|
|
10932
|
-
"qti-assessment-test": Partial<
|
|
10933
|
-
QtiAssessmentTestProps &
|
|
10934
|
-
QtiAssessmentTestSolidJsProps &
|
|
10935
|
-
BaseProps<QtiAssessmentTest> &
|
|
10936
|
-
BaseEvents
|
|
10937
|
-
>;
|
|
10938
|
-
|
|
10939
10924
|
/**
|
|
10940
10925
|
*
|
|
10941
10926
|
*
|
|
@@ -10970,8 +10955,32 @@ export type CustomElementsSolidJs = {
|
|
|
10970
10955
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
10971
10956
|
*
|
|
10972
10957
|
* - `identifier`: undefined
|
|
10973
|
-
* - `
|
|
10974
|
-
* - `
|
|
10958
|
+
* - `title`: undefined
|
|
10959
|
+
* - `_testContext`: undefined (property only)
|
|
10960
|
+
*
|
|
10961
|
+
* ## Events
|
|
10962
|
+
*
|
|
10963
|
+
* Events that will be emitted by the component.
|
|
10964
|
+
*
|
|
10965
|
+
* - `qti-assessment-test-connected`: undefined
|
|
10966
|
+
*/
|
|
10967
|
+
"qti-assessment-test": Partial<
|
|
10968
|
+
QtiAssessmentTestProps &
|
|
10969
|
+
QtiAssessmentTestSolidJsProps &
|
|
10970
|
+
BaseProps<QtiAssessmentTest> &
|
|
10971
|
+
BaseEvents
|
|
10972
|
+
>;
|
|
10973
|
+
|
|
10974
|
+
/**
|
|
10975
|
+
*
|
|
10976
|
+
*
|
|
10977
|
+
* ## Attributes & Properties
|
|
10978
|
+
*
|
|
10979
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
10980
|
+
*
|
|
10981
|
+
* - `identifier`: undefined
|
|
10982
|
+
* - `auto-score-items`/`autoScoreItems`: undefined
|
|
10983
|
+
* - `initContext`: undefined (property only)
|
|
10975
10984
|
* - `qtiContext`: undefined (property only)
|
|
10976
10985
|
* - `configContext`: undefined (property only)
|
|
10977
10986
|
*
|
|
@@ -11129,6 +11138,29 @@ export type CustomElementsSolidJs = {
|
|
|
11129
11138
|
BaseEvents
|
|
11130
11139
|
>;
|
|
11131
11140
|
|
|
11141
|
+
/**
|
|
11142
|
+
*
|
|
11143
|
+
*
|
|
11144
|
+
* ## Attributes & Properties
|
|
11145
|
+
*
|
|
11146
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
11147
|
+
*
|
|
11148
|
+
* - `_testContext`: undefined (property only)
|
|
11149
|
+
* - `getVariables`: undefined (property only)
|
|
11150
|
+
*
|
|
11151
|
+
* ## Methods
|
|
11152
|
+
*
|
|
11153
|
+
* Methods that can be called to access component functionality.
|
|
11154
|
+
*
|
|
11155
|
+
* - `calculate() => Readonly<T>`: undefined
|
|
11156
|
+
*/
|
|
11157
|
+
"qti-test-variables": Partial<
|
|
11158
|
+
QtiTestVariablesProps &
|
|
11159
|
+
QtiTestVariablesSolidJsProps &
|
|
11160
|
+
BaseProps<QtiTestVariables> &
|
|
11161
|
+
BaseEvents
|
|
11162
|
+
>;
|
|
11163
|
+
|
|
11132
11164
|
/**
|
|
11133
11165
|
* Represents a custom element for navigating to the next test item.
|
|
11134
11166
|
*
|
|
@@ -11593,29 +11625,6 @@ export type CustomElementsSolidJs = {
|
|
|
11593
11625
|
BaseEvents
|
|
11594
11626
|
>;
|
|
11595
11627
|
|
|
11596
|
-
/**
|
|
11597
|
-
*
|
|
11598
|
-
*
|
|
11599
|
-
* ## Attributes & Properties
|
|
11600
|
-
*
|
|
11601
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
11602
|
-
*
|
|
11603
|
-
* - `_testContext`: undefined (property only)
|
|
11604
|
-
* - `getVariables`: undefined (property only)
|
|
11605
|
-
*
|
|
11606
|
-
* ## Methods
|
|
11607
|
-
*
|
|
11608
|
-
* Methods that can be called to access component functionality.
|
|
11609
|
-
*
|
|
11610
|
-
* - `calculate() => Readonly<T>`: undefined
|
|
11611
|
-
*/
|
|
11612
|
-
"qti-test-variables": Partial<
|
|
11613
|
-
QtiTestVariablesProps &
|
|
11614
|
-
QtiTestVariablesSolidJsProps &
|
|
11615
|
-
BaseProps<QtiTestVariables> &
|
|
11616
|
-
BaseEvents
|
|
11617
|
-
>;
|
|
11618
|
-
|
|
11619
11628
|
/**
|
|
11620
11629
|
* A choice in one of the two match sets of `qti-match-interaction`, or in
|
|
11621
11630
|
* `qti-associate-interaction`.
|
|
@@ -11714,140 +11723,6 @@ export type CustomElementsSolidJs = {
|
|
|
11714
11723
|
BaseEvents
|
|
11715
11724
|
>;
|
|
11716
11725
|
|
|
11717
|
-
/**
|
|
11718
|
-
* A choice, used by `qti-choice-interaction` and `qti-order-interaction`.
|
|
11719
|
-
*
|
|
11720
|
-
* The `control` part is one box whose *role* is carried by state, not by its name: a radio
|
|
11721
|
-
* circle under `:state(radio)`, a checkbox square under `:state(checkbox)`, and a drag grip
|
|
11722
|
-
* when the choice is draggable. Style it as `qti-simple-choice::part(control)`.
|
|
11723
|
-
*
|
|
11724
|
-
* ## Attributes & Properties
|
|
11725
|
-
*
|
|
11726
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
11727
|
-
*
|
|
11728
|
-
* - `identifier`: Required. Value recorded in the response when this choice is selected, or its position when used for ordering.
|
|
11729
|
-
* - `fixed`: Pins this choice in place when the enclosing interaction is shuffled.
|
|
11730
|
-
* - `template-identifier`/`templateIdentifier`: Identifier of a template variable controlling this choice's visibility.
|
|
11731
|
-
* - `show-hide`/`showHide`: How `template-identifier` controls visibility.
|
|
11732
|
-
* - `tabindex`/`tabIndex`: undefined
|
|
11733
|
-
* - `aria-disabled`/`disabled`: undefined
|
|
11734
|
-
* - `aria-readonly`/`readonly`: undefined
|
|
11735
|
-
* - `marker`: undefined (property only)
|
|
11736
|
-
* - `checked`: undefined (property only) (readonly)
|
|
11737
|
-
* - `internals`: undefined (property only)
|
|
11738
|
-
*
|
|
11739
|
-
* ## Events
|
|
11740
|
-
*
|
|
11741
|
-
* Events that will be emitted by the component.
|
|
11742
|
-
*
|
|
11743
|
-
* - `undefined`: undefined
|
|
11744
|
-
*
|
|
11745
|
-
* ## Methods
|
|
11746
|
-
*
|
|
11747
|
-
* Methods that can be called to access component functionality.
|
|
11748
|
-
*
|
|
11749
|
-
* - `handleDisabledChange(_oldValue: boolean, disabled: boolean) => void`: undefined
|
|
11750
|
-
* - `handleReadonlyChange(_oldValue: boolean, readonly: boolean) => void`: undefined
|
|
11751
|
-
*
|
|
11752
|
-
* ## CSS Parts
|
|
11753
|
-
*
|
|
11754
|
-
* Custom selectors for styling elements within the component.
|
|
11755
|
-
*
|
|
11756
|
-
* - `control`: The box before the label (radio / checkbox / drag grip).
|
|
11757
|
-
* - `control-mark`: The mark inside the box (inner dot / checkmark).
|
|
11758
|
-
* - `label`: The default slot holding the choice content.
|
|
11759
|
-
* - `marker`: The order-number badge, when `marker` is set.
|
|
11760
|
-
*/
|
|
11761
|
-
"qti-simple-choice": Partial<
|
|
11762
|
-
QtiSimpleChoiceProps &
|
|
11763
|
-
QtiSimpleChoiceSolidJsProps &
|
|
11764
|
-
BaseProps<QtiSimpleChoice> &
|
|
11765
|
-
BaseEvents
|
|
11766
|
-
>;
|
|
11767
|
-
|
|
11768
|
-
/**
|
|
11769
|
-
* A single-response or multiple-response choice interaction.
|
|
11770
|
-
*
|
|
11771
|
-
* ## Attributes & Properties
|
|
11772
|
-
*
|
|
11773
|
-
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
11774
|
-
*
|
|
11775
|
-
* - `response-identifier`/`responseIdentifier`: Required. Identifier of the bound response variable.
|
|
11776
|
-
* - `max-choices`/`maxChoices`: Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item.
|
|
11777
|
-
* - `min-choices`/`minChoices`: Minimum selectable choices for a valid response.
|
|
11778
|
-
* - `orientation`: Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary.
|
|
11779
|
-
* - `shuffle`/`undefined`: Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element.
|
|
11780
|
-
* - `class`: QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`.
|
|
11781
|
-
* - `response`: undefined
|
|
11782
|
-
* - `disabled`: undefined
|
|
11783
|
-
* - `readonly`: undefined
|
|
11784
|
-
* - `name`: undefined
|
|
11785
|
-
* - `value`: undefined (property only)
|
|
11786
|
-
* - `configContext`: Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
11787
|
-
*
|
|
11788
|
-
* **Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
11789
|
-
* has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
11790
|
-
* setting the field is all that is needed:
|
|
11791
|
-
*
|
|
11792
|
-
* orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
11793
|
-
*
|
|
11794
|
-
* With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
11795
|
-
* provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
11796
|
-
* field. There is no merging — set the value on the provider in that case.
|
|
11797
|
-
*
|
|
11798
|
-
* In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
11799
|
-
*
|
|
11800
|
-
* html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
11801
|
-
*
|
|
11802
|
-
* The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
11803
|
-
* is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
11804
|
-
*
|
|
11805
|
-
* It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
11806
|
-
* `as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
11807
|
-
* casts, rather than pretending at an encapsulation the type system was the only thing enforcing. (property only)
|
|
11808
|
-
* - `internals`: undefined (property only) (readonly)
|
|
11809
|
-
* - `isInline`: undefined (property only) (readonly)
|
|
11810
|
-
* - `responseVariable`: undefined (property only) (readonly)
|
|
11811
|
-
*
|
|
11812
|
-
* ## Events
|
|
11813
|
-
*
|
|
11814
|
-
* Events that will be emitted by the component.
|
|
11815
|
-
*
|
|
11816
|
-
* - `qti-register-interaction`: undefined
|
|
11817
|
-
* - `qti-interaction-response`: undefined
|
|
11818
|
-
*
|
|
11819
|
-
* ## Slots
|
|
11820
|
-
*
|
|
11821
|
-
* Areas where markup can be added to the component.
|
|
11822
|
-
*
|
|
11823
|
-
* - `prompt`: The prompt shown above the choices.
|
|
11824
|
-
* - `(default)`: Default slot for `qti-simple-choice` elements.
|
|
11825
|
-
*
|
|
11826
|
-
* ## Methods
|
|
11827
|
-
*
|
|
11828
|
-
* Methods that can be called to access component functionality.
|
|
11829
|
-
*
|
|
11830
|
-
* - `validate() => boolean`: undefined
|
|
11831
|
-
* - `reportValidity() => boolean`: undefined
|
|
11832
|
-
* - `reset() => void`: undefined
|
|
11833
|
-
* - `formResetCallback() => void`: undefined
|
|
11834
|
-
* - `saveResponse(value: string | string[], state?: string | null) => void`: undefined
|
|
11835
|
-
*
|
|
11836
|
-
* ## CSS Parts
|
|
11837
|
-
*
|
|
11838
|
-
* Custom selectors for styling elements within the component.
|
|
11839
|
-
*
|
|
11840
|
-
* - `prompt`: Wrapper around the prompt slot.
|
|
11841
|
-
* - `slot`: Wrapper around the default slot containing the choices.
|
|
11842
|
-
* - `message`: Live validation message region (role="alert").
|
|
11843
|
-
*/
|
|
11844
|
-
"qti-choice-interaction": Partial<
|
|
11845
|
-
QtiChoiceInteractionProps &
|
|
11846
|
-
QtiChoiceInteractionSolidJsProps &
|
|
11847
|
-
BaseProps<QtiChoiceInteraction> &
|
|
11848
|
-
BaseEvents
|
|
11849
|
-
>;
|
|
11850
|
-
|
|
11851
11726
|
/**
|
|
11852
11727
|
* A drop target positioned over an image. Like `qti-gap`, it renders the chips it holds from
|
|
11853
11728
|
* `dragDropContext` rather than having them appended into it.
|
|
@@ -12090,6 +11965,140 @@ export type CustomElementsSolidJs = {
|
|
|
12090
11965
|
QtiPromptProps & QtiPromptSolidJsProps & BaseProps<QtiPrompt> & BaseEvents
|
|
12091
11966
|
>;
|
|
12092
11967
|
|
|
11968
|
+
/**
|
|
11969
|
+
* A choice, used by `qti-choice-interaction` and `qti-order-interaction`.
|
|
11970
|
+
*
|
|
11971
|
+
* The `control` part is one box whose *role* is carried by state, not by its name: a radio
|
|
11972
|
+
* circle under `:state(radio)`, a checkbox square under `:state(checkbox)`, and a drag grip
|
|
11973
|
+
* when the choice is draggable. Style it as `qti-simple-choice::part(control)`.
|
|
11974
|
+
*
|
|
11975
|
+
* ## Attributes & Properties
|
|
11976
|
+
*
|
|
11977
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
11978
|
+
*
|
|
11979
|
+
* - `identifier`: Required. Value recorded in the response when this choice is selected, or its position when used for ordering.
|
|
11980
|
+
* - `fixed`: Pins this choice in place when the enclosing interaction is shuffled.
|
|
11981
|
+
* - `template-identifier`/`templateIdentifier`: Identifier of a template variable controlling this choice's visibility.
|
|
11982
|
+
* - `show-hide`/`showHide`: How `template-identifier` controls visibility.
|
|
11983
|
+
* - `tabindex`/`tabIndex`: undefined
|
|
11984
|
+
* - `aria-disabled`/`disabled`: undefined
|
|
11985
|
+
* - `aria-readonly`/`readonly`: undefined
|
|
11986
|
+
* - `marker`: undefined (property only)
|
|
11987
|
+
* - `checked`: undefined (property only) (readonly)
|
|
11988
|
+
* - `internals`: undefined (property only)
|
|
11989
|
+
*
|
|
11990
|
+
* ## Events
|
|
11991
|
+
*
|
|
11992
|
+
* Events that will be emitted by the component.
|
|
11993
|
+
*
|
|
11994
|
+
* - `undefined`: undefined
|
|
11995
|
+
*
|
|
11996
|
+
* ## Methods
|
|
11997
|
+
*
|
|
11998
|
+
* Methods that can be called to access component functionality.
|
|
11999
|
+
*
|
|
12000
|
+
* - `handleDisabledChange(_oldValue: boolean, disabled: boolean) => void`: undefined
|
|
12001
|
+
* - `handleReadonlyChange(_oldValue: boolean, readonly: boolean) => void`: undefined
|
|
12002
|
+
*
|
|
12003
|
+
* ## CSS Parts
|
|
12004
|
+
*
|
|
12005
|
+
* Custom selectors for styling elements within the component.
|
|
12006
|
+
*
|
|
12007
|
+
* - `control`: The box before the label (radio / checkbox / drag grip).
|
|
12008
|
+
* - `control-mark`: The mark inside the box (inner dot / checkmark).
|
|
12009
|
+
* - `label`: The default slot holding the choice content.
|
|
12010
|
+
* - `marker`: The order-number badge, when `marker` is set.
|
|
12011
|
+
*/
|
|
12012
|
+
"qti-simple-choice": Partial<
|
|
12013
|
+
QtiSimpleChoiceProps &
|
|
12014
|
+
QtiSimpleChoiceSolidJsProps &
|
|
12015
|
+
BaseProps<QtiSimpleChoice> &
|
|
12016
|
+
BaseEvents
|
|
12017
|
+
>;
|
|
12018
|
+
|
|
12019
|
+
/**
|
|
12020
|
+
* A single-response or multiple-response choice interaction.
|
|
12021
|
+
*
|
|
12022
|
+
* ## Attributes & Properties
|
|
12023
|
+
*
|
|
12024
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
12025
|
+
*
|
|
12026
|
+
* - `response-identifier`/`responseIdentifier`: Required. Identifier of the bound response variable.
|
|
12027
|
+
* - `max-choices`/`maxChoices`: Maximum selectable choices. `1` is a single-response item; `0` means unlimited and makes it a multiple-response item.
|
|
12028
|
+
* - `min-choices`/`minChoices`: Minimum selectable choices for a valid response.
|
|
12029
|
+
* - `orientation`: Deprecated by QTI in favour of the `qti-orientation-*` class vocabulary.
|
|
12030
|
+
* - `shuffle`/`undefined`: Requests choice shuffling. Applied by the transform pipeline (`qti-transformers`), not by this element.
|
|
12031
|
+
* - `class`: QTI shared presentation vocabulary. Space-separated; takes precedence over `orientation`.
|
|
12032
|
+
* - `response`: undefined
|
|
12033
|
+
* - `disabled`: undefined
|
|
12034
|
+
* - `readonly`: undefined
|
|
12035
|
+
* - `name`: undefined
|
|
12036
|
+
* - `value`: undefined (property only)
|
|
12037
|
+
* - `configContext`: Delivery configuration, from the nearest provider — `qti-test` or `qti-item`.
|
|
12038
|
+
*
|
|
12039
|
+
* **Public so it can be assigned directly, which is the development-time route.** An interaction
|
|
12040
|
+
* has to work standalone, and in a story or a spec there is usually no provider above it — so
|
|
12041
|
+
* setting the field is all that is needed:
|
|
12042
|
+
*
|
|
12043
|
+
* orderInteraction.configContext = { allowReorder: false, validationDisplayMode: 'none' };
|
|
12044
|
+
*
|
|
12045
|
+
* With no provider, nothing ever overwrites it. That is the whole contract, and its limit: where a
|
|
12046
|
+
* provider DOES exist it re-emits on its next update and wins, because `@consume` writes this same
|
|
12047
|
+
* field. There is no merging — set the value on the provider in that case.
|
|
12048
|
+
*
|
|
12049
|
+
* In a lit-html template, bind it as a property rather than assigning after the fact:
|
|
12050
|
+
*
|
|
12051
|
+
* html`<qti-order-interaction .configContext=${{ allowReorder: false }}>…`
|
|
12052
|
+
*
|
|
12053
|
+
* The binding is committed on the detached template clone, before the fragment is inserted, so it
|
|
12054
|
+
* is in place by `connectedCallback` — which matters for anything that reads config on connect.
|
|
12055
|
+
*
|
|
12056
|
+
* It was `protected`, which fooled nobody: every caller reached it anyway through an
|
|
12057
|
+
* `as any` / `as { configContext?: … }` cast. Public says what was already true and removes the
|
|
12058
|
+
* casts, rather than pretending at an encapsulation the type system was the only thing enforcing. (property only)
|
|
12059
|
+
* - `internals`: undefined (property only) (readonly)
|
|
12060
|
+
* - `isInline`: undefined (property only) (readonly)
|
|
12061
|
+
* - `responseVariable`: undefined (property only) (readonly)
|
|
12062
|
+
*
|
|
12063
|
+
* ## Events
|
|
12064
|
+
*
|
|
12065
|
+
* Events that will be emitted by the component.
|
|
12066
|
+
*
|
|
12067
|
+
* - `qti-register-interaction`: undefined
|
|
12068
|
+
* - `qti-interaction-response`: undefined
|
|
12069
|
+
*
|
|
12070
|
+
* ## Slots
|
|
12071
|
+
*
|
|
12072
|
+
* Areas where markup can be added to the component.
|
|
12073
|
+
*
|
|
12074
|
+
* - `prompt`: The prompt shown above the choices.
|
|
12075
|
+
* - `(default)`: Default slot for `qti-simple-choice` elements.
|
|
12076
|
+
*
|
|
12077
|
+
* ## Methods
|
|
12078
|
+
*
|
|
12079
|
+
* Methods that can be called to access component functionality.
|
|
12080
|
+
*
|
|
12081
|
+
* - `validate() => boolean`: undefined
|
|
12082
|
+
* - `reportValidity() => boolean`: undefined
|
|
12083
|
+
* - `reset() => void`: undefined
|
|
12084
|
+
* - `formResetCallback() => void`: undefined
|
|
12085
|
+
* - `saveResponse(value: string | string[], state?: string | null) => void`: undefined
|
|
12086
|
+
*
|
|
12087
|
+
* ## CSS Parts
|
|
12088
|
+
*
|
|
12089
|
+
* Custom selectors for styling elements within the component.
|
|
12090
|
+
*
|
|
12091
|
+
* - `prompt`: Wrapper around the prompt slot.
|
|
12092
|
+
* - `slot`: Wrapper around the default slot containing the choices.
|
|
12093
|
+
* - `message`: Live validation message region (role="alert").
|
|
12094
|
+
*/
|
|
12095
|
+
"qti-choice-interaction": Partial<
|
|
12096
|
+
QtiChoiceInteractionProps &
|
|
12097
|
+
QtiChoiceInteractionSolidJsProps &
|
|
12098
|
+
BaseProps<QtiChoiceInteraction> &
|
|
12099
|
+
BaseEvents
|
|
12100
|
+
>;
|
|
12101
|
+
|
|
12093
12102
|
/**
|
|
12094
12103
|
* QTI Custom Interaction component for legacy CES-based interactions.
|
|
12095
12104
|
*
|
|
@@ -13648,8 +13657,9 @@ export type CustomElementsSolidJs = {
|
|
|
13648
13657
|
*
|
|
13649
13658
|
* Custom selectors for styling elements within the component.
|
|
13650
13659
|
*
|
|
13660
|
+
* - `answer`: The answer-key line, revealed above the field when the correct response is shown.
|
|
13651
13661
|
* - `input`: The text input element.
|
|
13652
|
-
* - `
|
|
13662
|
+
* - `message`: The validation message, hidden until `reportValidity` shows it.
|
|
13653
13663
|
*/
|
|
13654
13664
|
"qti-text-entry-interaction": Partial<
|
|
13655
13665
|
QtiTextEntryInteractionProps &
|