@digabi/exam-engine-core 16.1.2 → 16.2.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 (134) hide show
  1. package/dist/__tests__/AnsweringInstructions.test.js +10 -10
  2. package/dist/__tests__/AnsweringInstructions.test.js.map +1 -1
  3. package/dist/__tests__/casSaga.test.js +19 -19
  4. package/dist/__tests__/casSaga.test.js.map +1 -1
  5. package/dist/__tests__/renderAnnotations.test.js +2 -2
  6. package/dist/__tests__/renderAnnotations.test.js.map +1 -1
  7. package/dist/__tests__/results/AnnotationList.test.js +4 -3
  8. package/dist/__tests__/results/AnnotationList.test.js.map +1 -1
  9. package/dist/__tests__/results/ResultsContext.test.js +12 -12
  10. package/dist/__tests__/results/ResultsContext.test.js.map +1 -1
  11. package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.js +3 -2
  12. package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.js.map +1 -1
  13. package/dist/__tests__/results/ResultsExamQuestionManualScore.test.js +4 -3
  14. package/dist/__tests__/results/ResultsExamQuestionManualScore.test.js.map +1 -1
  15. package/dist/__tests__/testExamRendering.js +8 -8
  16. package/dist/__tests__/testExamRendering.js.map +1 -1
  17. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  18. package/dist/__tests__/util.test.js +4 -4
  19. package/dist/__tests__/util.test.js.map +1 -1
  20. package/dist/__tests__/validateAnswers.test.js +64 -25
  21. package/dist/__tests__/validateAnswers.test.js.map +1 -1
  22. package/dist/components/AnswerToolbar.d.ts +7 -5
  23. package/dist/components/AnswerToolbar.d.ts.map +1 -1
  24. package/dist/components/AnswerToolbar.js +19 -6
  25. package/dist/components/AnswerToolbar.js.map +1 -1
  26. package/dist/components/AnsweringInstructions.d.ts +2 -2
  27. package/dist/components/AnsweringInstructions.d.ts.map +1 -1
  28. package/dist/components/AnsweringInstructions.js +2 -2
  29. package/dist/components/AnsweringInstructions.js.map +1 -1
  30. package/dist/components/SectionElement.d.ts.map +1 -1
  31. package/dist/components/SectionElement.js.map +1 -1
  32. package/dist/components/context/CommonExamContext.d.ts +1 -1
  33. package/dist/components/context/CommonExamContext.d.ts.map +1 -1
  34. package/dist/components/context/CommonExamContext.js +1 -1
  35. package/dist/components/context/CommonExamContext.js.map +1 -1
  36. package/dist/components/context/QuestionContext.d.ts +1 -0
  37. package/dist/components/context/QuestionContext.d.ts.map +1 -1
  38. package/dist/components/context/QuestionContext.js +8 -1
  39. package/dist/components/context/QuestionContext.js.map +1 -1
  40. package/dist/components/exam/ChoiceAnswer.d.ts.map +1 -1
  41. package/dist/components/exam/ChoiceAnswer.js +5 -8
  42. package/dist/components/exam/ChoiceAnswer.js.map +1 -1
  43. package/dist/components/exam/DropdownAnswer.d.ts.map +1 -1
  44. package/dist/components/exam/DropdownAnswer.js +2 -3
  45. package/dist/components/exam/DropdownAnswer.js.map +1 -1
  46. package/dist/components/exam/Hints.d.ts.map +1 -1
  47. package/dist/components/exam/Hints.js +2 -2
  48. package/dist/components/exam/Hints.js.map +1 -1
  49. package/dist/components/exam/QuestionInstruction.d.ts.map +1 -1
  50. package/dist/components/exam/QuestionInstruction.js +3 -1
  51. package/dist/components/exam/QuestionInstruction.js.map +1 -1
  52. package/dist/components/exam/QuestionTitle.d.ts.map +1 -1
  53. package/dist/components/exam/QuestionTitle.js +4 -2
  54. package/dist/components/exam/QuestionTitle.js.map +1 -1
  55. package/dist/components/exam/RichTextAnswer.d.ts +5 -2
  56. package/dist/components/exam/RichTextAnswer.d.ts.map +1 -1
  57. package/dist/components/exam/RichTextAnswer.js +2 -2
  58. package/dist/components/exam/RichTextAnswer.js.map +1 -1
  59. package/dist/components/exam/Section.d.ts.map +1 -1
  60. package/dist/components/exam/Section.js +11 -1
  61. package/dist/components/exam/Section.js.map +1 -1
  62. package/dist/components/exam/SectionTitle.js +3 -3
  63. package/dist/components/exam/SectionTitle.js.map +1 -1
  64. package/dist/components/exam/TextAnswer.d.ts.map +1 -1
  65. package/dist/components/exam/TextAnswer.js +13 -3
  66. package/dist/components/exam/TextAnswer.js.map +1 -1
  67. package/dist/components/exam/internal/ErrorIndicator.d.ts.map +1 -1
  68. package/dist/components/exam/internal/ErrorIndicator.js +29 -13
  69. package/dist/components/exam/internal/ErrorIndicator.js.map +1 -1
  70. package/dist/components/exam/internal/TextAnswerInput.d.ts +8 -4
  71. package/dist/components/exam/internal/TextAnswerInput.d.ts.map +1 -1
  72. package/dist/components/exam/internal/TextAnswerInput.js +23 -14
  73. package/dist/components/exam/internal/TextAnswerInput.js.map +1 -1
  74. package/dist/components/grading-instructions/AutogradedAnswer.d.ts.map +1 -1
  75. package/dist/components/grading-instructions/AutogradedAnswer.js +3 -0
  76. package/dist/components/grading-instructions/AutogradedAnswer.js.map +1 -1
  77. package/dist/components/grading-instructions/GradingInstructions.d.ts.map +1 -1
  78. package/dist/components/grading-instructions/GradingInstructions.js +3 -2
  79. package/dist/components/grading-instructions/GradingInstructions.js.map +1 -1
  80. package/dist/components/grading-instructions/SectionTitle.js +2 -2
  81. package/dist/components/grading-instructions/SectionTitle.js.map +1 -1
  82. package/dist/components/results/DropdownAnswer.d.ts.map +1 -1
  83. package/dist/components/results/DropdownAnswer.js +3 -3
  84. package/dist/components/results/DropdownAnswer.js.map +1 -1
  85. package/dist/components/results/QuestionTitle.js +1 -1
  86. package/dist/components/results/QuestionTitle.js.map +1 -1
  87. package/dist/components/results/TextAnswer.d.ts.map +1 -1
  88. package/dist/components/results/TextAnswer.js +3 -0
  89. package/dist/components/results/TextAnswer.js.map +1 -1
  90. package/dist/components/shared/AnswerLengthInfo.d.ts +7 -0
  91. package/dist/components/shared/AnswerLengthInfo.d.ts.map +1 -0
  92. package/dist/components/shared/AnswerLengthInfo.js +11 -0
  93. package/dist/components/shared/AnswerLengthInfo.js.map +1 -0
  94. package/dist/components/shared/TableOfContents.js +3 -3
  95. package/dist/components/shared/TableOfContents.js.map +1 -1
  96. package/dist/components/shared/internal/RestrictedAudioPlayer.d.ts.map +1 -1
  97. package/dist/components/shared/internal/RestrictedAudioPlayer.js +8 -5
  98. package/dist/components/shared/internal/RestrictedAudioPlayer.js.map +1 -1
  99. package/dist/i18n/FA.js +4 -4
  100. package/dist/i18n/FA.js.map +1 -1
  101. package/dist/i18n/fi-FI.d.ts +4 -3
  102. package/dist/i18n/fi-FI.d.ts.map +1 -1
  103. package/dist/i18n/fi-FI.js +4 -3
  104. package/dist/i18n/fi-FI.js.map +1 -1
  105. package/dist/i18n/index.d.ts +10 -3
  106. package/dist/i18n/index.d.ts.map +1 -1
  107. package/dist/i18n/sv-FI.d.ts.map +1 -1
  108. package/dist/i18n/sv-FI.js +4 -3
  109. package/dist/i18n/sv-FI.js.map +1 -1
  110. package/dist/ids.d.ts +2 -0
  111. package/dist/ids.d.ts.map +1 -1
  112. package/dist/ids.js +2 -0
  113. package/dist/ids.js.map +1 -1
  114. package/dist/main-bundle.js +20 -12
  115. package/dist/main.css +1 -1
  116. package/dist/parser/parseExamStructure.d.ts +3 -1
  117. package/dist/parser/parseExamStructure.d.ts.map +1 -1
  118. package/dist/parser/parseExamStructure.js +1 -0
  119. package/dist/parser/parseExamStructure.js.map +1 -1
  120. package/dist/store/answers/actions.d.ts +2 -2
  121. package/dist/store/answers/actions.d.ts.map +1 -1
  122. package/dist/store/answers/actions.js.map +1 -1
  123. package/dist/store/answers/reducer.d.ts +3 -4
  124. package/dist/store/answers/reducer.d.ts.map +1 -1
  125. package/dist/store/answers/reducer.js +3 -3
  126. package/dist/store/answers/reducer.js.map +1 -1
  127. package/dist/store/index.d.ts +1 -1
  128. package/dist/store/index.js +1 -1
  129. package/dist/store/index.js.map +1 -1
  130. package/dist/validateAnswers.d.ts +8 -1
  131. package/dist/validateAnswers.d.ts.map +1 -1
  132. package/dist/validateAnswers.js +35 -2
  133. package/dist/validateAnswers.js.map +1 -1
  134. package/package.json +4 -4
