alexsys-exam-renderer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/exam-session/examScoring.d.ts +39 -0
  2. package/dist/exam-session/examScoring.d.ts.map +1 -0
  3. package/dist/exam-session/examSessionTypes.d.ts +344 -0
  4. package/dist/exam-session/examSessionTypes.d.ts.map +1 -0
  5. package/dist/exam-session/interactions/CoinTableResponse.d.ts +9 -0
  6. package/dist/exam-session/interactions/CoinTableResponse.d.ts.map +1 -0
  7. package/dist/exam-session/interactions/ColorPenPicker.d.ts +13 -0
  8. package/dist/exam-session/interactions/ColorPenPicker.d.ts.map +1 -0
  9. package/dist/exam-session/interactions/DraftSheet.d.ts +9 -0
  10. package/dist/exam-session/interactions/DraftSheet.d.ts.map +1 -0
  11. package/dist/exam-session/interactions/DragMatch.d.ts +10 -0
  12. package/dist/exam-session/interactions/DragMatch.d.ts.map +1 -0
  13. package/dist/exam-session/interactions/GeometryCanvas.d.ts +20 -0
  14. package/dist/exam-session/interactions/GeometryCanvas.d.ts.map +1 -0
  15. package/dist/exam-session/interactions/HandwrittenNumberAnswer.d.ts +11 -0
  16. package/dist/exam-session/interactions/HandwrittenNumberAnswer.d.ts.map +1 -0
  17. package/dist/exam-session/interactions/KonvaDrawingGrid.d.ts +10 -0
  18. package/dist/exam-session/interactions/KonvaDrawingGrid.d.ts.map +1 -0
  19. package/dist/exam-session/interactions/LabelPlacement.d.ts +10 -0
  20. package/dist/exam-session/interactions/LabelPlacement.d.ts.map +1 -0
  21. package/dist/exam-session/interactions/NumberLineAnswer.d.ts +12 -0
  22. package/dist/exam-session/interactions/NumberLineAnswer.d.ts.map +1 -0
  23. package/dist/exam-session/interactions/PronunciationRecorder.d.ts +17 -0
  24. package/dist/exam-session/interactions/PronunciationRecorder.d.ts.map +1 -0
  25. package/dist/exam-session/interactions/SingleChoice.d.ts +10 -0
  26. package/dist/exam-session/interactions/SingleChoice.d.ts.map +1 -0
  27. package/dist/exam-session/interactions/SortableAnswer.d.ts +10 -0
  28. package/dist/exam-session/interactions/SortableAnswer.d.ts.map +1 -0
  29. package/dist/exam-session/interactions/TextAnswer.d.ts +11 -0
  30. package/dist/exam-session/interactions/TextAnswer.d.ts.map +1 -0
  31. package/dist/exam-session/interactions/geometryColors.d.ts +6 -0
  32. package/dist/exam-session/interactions/geometryColors.d.ts.map +1 -0
  33. package/dist/index.d.ts +21 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +2593 -0
  36. package/dist/renderer/QuestionPreviewPanel.d.ts +7 -0
  37. package/dist/renderer/QuestionPreviewPanel.d.ts.map +1 -0
  38. package/dist/renderer/QuestionRenderer.d.ts +21 -0
  39. package/dist/renderer/QuestionRenderer.d.ts.map +1 -0
  40. package/dist/styles.css +2 -0
  41. package/dist/voice/evaluateVoiceAiResult.d.ts +19 -0
  42. package/dist/voice/evaluateVoiceAiResult.d.ts.map +1 -0
  43. package/package.json +56 -0
