@digabi/exam-engine-core 23.10.1-alpha.0 → 23.13.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.
- package/dist/__tests__/examServerApi.d.ts.map +1 -1
- package/dist/__tests__/examServerApi.js +0 -2
- package/dist/__tests__/examServerApi.js.map +1 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/components/context/QuestionContext.d.ts.map +1 -1
- package/dist/components/context/QuestionContext.js +1 -1
- package/dist/components/context/QuestionContext.js.map +1 -1
- package/dist/components/exam/Exam.d.ts.map +1 -1
- package/dist/components/exam/Exam.js +1 -3
- package/dist/components/exam/Exam.js.map +1 -1
- package/dist/components/grading/GradingAnswer.d.ts +6 -2
- package/dist/components/grading/GradingAnswer.d.ts.map +1 -1
- package/dist/components/grading/GradingAnswer.js +3 -4
- package/dist/components/grading/GradingAnswer.js.map +1 -1
- package/dist/components/results/Results.d.ts.map +1 -1
- package/dist/components/results/Results.js +1 -3
- package/dist/components/results/Results.js.map +1 -1
- package/dist/components/shared/Audio.js +2 -2
- package/dist/components/shared/Audio.js.map +1 -1
- package/dist/components/shared/AudioTest.js +2 -2
- package/dist/components/shared/AudioTest.js.map +1 -1
- package/dist/dom-utils.js +1 -1
- package/dist/dom-utils.js.map +1 -1
- package/dist/i18n/fi-FI.d.ts +0 -5
- package/dist/i18n/fi-FI.d.ts.map +1 -1
- package/dist/i18n/fi-FI.js +0 -5
- package/dist/i18n/fi-FI.js.map +1 -1
- package/dist/i18n/sv-FI.d.ts.map +1 -1
- package/dist/i18n/sv-FI.js +0 -5
- package/dist/i18n/sv-FI.js.map +1 -1
- package/dist/main-bundle.js +1 -1
- package/dist/main.css +1 -1
- package/dist/parser/parseExamStructure.d.ts +1 -8
- package/dist/parser/parseExamStructure.d.ts.map +1 -1
- package/dist/parser/parseExamStructure.js +1 -1
- package/dist/parser/parseExamStructure.js.map +1 -1
- package/dist/store/audio/actions.d.ts +3 -3
- package/dist/store/audio/actions.d.ts.map +1 -1
- package/dist/store/audio/actions.js.map +1 -1
- package/dist/store/audio/reducer.d.ts +2 -2
- package/dist/store/audio/reducer.d.ts.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/selectors.d.ts +2 -2
- package/dist/store/selectors.d.ts.map +1 -1
- package/dist/store/selectors.js.map +1 -1
- package/dist/types/ExamAnswer.d.ts +1 -5
- package/dist/types/ExamAnswer.d.ts.map +1 -1
- package/dist/types/ExamServerAPI.d.ts +3 -11
- package/dist/types/ExamServerAPI.d.ts.map +1 -1
- package/dist/types/GradingStructure.d.ts +1 -7
- package/dist/types/GradingStructure.d.ts.map +1 -1
- package/dist/validateAnswers.d.ts.map +1 -1
- package/dist/validateAnswers.js +0 -1
- package/dist/validateAnswers.js.map +1 -1
- package/package.json +2 -2
- package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts +0 -2
- package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/exam/AudioAnswer.test.js +0 -30
- package/dist/__tests__/playwright/exam/AudioAnswer.test.js.map +0 -1
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts +0 -8
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts.map +0 -1
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js +0 -34
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js.map +0 -1
- package/dist/components/exam/AudioAnswer.d.ts +0 -7
- package/dist/components/exam/AudioAnswer.d.ts.map +0 -1
- package/dist/components/exam/AudioAnswer.js +0 -34
- package/dist/components/exam/AudioAnswer.js.map +0 -1
- package/dist/components/exam/internal/AudioRecorder.d.ts +0 -11
- package/dist/components/exam/internal/AudioRecorder.d.ts.map +0 -1
- package/dist/components/exam/internal/AudioRecorder.js +0 -115
- package/dist/components/exam/internal/AudioRecorder.js.map +0 -1
- package/dist/components/exam/internal/MyAudioRecorder.d.ts +0 -10
- package/dist/components/exam/internal/MyAudioRecorder.d.ts.map +0 -1
- package/dist/components/exam/internal/MyAudioRecorder.js +0 -106
- package/dist/components/exam/internal/MyAudioRecorder.js.map +0 -1
- package/dist/components/exam/internal/MyMediaRecorder.d.ts +0 -10
- package/dist/components/exam/internal/MyMediaRecorder.d.ts.map +0 -1
- package/dist/components/exam/internal/MyMediaRecorder.js +0 -91
- package/dist/components/exam/internal/MyMediaRecorder.js.map +0 -1
- package/dist/components/results/AudioAnswer.d.ts +0 -6
- package/dist/components/results/AudioAnswer.d.ts.map +0 -1
- package/dist/components/results/AudioAnswer.js +0 -33
- package/dist/components/results/AudioAnswer.js.map +0 -1
- package/dist/components/shared/internal/AudioError.d.ts +0 -8
- package/dist/components/shared/internal/AudioError.d.ts.map +0 -1
- package/dist/components/shared/internal/AudioError.js +0 -17
- package/dist/components/shared/internal/AudioError.js.map +0 -1
- package/dist/components/shared/internal/AudioErrorRemoveMe.d.ts +0 -8
- package/dist/components/shared/internal/AudioErrorRemoveMe.d.ts.map +0 -1
- package/dist/components/shared/internal/AudioErrorRemoveMe.js +0 -17
- package/dist/components/shared/internal/AudioErrorRemoveMe.js.map +0 -1
@@ -1,6 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { ExamComponentProps } from '../../createRenderChildNodes';
|
3
|
-
declare function AudioAnswer(audioAnswerProps: ExamComponentProps): React.JSX.Element;
|
4
|
-
declare const _default: React.MemoExoticComponent<typeof AudioAnswer>;
|
5
|
-
export default _default;
|
6
|
-
//# sourceMappingURL=AudioAnswer.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AudioAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/results/AudioAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAUjE,iBAAS,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,qBAsCxD;;AAED,wBAAsC"}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import React, { useContext } from 'react';
|
2
|
-
import { getNumericAttribute } from '../../dom-utils';
|
3
|
-
import { findScore, ResultsContext } from '../context/ResultsContext';
|
4
|
-
import ResultsExamQuestionManualScore from './internal/QuestionManualScore';
|
5
|
-
import { shortDisplayNumber } from '../../shortDisplayNumber';
|
6
|
-
import { QuestionContext } from '../context/QuestionContext';
|
7
|
-
import { useExamTranslation } from '../../i18n';
|
8
|
-
import classNames from 'classnames';
|
9
|
-
function AudioAnswer(audioAnswerProps) {
|
10
|
-
var _a;
|
11
|
-
const { element } = audioAnswerProps;
|
12
|
-
const { answers } = useContext(QuestionContext);
|
13
|
-
const { t, i18n } = useExamTranslation();
|
14
|
-
const { answersByQuestionId, scores } = useContext(ResultsContext);
|
15
|
-
const questionId = getNumericAttribute(element, 'question-id');
|
16
|
-
const answer = answersByQuestionId[questionId];
|
17
|
-
const value = answer && answer.value;
|
18
|
-
const score = findScore(scores, questionId);
|
19
|
-
const maxScore = getNumericAttribute(element, 'max-score');
|
20
|
-
const displayNumber = answers.length > 1 ? shortDisplayNumber(element.getAttribute('display-number')) : undefined;
|
21
|
-
const comment = (_a = score === null || score === void 0 ? void 0 : score.pregrading) === null || _a === void 0 ? void 0 : _a.comment;
|
22
|
-
return (React.createElement(React.Fragment, null,
|
23
|
-
React.createElement(ResultsExamQuestionManualScore, { scores: score, maxScore, displayNumber, questionId }),
|
24
|
-
React.createElement("div", { className: classNames('audio-answer', {
|
25
|
-
'no-answer': !value
|
26
|
-
}), "aria-description": !value ? i18n.t('examineExam.questionHasNoAnswer') : undefined },
|
27
|
-
React.createElement("audio", { src: value, className: "e-column e-column--narrow", preload: "metadata", controls: true, controlsList: "nodownload" })),
|
28
|
-
comment && (React.createElement(React.Fragment, null,
|
29
|
-
React.createElement("h5", null, t('comment')),
|
30
|
-
React.createElement("p", { className: "e-italic" }, comment)))));
|
31
|
-
}
|
32
|
-
export default React.memo(AudioAnswer);
|
33
|
-
//# sourceMappingURL=AudioAnswer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AudioAnswer.js","sourceRoot":"","sources":["../../../src/components/results/AudioAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAErE,OAAO,8BAA8B,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,SAAS,WAAW,CAAC,gBAAoC;;IACvD,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC/C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACxC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAE,CAAA;IAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAA2B,CAAA;IACxE,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAA;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAE,CAAA;IAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClH,MAAM,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,OAAO,CAAA;IAE1C,OAAO,CACL;QACE,oBAAC,8BAA8B,IAAO,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,GAAM;QAC9F,6BACE,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,CAAC,KAAK;aACpB,CAAC,sBACgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,SAAS;YAEhF,+BACE,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAC,UAAU,EAClB,QAAQ,QACR,YAAY,EAAC,YAAY,GACzB,CACE;QACL,OAAO,IAAI,CACV;YACE,gCAAK,CAAC,CAAC,SAAS,CAAC,CAAM;YACvB,2BAAG,SAAS,EAAC,UAAU,IAAE,OAAO,CAAK,CACpC,CACJ,CACA,CACJ,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { AudioError } from '../../../index';
|
3
|
-
declare const AudioError: React.FunctionComponent<{
|
4
|
-
error?: AudioError;
|
5
|
-
children: React.ReactNode[] | React.ReactNode;
|
6
|
-
}>;
|
7
|
-
export default AudioError;
|
8
|
-
//# sourceMappingURL=AudioError.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AudioError.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/internal/AudioError.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;CAC9C,CAkBA,CAAA;AAED,eAAe,UAAU,CAAA"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
|
2
|
-
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
3
|
-
import React from 'react';
|
4
|
-
import ReactCSSTransitionReplace from 'react-css-transition-replace';
|
5
|
-
import { useExamTranslation } from '../../../i18n';
|
6
|
-
const AudioError = ({ error, children }) => {
|
7
|
-
const { t } = useExamTranslation();
|
8
|
-
return (
|
9
|
-
// @types/react 18 removed children from implicit props. This component has not explicitly added them yet
|
10
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
11
|
-
// @ts-ignore
|
12
|
-
React.createElement(ReactCSSTransitionReplace, { transitionName: "e-crossfade", transitionEnterTimeout: 500, transitionLeaveTimeout: 500 }, error != null ? (React.createElement("div", { className: "e-color-error", role: "alert" },
|
13
|
-
React.createElement(FontAwesomeIcon, { icon: faExclamationTriangle, className: "e-mrg-r-1" }),
|
14
|
-
t(`audio-errors.${error}`))) : (React.createElement("div", { key: "no-error" }, children))));
|
15
|
-
};
|
16
|
-
export default AudioError;
|
17
|
-
//# sourceMappingURL=AudioError.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AudioError.js","sourceRoot":"","sources":["../../../../src/components/shared/internal/AudioError.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,yBAAyB,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,UAAU,GAGX,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,OAAO;IACL,yGAAyG;IACzG,6DAA6D;IAC7D,aAAa;IACb,oBAAC,yBAAyB,IAAC,cAAc,EAAC,aAAa,EAAC,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,IAC7G,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CACf,6BAAK,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO;QACzC,oBAAC,eAAe,IAAC,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAC,WAAW,GAAG;QACrE,CAAC,CAAC,gBAAgB,KAAK,EAAW,CAAC,CAChC,CACP,CAAC,CAAC,CAAC,CACF,6BAAK,GAAG,EAAC,UAAU,IAAE,QAAQ,CAAO,CACrC,CACyB,CAC7B,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { AudioError } from '../../../index';
|
3
|
-
declare const AudioErrorRemoveMe: React.FunctionComponent<{
|
4
|
-
error?: AudioError;
|
5
|
-
children: React.ReactNode[] | React.ReactNode;
|
6
|
-
}>;
|
7
|
-
export default AudioErrorRemoveMe;
|
8
|
-
//# sourceMappingURL=AudioErrorRemoveMe.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AudioErrorRemoveMe.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/internal/AudioErrorRemoveMe.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;CAC9C,CAkBA,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
|
2
|
-
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
3
|
-
import React from 'react';
|
4
|
-
import ReactCSSTransitionReplace from 'react-css-transition-replace';
|
5
|
-
import { useExamTranslation } from '../../../i18n';
|
6
|
-
const AudioErrorRemoveMe = ({ error, children }) => {
|
7
|
-
const { t } = useExamTranslation();
|
8
|
-
return (
|
9
|
-
// @types/react 18 removed children from implicit props. This component has not explicitly added them yet
|
10
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
11
|
-
// @ts-ignore
|
12
|
-
React.createElement(ReactCSSTransitionReplace, { transitionName: "e-crossfade", transitionEnterTimeout: 500, transitionLeaveTimeout: 500 }, error != null ? (React.createElement("div", { className: "e-color-error", role: "alert" },
|
13
|
-
React.createElement(FontAwesomeIcon, { icon: faExclamationTriangle, className: "e-mrg-r-1" }),
|
14
|
-
t(`audio-errors.${error}`))) : (React.createElement("div", { key: "no-error" }, children))));
|
15
|
-
};
|
16
|
-
export default AudioErrorRemoveMe;
|
17
|
-
//# sourceMappingURL=AudioErrorRemoveMe.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"AudioErrorRemoveMe.js","sourceRoot":"","sources":["../../../../src/components/shared/internal/AudioErrorRemoveMe.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,yBAAyB,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,kBAAkB,GAGnB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,OAAO;IACL,yGAAyG;IACzG,6DAA6D;IAC7D,aAAa;IACb,oBAAC,yBAAyB,IAAC,cAAc,EAAC,aAAa,EAAC,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,IAC7G,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CACf,6BAAK,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO;QACzC,oBAAC,eAAe,IAAC,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAC,WAAW,GAAG;QACrE,CAAC,CAAC,gBAAgB,KAAK,EAAW,CAAC,CAChC,CACP,CAAC,CAAC,CAAC,CACF,6BAAK,GAAG,EAAC,UAAU,IAAE,QAAQ,CAAO,CACrC,CACyB,CAC7B,CAAA;AACH,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|