@@ -31,31 +31,59 @@ const _ = __importStar(require("lodash"));
31
31
  let examStructure;
32
32
  let gradingStructure;
33
33
  beforeAll(async () => {
34
- const exam = exam_engine_generator_1.generateExam({
34
+ const exam = (0, exam_engine_generator_1.generateExam)({
35
35
  maxAnswers: 2,
36
36
  sections: [
37
37
  {
38
38
  questions: [
39
- exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]),
40
- exam_engine_generator_1.question({ questions: [exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]), exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()])] }),
39
+ (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)({ maxLength: 3 })]),
40
+ (0, exam_engine_generator_1.question)({ questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)({ maxLength: 3 })]), (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])] }),
41
41
  ],
42
42
  },
43
43
  {
44
44
  maxAnswers: 1,
45
45
  questions: [
46
- exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]),
47
- exam_engine_generator_1.question({ maxAnswers: 1, questions: [exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]), exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()])] }),
46
+ (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()]),
47
+ (0, exam_engine_generator_1.question)({ maxAnswers: 1, questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()]), (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])] }),
48
48
  ],
49
49
  },
50
50
  ],
51
51
  });
52
- const [masteringResult] = await exam_engine_mastering_1.masterExam(exam, () => '', () => {
52
+ const [masteringResult] = await (0, exam_engine_mastering_1.masterExam)(exam, () => '', () => {
53
53
  throw new Error('Boom!');
54
54
  });
55
- examStructure = parseExamStructure_1.parseExamStructure(parseExam_1.default(masteringResult.xml));
55
+ examStructure = (0, parseExamStructure_1.parseExamStructure)((0, parseExam_1.default)(masteringResult.xml));
56
56
  gradingStructure = masteringResult.gradingStructure;
57
57
  });
