@citolab/qti-components 7.16.0 → 7.16.1
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/dist/base.d.ts +48 -8
- package/dist/base.js +49 -2
- package/dist/base.js.map +1 -1
- package/dist/chunk-2DOYPVF5.js +481 -0
- package/dist/chunk-2DOYPVF5.js.map +1 -0
- package/dist/chunk-2ZEJ3RR5.js +89 -0
- package/dist/chunk-2ZEJ3RR5.js.map +1 -0
- package/dist/chunk-352OTVTY.js +3330 -0
- package/dist/chunk-352OTVTY.js.map +1 -0
- package/dist/chunk-C2HQFI2C.js +5927 -0
- package/dist/chunk-C2HQFI2C.js.map +1 -0
- package/dist/chunk-DWIRLYDS.js +20 -0
- package/dist/chunk-DWIRLYDS.js.map +1 -0
- package/dist/chunk-EUXUH3YW.js +15 -0
- package/dist/chunk-EUXUH3YW.js.map +1 -0
- package/dist/chunk-F44CI35W.js +145 -0
- package/dist/chunk-F44CI35W.js.map +1 -0
- package/dist/chunk-INKI27D5.js +493 -0
- package/dist/chunk-INKI27D5.js.map +1 -0
- package/dist/chunk-JEUY3MYB.js +2010 -0
- package/dist/chunk-JEUY3MYB.js.map +1 -0
- package/dist/chunk-O4XIWHTF.js +1139 -0
- package/dist/chunk-O4XIWHTF.js.map +1 -0
- package/dist/chunk-RI47B4ZT.js +1753 -0
- package/dist/chunk-RI47B4ZT.js.map +1 -0
- package/dist/chunk-VEV4DGPH.js +31 -0
- package/dist/chunk-VEV4DGPH.js.map +1 -0
- package/dist/chunk-W4SQRNWO.js +3844 -0
- package/dist/chunk-W4SQRNWO.js.map +1 -0
- package/dist/computed-item.context-CiddHLPz.d.ts +22 -0
- package/dist/computed.context-CH09_LCR.d.ts +45 -0
- package/dist/config.context-DAdkDDf5.d.ts +14 -0
- package/dist/elements.d.ts +318 -1
- package/dist/elements.js +41 -2
- package/dist/elements.js.map +1 -1
- package/dist/index.d.ts +21 -8
- package/dist/index.js +327 -9
- package/dist/index.js.map +1 -1
- package/dist/interaction-C5Up6-68.d.ts +56 -0
- package/dist/interactions.d.ts +913 -1
- package/dist/interactions.js +71 -2
- package/dist/interactions.js.map +1 -1
- package/dist/item.context-BRKXBC3m.d.ts +10 -0
- package/dist/item.d.ts +147 -1
- package/dist/item.js +22 -2
- package/dist/item.js.map +1 -1
- package/dist/loader.d.ts +21 -1
- package/dist/loader.js +10 -2
- package/dist/loader.js.map +1 -1
- package/dist/processing.d.ts +393 -1
- package/dist/processing.js +102 -2
- package/dist/processing.js.map +1 -1
- package/dist/qti-feedback-B4cMzOcq.d.ts +21 -0
- package/dist/qti-rule-base-dL4opfvi.d.ts +39 -0
- package/dist/qti-transform-test-Bz9A3hmD.d.ts +63 -0
- package/dist/test.context-Bpw1HNAZ.d.ts +28 -0
- package/dist/test.d.ts +569 -1
- package/dist/test.js +60 -2
- package/dist/test.js.map +1 -1
- package/dist/transformers.d.ts +18 -1
- package/dist/transformers.js +11 -2
- package/dist/transformers.js.map +1 -1
- package/dist/variables-CusMRnyJ.d.ts +69 -0
- package/package.json +8 -14
package/dist/interactions.d.ts
CHANGED
|
@@ -1 +1,913 @@
|
|
|
1
|
-
|
|
1
|
+
import * as lit from 'lit';
|
|
2
|
+
import { CSSResultGroup, LitElement, PropertyValues, PropertyValueMap } from 'lit';
|
|
3
|
+
import { a as IInteraction, I as Interaction, C as Correctness } from './interaction-C5Up6-68.js';
|
|
4
|
+
import { a as ConfigContext } from './config.context-DAdkDDf5.js';
|
|
5
|
+
import { a as Cardinality, B as BaseType } from './variables-CusMRnyJ.js';
|
|
6
|
+
import { I as ItemContext } from './item.context-BRKXBC3m.js';
|
|
7
|
+
import * as lit_directives_ref_js from 'lit/directives/ref.js';
|
|
8
|
+
|
|
9
|
+
declare const QtiAssociateInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
|
|
10
|
+
declare class QtiAssociateInteraction extends QtiAssociateInteraction_base {
|
|
11
|
+
static styles: CSSResultGroup;
|
|
12
|
+
protected _childrenMap: Element[];
|
|
13
|
+
protected _registerChoiceHandler: (event: CustomEvent) => void;
|
|
14
|
+
constructor();
|
|
15
|
+
protected _registerChoice(event: CustomEvent): void;
|
|
16
|
+
render(): lit.TemplateResult<1>;
|
|
17
|
+
disconnectedCallback(): void;
|
|
18
|
+
}
|
|
19
|
+
declare global {
|
|
20
|
+
interface HTMLElementTagNameMap {
|
|
21
|
+
'qti-associate-interaction': QtiAssociateInteraction;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface ChoiceInterface {
|
|
26
|
+
identifier: string;
|
|
27
|
+
disabled: boolean;
|
|
28
|
+
readonly: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A mixin that adds choice functionality to a LitElement-based class.
|
|
32
|
+
* It dispatches events with a custom `type` and handles selection logic.
|
|
33
|
+
*
|
|
34
|
+
* @param Base - The base class to extend.
|
|
35
|
+
* @param type - The type of the choice, used in event names.
|
|
36
|
+
* @returns A new class extending the base class with choice functionality.
|
|
37
|
+
*/
|
|
38
|
+
interface ActiveElementMixinInterface {
|
|
39
|
+
identifier: string;
|
|
40
|
+
tabIndex: number;
|
|
41
|
+
disabled: boolean;
|
|
42
|
+
readonly: boolean;
|
|
43
|
+
internals: ElementInternals;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type Choice = HTMLElement & ChoiceInterface & {
|
|
47
|
+
internals: ElementInternals;
|
|
48
|
+
};
|
|
49
|
+
interface ChoicesInterface extends IInteraction {
|
|
50
|
+
minChoices: number;
|
|
51
|
+
maxChoices: number;
|
|
52
|
+
value: string | null;
|
|
53
|
+
response: string | string[] | null;
|
|
54
|
+
validate(): boolean;
|
|
55
|
+
reportValidity(): boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
type Orientation = 'horizontal' | 'vertical' | undefined;
|
|
59
|
+
declare const QtiChoiceInteraction_base: (abstract new (...args: any[]) => {}) & (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
|
|
60
|
+
declare class QtiChoiceInteraction extends QtiChoiceInteraction_base implements ChoicesInterface {
|
|
61
|
+
static styles: CSSResultGroup;
|
|
62
|
+
/** @deprecated, use 'qti-orientation-horizontal' or 'qti-orientation-vertical' instead */
|
|
63
|
+
orientation: Orientation;
|
|
64
|
+
private _handleSlotChange;
|
|
65
|
+
render(): lit.TemplateResult<1>;
|
|
66
|
+
}
|
|
67
|
+
declare global {
|
|
68
|
+
interface HTMLElementTagNameMap {
|
|
69
|
+
'qti-choice-interaction': QtiChoiceInteraction;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
declare class QtiCustomInteraction extends Interaction {
|
|
74
|
+
private rawResponse;
|
|
75
|
+
constructor();
|
|
76
|
+
data: string;
|
|
77
|
+
baseItemUrl: string;
|
|
78
|
+
baseRefUrl: string;
|
|
79
|
+
id: string;
|
|
80
|
+
private _errorMessage;
|
|
81
|
+
manifest: {
|
|
82
|
+
script: string[];
|
|
83
|
+
style: string[];
|
|
84
|
+
media: string[];
|
|
85
|
+
};
|
|
86
|
+
connectedCallback(): void;
|
|
87
|
+
setupCES(): void;
|
|
88
|
+
private getIFrames;
|
|
89
|
+
private getInnerIFrames;
|
|
90
|
+
private postToWindowAndIframes;
|
|
91
|
+
handlePostMessage(event: MessageEvent): void;
|
|
92
|
+
validate(): boolean;
|
|
93
|
+
get response(): string | string[] | null;
|
|
94
|
+
set response(val: string | string[] | null);
|
|
95
|
+
disconnectedCallback(): void;
|
|
96
|
+
render(): lit.TemplateResult<1>;
|
|
97
|
+
}
|
|
98
|
+
declare global {
|
|
99
|
+
interface HTMLElementTagNameMap {
|
|
100
|
+
'qti-custom-interaction': QtiCustomInteraction;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare class QtiEndAttemptInteraction extends LitElement {
|
|
105
|
+
responseIdentifier: string;
|
|
106
|
+
disabled: boolean;
|
|
107
|
+
/** Defines the number of attempts that a user can make using the 'endAttemptInteraction' mechanism (this can be used to limit the number of hints, etc.). [More information](https://www.imsglobal.org/sites/default/files/spec/qti/v3/info/index.html#DataCharacteristic_EndAttemptInteraction.Attr_count-attempt) */
|
|
108
|
+
countAttempt: 'true' | 'false' | null;
|
|
109
|
+
title: string;
|
|
110
|
+
render(): lit.TemplateResult<1>;
|
|
111
|
+
endAttempt(_: Event): void;
|
|
112
|
+
}
|
|
113
|
+
declare global {
|
|
114
|
+
interface HTMLElementTagNameMap {
|
|
115
|
+
'qti-end-attempt-interaction': QtiEndAttemptInteraction;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
declare class QtiExtendedTextInteraction extends Interaction {
|
|
120
|
+
static styles: CSSResultGroup;
|
|
121
|
+
protected _rows: number;
|
|
122
|
+
/** expected length is mapped to the property maxlength on the textarea */
|
|
123
|
+
expectedLength: number;
|
|
124
|
+
patternMask: string;
|
|
125
|
+
/** text appearing in the extended-text-interaction if it is empty */
|
|
126
|
+
placeholderText: string;
|
|
127
|
+
dataPatternmaskMessage: string;
|
|
128
|
+
classNames: string;
|
|
129
|
+
handleclassNamesChange(_: any, classes: string): void;
|
|
130
|
+
response: string | null;
|
|
131
|
+
protected _handleResponseChange: () => void;
|
|
132
|
+
get value(): string | null;
|
|
133
|
+
set value(val: string | null);
|
|
134
|
+
validate(): boolean;
|
|
135
|
+
toggleCorrectResponse(): void;
|
|
136
|
+
reportValidity(): boolean;
|
|
137
|
+
render(): lit.TemplateResult<1>;
|
|
138
|
+
protected textChanged(event: Event): void;
|
|
139
|
+
protected setEmptyAttribute(text: string): void;
|
|
140
|
+
}
|
|
141
|
+
declare global {
|
|
142
|
+
interface HTMLElementTagNameMap {
|
|
143
|
+
'qti-extended-text-interaction': QtiExtendedTextInteraction;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
declare const QtiGapMatchInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
|
|
148
|
+
declare class QtiGapMatchInteraction extends QtiGapMatchInteraction_base {
|
|
149
|
+
static styles: CSSResultGroup;
|
|
150
|
+
render(): lit.TemplateResult<1>;
|
|
151
|
+
toggleCorrectResponse(show: boolean): void;
|
|
152
|
+
private getMatches;
|
|
153
|
+
toggleCandidateCorrection(show: boolean): void;
|
|
154
|
+
}
|
|
155
|
+
declare global {
|
|
156
|
+
interface HTMLElementTagNameMap {
|
|
157
|
+
'qti-gap-match-interaction': QtiGapMatchInteraction;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
declare class QtiGraphicAssociateInteraction extends Interaction {
|
|
162
|
+
static styles: CSSResultGroup;
|
|
163
|
+
private hotspots;
|
|
164
|
+
private startPoint;
|
|
165
|
+
private endPoint;
|
|
166
|
+
private _correctLines;
|
|
167
|
+
private startCoord;
|
|
168
|
+
private mouseCoord;
|
|
169
|
+
private grImage;
|
|
170
|
+
private _response;
|
|
171
|
+
constructor();
|
|
172
|
+
reset(): void;
|
|
173
|
+
validate(): boolean;
|
|
174
|
+
set response(val: string[]);
|
|
175
|
+
get response(): string[];
|
|
176
|
+
toggleInternalCorrectResponse(show: boolean): void;
|
|
177
|
+
render(): lit.TemplateResult<1>;
|
|
178
|
+
private positionHotspotOnRegister;
|
|
179
|
+
firstUpdated(): void;
|
|
180
|
+
disconnectedCallback(): void;
|
|
181
|
+
}
|
|
182
|
+
declare global {
|
|
183
|
+
interface HTMLElementTagNameMap {
|
|
184
|
+
'qti-graphic-associate-interaction': QtiGraphicAssociateInteraction;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
declare const QtiGraphicGapMatchInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
|
|
189
|
+
declare class QtiGraphicGapMatchInteraction extends QtiGraphicGapMatchInteraction_base {
|
|
190
|
+
static styles: CSSResultGroup;
|
|
191
|
+
render(): lit.TemplateResult<1>;
|
|
192
|
+
private positionHotspotOnRegister;
|
|
193
|
+
connectedCallback(): void;
|
|
194
|
+
disconnectedCallback(): void;
|
|
195
|
+
}
|
|
196
|
+
declare global {
|
|
197
|
+
interface HTMLElementTagNameMap {
|
|
198
|
+
'qti-graphic-gap-match-interaction': QtiGraphicGapMatchInteraction;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
declare const QtiGraphicOrderInteraction_base: (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
|
|
203
|
+
declare class QtiGraphicOrderInteraction extends QtiGraphicOrderInteraction_base {
|
|
204
|
+
static styles: CSSResultGroup;
|
|
205
|
+
protected choiceOrdering: boolean;
|
|
206
|
+
protected _choiceElements: Choice[];
|
|
207
|
+
render(): lit.TemplateResult<1>;
|
|
208
|
+
private setHotspotOrder;
|
|
209
|
+
toggleCorrectResponse(show: boolean): void;
|
|
210
|
+
private positionHotspotOnRegister;
|
|
211
|
+
connectedCallback(): void;
|
|
212
|
+
disconnectedCallback(): void;
|
|
213
|
+
}
|
|
214
|
+
declare global {
|
|
215
|
+
interface HTMLElementTagNameMap {
|
|
216
|
+
'qti-graphic-order-interaction': QtiGraphicOrderInteraction;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
declare const QtiHotspotInteraction_base: (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
|
|
221
|
+
declare class QtiHotspotInteraction extends QtiHotspotInteraction_base {
|
|
222
|
+
static styles: CSSResultGroup;
|
|
223
|
+
render(): lit.TemplateResult<1>;
|
|
224
|
+
private imageLoadPromise;
|
|
225
|
+
private getImageLoadPromise;
|
|
226
|
+
private positionHotspotOnRegister;
|
|
227
|
+
connectedCallback(): void;
|
|
228
|
+
disconnectedCallback(): void;
|
|
229
|
+
}
|
|
230
|
+
declare global {
|
|
231
|
+
interface HTMLElementTagNameMap {
|
|
232
|
+
'qti-hotspot-interaction': QtiHotspotInteraction;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
declare const QtiHottextInteraction_base: (abstract new (...args: any[]) => ChoicesInterface) & typeof Interaction;
|
|
237
|
+
declare class QtiHottextInteraction extends QtiHottextInteraction_base {
|
|
238
|
+
class: string;
|
|
239
|
+
private get classObject();
|
|
240
|
+
render: () => lit.TemplateResult<1>;
|
|
241
|
+
connectedCallback(): void;
|
|
242
|
+
updated(_changedProperties: PropertyValues): void;
|
|
243
|
+
private updateHostClasses;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
interface OptionType {
|
|
247
|
+
textContent: string;
|
|
248
|
+
value: string;
|
|
249
|
+
selected: boolean;
|
|
250
|
+
}
|
|
251
|
+
declare class QtiInlineChoiceInteraction extends Interaction {
|
|
252
|
+
get isInline(): boolean;
|
|
253
|
+
static get styles(): lit.CSSResult[];
|
|
254
|
+
static inputWidthClass: string[];
|
|
255
|
+
protected options: OptionType[];
|
|
256
|
+
protected correctOption: string;
|
|
257
|
+
dataPrompt: string;
|
|
258
|
+
configContext: ConfigContext;
|
|
259
|
+
render(): lit.TemplateResult<1>;
|
|
260
|
+
connectedCallback(): void;
|
|
261
|
+
disconnectedCallback(): void;
|
|
262
|
+
willUpdate(changed: PropertyValues<this>): void;
|
|
263
|
+
private _updateOptions;
|
|
264
|
+
validate(): boolean;
|
|
265
|
+
reset(): void;
|
|
266
|
+
set response(value: string | null);
|
|
267
|
+
get response(): string | null;
|
|
268
|
+
toggleInternalCorrectResponse(show: boolean): void;
|
|
269
|
+
protected choiceSelected(event: Event): void;
|
|
270
|
+
}
|
|
271
|
+
declare global {
|
|
272
|
+
interface HTMLElementTagNameMap {
|
|
273
|
+
'qti-inline-choice-interaction': QtiInlineChoiceInteraction;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
declare const QtiSimpleAssociableChoice_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
|
|
278
|
+
declare class QtiSimpleAssociableChoice extends QtiSimpleAssociableChoice_base {
|
|
279
|
+
static styles: lit.CSSResult;
|
|
280
|
+
/** the minimal number of selections a candidate must make */
|
|
281
|
+
matchMin: number;
|
|
282
|
+
/** the maximum number of selections a candidate must make, the other options will be disabled when max options is checked */
|
|
283
|
+
matchMax: number;
|
|
284
|
+
fixed: boolean;
|
|
285
|
+
connectedCallback(): void;
|
|
286
|
+
render(): lit.TemplateResult<1>;
|
|
287
|
+
}
|
|
288
|
+
declare global {
|
|
289
|
+
interface HTMLElementTagNameMap {
|
|
290
|
+
'qti-simple-associable-choice': QtiSimpleAssociableChoice;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
declare const QtiMatchInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
|
|
295
|
+
declare class QtiMatchInteraction extends QtiMatchInteraction_base {
|
|
296
|
+
static styles: CSSResultGroup;
|
|
297
|
+
protected sourceChoices: QtiSimpleAssociableChoice[];
|
|
298
|
+
protected targetChoices: QtiSimpleAssociableChoice[];
|
|
299
|
+
protected lastCheckedRadio: HTMLInputElement | null;
|
|
300
|
+
class: string;
|
|
301
|
+
protected _response: string | string[];
|
|
302
|
+
get response(): string[];
|
|
303
|
+
set response(val: string[]);
|
|
304
|
+
responseIdentifier: string;
|
|
305
|
+
protected correctOptions: {
|
|
306
|
+
source: string;
|
|
307
|
+
target: string;
|
|
308
|
+
}[];
|
|
309
|
+
connectedCallback(): Promise<void>;
|
|
310
|
+
protected handleRadioClick: (e: {
|
|
311
|
+
target: HTMLInputElement;
|
|
312
|
+
}) => void;
|
|
313
|
+
protected handleRadioChange: (e: {
|
|
314
|
+
target: any;
|
|
315
|
+
}) => void;
|
|
316
|
+
validate(): boolean;
|
|
317
|
+
private getMatches;
|
|
318
|
+
toggleInternalCorrectResponse(show: boolean): void;
|
|
319
|
+
toggleCandidateCorrection(show: boolean): void;
|
|
320
|
+
render(): lit.TemplateResult<1>;
|
|
321
|
+
}
|
|
322
|
+
declare global {
|
|
323
|
+
interface HTMLElementTagNameMap {
|
|
324
|
+
'qti-match-interaction': QtiMatchInteraction;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
declare class QtiMediaInteraction extends Interaction {
|
|
329
|
+
private _value;
|
|
330
|
+
reset(): void;
|
|
331
|
+
validate(): boolean;
|
|
332
|
+
get response(): string | null;
|
|
333
|
+
set response(val: string | null);
|
|
334
|
+
static get properties(): {
|
|
335
|
+
step: {
|
|
336
|
+
type: NumberConstructor;
|
|
337
|
+
attribute: string;
|
|
338
|
+
default: number;
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
static styles: lit.CSSResult[];
|
|
342
|
+
render(): lit.TemplateResult<1>;
|
|
343
|
+
constructor();
|
|
344
|
+
connectedCallback(): void;
|
|
345
|
+
}
|
|
346
|
+
declare global {
|
|
347
|
+
interface HTMLElementTagNameMap {
|
|
348
|
+
'qti-media-interaction': QtiMediaInteraction;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
declare const QtiOrderInteraction_base: (abstract new (...args: any[]) => IInteraction) & typeof Interaction;
|
|
353
|
+
declare class QtiOrderInteraction extends QtiOrderInteraction_base {
|
|
354
|
+
static styles: lit.CSSResult;
|
|
355
|
+
protected childrenMap: Element[];
|
|
356
|
+
protected nrChoices: number;
|
|
357
|
+
correctResponses: string[];
|
|
358
|
+
showCorrectResponses: boolean;
|
|
359
|
+
/** orientation of choices */
|
|
360
|
+
orientation: 'horizontal' | 'vertical';
|
|
361
|
+
render(): lit.TemplateResult<1>;
|
|
362
|
+
toggleCorrectResponse(show: boolean): void;
|
|
363
|
+
getValue(val: string[]): string[];
|
|
364
|
+
protected getResponse(): string[];
|
|
365
|
+
firstUpdated(changedProps: PropertyValueMap<any> | Map<PropertyKey, unknown>): Promise<void>;
|
|
366
|
+
}
|
|
367
|
+
declare global {
|
|
368
|
+
interface HTMLElementTagNameMap {
|
|
369
|
+
'qti-order-interaction': QtiOrderInteraction;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
interface PciReadyPayload {
|
|
374
|
+
responseIdentifier: string;
|
|
375
|
+
status: 'interacting' | 'suspended' | 'closed' | 'solution' | 'review';
|
|
376
|
+
}
|
|
377
|
+
interface PciDonePayload {
|
|
378
|
+
responseIdentifier: string;
|
|
379
|
+
status: 'interacting' | 'suspended' | 'closed' | 'solution' | 'review';
|
|
380
|
+
outcome?: unknown;
|
|
381
|
+
}
|
|
382
|
+
interface ConfigProperties<T> {
|
|
383
|
+
properties: T;
|
|
384
|
+
templateVariables: Record<string, unknown>;
|
|
385
|
+
contextVariables: Record<string, unknown>;
|
|
386
|
+
boundTo: unknown;
|
|
387
|
+
responseIdentifier: string;
|
|
388
|
+
onready: (payload: PciReadyPayload) => void;
|
|
389
|
+
ondone?: (payload: PciDonePayload) => void;
|
|
390
|
+
status?: 'interacting' | 'suspended' | 'closed' | 'solution' | 'review';
|
|
391
|
+
}
|
|
392
|
+
interface IMSpci<T> {
|
|
393
|
+
typeIdentifier: string;
|
|
394
|
+
/** @access public
|
|
395
|
+
* @method getInstance Create a new instance of this portable custom interaction
|
|
396
|
+
* Will be called by the qtiCustomInteractionContext
|
|
397
|
+
* @param {DOM Element} dom - the DOM Element this PCI is being added to
|
|
398
|
+
* @param {Object} configuration - the configuration to apply to this PCI
|
|
399
|
+
* @param {String} state - a previous saved state to apply to this instance.
|
|
400
|
+
* This must have been obtained from a prior call to getState on an
|
|
401
|
+
* instance of this type (same typeIdentifier)
|
|
402
|
+
*/
|
|
403
|
+
getInstance: (dom: HTMLElement, configuration: Configuration<T>, state: string) => void;
|
|
404
|
+
/** @access public
|
|
405
|
+
* @method getResponse
|
|
406
|
+
* @return {Object} - the value to assign to the bound QTI response variable
|
|
407
|
+
*/
|
|
408
|
+
getResponse: () => QtiVariableJSON | undefined;
|
|
409
|
+
/** @access public
|
|
410
|
+
* @method setResponse
|
|
411
|
+
* @param {Object} value - the value to assign to the bound QTI response variable
|
|
412
|
+
* NOTE: This is not an official QTI method, so no guarantee it is implemented
|
|
413
|
+
* in all PCIs.
|
|
414
|
+
*/
|
|
415
|
+
setResponse: (value: QtiVariableJSON) => void;
|
|
416
|
+
/** @access public
|
|
417
|
+
* @method getState
|
|
418
|
+
* @return {String} The current state of this PCI. May be passed to
|
|
419
|
+
* getInstance to later restore this PCI instance.
|
|
420
|
+
*/
|
|
421
|
+
getState: () => string;
|
|
422
|
+
/** @access public
|
|
423
|
+
* @method setState
|
|
424
|
+
* @param {String} value - a state previously obtained from getState
|
|
425
|
+
* to restore this PCI instance to a prior state.
|
|
426
|
+
*/
|
|
427
|
+
setState(value: string): unknown;
|
|
428
|
+
oncompleted?: () => void;
|
|
429
|
+
destroy?: () => void;
|
|
430
|
+
}
|
|
431
|
+
declare type Configuration<T> = {
|
|
432
|
+
onready: (pci: IMSpci<ConfigProperties<T>>, state?: string) => void;
|
|
433
|
+
properties: T;
|
|
434
|
+
};
|
|
435
|
+
type QtiFileData = {
|
|
436
|
+
data: string;
|
|
437
|
+
mime: string;
|
|
438
|
+
name?: string;
|
|
439
|
+
};
|
|
440
|
+
type QtiBaseBoolean = boolean;
|
|
441
|
+
type QtiBaseInteger = number;
|
|
442
|
+
type QtiBaseFloat = number;
|
|
443
|
+
type QtiBaseString = string;
|
|
444
|
+
type QtiBasePoint = [number, number];
|
|
445
|
+
type QtiBasePair = [string, string];
|
|
446
|
+
type QtiBaseDirectedPair = [string, string];
|
|
447
|
+
type QtiBaseDuration = string;
|
|
448
|
+
type QtiBaseFile = QtiFileData;
|
|
449
|
+
type QtiBaseUri = string;
|
|
450
|
+
type QtiBaseIntOrIdentifier = number | string;
|
|
451
|
+
type QtiBaseIdentifier = string;
|
|
452
|
+
type QtiRecordItem = {
|
|
453
|
+
name: string;
|
|
454
|
+
base?: QtiBaseTypeJSON | null;
|
|
455
|
+
list?: QtiListTypeJSON | null;
|
|
456
|
+
};
|
|
457
|
+
type ResponseVariableType = QtiVariableJSON;
|
|
458
|
+
type QtiBaseTypeJSON = {
|
|
459
|
+
boolean?: QtiBaseBoolean;
|
|
460
|
+
integer?: QtiBaseInteger;
|
|
461
|
+
float?: QtiBaseFloat;
|
|
462
|
+
string?: QtiBaseString;
|
|
463
|
+
point?: QtiBasePoint;
|
|
464
|
+
pair?: QtiBasePair;
|
|
465
|
+
directedPair?: QtiBaseDirectedPair;
|
|
466
|
+
duration?: QtiBaseDuration;
|
|
467
|
+
file?: QtiBaseFile;
|
|
468
|
+
uri?: QtiBaseUri;
|
|
469
|
+
intOrIdentifier?: QtiBaseIntOrIdentifier;
|
|
470
|
+
identifier?: QtiBaseIdentifier;
|
|
471
|
+
} | null;
|
|
472
|
+
type QtiListTypeJSON = {
|
|
473
|
+
boolean?: QtiBaseBoolean[];
|
|
474
|
+
integer?: QtiBaseInteger[];
|
|
475
|
+
float?: QtiBaseFloat[];
|
|
476
|
+
string?: QtiBaseString[];
|
|
477
|
+
point?: QtiBasePoint[];
|
|
478
|
+
pair?: QtiBasePair[];
|
|
479
|
+
directedPair?: QtiBaseDirectedPair[];
|
|
480
|
+
duration?: QtiBaseDuration[];
|
|
481
|
+
file?: QtiBaseFile[];
|
|
482
|
+
uri?: QtiBaseUri[];
|
|
483
|
+
intOrIdentifier?: QtiBaseIntOrIdentifier[];
|
|
484
|
+
identifier?: QtiBaseIdentifier[];
|
|
485
|
+
} | null;
|
|
486
|
+
declare type QtiVariableJSON = {
|
|
487
|
+
base?: QtiBaseTypeJSON;
|
|
488
|
+
list?: QtiListTypeJSON;
|
|
489
|
+
record?: QtiRecordItem[] | null;
|
|
490
|
+
};
|
|
491
|
+
interface ModuleResolutionConfig {
|
|
492
|
+
waitSeconds?: number;
|
|
493
|
+
context?: string;
|
|
494
|
+
catchError?: boolean;
|
|
495
|
+
paths: {
|
|
496
|
+
[key: string]: string | string[];
|
|
497
|
+
};
|
|
498
|
+
shim?: {
|
|
499
|
+
[key: string]: {
|
|
500
|
+
deps?: string[];
|
|
501
|
+
exports?: string;
|
|
502
|
+
};
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
declare class QtiPortableCustomInteraction extends Interaction {
|
|
507
|
+
private _value;
|
|
508
|
+
private pci;
|
|
509
|
+
protected _iframeLoaded: boolean;
|
|
510
|
+
protected _pendingMessages: Array<{
|
|
511
|
+
method: string;
|
|
512
|
+
params: any;
|
|
513
|
+
}>;
|
|
514
|
+
protected iframe: HTMLIFrameElement;
|
|
515
|
+
private _responseCheckInterval;
|
|
516
|
+
static styles: CSSResultGroup;
|
|
517
|
+
module: string;
|
|
518
|
+
customInteractionTypeIdentifier: string;
|
|
519
|
+
requirePathsJson: string;
|
|
520
|
+
requireShimJson: string;
|
|
521
|
+
requireJsUrl: string;
|
|
522
|
+
baseUrl: string;
|
|
523
|
+
useIframe: boolean;
|
|
524
|
+
useDefaultShims: boolean;
|
|
525
|
+
useDefaultPaths: boolean;
|
|
526
|
+
private _errorMessage;
|
|
527
|
+
protected context?: ItemContext;
|
|
528
|
+
response: string | string[];
|
|
529
|
+
private dom;
|
|
530
|
+
private _parsedRequirePaths;
|
|
531
|
+
private _parsedRequireShim;
|
|
532
|
+
/**
|
|
533
|
+
* Parse the require paths JSON string into an object
|
|
534
|
+
*/
|
|
535
|
+
private getRequirePaths;
|
|
536
|
+
/**
|
|
537
|
+
* Parse the require shim JSON string into an object
|
|
538
|
+
*/
|
|
539
|
+
private getRequireShim;
|
|
540
|
+
/**
|
|
541
|
+
* Get the default require paths
|
|
542
|
+
*/
|
|
543
|
+
private getDefaultRequirePaths;
|
|
544
|
+
/**
|
|
545
|
+
* Get the default require shim
|
|
546
|
+
*/
|
|
547
|
+
private getDefaultRequireShim;
|
|
548
|
+
/**
|
|
549
|
+
* Get the final require paths by combining defaults with user-provided paths
|
|
550
|
+
*/
|
|
551
|
+
private getFinalRequirePaths;
|
|
552
|
+
/**
|
|
553
|
+
* Get the final require shim by combining defaults with user-provided shim
|
|
554
|
+
*/
|
|
555
|
+
private getFinalRequireShim;
|
|
556
|
+
/**
|
|
557
|
+
* Converts QtiVariableJSON to a string or string array
|
|
558
|
+
*/
|
|
559
|
+
private convertQtiVariableJSON;
|
|
560
|
+
/**
|
|
561
|
+
* Adds hyphenated versions of camelCase keys to properties object
|
|
562
|
+
*/
|
|
563
|
+
private addHyphenatedKeys;
|
|
564
|
+
/**
|
|
565
|
+
* Converts response variables to QtiVariableJSON
|
|
566
|
+
*/
|
|
567
|
+
protected responseVariablesToQtiVariableJSON(input: string | string[], cardinality: Cardinality, baseType: BaseType): QtiVariableJSON;
|
|
568
|
+
validate(): boolean;
|
|
569
|
+
set value(v: string | null);
|
|
570
|
+
get value(): string | null;
|
|
571
|
+
set boundTo(newValue: Record<string, ResponseVariableType>);
|
|
572
|
+
get boundTo(): Record<string, QtiVariableJSON>;
|
|
573
|
+
/**
|
|
574
|
+
* Unescape HTML entities in a string
|
|
575
|
+
*/
|
|
576
|
+
private unescapeHtml;
|
|
577
|
+
/**
|
|
578
|
+
* Unescape HTML entities in all values of an object
|
|
579
|
+
*/
|
|
580
|
+
private unescapeDataAttributes;
|
|
581
|
+
/**
|
|
582
|
+
* DIRECT MODE: Register PCI instance
|
|
583
|
+
*/
|
|
584
|
+
register(pci: IMSpci<ConfigProperties<unknown>>): void;
|
|
585
|
+
disconnectedCallback(): void;
|
|
586
|
+
/**
|
|
587
|
+
* IFRAME MODE: Send message to iframe
|
|
588
|
+
*/
|
|
589
|
+
protected sendMessageToIframe(method: string, params: any): void;
|
|
590
|
+
/**
|
|
591
|
+
* IFRAME MODE: Process pending messages
|
|
592
|
+
*/
|
|
593
|
+
private processPendingMessages;
|
|
594
|
+
/**
|
|
595
|
+
* IFRAME MODE: Handle iframe messages
|
|
596
|
+
*/
|
|
597
|
+
protected handleIframeMessage: (event: MessageEvent) => void;
|
|
598
|
+
/**
|
|
599
|
+
* IFRAME MODE: Create iframe element
|
|
600
|
+
*/
|
|
601
|
+
protected createIframe(): void;
|
|
602
|
+
/**
|
|
603
|
+
* IFRAME MODE: Send initialization data to iframe
|
|
604
|
+
*/
|
|
605
|
+
private sendIframeInitData;
|
|
606
|
+
/**
|
|
607
|
+
* IFRAME MODE: Get interaction modules from DOM
|
|
608
|
+
*/
|
|
609
|
+
private getInteractionModules;
|
|
610
|
+
/**
|
|
611
|
+
* IFRAME MODE: Add markup and properties to iframe
|
|
612
|
+
*/
|
|
613
|
+
private addMarkupToIframe;
|
|
614
|
+
/**
|
|
615
|
+
* IFRAME MODE: Initialize the interaction
|
|
616
|
+
*/
|
|
617
|
+
private initializeInteraction;
|
|
618
|
+
connectedCallback(): void;
|
|
619
|
+
/**
|
|
620
|
+
* Stop checking for response changes
|
|
621
|
+
*/
|
|
622
|
+
private stopResponseCheck;
|
|
623
|
+
private _onInteractionChanged;
|
|
624
|
+
/**
|
|
625
|
+
* DIRECT MODE: Build RequireJS configuration
|
|
626
|
+
*/
|
|
627
|
+
buildRequireConfig(): ModuleResolutionConfig;
|
|
628
|
+
/**
|
|
629
|
+
* DIRECT MODE: Helper method to combine require paths
|
|
630
|
+
*/
|
|
631
|
+
private combineRequireResolvePaths;
|
|
632
|
+
/**
|
|
633
|
+
* DIRECT MODE: Helper method to remove double slashes
|
|
634
|
+
*/
|
|
635
|
+
private removeDoubleSlashes;
|
|
636
|
+
/**
|
|
637
|
+
* DIRECT MODE: Load config from URL
|
|
638
|
+
*/
|
|
639
|
+
loadConfig: (url: string, baseUrl?: string) => Promise<ModuleResolutionConfig>;
|
|
640
|
+
/**
|
|
641
|
+
* DIRECT MODE: Helper method to get resolvable path string
|
|
642
|
+
*/
|
|
643
|
+
getResolvablePathString: (path: string, basePath?: string) => string;
|
|
644
|
+
/**
|
|
645
|
+
* DIRECT MODE: Helper method to get resolvable path
|
|
646
|
+
*/
|
|
647
|
+
getResolvablePath: (path: string | string[], basePath?: string) => string | string[];
|
|
648
|
+
/**
|
|
649
|
+
* IFRAME MODE: Generate iframe HTML content
|
|
650
|
+
*/
|
|
651
|
+
protected generateIframeContent(): string;
|
|
652
|
+
/**
|
|
653
|
+
* Toggle the display of the correct response
|
|
654
|
+
* @param responseVariable The response variable containing the correct response
|
|
655
|
+
* @param show Whether to show or hide the correct response
|
|
656
|
+
*/
|
|
657
|
+
toggleInternalCorrectResponse(show: boolean): void;
|
|
658
|
+
/**
|
|
659
|
+
* Method to disable the PCI for review mode
|
|
660
|
+
* This can be used when showing the correct response
|
|
661
|
+
*/
|
|
662
|
+
disable(): void;
|
|
663
|
+
/**
|
|
664
|
+
* Method to enable the PCI for interactive mode
|
|
665
|
+
*/
|
|
666
|
+
enable(): void;
|
|
667
|
+
private _previousState;
|
|
668
|
+
render(): lit.TemplateResult<1>;
|
|
669
|
+
}
|
|
670
|
+
declare global {
|
|
671
|
+
interface HTMLElementTagNameMap {
|
|
672
|
+
'qti-portable-custom-interaction': QtiPortableCustomInteraction;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
declare class QtiPositionObjectInteraction extends LitElement {
|
|
677
|
+
render(): lit.TemplateResult<1>;
|
|
678
|
+
static styles: lit.CSSResult[];
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
declare class QtiPositionObjectStage extends LitElement {
|
|
682
|
+
choiceOrdering: boolean;
|
|
683
|
+
startX: any;
|
|
684
|
+
startY: any;
|
|
685
|
+
dragElement: any;
|
|
686
|
+
render(): lit.TemplateResult<1>;
|
|
687
|
+
static styles: lit.CSSResult[];
|
|
688
|
+
constructor();
|
|
689
|
+
dragElementHandler(event: MouseEvent): void;
|
|
690
|
+
firstUpdated(a: PropertyValueMap<any>): void;
|
|
691
|
+
removeMoveListener(): void;
|
|
692
|
+
disconnectedCallback(): void;
|
|
693
|
+
}
|
|
694
|
+
declare global {
|
|
695
|
+
interface HTMLElementTagNameMap {
|
|
696
|
+
'qti-position-object-stage': QtiPositionObjectStage;
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
declare class QtiSelectPointInteraction extends Interaction {
|
|
701
|
+
static styles: lit.CSSResult[];
|
|
702
|
+
maxChoices: number;
|
|
703
|
+
minChoices: number;
|
|
704
|
+
response: string[] | null;
|
|
705
|
+
private _correctAreas;
|
|
706
|
+
private _responseCorrection;
|
|
707
|
+
private _imgElement;
|
|
708
|
+
private _scaleX;
|
|
709
|
+
private _scaleY;
|
|
710
|
+
private _imageWidthOriginal;
|
|
711
|
+
private _imageHeightOriginal;
|
|
712
|
+
private _onImageClick;
|
|
713
|
+
connectedCallback(): void;
|
|
714
|
+
private _onResize;
|
|
715
|
+
get responsePoints(): {
|
|
716
|
+
x: number;
|
|
717
|
+
y: number;
|
|
718
|
+
}[];
|
|
719
|
+
toggleCandidateCorrection(show: boolean): void;
|
|
720
|
+
toggleCorrectResponse(show: boolean): any;
|
|
721
|
+
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
722
|
+
render(): lit.TemplateResult<1>;
|
|
723
|
+
validate(): boolean;
|
|
724
|
+
private calculateScale;
|
|
725
|
+
firstUpdated(): void;
|
|
726
|
+
disconnectedCallback(): void;
|
|
727
|
+
}
|
|
728
|
+
declare global {
|
|
729
|
+
interface HTMLElementTagNameMap {
|
|
730
|
+
'qti-select-point-interaction': QtiSelectPointInteraction;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
declare class QtiSliderInteraction extends Interaction {
|
|
735
|
+
static styles: CSSResultGroup;
|
|
736
|
+
private _value;
|
|
737
|
+
private _correctResponseNumber;
|
|
738
|
+
private _rail;
|
|
739
|
+
min: number;
|
|
740
|
+
max: number;
|
|
741
|
+
step: number;
|
|
742
|
+
validate(): boolean;
|
|
743
|
+
connectedCallback(): void;
|
|
744
|
+
get response(): string;
|
|
745
|
+
set response(val: string);
|
|
746
|
+
toggleCorrectResponse(show: boolean): void;
|
|
747
|
+
private _updateValue;
|
|
748
|
+
render(): lit.TemplateResult<1>;
|
|
749
|
+
private _onMouseDown;
|
|
750
|
+
private _onTouchStart;
|
|
751
|
+
private _startDrag;
|
|
752
|
+
private _onDrag;
|
|
753
|
+
private _onDragEnd;
|
|
754
|
+
}
|
|
755
|
+
declare global {
|
|
756
|
+
interface HTMLElementTagNameMap {
|
|
757
|
+
'qti-slider-interaction': QtiSliderInteraction;
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
declare class QtiTextEntryInteraction extends Interaction {
|
|
762
|
+
static styles: CSSResultGroup;
|
|
763
|
+
inputRef: lit_directives_ref_js.Ref<HTMLInputElement>;
|
|
764
|
+
expectedLength: number;
|
|
765
|
+
patternMask: string;
|
|
766
|
+
placeholderText: string;
|
|
767
|
+
dataPatternmaskMessage: string;
|
|
768
|
+
response: string | null;
|
|
769
|
+
private _input;
|
|
770
|
+
protected _handleValueChange: () => void;
|
|
771
|
+
get value(): string | null;
|
|
772
|
+
set value(val: string | null);
|
|
773
|
+
get correctness(): Readonly<Correctness | null>;
|
|
774
|
+
get isInline(): boolean;
|
|
775
|
+
validate(): boolean;
|
|
776
|
+
toggleInternalCorrectResponse(show: boolean): void;
|
|
777
|
+
render(): lit.TemplateResult<1>;
|
|
778
|
+
protected textChanged(event: Event): void;
|
|
779
|
+
reportValidity(): boolean;
|
|
780
|
+
reset(): void;
|
|
781
|
+
private setEmptyAttribute;
|
|
782
|
+
}
|
|
783
|
+
declare global {
|
|
784
|
+
interface HTMLElementTagNameMap {
|
|
785
|
+
'qti-text-entry-interaction': QtiTextEntryInteraction;
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
declare class QtiUploadInteraction extends Interaction {
|
|
790
|
+
private _file;
|
|
791
|
+
private _base64;
|
|
792
|
+
reset(): void;
|
|
793
|
+
validate(): boolean;
|
|
794
|
+
get response(): string | null;
|
|
795
|
+
set response(base64: string | null);
|
|
796
|
+
static get properties(): {
|
|
797
|
+
[key: string]: lit.PropertyDeclaration<unknown, unknown>;
|
|
798
|
+
};
|
|
799
|
+
static styles: lit.CSSResult[];
|
|
800
|
+
render(): lit.TemplateResult<1>;
|
|
801
|
+
private _onFileChange;
|
|
802
|
+
private _convertToBase64;
|
|
803
|
+
}
|
|
804
|
+
declare global {
|
|
805
|
+
interface HTMLElementTagNameMap {
|
|
806
|
+
'qti-upload-interaction': QtiUploadInteraction;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
declare class QtiGapImg extends LitElement {
|
|
811
|
+
static styles: lit.CSSResult;
|
|
812
|
+
tabindex: number | undefined;
|
|
813
|
+
connectedCallback(): void;
|
|
814
|
+
}
|
|
815
|
+
declare global {
|
|
816
|
+
interface HTMLElementTagNameMap {
|
|
817
|
+
'qti-gap-img': QtiGapImg;
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
declare const QtiGapText_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
|
|
822
|
+
declare class QtiGapText extends QtiGapText_base {
|
|
823
|
+
static styles: lit.CSSResult;
|
|
824
|
+
tabindex: number | undefined;
|
|
825
|
+
connectedCallback(): void;
|
|
826
|
+
render(): lit.TemplateResult<1>;
|
|
827
|
+
}
|
|
828
|
+
declare global {
|
|
829
|
+
interface HTMLElementTagNameMap {
|
|
830
|
+
'qti-gap-text': QtiGapText;
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
declare class QtiGap extends LitElement {
|
|
835
|
+
static styles: lit.CSSResult;
|
|
836
|
+
tabindex: number | undefined;
|
|
837
|
+
render(): lit.TemplateResult<1>;
|
|
838
|
+
}
|
|
839
|
+
declare global {
|
|
840
|
+
interface HTMLElementTagNameMap {
|
|
841
|
+
'qti-gap': QtiGap;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
declare class QtiInlineChoice extends LitElement {
|
|
846
|
+
static get styles(): lit.CSSResult[];
|
|
847
|
+
identifier: string;
|
|
848
|
+
connectedCallback(): void;
|
|
849
|
+
disconnectedCallback(): void;
|
|
850
|
+
render(): lit.TemplateResult<1>;
|
|
851
|
+
private _onSelectInlineChoice;
|
|
852
|
+
}
|
|
853
|
+
declare global {
|
|
854
|
+
interface HTMLElementTagNameMap {
|
|
855
|
+
'qti-inline-choice': QtiInlineChoice;
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
declare const QtiHottext_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
|
|
860
|
+
declare class QtiHottext extends QtiHottext_base {
|
|
861
|
+
static styles: lit.CSSResult;
|
|
862
|
+
render(): lit.TemplateResult<1>;
|
|
863
|
+
}
|
|
864
|
+
declare global {
|
|
865
|
+
interface HTMLElementTagNameMap {
|
|
866
|
+
'qti-hottext': QtiHottext;
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
declare const QtiSimpleChoice_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
|
|
871
|
+
/**
|
|
872
|
+
* qti-order-interaction
|
|
873
|
+
* qti-choice-interaction
|
|
874
|
+
*/
|
|
875
|
+
declare class QtiSimpleChoice extends QtiSimpleChoice_base {
|
|
876
|
+
templateIdentifier: string | null;
|
|
877
|
+
showHide: string | null;
|
|
878
|
+
fixed: boolean;
|
|
879
|
+
static styles: lit.CSSResult;
|
|
880
|
+
marker: string;
|
|
881
|
+
get checked(): boolean;
|
|
882
|
+
render(): lit.TemplateResult<1>;
|
|
883
|
+
}
|
|
884
|
+
declare global {
|
|
885
|
+
interface HTMLElementTagNameMap {
|
|
886
|
+
'qti-simple-choice': QtiSimpleChoice;
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
declare const QtiHotspotChoice_base: (abstract new (...args: any[]) => ActiveElementMixinInterface) & typeof LitElement;
|
|
891
|
+
declare class QtiHotspotChoice extends QtiHotspotChoice_base {
|
|
892
|
+
static styles: lit.CSSResult;
|
|
893
|
+
order: number;
|
|
894
|
+
orderCorrect: number;
|
|
895
|
+
}
|
|
896
|
+
declare global {
|
|
897
|
+
interface HTMLElementTagNameMap {
|
|
898
|
+
'qti-hotspot-choice': QtiHotspotChoice;
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
declare class QtiAssociableHotspot extends LitElement {
|
|
903
|
+
static styles: lit.CSSResult;
|
|
904
|
+
connectedCallback(): void;
|
|
905
|
+
render(): lit.TemplateResult<1>;
|
|
906
|
+
}
|
|
907
|
+
declare global {
|
|
908
|
+
interface HTMLElementTagNameMap {
|
|
909
|
+
'qti-associable-hotspot': QtiAssociableHotspot;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
export { type Orientation, QtiAssociableHotspot, QtiAssociateInteraction, QtiChoiceInteraction, QtiCustomInteraction, QtiEndAttemptInteraction, QtiExtendedTextInteraction, QtiGap, QtiGapImg, QtiGapMatchInteraction, QtiGapText, QtiGraphicAssociateInteraction, QtiGraphicGapMatchInteraction, QtiGraphicOrderInteraction, QtiHotspotChoice, QtiHotspotInteraction, QtiHottext, QtiHottextInteraction, QtiInlineChoice, QtiInlineChoiceInteraction, QtiMatchInteraction, QtiMediaInteraction, QtiOrderInteraction, QtiPortableCustomInteraction, QtiPositionObjectInteraction, QtiPositionObjectStage, QtiSelectPointInteraction, QtiSimpleAssociableChoice, QtiSimpleChoice, QtiSliderInteraction, QtiTextEntryInteraction, QtiUploadInteraction };
|