@tinyweb_dev/oe-exam-sdk 0.2.13 → 0.2.14

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 (97) hide show
  1. package/dist/components/exams/take/ExamTakingPageContainer.js +6 -0
  2. package/dist/components/exams/take/components/QuestionRenderer.js +13 -3
  3. package/dist/components/exams/take/components/question-renderers/ChooseThenAnswerGroupRenderer.d.ts +14 -0
  4. package/dist/components/exams/take/components/question-renderers/ChooseThenAnswerGroupRenderer.js +32 -0
  5. package/dist/components/exams/take/components/question-renderers/MoversAnswerTheQuestionRenderer.d.ts +1 -1
  6. package/dist/components/exams/take/components/question-renderers/MoversAnswerTheQuestionRenderer.js +10 -2
  7. package/dist/components/exams/take/components/question-renderers/SortWordsIntoCategoriesRenderer.d.ts +16 -0
  8. package/dist/components/exams/take/components/question-renderers/SortWordsIntoCategoriesRenderer.js +23 -0
  9. package/dist/components/exams/take/components/question-renderers/index.d.ts +2 -0
  10. package/dist/components/exams/take/components/question-renderers/index.js +2 -0
  11. package/dist/components/exams/take/utils/answer-transformers.js +34 -1
  12. package/dist/components/exams/take/utils/question-transformers.d.ts +42 -3
  13. package/dist/components/exams/take/utils/question-transformers.js +71 -1
  14. package/dist/components/questions/_shared/config/question-types.config.js +12 -0
  15. package/dist/components/questions/_shared/types/answer-the-question-group.type.d.ts +5 -1
  16. package/dist/components/questions/_shared/types/answer-the-question-group.type.js +7 -0
  17. package/dist/components/questions/_shared/types/answer-the-question.type.d.ts +3 -1
  18. package/dist/components/questions/_shared/types/answer-the-question.type.js +19 -1
  19. package/dist/components/questions/_shared/types/choose-then-answer-group.type.d.ts +47 -0
  20. package/dist/components/questions/_shared/types/choose-then-answer-group.type.js +2 -0
  21. package/dist/components/questions/_shared/types/index.d.ts +2 -0
  22. package/dist/components/questions/_shared/types/index.js +2 -0
  23. package/dist/components/questions/_shared/types/match-word-to-picture-group.type.d.ts +9 -3
  24. package/dist/components/questions/_shared/types/match-word-to-picture-group.type.js +19 -0
  25. package/dist/components/questions/_shared/types/sort-words-into-categories.type.d.ts +43 -0
  26. package/dist/components/questions/_shared/types/sort-words-into-categories.type.js +1 -0
  27. package/dist/components/questions/components/QuestionSearchDropdown.js +2 -0
  28. package/dist/components/questions/components/QuestionTypeSelector.js +2 -0
  29. package/dist/components/questions/creator/question-type-registry.js +4 -0
  30. package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.js +30 -6
  31. package/dist/components/questions/types/answer-the-question/map-answer-the-question-data.d.ts +2 -0
  32. package/dist/components/questions/types/answer-the-question/map-answer-the-question-data.js +56 -0
  33. package/dist/components/questions/types/answer-the-question/transform.js +9 -3
  34. package/dist/components/questions/types/answer-the-question-group/AnswerTheQuestionGroupClient.js +42 -9
  35. package/dist/components/questions/types/answer-the-question-group/AnswerTheQuestionGroupCreator.js +7 -5
  36. package/dist/components/questions/types/answer-the-question-group/map-answer-the-question-group-data.js +18 -4
  37. package/dist/components/questions/types/answer-the-question-group/transform.js +8 -2
  38. package/dist/components/questions/types/choose-then-answer-group/ChooseThenAnswerGroupClient.d.ts +2 -0
  39. package/dist/components/questions/types/choose-then-answer-group/ChooseThenAnswerGroupClient.js +34 -0
  40. package/dist/components/questions/types/choose-then-answer-group/ChooseThenAnswerGroupCreator.d.ts +2 -0
  41. package/dist/components/questions/types/choose-then-answer-group/ChooseThenAnswerGroupCreator.js +174 -0
  42. package/dist/components/questions/types/choose-then-answer-group/index.d.ts +5 -0
  43. package/dist/components/questions/types/choose-then-answer-group/index.js +5 -0
  44. package/dist/components/questions/types/choose-then-answer-group/map-choose-then-answer-group-data.d.ts +11 -0
  45. package/dist/components/questions/types/choose-then-answer-group/map-choose-then-answer-group-data.js +127 -0
  46. package/dist/components/questions/types/choose-then-answer-group/register.d.ts +3 -0
  47. package/dist/components/questions/types/choose-then-answer-group/register.js +37 -0
  48. package/dist/components/questions/types/choose-then-answer-group/transform.d.ts +2 -0
  49. package/dist/components/questions/types/choose-then-answer-group/transform.js +37 -0
  50. package/dist/components/questions/types/match-word-to-picture-group/MatchWordToPictureGroupClient.js +39 -10
  51. package/dist/components/questions/types/match-word-to-picture-group/MatchWordToPictureGroupCreator.js +15 -8
  52. package/dist/components/questions/types/match-word-to-picture-group/map-match-word-to-picture-group-data.js +8 -3
  53. package/dist/components/questions/types/match-word-to-picture-group/transform.js +21 -13
  54. package/dist/components/questions/types/sort-words-into-categories/SortWordsIntoCategoriesBoard.d.ts +12 -0
  55. package/dist/components/questions/types/sort-words-into-categories/SortWordsIntoCategoriesBoard.js +74 -0
  56. package/dist/components/questions/types/sort-words-into-categories/SortWordsIntoCategoriesClient.d.ts +2 -0
  57. package/dist/components/questions/types/sort-words-into-categories/SortWordsIntoCategoriesClient.js +24 -0
  58. package/dist/components/questions/types/sort-words-into-categories/SortWordsIntoCategoriesCreator.d.ts +2 -0
  59. package/dist/components/questions/types/sort-words-into-categories/SortWordsIntoCategoriesCreator.js +171 -0
  60. package/dist/components/questions/types/sort-words-into-categories/index.d.ts +4 -0
  61. package/dist/components/questions/types/sort-words-into-categories/index.js +4 -0
  62. package/dist/components/questions/types/sort-words-into-categories/map-sort-words-into-categories-data.d.ts +11 -0
  63. package/dist/components/questions/types/sort-words-into-categories/map-sort-words-into-categories-data.js +153 -0
  64. package/dist/components/questions/types/sort-words-into-categories/register.d.ts +3 -0
  65. package/dist/components/questions/types/sort-words-into-categories/register.js +37 -0
  66. package/dist/components/questions/types/sort-words-into-categories/transform.d.ts +2 -0
  67. package/dist/components/questions/types/sort-words-into-categories/transform.js +33 -0
  68. package/dist/components/questions/viewer/AnswerTheQuestionViewer.d.ts +9 -0
  69. package/dist/components/questions/viewer/AnswerTheQuestionViewer.js +8 -0
  70. package/dist/components/questions/viewer/ChooseThenAnswerGroupViewer.d.ts +10 -0
  71. package/dist/components/questions/viewer/ChooseThenAnswerGroupViewer.js +39 -0
  72. package/dist/components/questions/viewer/QuestionViewer.js +13 -2
  73. package/dist/components/questions/viewer/SortWordsIntoCategoriesViewer.d.ts +10 -0
  74. package/dist/components/questions/viewer/SortWordsIntoCategoriesViewer.js +27 -0
  75. package/dist/components/questions/viewer/index.d.ts +3 -0
  76. package/dist/components/questions/viewer/index.js +3 -0
  77. package/dist/components/results/renderers/ReviewAnswerTheQuestionGroupRenderer.d.ts +2 -1
  78. package/dist/components/results/renderers/ReviewAnswerTheQuestionGroupRenderer.js +12 -3
  79. package/dist/components/results/renderers/review-question-body-dedicated.js +1 -1
  80. package/dist/components/results/renderers/review-question-body-movers.js +24 -2
  81. package/dist/components/results/review-data.js +28 -0
  82. package/dist/index.d.ts +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/shared/constants/question-skills.js +4 -0
  85. package/dist/shared/lib/utils/question-reverse-transform.js +98 -2
  86. package/dist/shared/lib/utils/question-transform-types.d.ts +1 -1
  87. package/dist/shared/lib/utils/question-transform.js +4 -0
  88. package/dist/shared/types/common.types.d.ts +1 -1
  89. package/dist/shared/types/questions/answer-the-question-group.d.ts +3 -0
  90. package/dist/shared/types/questions/choose-then-answer-group.d.ts +46 -0
  91. package/dist/shared/types/questions/choose-then-answer-group.js +1 -0
  92. package/dist/shared/types/questions/index.d.ts +2 -0
  93. package/dist/shared/types/questions/index.js +3 -0
  94. package/dist/shared/types/questions/match-word-to-picture-group.d.ts +6 -2
  95. package/dist/shared/types/questions/sort-words-into-categories.d.ts +37 -0
  96. package/dist/shared/types/questions/sort-words-into-categories.js +1 -0
  97. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  export declare const ANSWER_THE_QUESTION_GROUP_GRADING_TYPE: "AI";