58
- describe('validateAnswers.ts', () => {
58
+ describe('Answer length validation', () => {
59
+ it('returns an error if answer is too long', () => {
60
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestionsWithText('too long', '1'))).toEqual([
61
+ {
62
+ displayNumber: '1',
63
+ type: 'AnswerTooLong',
64
+ characterCount: 8,
65
+ },
66
+ ]);
67
+ });
68
+ it('returns multiple errors if multiple answers are too long', () => {
69
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestionsWithText('too long', '1', '2.1'))).toEqual([
70
+ {
71
+ displayNumber: '1',
72
+ type: 'AnswerTooLong',
73
+ characterCount: 8,
74
+ },
75
+ {
76
+ displayNumber: '2.1',
77
+ type: 'AnswerTooLong',
78
+ characterCount: 8,
79
+ },
80
+ ]);
81
+ });
82
+ it('does not return errors if answer is short enough', () => {
83
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestionsWithText('ok', '1'))).toEqual([]);
84
+ });
85
+ });
86
+ describe('Extra answers validation', () => {
59
87
  it('returns an empty array if answer combinations are valid, nonempty if invalid', () => {
60
88
  const allAnswerCombinations = subsets(['1', '2.1', '2.2', '3', '4.1', '4.2']);
61
89
  const validAnswerCombinations = [
@@ -90,96 +118,107 @@ describe('validateAnswers.ts', () => {
90
118
  ];
91
119
  const invalidAnswerCombinations = _.differenceWith(allAnswerCombinations, validAnswerCombinations, _.isEqual);
92
120
  for (const questions of validAnswerCombinations) {
93
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions(...questions))).toEqual([]);
121
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions(...questions))).toEqual([]);
94
122
  }
95
123
  for (const questions of invalidAnswerCombinations) {
96
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions(...questions))).not.toEqual([]);
124
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions(...questions))).not.toEqual([]);
97
125
  }
98
126
  });
99
127
  it('returns an error if question has too many answers', () => {
100
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions('4.1', '4.2'))).toEqual([
128
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions('4.1', '4.2'))).toEqual([
101
129
  {
102
130
  childQuestions: ['4.1', '4.2'],
103
131
  displayNumber: '4',
104
132
  maxAnswers: 1,
105
133
  minAnswers: undefined,
106
- type: 'question',
134
+ elementType: 'question',
135
+ type: 'ExtraAnswer',
107
136
  },
108
137
  ]);
109
138
  });
110
139
  it('returns an error if section has too many answers', () => {
111
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions('3', '4.1'))).toEqual([
140
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions('3', '4.1'))).toEqual([
112
141
  {
113
142
  childQuestions: ['3', '4'],
114
143
  displayNumber: '2',
115
144
  maxAnswers: 1,
116
145
  minAnswers: 0,
117
- type: 'section',
146
+ elementType: 'section',
147
+ type: 'ExtraAnswer',
118
148
  },
119
149
  ]);
120
150
  });
121
151
  it('returns an error if exam has too many answers', () => {
122
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions('1', '2.1', '3'))).toEqual([
152
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions('1', '2.1', '3'))).toEqual([
123
153
  {
124
154
  childQuestions: ['1', '2'],
125
155
  displayNumber: '',
126
156
  maxAnswers: 2,
127
157
  minAnswers: undefined,
128
- type: 'exam',
158
+ elementType: 'exam',
159
+ type: 'ExtraAnswer',
129
160
  },
130
161
  ]);
131
162
  });
132
163
  it('returns two errors if both exam and section have too many answers', () => {
133
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions('1', '3', '4.1'))).toEqual([
164
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions('1', '3', '4.1'))).toEqual([
134
165
  {
135
166
  childQuestions: ['1', '2'],
136
167
  displayNumber: '',
137
168
  maxAnswers: 2,
138
169
  minAnswers: undefined,
139
- type: 'exam',
170
+ elementType: 'exam',
171
+ type: 'ExtraAnswer',
140
172
  },
141
173
  {
142
174
  childQuestions: ['3', '4'],
143
175
  displayNumber: '2',
144
176
  maxAnswers: 1,
145
177
  minAnswers: 0,
146
- type: 'section',
178
+ elementType: 'section',
179
+ type: 'ExtraAnswer',
147
180
  },
148
181
  ]);
149
182
  });
150
183
  it('returns three errors if exam, section and question have too many answers', () => {
151
- expect(validateAnswers_1.validateAnswers(examStructure, answerQuestions('1', '3', '4.1', '4.2'))).toEqual([
184
+ expect((0, validateAnswers_1.validateAnswers)(examStructure, answerQuestions('1', '3', '4.1', '4.2'))).toEqual([
152
185
  {
153
186
  childQuestions: ['1', '2'],
154
187
  displayNumber: '',
155
188
  maxAnswers: 2,
156
189
  minAnswers: undefined,
157
- type: 'exam',
190
+ elementType: 'exam',
191
+ type: 'ExtraAnswer',
158
192
  },
159
193
  {
160
194
  childQuestions: ['3', '4'],
161
195
  displayNumber: '2',
162
196
  maxAnswers: 1,
163
197
  minAnswers: 0,
164
- type: 'section',
198
+ elementType: 'section',
199
+ type: 'ExtraAnswer',
165
200
  },
166
201
  {
167
202
  childQuestions: ['4.1', '4.2'],
168
203
  displayNumber: '4',
169
204
  maxAnswers: 1,
170
205
  minAnswers: undefined,
171
- type: 'question',
206
+ elementType: 'question',
207
+ type: 'ExtraAnswer',
172
208
  },
173
209
  ]);
174
210
  });
175
211
  });
