@digabi/exam-engine-core 23.10.1-alpha.0 → 23.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/__tests__/examServerApi.d.ts.map +1 -1
  2. package/dist/__tests__/examServerApi.js +0 -2
  3. package/dist/__tests__/examServerApi.js.map +1 -1
  4. package/dist/__tests__/playwright/exam/TextAnswerInput.test.d.ts +2 -0
  5. package/dist/__tests__/playwright/exam/TextAnswerInput.test.d.ts.map +1 -0
  6. package/dist/__tests__/playwright/exam/TextAnswerInput.test.js +40 -0
  7. package/dist/__tests__/playwright/exam/TextAnswerInput.test.js.map +1 -0
  8. package/dist/__tests__/playwright/stories/exam/Question.story.d.ts +5 -0
  9. package/dist/__tests__/playwright/stories/exam/Question.story.d.ts.map +1 -0
  10. package/dist/__tests__/playwright/stories/exam/Question.story.js +19 -0
  11. package/dist/__tests__/playwright/stories/exam/Question.story.js.map +1 -0
  12. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  13. package/dist/components/context/QuestionContext.d.ts.map +1 -1
  14. package/dist/components/context/QuestionContext.js +1 -1
  15. package/dist/components/context/QuestionContext.js.map +1 -1
  16. package/dist/components/exam/Exam.d.ts.map +1 -1
  17. package/dist/components/exam/Exam.js +1 -3
  18. package/dist/components/exam/Exam.js.map +1 -1
  19. package/dist/components/exam/internal/TextAnswerInput.js +1 -1
  20. package/dist/components/exam/internal/TextAnswerInput.js.map +1 -1
  21. package/dist/components/grading/GradingAnswer.d.ts +6 -2
  22. package/dist/components/grading/GradingAnswer.d.ts.map +1 -1
  23. package/dist/components/grading/GradingAnswer.js +3 -4
  24. package/dist/components/grading/GradingAnswer.js.map +1 -1
  25. package/dist/components/results/Results.d.ts.map +1 -1
  26. package/dist/components/results/Results.js +1 -3
  27. package/dist/components/results/Results.js.map +1 -1
  28. package/dist/components/shared/Audio.js +2 -2
  29. package/dist/components/shared/Audio.js.map +1 -1
  30. package/dist/components/shared/AudioTest.js +2 -2
  31. package/dist/components/shared/AudioTest.js.map +1 -1
  32. package/dist/dom-utils.js +1 -1
  33. package/dist/dom-utils.js.map +1 -1
  34. package/dist/i18n/fi-FI.d.ts +0 -5
  35. package/dist/i18n/fi-FI.d.ts.map +1 -1
  36. package/dist/i18n/fi-FI.js +0 -5
  37. package/dist/i18n/fi-FI.js.map +1 -1
  38. package/dist/i18n/sv-FI.d.ts.map +1 -1
  39. package/dist/i18n/sv-FI.js +0 -5
  40. package/dist/i18n/sv-FI.js.map +1 -1
  41. package/dist/main-bundle.js +3 -3
  42. package/dist/main.css +1 -1
  43. package/dist/parser/parseExamStructure.d.ts +1 -8
  44. package/dist/parser/parseExamStructure.d.ts.map +1 -1
  45. package/dist/parser/parseExamStructure.js +1 -1
  46. package/dist/parser/parseExamStructure.js.map +1 -1
  47. package/dist/store/audio/actions.d.ts +3 -3
  48. package/dist/store/audio/actions.d.ts.map +1 -1
  49. package/dist/store/audio/actions.js.map +1 -1
  50. package/dist/store/audio/reducer.d.ts +2 -2
  51. package/dist/store/audio/reducer.d.ts.map +1 -1
  52. package/dist/store/index.d.ts +1 -1
  53. package/dist/store/selectors.d.ts +2 -2
  54. package/dist/store/selectors.d.ts.map +1 -1
  55. package/dist/store/selectors.js.map +1 -1
  56. package/dist/types/ExamAnswer.d.ts +1 -5
  57. package/dist/types/ExamAnswer.d.ts.map +1 -1
  58. package/dist/types/ExamServerAPI.d.ts +3 -11
  59. package/dist/types/ExamServerAPI.d.ts.map +1 -1
  60. package/dist/types/GradingStructure.d.ts +1 -7
  61. package/dist/types/GradingStructure.d.ts.map +1 -1
  62. package/dist/validateAnswers.d.ts.map +1 -1
  63. package/dist/validateAnswers.js +0 -1
  64. package/dist/validateAnswers.js.map +1 -1
  65. package/package.json +2 -2
  66. package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts +0 -2
  67. package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts.map +0 -1
  68. package/dist/__tests__/playwright/exam/AudioAnswer.test.js +0 -30
  69. package/dist/__tests__/playwright/exam/AudioAnswer.test.js.map +0 -1
  70. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts +0 -8
  71. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts.map +0 -1
  72. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js +0 -34
  73. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js.map +0 -1
  74. package/dist/components/exam/AudioAnswer.d.ts +0 -7
  75. package/dist/components/exam/AudioAnswer.d.ts.map +0 -1
  76. package/dist/components/exam/AudioAnswer.js +0 -34
  77. package/dist/components/exam/AudioAnswer.js.map +0 -1
  78. package/dist/components/exam/internal/AudioRecorder.d.ts +0 -11
  79. package/dist/components/exam/internal/AudioRecorder.d.ts.map +0 -1
  80. package/dist/components/exam/internal/AudioRecorder.js +0 -115
  81. package/dist/components/exam/internal/AudioRecorder.js.map +0 -1
  82. package/dist/components/exam/internal/MyAudioRecorder.d.ts +0 -10
  83. package/dist/components/exam/internal/MyAudioRecorder.d.ts.map +0 -1
  84. package/dist/components/exam/internal/MyAudioRecorder.js +0 -106
  85. package/dist/components/exam/internal/MyAudioRecorder.js.map +0 -1
  86. package/dist/components/exam/internal/MyMediaRecorder.d.ts +0 -10
  87. package/dist/components/exam/internal/MyMediaRecorder.d.ts.map +0 -1
  88. package/dist/components/exam/internal/MyMediaRecorder.js +0 -91
  89. package/dist/components/exam/internal/MyMediaRecorder.js.map +0 -1
  90. package/dist/components/results/AudioAnswer.d.ts +0 -6
  91. package/dist/components/results/AudioAnswer.d.ts.map +0 -1
  92. package/dist/components/results/AudioAnswer.js +0 -33
  93. package/dist/components/results/AudioAnswer.js.map +0 -1
  94. package/dist/components/shared/internal/AudioError.d.ts +0 -8
  95. package/dist/components/shared/internal/AudioError.d.ts.map +0 -1
  96. package/dist/components/shared/internal/AudioError.js +0 -17
  97. package/dist/components/shared/internal/AudioError.js.map +0 -1
  98. package/dist/components/shared/internal/AudioErrorRemoveMe.d.ts +0 -8
  99. package/dist/components/shared/internal/AudioErrorRemoveMe.d.ts.map +0 -1
  100. package/dist/components/shared/internal/AudioErrorRemoveMe.js +0 -17
  101. 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"}