@pie-element/multiple-choice 13.3.4 → 13.3.5-ng.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 (117) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaults.d.ts +205 -0
  4. package/dist/author/defaults.js +151 -0
  5. package/dist/author/index.d.ts +26 -0
  6. package/dist/author/index.js +119 -0
  7. package/dist/author/main.d.ts +34 -0
  8. package/dist/author/main.js +287 -0
  9. package/dist/author/utils.d.ts +9 -0
  10. package/dist/author/utils.js +7 -0
  11. package/dist/browser/Radio-Bbu0BH_k.js +9581 -0
  12. package/dist/browser/Radio-Bbu0BH_k.js.map +1 -0
  13. package/dist/browser/author/index.js +37436 -0
  14. package/dist/browser/author/index.js.map +1 -0
  15. package/dist/browser/controller/index.js +204 -0
  16. package/dist/browser/controller/index.js.map +1 -0
  17. package/dist/browser/delivery/index.js +251 -0
  18. package/dist/browser/delivery/index.js.map +1 -0
  19. package/dist/browser/dist-CHbLnyuX.js +111 -0
  20. package/dist/browser/dist-CHbLnyuX.js.map +1 -0
  21. package/dist/browser/main-DahQxQZC.js +2451 -0
  22. package/dist/browser/main-DahQxQZC.js.map +1 -0
  23. package/dist/browser/multiple-choice.css +2 -0
  24. package/dist/browser/print/index.js +43 -0
  25. package/dist/browser/print/index.js.map +1 -0
  26. package/dist/controller/defaults.d.ts +35 -0
  27. package/dist/controller/defaults.js +29 -0
  28. package/dist/controller/index.d.ts +65 -0
  29. package/dist/controller/index.js +129 -0
  30. package/dist/controller/utils.d.ts +10 -0
  31. package/dist/controller/utils.js +8 -0
  32. package/dist/delivery/choice-input.d.ts +44 -0
  33. package/dist/delivery/choice-input.js +280 -0
  34. package/dist/delivery/choice.d.ts +20 -0
  35. package/dist/delivery/choice.js +105 -0
  36. package/dist/delivery/feedback-tick.d.ts +20 -0
  37. package/dist/delivery/feedback-tick.js +104 -0
  38. package/dist/delivery/index.d.ts +37 -0
  39. package/dist/delivery/index.js +215 -0
  40. package/dist/delivery/main.d.ts +31 -0
  41. package/dist/delivery/main.js +51 -0
  42. package/dist/delivery/multiple-choice.d.ts +61 -0
  43. package/dist/delivery/multiple-choice.js +245 -0
  44. package/dist/delivery/session-updater.d.ts +10 -0
  45. package/dist/delivery/session-updater.js +9 -0
  46. package/dist/delivery/utils.d.ts +10 -0
  47. package/dist/delivery/utils.js +4 -0
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.iife.d.ts +8 -0
  50. package/dist/index.iife.js +148 -0
  51. package/dist/index.js +2 -0
  52. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  53. package/dist/print/index.d.ts +15 -0
  54. package/dist/print/index.js +43 -0
  55. package/dist/runtime-support.d.ts +12 -0
  56. package/dist/runtime-support.js +12 -0
  57. package/module/print.js +17945 -1
  58. package/module/print.js.map +1 -0
  59. package/package.json +94 -28
  60. package/CHANGELOG.json +0 -1972
  61. package/CHANGELOG.md +0 -2764
  62. package/LICENSE.md +0 -5
  63. package/PRINT.md +0 -35
  64. package/README.md +0 -56
  65. package/choice.png +0 -0
  66. package/configure/CHANGELOG.json +0 -1387
  67. package/configure/CHANGELOG.md +0 -2106
  68. package/configure/lib/defaults.js +0 -203
  69. package/configure/lib/defaults.js.map +0 -1
  70. package/configure/lib/index.js +0 -203
  71. package/configure/lib/index.js.map +0 -1
  72. package/configure/lib/main.js +0 -484
  73. package/configure/lib/main.js.map +0 -1
  74. package/configure/lib/utils.js +0 -18
  75. package/configure/lib/utils.js.map +0 -1
  76. package/configure/package.json +0 -22
  77. package/controller/CHANGELOG.json +0 -527
  78. package/controller/CHANGELOG.md +0 -1411
  79. package/controller/lib/defaults.js +0 -33
  80. package/controller/lib/defaults.js.map +0 -1
  81. package/controller/lib/index.js +0 -288
  82. package/controller/lib/index.js.map +0 -1
  83. package/controller/lib/utils.js +0 -15
  84. package/controller/lib/utils.js.map +0 -1
  85. package/controller/package.json +0 -15
  86. package/docs/config-schema.json +0 -2993
  87. package/docs/config-schema.json.md +0 -2217
  88. package/docs/demo/config.js +0 -8
  89. package/docs/demo/generate.js +0 -61
  90. package/docs/demo/index.html +0 -1
  91. package/docs/demo/session.js +0 -7
  92. package/docs/pie-schema.json +0 -1332
  93. package/docs/pie-schema.json.md +0 -1015
  94. package/lib/choice-input.js +0 -383
  95. package/lib/choice-input.js.map +0 -1
  96. package/lib/choice.js +0 -192
  97. package/lib/choice.js.map +0 -1
  98. package/lib/feedback-tick.js +0 -134
  99. package/lib/feedback-tick.js.map +0 -1
  100. package/lib/index.js +0 -403
  101. package/lib/index.js.map +0 -1
  102. package/lib/main.js +0 -63
  103. package/lib/main.js.map +0 -1
  104. package/lib/multiple-choice.js +0 -397
  105. package/lib/multiple-choice.js.map +0 -1
  106. package/lib/print.js +0 -94
  107. package/lib/print.js.map +0 -1
  108. package/lib/session-updater.js +0 -37
  109. package/lib/session-updater.js.map +0 -1
  110. package/module/configure.js +0 -1
  111. package/module/controller.js +0 -3034
  112. package/module/demo.js +0 -86
  113. package/module/element.js +0 -1
  114. package/module/index.html +0 -21
  115. package/module/manifest.json +0 -14
  116. package/module/print-demo.js +0 -124
  117. package/module/print.html +0 -18