176
212
  const answerQuestions = (...displayNumbers) => {
213
+ return answerQuestionsWithText('foo', ...displayNumbers);
214
+ };
215
+ const answerQuestionsWithText = (text, ...displayNumbers) => {
177
216
  const findQuestionId = (displayNumber) => gradingStructure.questions.find((q) => q.displayNumber === displayNumber).id;
178
217
  const createAnswer = (questionId) => ({
179
218
  questionId,
180
219
  type: 'text',
181
- value: 'foo',
182
- characterCount: 3,
220
+ value: text,
221
+ characterCount: text.length,
183
222
  });
184
223
  const questionIds = displayNumbers.map(findQuestionId);
185
224
  const answers = questionIds.map(createAnswer);
@@ -1 +1 @@
1
- {"version":3,"file":"validateAnswers.test.js","sourceRoot":"","sources":["../../__tests__/validateAnswers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateAnswers.test.js","sourceRoot":"","sources":["../../__tests__/validateAnswers.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
1
  import React from 'react';
2
- import { ExamAnswer } from '..';
2
+ import { TextAnswer, RichTextAnswer } from '..';
3
3
  import * as actions from '../store/answers/actions';
4
- import { AnswerError } from './exam/RichTextAnswer';
4
+ import { AnswerTooLong } from '../validateAnswers';
5
+ import { ScreenshotError } from './exam/RichTextAnswer';
5
6
  interface AnswerToolbarProps {
6
- answer?: ExamAnswer;
7
- error?: AnswerError | null;
7
+ answer?: TextAnswer | RichTextAnswer;
8
+ screenshotError?: ScreenshotError;
9
+ validationError?: AnswerTooLong;
8
10
  element: Element;
9
11
  selectAnswerVersion?: typeof actions.selectAnswerVersion;
10
12
  showAnswerHistory?: boolean;
11
13
  supportsAnswerHistory?: boolean;
12
14
  }
13
- declare function AnswerToolbar({ answer, element, error, selectAnswerVersion, showAnswerHistory, supportsAnswerHistory, }: AnswerToolbarProps): JSX.Element;
15
+ declare function AnswerToolbar({ answer, element, screenshotError, validationError, selectAnswerVersion, showAnswerHistory, supportsAnswerHistory, }: AnswerToolbarProps): JSX.Element;
14
16
  declare const _default: React.MemoExoticComponent<typeof AnswerToolbar>;
15
17
  export default _default;
16
18
  //# sourceMappingURL=AnswerToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnswerToolbar.d.ts","sourceRoot":"","sources":["../../src/components/AnswerToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAG/B,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,OAAO,CAAC,mBAAmB,CAAA;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,iBAAS,aAAa,CAAC,EACrB,MAAM,EACN,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,iBAAyB,EACzB,qBAA6B,GAC9B,EAAE,kBAAkB,eAwCpB;;AAED,wBAAwC"}
1
+ {"version":3,"file":"AnswerToolbar.d.ts","sourceRoot":"","sources":["../../src/components/AnswerToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAG/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,cAAc,CAAA;IACpC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,eAAe,CAAC,EAAE,aAAa,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,OAAO,CAAC,mBAAmB,CAAA;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,iBAAS,aAAa,CAAC,EACrB,MAAM,EACN,OAAO,EACP,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAyB,EACzB,qBAA6B,GAC9B,EAAE,kBAAkB,eAoDpB;;AAED,wBAAwC"}
@@ -1,13 +1,26 @@
1
1
  import React from 'react';
2
- import { findChildElement, NBSP, queryAncestors } from '../dom-utils';
2
+ import classNames from 'classnames';
3
+ import { findChildElement, getNumericAttribute, NBSP, queryAncestors } from '../dom-utils';
3
4
  import { useExamTranslation } from '../i18n';
4
- function AnswerToolbar({ answer, element, error, selectAnswerVersion, showAnswerHistory = false, supportsAnswerHistory = false, }) {
5
+ function AnswerToolbar({ answer, element, screenshotError, validationError, selectAnswerVersion, showAnswerHistory = false, supportsAnswerHistory = false, }) {
5
6
  const { t } = useExamTranslation();
7
+ const answerLength = answer === null || answer === void 0 ? void 0 : answer.characterCount;
8
+ const maxLength = getNumericAttribute(element, 'max-length');
6
9
  return (React.createElement("div", { className: "answer-toolbar e-font-size-xs e-color-darkgrey e-columns e-mrg-b-2" },
7
- React.createElement("div", { className: "answer-toolbar__answer-length e-column e-column--narrow" }, answer && (answer.type === 'text' || answer.type === 'richText')
8
- ? t('answer-length', { count: answer.characterCount })
9
- : NBSP),
10
- React.createElement("div", { className: "answer-toolbar__errors e-column e-column--auto e-text-center" }, error && React.createElement("span", { role: "alert" }, t(`answer-errors.${error.key}`, error.options))),
10
+ React.createElement("div", { className: classNames('answer-toolbar__answer-length e-column', { 'e-color-error': validationError != null }) },
11
+ answer != null
12
+ ? t(maxLength != null ? 'answer-length-with-max-length' : 'answer-length', {
13
+ count: answerLength,
14
+ maxLength: maxLength,
15
+ })
16
+ : NBSP,
17
+ screenshotError ? (React.createElement("span", { className: "e-color-error", role: "alert" },
18
+ ' ',
19
+ t(`answer-errors.${screenshotError.key}`, screenshotError.options))) : validationError ? (
20
+ // We don't use an alert role here because ErrorIndicator already displays the same error message wrapped in an alert role
21
+ React.createElement("span", null,
22
+ " ",
23
+ t(`answer-errors.answer-too-long`, { count: validationError.characterCount }))) : null),
11
24
  React.createElement("div", { className: "answer-toolbar__history e-column e-column--narrow e-text-right" }, supportsAnswerHistory && (React.createElement("div", { className: "answer-toolbar__select-previous-version" }, showAnswerHistory && answer != null ? (React.createElement("button", { className: "answer-toolbar__previous-versions e-link-button e-font-size-xs", onClick: () => {
12
25
  // This is kind of hacky. We need to render the question title in the answer history modal,
13
26
  // but the current element we're at is text-answer. So we have to find the containing question
@@ -1 +1 @@
1
- {"version":3,"file":"AnswerToolbar.js","sourceRoot":"","sources":["../../src/components/AnswerToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAa5C,SAAS,aAAa,CAAC,EACrB,MAAM,EACN,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,iBAAiB,GAAG,KAAK,EACzB,qBAAqB,GAAG,KAAK,GACV;IACnB,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,OAAO,CACL,6BAAK,SAAS,EAAC,oEAAoE;QACjF,6BAAK,SAAS,EAAC,yDAAyD,IACrE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;YAC/D,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;YACtD,CAAC,CAAC,IAAI,CACJ;QACN,6BAAK,SAAS,EAAC,8DAA8D,IAC1E,KAAK,IAAI,8BAAM,IAAI,EAAC,OAAO,IAAE,CAAC,CAAC,iBAAiB,KAAK,CAAC,GAAG,EAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAQ,CACzF;QACN,6BAAK,SAAS,EAAC,gEAAgE,IAC5E,qBAAqB,IAAI,CACxB,6BAAK,SAAS,EAAC,yCAAyC,IACrD,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CACrC,gCACE,SAAS,EAAC,gEAAgE,EAC1E,OAAO,EAAE,GAAG,EAAE;gBACZ,2FAA2F;gBAC3F,8FAA8F;gBAC9F,qGAAqG;gBACrG,IAAI,mBAAmB,EAAE;oBACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,UAAU,CAAE,CAAA;oBACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAE,CAAA;oBACnE,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,WAAY,CAAC,CAAA;iBACnE;YACH,CAAC,IAEA,CAAC,CAAC,0BAA0B,CAAC,CACvB,CACV,CAAC,CAAC,CAAC,CACF,IAAI,CACL,CACG,CACP,CACG,CACF,CACP,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"AnswerToolbar.js","sourceRoot":"","sources":["../../src/components/AnswerToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAe5C,SAAS,aAAa,CAAC,EACrB,MAAM,EACN,OAAO,EACP,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAAG,KAAK,EACzB,qBAAqB,GAAG,KAAK,GACV;IACnB,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,YAAY,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,CAAA;IAC3C,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC5D,OAAO,CACL,6BAAK,SAAS,EAAC,oEAAoE;QACjF,6BACE,SAAS,EAAE,UAAU,CAAC,wCAAwC,EAAE,EAAE,eAAe,EAAE,eAAe,IAAI,IAAI,EAAE,CAAC;YAE5G,MAAM,IAAI,IAAI;gBACb,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,eAAe,EAAE;oBACvE,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACJ,CAAC,CAAC,IAAI;YACP,eAAe,CAAC,CAAC,CAAC,CACjB,8BAAM,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO;gBACzC,GAAG;gBACH,CAAC,CAAC,iBAAiB,eAAe,CAAC,GAAG,EAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CACvE,CACR,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,0HAA0H;YAC1H;;gBAAQ,CAAC,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,CAAC,CAAQ,CAC9F,CAAC,CAAC,CAAC,IAAI,CACJ;QACN,6BAAK,SAAS,EAAC,gEAAgE,IAC5E,qBAAqB,IAAI,CACxB,6BAAK,SAAS,EAAC,yCAAyC,IACrD,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CACrC,gCACE,SAAS,EAAC,gEAAgE,EAC1E,OAAO,EAAE,GAAG,EAAE;gBACZ,2FAA2F;gBAC3F,8FAA8F;gBAC9F,qGAAqG;gBACrG,IAAI,mBAAmB,EAAE;oBACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,UAAU,CAAE,CAAA;oBACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAE,CAAA;oBACnE,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,WAAY,CAAC,CAAA;iBACnE;YACH,CAAC,IAEA,CAAC,CAAC,0BAA0B,CAAC,CACvB,CACV,CAAC,CAAC,CAAC,CACF,IAAI,CACL,CACG,CACP,CACG,CACF,CACP,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA"}
@@ -3,10 +3,10 @@ export interface AnsweringInstructionProps {
3
3
  maxAnswers: number;
4
4
  /** Child questions as either raw Elements from the XML or just display numbers. */
5
5
  childQuestions: (string | Element)[];
6
- type: 'exam' | 'question' | 'section' | 'toc-section';
6
+ elementType: 'exam' | 'question' | 'section' | 'toc-section';
7
7
  minAnswers?: number;
8
8
  }
9
- declare function AnsweringInstructions({ maxAnswers, minAnswers, type, childQuestions }: AnsweringInstructionProps): JSX.Element;
9
+ declare function AnsweringInstructions({ maxAnswers, minAnswers, elementType, childQuestions }: AnsweringInstructionProps): JSX.Element;
10
10
  declare const _default: React.MemoExoticComponent<typeof AnsweringInstructions>;
11
11
  export default _default;
12
12
  //# sourceMappingURL=AnsweringInstructions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnsweringInstructions.d.ts","sourceRoot":"","sources":["../../src/components/AnsweringInstructions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,mFAAmF;IACnF,cAAc,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAA;IACpC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAAA;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,iBAAS,qBAAqB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,yBAAyB,eAiBzG;;AAgBD,wBAAgD"}
1
+ {"version":3,"file":"AnsweringInstructions.d.ts","sourceRoot":"","sources":["../../src/components/AnsweringInstructions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,mFAAmF;IACnF,cAAc,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAA;IACpC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAAA;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,iBAAS,qBAAqB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,yBAAyB,eAiBhH;;AAgBD,wBAAgD"}
@@ -1,10 +1,10 @@
1
1
  import * as _ from 'lodash-es';
2
2
  import React from 'react';
3
3
  import { useExamTranslation } from '../i18n';
4
- function AnsweringInstructions({ maxAnswers, minAnswers, type, childQuestions }) {
4
+ function AnsweringInstructions({ maxAnswers, minAnswers, elementType, childQuestions }) {
5
5
  const childDisplayNumbers = childQuestions.map((question) => _.isString(question) ? question : question.getAttribute('display-number'));
6
6
  const { t } = useExamTranslation();
7
- const possibleTranslationStrings = cartesian([childDisplayNumbers.length, '*'], [maxAnswers, '*'], [minAnswers != null ? minAnswers : maxAnswers, '*']).map(([childQuestionCount, maxAnswerCount, minAnswerCount]) => `answering-instructions.${type}_${childQuestionCount}_${minAnswerCount}_${maxAnswerCount}`);
7
+ const possibleTranslationStrings = cartesian([childDisplayNumbers.length, '*'], [maxAnswers, '*'], [minAnswers != null ? minAnswers : maxAnswers, '*']).map(([childQuestionCount, maxAnswerCount, minAnswerCount]) => `answering-instructions.${elementType}_${childQuestionCount}_${minAnswerCount}_${maxAnswerCount}`);
8
8
  const answerCount = [minAnswers, maxAnswers];
9
9
  const questions = [_.first(childDisplayNumbers), _.last(childDisplayNumbers)];
10
10
  return React.createElement(React.Fragment, null, t(possibleTranslationStrings, { answerCount, questions }));
@@ -1 +1 @@
1
- {"version":3,"file":"AnsweringInstructions.js","sourceRoot":"","sources":["../../src/components/AnsweringInstructions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAS5C,SAAS,qBAAqB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAA6B;IACxG,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAC3E,CAAA;IAED,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,0BAA0B,GAAU,SAAS,CACjD,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,CAAC,UAAU,EAAE,GAAG,CAAC,EACjB,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CACpD,CAAC,GAAG,CACH,CAAC,CAAC,kBAAkB,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE,CACvD,0BAA0B,IAAI,IAAI,kBAAkB,IAAI,cAAc,IAAI,cAAc,EAAE,CAC7F,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAE,CAAC,CAAA;IAC/E,OAAO,0CAAG,CAAC,CAAC,0BAA0B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAI,CAAA;AACzE,CAAC;AAED,SAAS,SAAS,CAAU,EAAgB,EAAE,EAAgB,EAAE,EAAgB;IAC9E,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;YAClB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;aACvB;SACF;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"AnsweringInstructions.js","sourceRoot":"","sources":["../../src/components/AnsweringInstructions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAS5C,SAAS,qBAAqB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAA6B;IAC/G,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAC3E,CAAA;IAED,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,0BAA0B,GAAU,SAAS,CACjD,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,CAAC,UAAU,EAAE,GAAG,CAAC,EACjB,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CACpD,CAAC,GAAG,CACH,CAAC,CAAC,kBAAkB,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE,CACvD,0BAA0B,WAAW,IAAI,kBAAkB,IAAI,cAAc,IAAI,cAAc,EAAE,CACpG,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAE,CAAC,CAAA;IAC/E,OAAO,0CAAG,CAAC,CAAC,0BAA0B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAI,CAAA;AACzE,CAAC;AAED,SAAS,SAAS,CAAU,EAAgB,EAAE,EAAgB,EAAE,EAAgB;IAC9E,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;YAClB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;aACvB;SACF;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionElement.d.ts","sourceRoot":"","sources":["../../src/components/SectionElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAIlH,CAAA;AAEH,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"SectionElement.d.ts","sourceRoot":"","sources":["../../src/components/SectionElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAC3C,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAIxE,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionElement.js","sourceRoot":"","sources":["../../src/components/SectionElement.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,cAAc,GAClB,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,SAAS,GAAG,UAAU,CAAC,wCAAwC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvF,OAAO,oCAAa,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAG,KAAK,CAAC,QAAQ,CAAW,CAAA;AACzE,CAAC,CAAA;AAEH,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"SectionElement.js","sourceRoot":"","sources":["../../src/components/SectionElement.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,cAAc,GAEhB,CAAC,KAAK,EAAE,EAAE;IACZ,MAAM,SAAS,GAAG,UAAU,CAAC,wCAAwC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvF,OAAO,oCAAa,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAG,KAAK,CAAC,QAAQ,CAAW,CAAA;AACzE,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -12,7 +12,7 @@ export interface CommonExamContext {
12
12
  subjectLanguage: string;
13
13
  maxAnswers?: number;
14
14
  maxScore?: number;
15
- numberOfSections: number;
15
+ sections: Element[];
16
16
  resolveAttachment: (filename: string) => string;
17
17
  root: Element;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommonExamContext.d.ts","sourceRoot":"","sources":["../../../src/components/context/CommonExamContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAA;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,IAAI,EAAE,OAAO,CAAA;CACd;AAED,eAAO,MAAM,iBAAiB,kCAA+C,CAAA;AAE7E,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAC7D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAsBxB"}
1
+ {"version":3,"file":"CommonExamContext.d.ts","sourceRoot":"","sources":["../../../src/components/context/CommonExamContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAA;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,IAAI,EAAE,OAAO,CAAA;CACd;AAED,eAAO,MAAM,iBAAiB,kCAA+C,CAAA;AAE7E,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAC7D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAsBxB"}
@@ -18,7 +18,7 @@ export function withCommonExamContext(Component) {
18
18
  subjectLanguage,
19
19
  maxAnswers: getNumericAttribute(root, 'max-answers'),
20
20
  maxScore: getNumericAttribute(root, 'max-score'),
21
- numberOfSections: queryAll(root, 'section').length,
21
+ sections: queryAll(root, 'section'),
22
22
  resolveAttachment,
23
23
  root,
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CommonExamContext.js","sourceRoot":"","sources":["../../../src/components/context/CommonExamContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAmB3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,EAAuB,CAAC,CAAA;AAE7E,MAAM,UAAU,qBAAqB,CACnC,SAAiC;IAEjC,OAAO,WAAW,CAAuB,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAE;QACzG,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAA;QAChC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAE,CAAA;QACjD,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAA;QAE9D,OAAO;YACL,cAAc;YACd,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACjD,iBAAiB,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACxE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;YACvC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;YACzC,QAAQ;YACR,eAAe;YACf,UAAU,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC;YACpD,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC;YAChD,gBAAgB,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM;YAClD,iBAAiB;YACjB,IAAI;SACL,CAAA;IACH,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"CommonExamContext.js","sourceRoot":"","sources":["../../../src/components/context/CommonExamContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAmB3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,EAAuB,CAAC,CAAA;AAE7E,MAAM,UAAU,qBAAqB,CACnC,SAAiC;IAEjC,OAAO,WAAW,CAAuB,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAE;QACzG,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAA;QAChC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAE,CAAA;QACjD,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAA;QAE9D,OAAO;YACL,cAAc;YACd,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACjD,iBAAiB,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACxE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;YACvC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;YACzC,QAAQ;YACR,eAAe;YACf,UAAU,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC;YACpD,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC;YAChD,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;YACnC,iBAAiB;YACjB,IAAI;SACL,CAAA;IACH,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACf,CAAC"}
@@ -8,6 +8,7 @@ export interface QuestionContext {
8
8
  maxScore: number;
9
9
  level: number;
10
10
  childQuestions: Element[];
11
+ questionLabelIds: string;
11
12
  }
12
13
  export declare const QuestionContext: React.Context<QuestionContext>;
13
14
  export declare const withQuestionContext: (Component: React.ComponentType<ExamComponentProps>) => React.ComponentType<ExamComponentProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionContext.d.ts","sourceRoot":"","sources":["../../../src/components/context/QuestionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,gCAA8D,CAAA;AAE1F,eAAO,MAAM,mBAAmB,iGAe9B,CAAA"}
1
+ {"version":3,"file":"QuestionContext.d.ts","sourceRoot":"","sources":["../../../src/components/context/QuestionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAGjE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,gCAA8D,CAAA;AAE1F,eAAO,MAAM,mBAAmB,iGAsB9B,CAAA"}
@@ -1,20 +1,27 @@
1
1
  import React from 'react';
2
2
  import { findChildElement, getNumericAttribute, parentElements, queryAll } from '../../dom-utils';
3
3
  import { withContext } from './withContext';
4
+ import { questionInstructionId, questionTitleId } from '../../ids';
4
5
  export const QuestionContext = React.createContext({});
5
6
  export const withQuestionContext = withContext(QuestionContext, ({ element }) => {
6
7
  const childQuestions = queryAll(element, 'question', false);
7
8
  const answers = childQuestions.length
8
9
  ? []
9
10
  : queryAll(element, ['text-answer', 'scored-text-answer', 'dropdown-answer', 'choice-answer'], false);
11
+ const questionInstructions = queryAll(element, 'question-instruction', false);
12
+ const displayNumber = element.getAttribute('display-number');
13
+ const questionLabelIds = questionInstructions.length > 0
14
+ ? questionInstructions.map(questionInstructionId).join(' ')
15
+ : questionTitleId(displayNumber);
10
16
  return {
11
17
  answers,
12
- displayNumber: element.getAttribute('display-number'),
18
+ displayNumber,
13
19
  hasExternalMaterial: findChildElement(element, 'external-material') != null,
14
20
  maxAnswers: getNumericAttribute(element, 'max-answers'),
15
21
  maxScore: getNumericAttribute(element, 'max-score'),
16
22
  level: parentElements(element, 'question').length,
17
23
  childQuestions,
24
+ questionLabelIds,
18
25
  };
19
26
  });
20
27
  //# sourceMappingURL=QuestionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionContext.js","sourceRoot":"","sources":["../../../src/components/context/QuestionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAa3C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAkB,EAAqB,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAsC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACnH,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC,CAAA;IAEvG,OAAO;QACL,OAAO;QACP,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAE;QACtD,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,IAAI;QAC3E,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;QACvD,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAE;QACpD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,MAAM;QACjD,cAAc;KACf,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"QuestionContext.js","sourceRoot":"","sources":["../../../src/components/context/QuestionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAalE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAkB,EAAqB,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAsC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACnH,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC,CAAA;IACvG,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAA;IAC7E,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAA;IAC7D,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC7B,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;IAEpC,OAAO;QACL,OAAO;QACP,aAAa;QACb,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,IAAI;QAC3E,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;QACvD,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAE;QACpD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,MAAM;QACjD,cAAc;QACd,gBAAgB;KACjB,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,YAAY,IAAI,aAAa,EAAc,MAAM,wBAAwB,CAAA;AAmElF,UAAU,iBAAkB,SAAQ,kBAAkB;IACpD,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,UAAU,EAAE,OAAO,OAAO,CAAC,UAAU,CAAA;CACtC;AAED,iBAAS,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,eA+CzF;;AAQD,wBAEgB"}
1
+ {"version":3,"file":"ChoiceAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,YAAY,IAAI,aAAa,EAAc,MAAM,wBAAwB,CAAA;AAoElF,UAAU,iBAAkB,SAAQ,kBAAkB;IACpD,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,UAAU,EAAE,OAAO,OAAO,CAAC,UAAU,CAAA;CACtC;AAED,iBAAS,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,eA4CzF;;AAQD,wBAEgB"}
@@ -1,9 +1,9 @@
1
1
  import classNames from 'classnames';
2
- import React from 'react';
2
+ import React, { useContext } from 'react';
3
3
  import { connect } from 'react-redux';
4
4
  import { getNumericAttribute, mapChildElements, query } from '../../dom-utils';
5
5
  import * as actions from '../../store/answers/actions';
6
- import AnswerToolbar from '../AnswerToolbar';
6
+ import { QuestionContext } from '../context/QuestionContext';
7
7
  function ChoiceAnswerOption({ selected, element, renderChildNodes, questionId, onSelect, direction, value, }) {
8
8
  const className = element.getAttribute('class');
9
9
  const content = (React.createElement("div", { className: classNames('e-choice-answer-option e-column', className, {
@@ -20,6 +20,7 @@ function ChoiceAnswerOption({ selected, element, renderChildNodes, questionId, o
20
20
  content)));
21
21
  }
22
22
  function ChoiceAnswer({ answer, saveAnswer, element, renderChildNodes }) {
23
+ const { questionLabelIds } = useContext(QuestionContext);
23
24
  const questionId = getNumericAttribute(element, 'question-id');
24
25
  const direction = element.getAttribute('direction') || 'vertical';
25
26
  const className = element.getAttribute('class');
@@ -30,7 +31,7 @@ function ChoiceAnswer({ answer, saveAnswer, element, renderChildNodes }) {
30
31
  return (React.createElement(React.Fragment, null,
31
32
  React.createElement("div", { className: classNames('e-choice-answer', className, {
32
33
  'e-columns': direction === 'horizontal',
33
- }), "data-question-id": questionId }, mapChildElements(element, (childElement) => {
34
+ }), "data-question-id": questionId, role: "radiogroup", "aria-labelledby": questionLabelIds }, mapChildElements(element, (childElement) => {
34
35
  const optionId = childElement.getAttribute('option-id');
35
36
  const isNoAnswer = childElement.getAttribute('type') === 'no-answer';
36
37
  const value = isNoAnswer ? '' : optionId;
@@ -45,11 +46,7 @@ function ChoiceAnswer({ answer, saveAnswer, element, renderChildNodes }) {
45
46
  selected,
46
47
  value,
47
48
  } }));
48
- })),
49
- React.createElement(AnswerToolbar, { ...{
50
- answer,
51
- element,
52
- } })));
49
+ }))));
53
50
  }
54
51
  function mapStateToProps(state, { element }) {
55
52
  const questionId = getNumericAttribute(element, 'question-id');
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAnswer.js","sourceRoot":"","sources":["../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAnswer.js","sourceRoot":"","sources":["../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/exam/DropdownAnswer.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAMjE,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItE,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,UAAU,EAAE,OAAO,OAAO,CAAC,UAAU,CAAA;IACrC,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AASD,iBAAS,cAAc,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,mBAAmB,eAsH7F;;AAOD,wBAEkB"}
1
+ {"version":3,"file":"DropdownAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/exam/DropdownAnswer.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAMjE,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItE,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,UAAU,EAAE,OAAO,OAAO,CAAC,UAAU,CAAA;IACrC,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AASD,iBAAS,cAAc,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,mBAAmB,eAqH7F;;AAOD,wBAEkB"}
@@ -47,7 +47,7 @@ function DropdownAnswer({ element, renderChildNodes, saveAnswer, answer }) {
47
47
  });
48
48
  }
49
49
  const items = [noAnswer, ...element.children];
50
- const { answers } = useContext(QuestionContext);
50
+ const { answers, questionLabelIds } = useContext(QuestionContext);
51
51
  const { getItemProps, getMenuProps, getToggleButtonProps, highlightedIndex, isOpen, selectedItem } = useSelect({
52
52
  items,
53
53
  itemToString: (item) => (item ? item.textContent : ''),
@@ -65,8 +65,7 @@ function DropdownAnswer({ element, renderChildNodes, saveAnswer, answer }) {
65
65
  'e-dropdown-answer__toggle-button--open': isOpen,
66
66
  }), ...getToggleButtonProps({
67
67
  'aria-describedby': scoreId,
68
- // The label text is inside the button, so we don't want an aria-labelledby attribute.
69
- 'aria-labelledby': undefined,
68
+ 'aria-labelledby': questionLabelIds,
70
69
  }, { suppressRefError: !runningInBrowser }) },
71
70
  React.createElement("span", { className: "e-dropdown-answer__label e-column e-pad-l-1 e-pad-r-4" },
72
71
  React.createElement("span", { className: "e-ellipsis e-block", ref: labelRef }, selectedItem ? (renderChildNodes(selectedItem)) : (React.createElement("span", { "aria-label": t.raw('dropdown-answer.label') }, NBSP)))),
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownAnswer.js","sourceRoot":"","sources":["../../../src/components/exam/DropdownAnswer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownAnswer.js","sourceRoot":"","sources":["../../../src/components/exam/DropdownAnswer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Hints.d.ts","sourceRoot":"","sources":["../../../src/components/exam/Hints.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAoB,MAAM,8BAA8B,CAAA;AAMnF,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAmBtD,CAAA;AAiCD,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"Hints.d.ts","sourceRoot":"","sources":["../../../src/components/exam/Hints.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAoB,MAAM,8BAA8B,CAAA;AAMnF,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAqBtD,CAAA;AAiCD,eAAe,KAAK,CAAA"}
@@ -6,9 +6,9 @@ import { shortDisplayNumber } from '../../shortDisplayNumber';
6
6
  const Hints = ({ element, renderChildNodes }) => {
7
7
  const focusedQuestionId = useSelector((state) => state.answers.focusedQuestionId);
8
8
  const answersWithHints = queryAll(element, ['text-answer', 'scored-text-answer']).filter((answer) => findChildElement(answer, 'hint') != null);
9
- return (React.createElement("div", { className: "e-columns" },
9
+ return answersWithHints.length > 0 ? (React.createElement("div", { className: "e-columns" },
10
10
  React.createElement("div", { className: "e-column e-column--8" }, renderChildNodes(element)),
11
- React.createElement("div", { className: "e-hints e-column e-column--4", "aria-hidden": "true" }, answersWithHints.map((answer, i) => (React.createElement(Hint, { ...{ answer, focusedQuestionId, renderChildNodes }, key: i }))))));
11
+ React.createElement("div", { className: "e-hints e-column e-column--4", "aria-hidden": "true" }, answersWithHints.map((answer, i) => (React.createElement(Hint, { ...{ answer, focusedQuestionId, renderChildNodes }, key: i })))))) : (React.createElement(React.Fragment, null, "renderChildNodes(element)"));
12
12
  };
13
13
  function Hint({ answer, focusedQuestionId, renderChildNodes, }) {
14
14
  const questionId = getNumericAttribute(answer, 'question-id');