2
2
  export interface AnswerTheQuestionGroupItemContent {
3
3
  question: string;
4
+ imageUrl?: string | string[];
4
5
  }
5
6
  export interface AnswerTheQuestionGroupItemExpectedAnswer {
6
7
  expectedAnswers: string[];
@@ -17,6 +18,8 @@ export interface AnswerTheQuestionGroupContent {
17
18
  meta?: {
18
19
  instruction?: string;
19
20
  passage?: string;
21
+ audioUrl?: string;
22
+ imageUrl?: string | string[];
20
23
  gradingType: typeof ANSWER_THE_QUESTION_GROUP_GRADING_TYPE;
21
24
  isAiGraded: true;
22
25
  };
@@ -0,0 +1,46 @@
1
+ export interface ChooseThenAnswerOption {
2
+ id: string;
3
+ text: string;
4
+ }
5
+ export interface ChooseThenAnswerItemAnswer {
6
+ optionId: string;
7
+ }
8
+ export interface ChooseThenAnswerStudentItemAnswer {
9
+ optionId: string;
10
+ text: string;
11
+ }
12
+ export interface ChooseThenAnswerGroupItemContent {
13
+ question: string;
14
+ options: ChooseThenAnswerOption[];
15
+ }
16
+ export interface ChooseThenAnswerGroupItem {
17
+ questionType?: string;
18
+ isExample?: boolean;
19
+ content: ChooseThenAnswerGroupItemContent;
20
+ correctAnswer?: {
21
+ answer: ChooseThenAnswerItemAnswer;
22
+ };
23
+ points?: number;
24
+ questionNumber?: number;
25
+ }
26
+ export interface ChooseThenAnswerGroupContent {
27
+ meta?: {
28
+ instruction?: string;
29
+ title?: string;
30
+ };
31
+ items: ChooseThenAnswerGroupItem[];
32
+ }
33
+ export interface ChooseThenAnswerGroupCorrectAnswer {
34
+ answer: ChooseThenAnswerItemAnswer[];
35
+ }
36
+ export interface ChooseThenAnswerGroupAPIPayload {
37
+ id?: string;
38
+ questionType: 'CHOOSE_THEN_ANSWER_GROUP';
39
+ content: ChooseThenAnswerGroupContent;
40
+ correctAnswer: ChooseThenAnswerGroupCorrectAnswer;
41
+ points: number;
42
+ explanation?: string;
43
+ questionNumber: number;
44
+ partId?: string;
45
+ partNo?: number;
46
+ }
@@ -32,6 +32,8 @@ export * from './spontaneous-qa';
32
32
  export * from './word-order-and-match-group';
33
33
  export * from './crossword-puzzle';
34
34
  export * from './find-words-in-matrix';
35
+ export * from './sort-words-into-categories';
36
+ export * from './choose-then-answer-group';
35
37
  export * from './match-word-to-picture';
36
38
  export * from './matching-with-lines-group';
37
39
  export * from './match-columns-to-make-sentences';
@@ -50,6 +50,9 @@ export * from './word-order-and-match-group';
50
50
  export * from './crossword-puzzle';
51
51
  // FIND_WORDS_IN_MATRIX
52
52
  export * from './find-words-in-matrix';
53
+ // SORT_WORDS_INTO_CATEGORIES
54
+ export * from './sort-words-into-categories';
55
+ export * from './choose-then-answer-group';
53
56
  // MATCH_WORD_TO_PICTURE
54
57
  export * from './match-word-to-picture';
55
58
  // MATCHING_WITH_LINES_GROUP
@@ -3,7 +3,7 @@ export interface MatchWordToPictureGroupItem {
3
3
  questionType?: typeof MATCH_WORD_TO_PICTURE_ITEM_TYPE;
4
4
  isExample?: boolean;
5
5
  content: {
6
- imageUrl?: string;
6
+ imageUrl?: string | string[];
7
7
  };
8
8
  correctAnswer?: {
9
9
  answer: string;
@@ -15,7 +15,11 @@ export interface MatchWordToPictureGroupContent {
15
15
  meta?: {
16
16
  title?: string;
17
17
  instruction?: string;
18
- imageUrl?: string;
18
+ /** Shared reading passage (HTML) above the match-word-to-picture UI. */
19
+ passage?: string;
20
+ /** Shared listening audio played once under the instruction. */
21
+ audioUrl?: string;
22
+ imageUrl?: string | string[];
19
23
  wordBank?: string[];
20
24
  };
21
25
  items: MatchWordToPictureGroupItem[];
@@ -0,0 +1,37 @@
1
+ export interface SortWordsCategory {
2
+ id: string;
3
+ name: string;
4
+ }
5
+ export interface SortWordsWord {
6
+ id: string;
7
+ text: string;
8
+ points?: number;
9
+ isExample?: boolean;
10
+ }
11
+ export interface SortWordsPlacement {
12
+ wordId: string;
13
+ categoryId: string;
14
+ }
15
+ export interface SortWordsIntoCategoriesContent {
16
+ meta?: {
17
+ instruction?: string;
18
+ title?: string;
19
+ };
20
+ categories: SortWordsCategory[];
21
+ words: SortWordsWord[];
22
+ }
23
+ export interface SortWordsIntoCategoriesCorrectAnswer {
24
+ placements: SortWordsPlacement[];
25
+ }
26
+ export interface SortWordsIntoCategoriesAPIPayload {
27
+ id?: string;
28
+ questionType: 'SORT_WORDS_INTO_CATEGORIES';
29
+ content: SortWordsIntoCategoriesContent;
30
+ correctAnswer: SortWordsIntoCategoriesCorrectAnswer;
31
+ points: number;
32
+ explanation?: string;
33
+ questionNumber: number;
34
+ partId?: string;
35
+ partNo?: number;
36
+ }
37
+ export type SortWordsIntoCategoriesLocalStorage = SortWordsIntoCategoriesAPIPayload;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinyweb_dev/oe-exam-sdk",
3
- "version": "0.2.13",
3
+ "version": "0.2.14",
4
4
  "description": "Reusable OceanEdu question components.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",