@@ -1,203 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /** NOTE: teacherInstructions, studentInstructions, rationale & scoringType
8
- * functionalities are not defined yet - the value for those can belong to
9
- * model or to configure
10
- */
11
- var _default = exports.default = {
12
- model: {
13
- choiceMode: 'checkbox',
14
- choicePrefix: 'letters',
15
- choices: [],
16
- choicesLayout: 'vertical',
17
- feedbackEnabled: false,
18
- gridColumns: 2,
19
- lockChoiceOrder: true,
20
- partialScoring: true,
21
- prompt: '',
22
- promptEnabled: true,
23
- rationale: '',
24
- rationaleEnabled: true,
25
- scoringType: 'auto',
26
- studentInstructionsEnabled: true,
27
- teacherInstructions: '',
28
- teacherInstructionsEnabled: true,
29
- toolbarEditorPosition: 'bottom',
30
- selectedAnswerBackgroundColor: 'initial',
31
- keyboardEventsEnabled: false
32
- },
33
- configuration: {
34
- baseInputConfiguration: {
35
- h3: {
36
- disabled: true
37
- },
38
- audio: {
39
- disabled: false
40
- },
41
- video: {
42
- disabled: false
43
- },
44
- image: {
45
- disabled: false
46
- },
47
- textAlign: {
48
- disabled: true
49
- },
50
- showParagraphs: {
51
- disabled: false
52
- },
53
- separateParagraphs: {
54
- disabled: true
55
- }
56
- },
57
- choices: {
58
- inputConfiguration: {
59
- audio: {
60
- disabled: false
61
- },
62
- video: {
63
- disabled: false
64
- },
65
- image: {
66
- disabled: false
67
- }
68
- }
69
- },
70
- spellCheck: {
71
- label: 'Spellcheck',
72
- settings: false,
73
- enabled: true
74
- },
75
- choicesLayout: {
76
- settings: false,
77
- label: 'Choices Layout'
78
- },
79
- gridColumns: {
80
- label: 'Grid columns'
81
- },
82
- answerChoiceCount: 0,
83
- addChoiceButton: {
84
- settings: true,
85
- label: 'Add a Choice'
86
- },
87
- choiceMode: {
88
- settings: true,
89
- label: 'Response Type'
90
- },
91
- choicePrefix: {
92
- settings: true,
93
- label: 'Choice Labels'
94
- },
95
- deleteChoice: {
96
- settings: true
97
- },
98
- feedback: {
99
- settings: true,
100
- label: 'Feedback'
101
- },
102
- prompt: {
103
- settings: true,
104
- label: 'Prompt',
105
- inputConfiguration: {
106
- audio: {
107
- disabled: false
108
- },
109
- video: {
110
- disabled: false
111
- },
112
- image: {
113
- disabled: false
114
- }
115
- },
116
- required: false
117
- },
118
- lockChoiceOrder: {
119
- settings: true,
120
- label: 'Lock Choice Order'
121
- },
122
- partialScoring: {
123
- settings: false,
124
- label: 'Allow Partial Scoring'
125
- },
126
- rationale: {
127
- settings: true,
128
- label: 'Rationale',
129
- inputConfiguration: {
130
- audio: {
131
- disabled: true
132
- },
133
- video: {
134
- disabled: true
135
- },
136
- image: {
137
- disabled: false
138
- }
139
- },
140
- required: false
141
- },
142
- scoringType: {
143
- settings: false,
144
- label: 'Scoring Type'
145
- },
146
- studentInstructions: {
147
- settings: false,
148
- label: 'Student Instructions'
149
- },
150
- teacherInstructions: {
151
- settings: true,
152
- label: 'Teacher Instructions',
153
- inputConfiguration: {
154
- audio: {
155
- disabled: false
156
- },
157
- video: {
158
- disabled: false
159
- },
160
- image: {
161
- disabled: false
162
- }
163
- },
164
- required: false
165
- },
166
- toolbarEditorPosition: {
167
- settings: false,
168
- label: 'Toolbar Editor Position'
169
- },
170
- minAnswerChoices: 2,
171
- maxAnswerChoices: 5,
172
- maxImageWidth: {
173
- teacherInstructions: 300,
174
- prompt: 300,
175
- rationale: 636,
176
- choices: 900
177
- },
178
- maxImageHeight: {
179
- teacherInstructions: 300,
180
- prompt: 300,
181
- rationale: 300,
182
- choices: 300
183
- },
184
- withRubric: {
185
- settings: false,
186
- label: 'Add Rubric'
187
- },
188
- mathMlOptions: {
189
- mmlOutput: false,
190
- mmlEditing: false
191
- },
192
- language: {
193
- settings: false,
194
- label: 'Specify Language',
195
- enabled: false
196
- },
197
- languageChoices: {
198
- label: 'Language Choices',
199
- options: []
200
- }
201
- }
202
- };
203
- //# sourceMappingURL=defaults.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.js","names":["_default","exports","default","model","choiceMode","choicePrefix","choices","choicesLayout","feedbackEnabled","gridColumns","lockChoiceOrder","partialScoring","prompt","promptEnabled","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","selectedAnswerBackgroundColor","keyboardEventsEnabled","configuration","baseInputConfiguration","h3","disabled","audio","video","image","textAlign","showParagraphs","separateParagraphs","inputConfiguration","spellCheck","label","settings","enabled","answerChoiceCount","addChoiceButton","deleteChoice","feedback","required","studentInstructions","minAnswerChoices","maxAnswerChoices","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"sources":["../src/defaults.js"],"sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n choiceMode: 'checkbox',\n choicePrefix: 'letters',\n choices: [],\n choicesLayout: 'vertical',\n feedbackEnabled: false,\n gridColumns: 2,\n lockChoiceOrder: true,\n partialScoring: true,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n selectedAnswerBackgroundColor: 'initial',\n keyboardEventsEnabled: false,\n },\n configuration: {\n baseInputConfiguration: {\n h3: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n choices: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n choicesLayout: {\n settings: false,\n label: 'Choices Layout',\n },\n gridColumns: {\n label: 'Grid columns',\n },\n answerChoiceCount: 0,\n addChoiceButton: {\n settings: true,\n label: 'Add a Choice',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n choicePrefix: {\n settings: true,\n label: 'Choice Labels',\n },\n deleteChoice: {\n settings: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: false },\n },\n required: false,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n toolbarEditorPosition: {\n settings: false,\n label: 'Toolbar Editor Position',\n },\n minAnswerChoices: 2,\n maxAnswerChoices: 5,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 636,\n choices: 900,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAHA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,KAAK,EAAE;IACLC,UAAU,EAAE,UAAU;IACtBC,YAAY,EAAE,SAAS;IACvBC,OAAO,EAAE,EAAE;IACXC,aAAa,EAAE,UAAU;IACzBC,eAAe,EAAE,KAAK;IACtBC,WAAW,EAAE,CAAC;IACdC,eAAe,EAAE,IAAI;IACrBC,cAAc,EAAE,IAAI;IACpBC,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,EAAE;IACbC,gBAAgB,EAAE,IAAI;IACtBC,WAAW,EAAE,MAAM;IACnBC,0BAA0B,EAAE,IAAI;IAChCC,mBAAmB,EAAE,EAAE;IACvBC,0BAA0B,EAAE,IAAI;IAChCC,qBAAqB,EAAE,QAAQ;IAC/BC,6BAA6B,EAAE,SAAS;IACxCC,qBAAqB,EAAE;EACzB,CAAC;EACDC,aAAa,EAAE;IACbC,sBAAsB,EAAE;MACtBC,EAAE,EAAE;QAAEC,QAAQ,EAAE;MAAK,CAAC;MACtBC,KAAK,EAAE;QAAED,QAAQ,EAAE;MAAM,CAAC;MAC1BE,KAAK,EAAE;QAAEF,QAAQ,EAAE;MAAM,CAAC;MAC1BG,KAAK,EAAE;QAAEH,QAAQ,EAAE;MAAM,CAAC;MAC1BI,SAAS,EAAE;QAAEJ,QAAQ,EAAE;MAAK,CAAC;MAC7BK,cAAc,EAAE;QAAEL,QAAQ,EAAE;MAAM,CAAC;MACnCM,kBAAkB,EAAE;QAAEN,QAAQ,EAAE;MAAK;IACvC,CAAC;IACDpB,OAAO,EAAE;MACP2B,kBAAkB,EAAE;QAClBN,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM,CAAC;QAC1BG,KAAK,EAAE;UAAEH,QAAQ,EAAE;QAAM;MAC3B;IACF,CAAC;IACDQ,UAAU,EAAE;MACVC,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE;IACX,CAAC;IACD9B,aAAa,EAAE;MACb6B,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACD1B,WAAW,EAAE;MACX0B,KAAK,EAAE;IACT,CAAC;IACDG,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE;MACfH,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACD/B,UAAU,EAAE;MACVgC,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACD9B,YAAY,EAAE;MACZ+B,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDK,YAAY,EAAE;MACZJ,QAAQ,EAAE;IACZ,CAAC;IACDK,QAAQ,EAAE;MACRL,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDvB,MAAM,EAAE;MACNwB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,QAAQ;MACfF,kBAAkB,EAAE;QAClBN,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM,CAAC;QAC1BG,KAAK,EAAE;UAAEH,QAAQ,EAAE;QAAM;MAC3B,CAAC;MACDgB,QAAQ,EAAE;IACZ,CAAC;IACDhC,eAAe,EAAE;MACf0B,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDxB,cAAc,EAAE;MACdyB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDrB,SAAS,EAAE;MACTsB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,WAAW;MAClBF,kBAAkB,EAAE;QAClBN,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAK,CAAC;QACzBE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAK,CAAC;QACzBG,KAAK,EAAE;UAAEH,QAAQ,EAAE;QAAM;MAC3B,CAAC;MACDgB,QAAQ,EAAE;IACZ,CAAC;IACD1B,WAAW,EAAE;MACXoB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDQ,mBAAmB,EAAE;MACnBP,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDjB,mBAAmB,EAAE;MACnBkB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,sBAAsB;MAC7BF,kBAAkB,EAAE;QAClBN,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM,CAAC;QAC1BG,KAAK,EAAE;UAAEH,QAAQ,EAAE;QAAM;MAC3B,CAAC;MACDgB,QAAQ,EAAE;IACZ,CAAC;IACDtB,qBAAqB,EAAE;MACrBgB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDS,gBAAgB,EAAE,CAAC;IACnBC,gBAAgB,EAAE,CAAC;IACnBC,aAAa,EAAE;MACb5B,mBAAmB,EAAE,GAAG;MACxBN,MAAM,EAAE,GAAG;MACXE,SAAS,EAAE,GAAG;MACdR,OAAO,EAAE;IACX,CAAC;IACDyC,cAAc,EAAE;MACd7B,mBAAmB,EAAE,GAAG;MACxBN,MAAM,EAAE,GAAG;MACXE,SAAS,EAAE,GAAG;MACdR,OAAO,EAAE;IACX,CAAC;IACD0C,UAAU,EAAE;MACVZ,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDc,aAAa,EAAE;MACbC,SAAS,EAAE,KAAK;MAChBC,UAAU,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACRhB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE,kBAAkB;MACzBE,OAAO,EAAE;IACX,CAAC;IACDgB,eAAe,EAAE;MACflB,KAAK,EAAE,kBAAkB;MACzBmB,OAAO,EAAE;IACX;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,203 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _client = require("react-dom/client");
11
- var _debug = _interopRequireDefault(require("debug"));
12
- var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
13
- var _main = _interopRequireDefault(require("./main"));
14
- var _configUi = require("@pie-lib/config-ui");
15
- var _lodashEs = require("lodash-es");
16
- var _defaults = _interopRequireDefault(require("./defaults"));
17
- const log = (0, _debug.default)('multiple-choice:configure');
18
- const generateFormattedChoices = (choices, choiceCount = 0) => {
19
- if (!choices || choices.length === 0) {
20
- let formattedChoices = [];
21
- for (let i = 0; i < choiceCount; i++) {
22
- formattedChoices.push({
23
- value: `${i}`,
24
- label: '',
25
- feedback: {
26
- type: 'none',
27
- value: ''
28
- }
29
- });
30
- }
31
- return formattedChoices;
32
- }
33
- return choices;
34
- };
35
- const prepareCustomizationObject = (config, model) => {
36
- const configuration = (0, _lodashEs.defaults)(config, _defaults.default.configuration);
37
- return {
38
- configuration,
39
- model: {
40
- ...model,
41
- choices: generateFormattedChoices(model && model.choices || [], configuration && configuration.answerChoiceCount)
42
- }
43
- };
44
- };
45
- class MultipleChoice extends HTMLElement {
46
- constructor() {
47
- super();
48
- this._root = null;
49
- this._reactContainer = null;
50
- this._model = MultipleChoice.createDefaultModel();
51
- this._configuration = _defaults.default.configuration;
52
- this.onModelChanged = this.onModelChanged.bind(this);
53
- this.onConfigurationChanged = this.onConfigurationChanged.bind(this);
54
- }
55
- set model(s) {
56
- this._model = MultipleChoice.createDefaultModel(s);
57
- this._render();
58
- }
59
- set configuration(c) {
60
- const info = prepareCustomizationObject(c, this._model);
61
- this.onModelChanged(info.model);
62
- const newConfiguration = {
63
- ..._defaults.default.configuration,
64
- ...info.configuration
65
- };
66
- this._configuration = newConfiguration;
67
-
68
- // if language:enabled is true, then the corresponding default item model should include a language value;
69
- // if it is false, then the language field should be omitted from the item model.
70
- // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
71
- // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
72
- if (newConfiguration?.language?.enabled) {
73
- if (newConfiguration?.languageChoices?.options?.length) {
74
- this._model.language = newConfiguration?.languageChoices.options[0].value;
75
- }
76
- } else if (newConfiguration.language.settings && this._model.language) {
77
- this._configuration.language.enabled = true;
78
- if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
79
- this._configuration.languageChoices.options = [];
80
- }
81
-
82
- // check if the language is already included in the languageChoices.options array
83
- // and if not, then add it.
84
- if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {
85
- this._configuration.languageChoices.options.push({
86
- value: this._model.language,
87
- label: this._model.language
88
- });
89
- }
90
- } else {
91
- delete this._model.language;
92
- }
93
- this._render();
94
- }
95
- set disableSidePanel(s) {
96
- this._disableSidePanel = s;
97
- this._render();
98
- }
99
- dispatchModelUpdated(reset) {
100
- const resetValue = !!reset;
101
- this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
102
- }
103
- onModelChanged(m, reset) {
104
- this._model = {
105
- ...this._model,
106
- ...m
107
- };
108
- this._render();
109
- this.dispatchModelUpdated(reset);
110
- }
111
- onConfigurationChanged(c) {
112
- this._configuration = prepareCustomizationObject(c, this._model).configuration;
113
- if (this._model) {
114
- this.onModelChanged(this._model);
115
- }
116
- this._render();
117
- }
118
-
119
- /** @param {done, progress, file} handler */
120
- insertImage(handler) {
121
- this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
122
- }
123
- onDeleteImage(src, done) {
124
- this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
125
- }
126
- insertSound(handler) {
127
- this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
128
- }
129
- onDeleteSound(src, done) {
130
- this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
131
- }
132
- _render() {
133
- log('_render - Starting render');
134
- log('_render - Model:', this._model ? 'present' : 'missing');
135
- log('_render - Configuration:', this._configuration ? 'present' : 'missing');
136
- log('_render - Root exists:', !!this._root);
137
- try {
138
- let element = /*#__PURE__*/_react.default.createElement(_main.default, {
139
- model: this._model,
140
- configuration: this._configuration,
141
- onModelChanged: this.onModelChanged,
142
- onConfigurationChanged: this.onConfigurationChanged,
143
- disableSidePanel: this._disableSidePanel,
144
- imageSupport: {
145
- add: this.insertImage.bind(this),
146
- delete: this.onDeleteImage.bind(this)
147
- },
148
- uploadSoundSupport: {
149
- add: this.insertSound.bind(this),
150
- delete: this.onDeleteSound.bind(this)
151
- }
152
- });
153
- if (!this._root) {
154
- log('_render - Creating React container');
155
-
156
- // Create a container div for React to render into
157
- this._reactContainer = document.createElement('div');
158
- this._reactContainer.className = 'pie-configure-wrapper';
159
- this.appendChild(this._reactContainer);
160
- log('_render - Creating new React root');
161
- this._root = (0, _client.createRoot)(this._reactContainer);
162
- log('_render - React root created successfully');
163
- }
164
- log('_render - Calling root.render()');
165
- this._root.render(element);
166
- log('_render - Render completed successfully');
167
- } catch (error) {
168
- console.error('❌ [multiple-choice-configure] Render error:', error);
169
- console.error('Error stack:', error.stack);
170
- throw error;
171
- }
172
- }
173
- connectedCallback() {
174
- log('connectedCallback - Component connected to DOM');
175
- log('connectedCallback - Model:', this._model ? 'present' : 'missing');
176
- log('connectedCallback - Configuration:', this._configuration ? 'present' : 'missing');
177
- this._render();
178
- }
179
- disconnectedCallback() {
180
- log('disconnectedCallback - Component disconnected from DOM');
181
- if (this._root) {
182
- log('disconnectedCallback - Unmounting React root');
183
- this._root.unmount();
184
- this._root = null;
185
- }
186
- if (this._reactContainer) {
187
- this._reactContainer = null;
188
- }
189
- }
190
- }
191
- exports.default = MultipleChoice;
192
- (0, _defineProperty2.default)(MultipleChoice, "createDefaultModel", (model = {}) => {
193
- const normalizedModel = _configUi.choiceUtils.normalizeChoices({
194
- ..._defaults.default.model,
195
- ...model,
196
- choices: generateFormattedChoices(model && model.choices || [])
197
- });
198
-
199
- // This is used for offering support for old models which have the property "verticalMode"
200
- normalizedModel.choicesLayout = model.choicesLayout || model.verticalMode === false && 'horizontal' || _defaults.default.model.choicesLayout;
201
- return normalizedModel;
202
- });
203
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_debug","_pieConfigureEvents","_main","_configUi","_lodashEs","_defaults","log","debug","generateFormattedChoices","choices","choiceCount","length","formattedChoices","i","push","value","label","feedback","type","prepareCustomizationObject","config","model","configuration","defaults","sensibleDefaults","answerChoiceCount","MultipleChoice","HTMLElement","constructor","_root","_reactContainer","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","newConfiguration","language","enabled","languageChoices","options","settings","find","option","disableSidePanel","_disableSidePanel","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","element","React","createElement","Main","imageSupport","add","delete","uploadSoundSupport","document","className","appendChild","createRoot","render","error","console","stack","connectedCallback","disconnectedCallback","unmount","exports","default","_defineProperty2","normalizedModel","utils","normalizeChoices","choicesLayout","verticalMode"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport {\n DeleteImageEvent,\n InsertImageEvent,\n ModelUpdatedEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport { defaults } from 'lodash-es';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('multiple-choice:configure');\n\nconst generateFormattedChoices = (choices, choiceCount = 0) => {\n if (!choices || choices.length === 0) {\n let formattedChoices = [];\n\n for (let i = 0; i < choiceCount; i++) {\n formattedChoices.push({\n value: `${i}`,\n label: '',\n feedback: {\n type: 'none',\n value: '',\n },\n });\n }\n\n return formattedChoices;\n }\n\n return choices;\n};\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model: {\n ...model,\n choices: generateFormattedChoices(\n (model && model.choices) || [],\n configuration && configuration.answerChoiceCount,\n ),\n },\n };\n};\n\nexport default class MultipleChoice extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = utils.normalizeChoices({\n ...sensibleDefaults.model,\n ...model,\n choices: generateFormattedChoices((model && model.choices) || []),\n });\n\n // This is used for offering support for old models which have the property \"verticalMode\"\n normalizedModel.choicesLayout =\n model.choicesLayout || (model.verticalMode === false && 'horizontal') || sensibleDefaults.model.choicesLayout;\n\n return normalizedModel;\n };\n\n constructor() {\n super();\n this._root = null;\n this._reactContainer = null;\n this._model = MultipleChoice.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = MultipleChoice.createDefaultModel(s);\n\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n\n const newConfiguration = {\n ...sensibleDefaults.configuration,\n ...info.configuration,\n };\n this._configuration = newConfiguration;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = {\n ...this._model,\n ...m,\n };\n this._render();\n\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n /** @param {done, progress, file} handler */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render - Starting render');\n log('_render - Model:', this._model ? 'present' : 'missing');\n log('_render - Configuration:', this._configuration ? 'present' : 'missing');\n log('_render - Root exists:', !!this._root);\n\n try {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n log('_render - Creating React container');\n\n // Create a container div for React to render into\n this._reactContainer = document.createElement('div');\n this._reactContainer.className = 'pie-configure-wrapper';\n this.appendChild(this._reactContainer);\n\n log('_render - Creating new React root');\n this._root = createRoot(this._reactContainer);\n log('_render - React root created successfully');\n }\n\n log('_render - Calling root.render()');\n this._root.render(element);\n log('_render - Render completed successfully');\n } catch (error) {\n console.error('❌ [multiple-choice-configure] Render error:', error);\n console.error('Error stack:', error.stack);\n throw error;\n }\n }\n\n connectedCallback() {\n log('connectedCallback - Component connected to DOM');\n log('connectedCallback - Model:', this._model ? 'present' : 'missing');\n log('connectedCallback - Configuration:', this._configuration ? 'present' : 'missing');\n this._render();\n }\n\n disconnectedCallback() {\n log('disconnectedCallback - Component disconnected from DOM');\n if (this._root) {\n log('disconnectedCallback - Unmounting React root');\n this._root.unmount();\n this._root = null;\n }\n if (this._reactContainer) {\n this._reactContainer = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}