@@ -0,0 +1,39 @@
1
+ import type { ExamAnswerState, ExamPaper, ExamSection } from './examSessionTypes';
2
+ export type ScoringUnitStatus = 'correct' | 'incorrect' | 'unanswered';
3
+ export type ScoringUnitResult = {
4
+ id: string;
5
+ label: string;
6
+ questionId: string;
7
+ sectionId: string;
8
+ status: ScoringUnitStatus;
9
+ };
10
+ export type SectionScoreSummary = {
11
+ badge: string;
12
+ correctCount: number;
13
+ id: string;
14
+ incorrectCount: number;
15
+ maxScore: number;
16
+ notCorrectCount: number;
17
+ score: number;
18
+ title: string;
19
+ tone: ExamSection['tone'];
20
+ totalUnits: number;
21
+ unansweredCount: number;
22
+ units: ScoringUnitResult[];
23
+ };
24
+ export type ExamScoreSummary = {
25
+ correctCount: number;
26
+ generatedAt: string;
27
+ incorrectCount: number;
28
+ maxScore: number;
29
+ notCorrectCount: number;
30
+ percentage: number;
31
+ score: number;
32
+ sections: SectionScoreSummary[];
33
+ subject: string;
34
+ title: string;
35
+ totalUnits: number;
36
+ unansweredCount: number;
37
+ };
38
+ export declare function calculateExamResult(examPaper: ExamPaper, answers: ExamAnswerState): ExamScoreSummary;
39
+ //# sourceMappingURL=examScoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examScoring.d.ts","sourceRoot":"","sources":["../../src/exam-session/examScoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,eAAe,EACf,SAAS,EACT,WAAW,EAGZ,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;AAEtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAaD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,eAAe,GACvB,gBAAgB,CA0BlB"}
@@ -0,0 +1,344 @@
1
+ export type NativeVoiceAiLanguage = 'ar' | 'fr';
2
+ export type NativeVoiceAiAudioConfig = {
3
+ bitDepth: 16;
4
+ channels: 1;
5
+ format: 'wav';
6
+ sampleRate: 16000;
7
+ };
8
+ export type NativeVoiceAiRecordingConfig = {
9
+ audioConfig: NativeVoiceAiAudioConfig;
10
+ lang: NativeVoiceAiLanguage;
11
+ maxDuration?: number;
12
+ useModelAi: true;
13
+ };
14
+ export type NativeVoiceAiModelTimestamp = {
15
+ confidence: number;
16
+ endMs: number;
17
+ phoneme: string;
18
+ startMs: number;
19
+ };
20
+ export type NativeVoiceAiModelResult = {
21
+ audio: {
22
+ channels: number;
23
+ durationMs: number;
24
+ encoding: string;
25
+ sampleRateHz: number;
26
+ };
27
+ confidence: number;
28
+ language: string;
29
+ latencyMs: number;
30
+ modelVersion: string;
31
+ timestamps?: NativeVoiceAiModelTimestamp[];
32
+ transcript: string;
33
+ };
34
+ export type NativeVoiceAiRecordingResult = {
35
+ audioConfig: NativeVoiceAiAudioConfig;
36
+ audioData: string;
37
+ duration: number;
38
+ modelAiResult: NativeVoiceAiModelResult;
39
+ size: number;
40
+ timestamp: number;
41
+ };
42
+ export type PronunciationEvaluationStatus = 'correct' | 'incorrect' | 'language-mismatch' | 'no-speech';
43
+ export type PronunciationEvaluation = {
44
+ acceptedPronunciations: string[];
45
+ confidence: number;
46
+ confidencePercent: number;
47
+ detectedPronunciation: string;
48
+ expectedLanguage: NativeVoiceAiLanguage;
49
+ expectedText: string;
50
+ isCorrect: boolean;
51
+ isExactMatch: boolean;
52
+ language: string;
53
+ latencyMs: number;
54
+ matchedPronunciation: string | null;
55
+ minimumSimilarity: number;
56
+ modelVersion: string;
57
+ normalizedDetectedPronunciation: string;
58
+ normalizedPronunciations: string[];
59
+ similarity: number;
60
+ similarityPercent: number;
61
+ status: PronunciationEvaluationStatus;
62
+ timestamps: NativeVoiceAiModelTimestamp[];
63
+ };
64
+ export type VoiceAiRecorderAdapter = {
65
+ startRecording: (config: NativeVoiceAiRecordingConfig) => Promise<{
66
+ started: true;
67
+ }>;
68
+ stopRecording: () => Promise<NativeVoiceAiRecordingResult>;
69
+ };
70
+ export type HandwritingRecognitionAdapter = {
71
+ isAvailable: () => boolean;
72
+ recognize: (answer: HandwrittenNumberAnswerValue) => Promise<HandwrittenNumberAnswerValue>;
73
+ };
74
+ export type ExamRendererAdapters = {
75
+ audioRecorder?: VoiceAiRecorderAdapter;
76
+ handwritingRecognizer?: HandwritingRecognitionAdapter;
77
+ };
78
+ export type SectionTone = 'blue' | 'amber' | 'purple' | 'green';
79
+ export type TextAnswerValue = {
80
+ kind: 'text';
81
+ value: string;
82
+ };
83
+ export type HandwrittenNumberStroke = {
84
+ id: string;
85
+ points: number[];
86
+ timestamps?: number[];
87
+ };
88
+ export type HandwrittenNumberAnswerValue = {
89
+ kind: 'handwritten-number';
90
+ canvasHeight: number;
91
+ canvasWidth: number;
92
+ recognitionCandidates?: string[];
93
+ recognitionModel?: string;
94
+ recognizedAt?: number;
95
+ recognizedValue?: string;
96
+ strokes: HandwrittenNumberStroke[];
97
+ };
98
+ export type ChoiceAnswerValue = {
99
+ kind: 'choice';
100
+ choiceId: string;
101
+ };
102
+ export type MatchAnswerValue = {
103
+ kind: 'matches';
104
+ pairs: Record<string, string>;
105
+ };
106
+ export type OrderAnswerValue = {
107
+ kind: 'order';
108
+ itemIds: string[];
109
+ };
110
+ export type LabelPlacement = {
111
+ labelId: string;
112
+ targetId: string;
113
+ x: number;
114
+ y: number;
115
+ };
116
+ export type PlacementAnswerValue = {
117
+ kind: 'placements';
118
+ placements: Record<string, LabelPlacement>;
119
+ };
120
+ export type DrawingStroke = {
121
+ id: string;
122
+ tool: 'pen' | 'eraser';
123
+ points: number[];
124
+ };
125
+ export type GeometryPoint = {
126
+ x: number;
127
+ y: number;
128
+ };
129
+ export type GeometryColorOption = {
130
+ id: string;
131
+ label: string;
132
+ value: string;
133
+ };
134
+ export type GeometryFreehandElement = {
135
+ id: string;
136
+ type: 'freehand';
137
+ color: string;
138
+ points: number[];
139
+ strokeWidth: number;
140
+ };
141
+ export type GeometryLineElement = {
142
+ id: string;
143
+ type: 'line';
144
+ color: string;
145
+ points: [number, number, number, number];
146
+ strokeWidth: number;
147
+ };
148
+ export type GeometryCircleElement = {
149
+ id: string;
150
+ type: 'circle';
151
+ center: GeometryPoint;
152
+ color: string;
153
+ radius: number;
154
+ strokeWidth: number;
155
+ };
156
+ export type GeometryCanvasElement = GeometryFreehandElement | GeometryLineElement | GeometryCircleElement;
157
+ export type GeometryGuideState = {
158
+ compass: {
159
+ center: GeometryPoint;
160
+ radius: number;
161
+ };
162
+ protractor: {
163
+ x: number;
164
+ y: number;
165
+ rotation: number;
166
+ };
167
+ ruler: {
168
+ length: number;
169
+ rotation: number;
170
+ x: number;
171
+ y: number;
172
+ };
173
+ };
174
+ export type DrawingAnswerValue = {
175
+ kind: 'drawing';
176
+ elements: GeometryCanvasElement[];
177
+ guides?: GeometryGuideState;
178
+ strokes?: DrawingStroke[];
179
+ };
180
+ export type CoinTableAnswerValue = {
181
+ kind: 'coin-table';
182
+ counts: Record<string, number>;
183
+ };
184
+ export type AudioRecordingAnswerValue = {
185
+ evaluation: PronunciationEvaluation;
186
+ kind: 'audio-recording';
187
+ result: NativeVoiceAiRecordingResult;
188
+ };
189
+ export type AnswerValue = TextAnswerValue | HandwrittenNumberAnswerValue | ChoiceAnswerValue | MatchAnswerValue | OrderAnswerValue | PlacementAnswerValue | DrawingAnswerValue | CoinTableAnswerValue | AudioRecordingAnswerValue;
190
+ export type ExamAnswerState = Record<string, AnswerValue>;
191
+ export type FutureInteractiveQuestionType = 'dragDrop' | 'matching' | 'ordering' | 'labelPlacement';
192
+ export type ExamPaper = {
193
+ title: string;
194
+ subject: string;
195
+ level: string;
196
+ phase: string;
197
+ model: string;
198
+ timer: string;
199
+ sections: ExamSection[];
200
+ };
201
+ export type ExamSection = {
202
+ id: string;
203
+ title: string;
204
+ tone: SectionTone;
205
+ points: string;
206
+ badge: string;
207
+ isScored?: boolean;
208
+ questions: QuestionBlock[];
209
+ };
210
+ type BaseQuestionBlock = {
211
+ id: string;
212
+ number: number;
213
+ prompt: string;
214
+ };
215
+ export type InlineInputItem = {
216
+ id: string;
217
+ before: string;
218
+ after?: string;
219
+ correctAnswer?: string;
220
+ };
221
+ export type ChoiceOption = {
222
+ id: string;
223
+ label: string;
224
+ };
225
+ export type GridPoint = {
226
+ id: string;
227
+ x: number;
228
+ y: number;
229
+ };
230
+ export type VisualVariant = 'sun-stars' | 'counter-rows';
231
+ export type LengthItem = {
232
+ correctColorId?: string;
233
+ id: string;
234
+ label: string;
235
+ squareLength: number;
236
+ };
237
+ export type TableColumn = {
238
+ correctCount?: number;
239
+ id: string;
240
+ title: string;
241
+ answerLabel: string;
242
+ maxCoins?: number;
243
+ };
244
+ export type DragMatchItem = {
245
+ id: string;
246
+ label: string;
247
+ };
248
+ export type DragMatchTarget = {
249
+ id: string;
250
+ label: string;
251
+ };
252
+ export type SortableAnswerItem = {
253
+ id: string;
254
+ label: string;
255
+ };
256
+ export type LabelPlacementTarget = {
257
+ id: string;
258
+ label: string;
259
+ x: number;
260
+ y: number;
261
+ };
262
+ export type MatchGrading = {
263
+ pairs: Record<string, string>;
264
+ };
265
+ export type PlacementGrading = {
266
+ targetsByLabelId: Record<string, string>;
267
+ };
268
+ export type DrawingPointRef = {
269
+ pointId: string;
270
+ } | {
271
+ percentX: number;
272
+ percentY: number;
273
+ };
274
+ export type DrawingSegmentGrading = {
275
+ from: DrawingPointRef;
276
+ id: string;
277
+ to: DrawingPointRef;
278
+ };
279
+ export type DrawingGridGrading = {
280
+ expectedSegments: DrawingSegmentGrading[];
281
+ };
282
+ export type QuestionBlock = (BaseQuestionBlock & {
283
+ type: 'inline-inputs';
284
+ items: InlineInputItem[];
285
+ }) | (BaseQuestionBlock & {
286
+ type: 'visual-choice';
287
+ visual: VisualVariant;
288
+ choices: ChoiceOption[];
289
+ inputLabel?: string;
290
+ grading: MatchGrading;
291
+ }) | (BaseQuestionBlock & {
292
+ type: 'number-line';
293
+ expression: string;
294
+ correctAnswer: string;
295
+ }) | (BaseQuestionBlock & {
296
+ type: 'equation-inputs';
297
+ items: InlineInputItem[];
298
+ }) | (BaseQuestionBlock & {
299
+ type: 'length-estimation';
300
+ items: LengthItem[];
301
+ choices: ChoiceOption[];
302
+ }) | (BaseQuestionBlock & {
303
+ type: 'shape-choice';
304
+ choices: ChoiceOption[];
305
+ grading: MatchGrading;
306
+ }) | (BaseQuestionBlock & {
307
+ type: 'drawing-grid';
308
+ actionLabel: string;
309
+ grading: DrawingGridGrading;
310
+ points: GridPoint[];
311
+ }) | (BaseQuestionBlock & {
312
+ type: 'table-response';
313
+ columns: TableColumn[];
314
+ }) | (BaseQuestionBlock & {
315
+ type: 'text-input';
316
+ before?: string;
317
+ after?: string;
318
+ correctAnswer?: string;
319
+ }) | (BaseQuestionBlock & {
320
+ type: 'drag-match';
321
+ items: DragMatchItem[];
322
+ targets: DragMatchTarget[];
323
+ grading?: MatchGrading;
324
+ }) | (BaseQuestionBlock & {
325
+ type: 'sortable-answer';
326
+ items: SortableAnswerItem[];
327
+ }) | (BaseQuestionBlock & {
328
+ type: 'label-placement';
329
+ labels: DragMatchItem[];
330
+ targets: LabelPlacementTarget[];
331
+ grading?: PlacementGrading;
332
+ }) | (BaseQuestionBlock & {
333
+ type: 'audio-recording';
334
+ acceptedPronunciations?: string[];
335
+ expectedAnswer: string;
336
+ imageAlt: string;
337
+ imageSrc: string;
338
+ instruction: string;
339
+ language: NativeVoiceAiLanguage;
340
+ minimumSimilarity?: number;
341
+ });
342
+ export type QuestionType = QuestionBlock['type'];
343
+ export {};
344
+ //# sourceMappingURL=examSessionTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examSessionTypes.d.ts","sourceRoot":"","sources":["../../src/exam-session/examSessionTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CoinTableAnswerValue, TableColumn } from '../examSessionTypes';
2
+ type CoinTableResponseProps = {
3
+ columns: TableColumn[];
4
+ value?: CoinTableAnswerValue;
5
+ onChange: (value: CoinTableAnswerValue) => void;
6
+ };
7
+ export default function CoinTableResponse({ columns, value, onChange }: CoinTableResponseProps): import("react").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=CoinTableResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinTableResponse.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/CoinTableResponse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE5E,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE,oBAAoB,CAAA;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;CAChD,CAAA;AAKD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,+BAsE7F"}
@@ -0,0 +1,13 @@
1
+ import type { GeometryColorOption } from '../examSessionTypes';
2
+ import './ColorPenPicker.css';
3
+ type ColorPenPickerProps = {
4
+ ariaLabel: string;
5
+ className?: string;
6
+ colors: GeometryColorOption[];
7
+ disabled?: boolean;
8
+ onChange: (colorId: string) => void;
9
+ selectedColorId?: string | null;
10
+ };
11
+ export default function ColorPenPicker({ ariaLabel, className, colors, disabled, onChange, selectedColorId, }: ColorPenPickerProps): import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=ColorPenPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPenPicker.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/ColorPenPicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,sBAAsB,CAAA;AAE7B,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,EACT,SAAc,EACd,MAAM,EACN,QAAgB,EAChB,QAAQ,EACR,eAAe,GAChB,EAAE,mBAAmB,+BA2BrB"}
@@ -0,0 +1,9 @@
1
+ import type { DrawingAnswerValue } from '../examSessionTypes';
2
+ type DraftSheetProps = {
3
+ disabled: boolean;
4
+ onChange: (value: DrawingAnswerValue) => void;
5
+ value: DrawingAnswerValue;
6
+ };
7
+ export default function DraftSheet({ disabled, onChange, value, }: DraftSheetProps): import("react").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=DraftSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DraftSheet.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/DraftSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG7D,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC7C,KAAK,EAAE,kBAAkB,CAAA;CAC1B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,KAAK,GACN,EAAE,eAAe,+BAwCjB"}
@@ -0,0 +1,10 @@
1
+ import type { DragMatchItem, DragMatchTarget, MatchAnswerValue } from '../examSessionTypes';
2
+ type DragMatchProps = {
3
+ items: DragMatchItem[];
4
+ targets: DragMatchTarget[];
5
+ value?: MatchAnswerValue;
6
+ onChange: (value: MatchAnswerValue) => void;
7
+ };
8
+ export default function DragMatch({ items, targets, value, onChange }: DragMatchProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=DragMatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragMatch.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/DragMatch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3F,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC5C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,+BA4CpF"}
@@ -0,0 +1,20 @@
1
+ import type { DrawingAnswerValue, GeometryColorOption, GridPoint } from '../examSessionTypes';
2
+ import './GeometryCanvas.css';
3
+ type GeometryCanvasProps = {
4
+ actionLabel?: string;
5
+ canvasHeight?: number;
6
+ canvasWidth?: number;
7
+ className?: string;
8
+ colorOptions?: GeometryColorOption[];
9
+ defaultColor?: string;
10
+ disabled?: boolean;
11
+ minStageWidth?: number;
12
+ onChange: (value: DrawingAnswerValue) => void;
13
+ points?: GridPoint[];
14
+ showColorPalette?: boolean;
15
+ value?: DrawingAnswerValue;
16
+ variant?: 'question' | 'draft';
17
+ };
18
+ export default function GeometryCanvas({ actionLabel, canvasHeight, canvasWidth, className, colorOptions, defaultColor, disabled, minStageWidth, onChange, points, showColorPalette, value, variant, }: GeometryCanvasProps): import("react").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=GeometryCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeometryCanvas.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/GeometryCanvas.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,kBAAkB,EAGlB,mBAAmB,EAGnB,SAAS,EACV,MAAM,qBAAqB,CAAA;AAO5B,OAAO,sBAAsB,CAAA;AAc7B,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC7C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;CAC/B,CAAA;AAqBD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,WAAW,EACX,YAAoC,EACpC,WAAkC,EAClC,SAAc,EACd,YAAsC,EACtC,YAAY,EACZ,QAAgB,EAChB,aAA+B,EAC/B,QAAQ,EACR,MAAW,EACX,gBAAuB,EACvB,KAAK,EACL,OAAoB,GACrB,EAAE,mBAAmB,+BA6brB"}
@@ -0,0 +1,11 @@
1
+ import type { HandwritingRecognitionAdapter, HandwrittenNumberAnswerValue } from '../examSessionTypes';
2
+ type HandwrittenNumberAnswerProps = {
3
+ ariaLabel: string;
4
+ value?: HandwrittenNumberAnswerValue;
5
+ onChange: (value: HandwrittenNumberAnswerValue) => void;
6
+ onClear?: () => void;
7
+ recognizer?: HandwritingRecognitionAdapter;
8
+ };
9
+ export default function HandwrittenNumberAnswer({ ariaLabel, value, onChange, onClear, recognizer, }: HandwrittenNumberAnswerProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=HandwrittenNumberAnswer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandwrittenNumberAnswer.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/HandwrittenNumberAnswer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAE7B,MAAM,qBAAqB,CAAA;AAE5B,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,4BAA4B,CAAA;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,CAAA;IACvD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,6BAA6B,CAAA;CAC3C,CAAA;AAaD,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,4BAA4B,+BAiM9B"}
@@ -0,0 +1,10 @@
1
+ import type { DrawingAnswerValue, GridPoint } from '../examSessionTypes';
2
+ type KonvaDrawingGridProps = {
3
+ actionLabel: string;
4
+ points: GridPoint[];
5
+ value?: DrawingAnswerValue;
6
+ onChange: (value: DrawingAnswerValue) => void;
7
+ };
8
+ export default function KonvaDrawingGrid({ actionLabel, points, value, onChange, }: KonvaDrawingGridProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=KonvaDrawingGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KonvaDrawingGrid.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/KonvaDrawingGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGxE,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,GACT,EAAE,qBAAqB,+BAUvB"}
@@ -0,0 +1,10 @@
1
+ import type { DragMatchItem, LabelPlacementTarget, PlacementAnswerValue } from '../examSessionTypes';
2
+ type LabelPlacementProps = {
3
+ labels: DragMatchItem[];
4
+ targets: LabelPlacementTarget[];
5
+ value?: PlacementAnswerValue;
6
+ onChange: (value: PlacementAnswerValue) => void;
7
+ };
8
+ export default function LabelPlacement({ labels, targets, value, onChange, }: LabelPlacementProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=LabelPlacement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelPlacement.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/LabelPlacement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAA;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;CAChD,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,GACT,EAAE,mBAAmB,+BAuDrB"}
@@ -0,0 +1,12 @@
1
+ import type { HandwritingRecognitionAdapter, HandwrittenNumberAnswerValue } from '../examSessionTypes';
2
+ type NumberLineAnswerProps = {
3
+ answerId: string;
4
+ expression: string;
5
+ value?: HandwrittenNumberAnswerValue;
6
+ onChange: (answerId: string, value: HandwrittenNumberAnswerValue) => void;
7
+ onClear: (answerId: string) => void;
8
+ recognizer?: HandwritingRecognitionAdapter;
9
+ };
10
+ export default function NumberLineAnswer({ answerId, expression, value, onChange, onClear, recognizer, }: NumberLineAnswerProps): import("react").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=NumberLineAnswer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberLineAnswer.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/NumberLineAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAA;AAG5B,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,4BAA4B,CAAA;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,4BAA4B,KAAK,IAAI,CAAA;IACzE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,UAAU,CAAC,EAAE,6BAA6B,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,qBAAqB,+BAgBvB"}
@@ -0,0 +1,17 @@
1
+ import type { AudioRecordingAnswerValue, NativeVoiceAiLanguage, VoiceAiRecorderAdapter } from '../examSessionTypes';
2
+ type PronunciationRecorderProps = {
3
+ acceptedPronunciations?: string[];
4
+ expectedText: string;
5
+ imageAlt: string;
6
+ imageSrc: string;
7
+ instruction: string;
8
+ language: NativeVoiceAiLanguage;
9
+ minimumSimilarity?: number;
10
+ onChange: (value: AudioRecordingAnswerValue) => void;
11
+ onReset: () => void;
12
+ recorder?: VoiceAiRecorderAdapter;
13
+ value?: AudioRecordingAnswerValue;
14
+ };
15
+ export default function PronunciationRecorder({ acceptedPronunciations, expectedText, imageAlt, imageSrc, instruction, language, minimumSimilarity, onChange, onReset, recorder, value, }: PronunciationRecorderProps): import("react").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=PronunciationRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PronunciationRecorder.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/PronunciationRecorder.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EAErB,sBAAsB,EACvB,MAAM,qBAAqB,CAAA;AAI5B,KAAK,0BAA0B,GAAG;IAChC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACpD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,KAAK,CAAC,EAAE,yBAAyB,CAAA;CAClC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE,0BAA0B,+BAwN5B"}
@@ -0,0 +1,10 @@
1
+ import type { ChoiceAnswerValue, ChoiceOption } from '../examSessionTypes';
2
+ type SingleChoiceProps = {
3
+ answerId: string;
4
+ choices: ChoiceOption[];
5
+ value?: ChoiceAnswerValue;
6
+ onChange: (value: ChoiceAnswerValue) => void;
7
+ };
8
+ export default function SingleChoice({ answerId, choices, value, onChange }: SingleChoiceProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=SingleChoice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleChoice.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/SingleChoice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE1E,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC7C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAyB7F"}
@@ -0,0 +1,10 @@
1
+ import type { OrderAnswerValue, SortableAnswerItem } from '../examSessionTypes';
2
+ type SortableAnswerProps = {
3
+ answerId: string;
4
+ items: SortableAnswerItem[];
5
+ value?: OrderAnswerValue;
6
+ onChange: (value: OrderAnswerValue) => void;
7
+ };
8
+ export default function SortableAnswer({ answerId, items, value, onChange }: SortableAnswerProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=SortableAnswer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableAnswer.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/SortableAnswer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE/E,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC5C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,+BAiC/F"}
@@ -0,0 +1,11 @@
1
+ import type { TextAnswerValue } from '../examSessionTypes';
2
+ type TextAnswerProps = {
3
+ ariaLabel: string;
4
+ className?: string;
5
+ inputMode?: 'numeric' | 'text';
6
+ value?: TextAnswerValue;
7
+ onChange: (value: TextAnswerValue) => void;
8
+ };
9
+ export default function TextAnswer({ ariaLabel, className, inputMode, value, onChange, }: TextAnswerProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=TextAnswer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextAnswer.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/TextAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,SAAS,EACT,SAAS,EACT,SAAkB,EAClB,KAAK,EACL,QAAQ,GACT,EAAE,eAAe,+BAUjB"}
@@ -0,0 +1,6 @@
1
+ import type { ChoiceOption, GeometryColorOption } from '../examSessionTypes';
2
+ export declare const DEFAULT_GEOMETRY_COLORS: GeometryColorOption[];
3
+ export declare function getDefaultColorId(colors: GeometryColorOption[], requestedColor?: string): string;
4
+ export declare function getColorValue(colors: GeometryColorOption[], selectedColorId: string): string;
5
+ export declare function mapChoicesToGeometryColors(choices: ChoiceOption[]): GeometryColorOption[];
6
+ //# sourceMappingURL=geometryColors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometryColors.d.ts","sourceRoot":"","sources":["../../../src/exam-session/interactions/geometryColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAKxD,CAAA;AASD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM,UASxB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,eAAe,EAAE,MAAM,UAOxB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,YAAY,EAAE,GACtB,mBAAmB,EAAE,CAMvB"}