@pie-element/categorize 13.1.2-next.2 → 13.1.2

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 (158) hide show
  1. package/CHANGELOG.json +1637 -0
  2. package/CHANGELOG.md +2542 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +5 -0
  5. package/configure/CHANGELOG.json +1202 -0
  6. package/configure/CHANGELOG.md +2125 -0
  7. package/configure/lib/defaults.js +222 -0
  8. package/configure/lib/defaults.js.map +1 -0
  9. package/configure/lib/design/builder.js +55 -0
  10. package/configure/lib/design/builder.js.map +1 -0
  11. package/configure/lib/design/buttons.js +59 -0
  12. package/configure/lib/design/buttons.js.map +1 -0
  13. package/configure/lib/design/categories/RowLabel.js +66 -0
  14. package/configure/lib/design/categories/RowLabel.js.map +1 -0
  15. package/configure/lib/design/categories/alternateResponses.js +116 -0
  16. package/configure/lib/design/categories/alternateResponses.js.map +1 -0
  17. package/configure/lib/design/categories/category.js +153 -0
  18. package/configure/lib/design/categories/category.js.map +1 -0
  19. package/configure/lib/design/categories/choice-preview.js +79 -0
  20. package/configure/lib/design/categories/choice-preview.js.map +1 -0
  21. package/configure/lib/design/categories/droppable-placeholder.js +93 -0
  22. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -0
  23. package/configure/lib/design/categories/index.js +256 -0
  24. package/configure/lib/design/categories/index.js.map +1 -0
  25. package/configure/lib/design/choices/choice.js +187 -0
  26. package/configure/lib/design/choices/choice.js.map +1 -0
  27. package/configure/lib/design/choices/config.js +58 -0
  28. package/configure/lib/design/choices/config.js.map +1 -0
  29. package/configure/lib/design/choices/index.js +197 -0
  30. package/configure/lib/design/choices/index.js.map +1 -0
  31. package/configure/lib/design/header.js +71 -0
  32. package/configure/lib/design/header.js.map +1 -0
  33. package/configure/lib/design/index.js +727 -0
  34. package/configure/lib/design/index.js.map +1 -0
  35. package/configure/lib/design/input-header.js +105 -0
  36. package/configure/lib/design/input-header.js.map +1 -0
  37. package/configure/lib/design/utils.js +12 -0
  38. package/configure/lib/design/utils.js.map +1 -0
  39. package/configure/lib/index.js +147 -0
  40. package/configure/lib/index.js.map +1 -0
  41. package/configure/lib/main.js +44 -0
  42. package/configure/lib/main.js.map +1 -0
  43. package/configure/lib/utils.js +43 -0
  44. package/configure/lib/utils.js.map +1 -0
  45. package/configure/package.json +32 -0
  46. package/controller/CHANGELOG.json +452 -0
  47. package/controller/CHANGELOG.md +1377 -0
  48. package/controller/lib/defaults.js +33 -0
  49. package/controller/lib/defaults.js.map +1 -0
  50. package/controller/lib/index.js +479 -0
  51. package/controller/lib/index.js.map +1 -0
  52. package/controller/lib/utils.js +69 -0
  53. package/controller/lib/utils.js.map +1 -0
  54. package/controller/package.json +18 -0
  55. package/docs/config-schema.json +2897 -0
  56. package/docs/config-schema.json.md +2138 -0
  57. package/docs/demo/config.js +8 -0
  58. package/docs/demo/generate.js +357 -0
  59. package/docs/demo/index.html +1 -0
  60. package/docs/demo/session.js +12 -0
  61. package/docs/pie-schema.json +1784 -0
  62. package/docs/pie-schema.json.md +1046 -0
  63. package/lib/categorize/categories.js +135 -0
  64. package/lib/categorize/categories.js.map +1 -0
  65. package/lib/categorize/category.js +67 -0
  66. package/lib/categorize/category.js.map +1 -0
  67. package/lib/categorize/choice.js +140 -0
  68. package/lib/categorize/choice.js.map +1 -0
  69. package/lib/categorize/choices.js +99 -0
  70. package/lib/categorize/choices.js.map +1 -0
  71. package/lib/categorize/droppable-placeholder.js +84 -0
  72. package/lib/categorize/droppable-placeholder.js.map +1 -0
  73. package/lib/categorize/grid-content.js +55 -0
  74. package/lib/categorize/grid-content.js.map +1 -0
  75. package/lib/categorize/index.js +450 -0
  76. package/lib/categorize/index.js.map +1 -0
  77. package/lib/index.js +316 -0
  78. package/lib/index.js.map +1 -0
  79. package/package.json +22 -85
  80. package/configure.js +0 -2
  81. package/controller.js +0 -1
  82. package/dist/author/defaults.d.ts +0 -223
  83. package/dist/author/defaults.js +0 -170
  84. package/dist/author/design/builder.d.ts +0 -10
  85. package/dist/author/design/builder.js +0 -24
  86. package/dist/author/design/buttons.d.ts +0 -28
  87. package/dist/author/design/buttons.js +0 -36
  88. package/dist/author/design/categories/RowLabel.d.ts +0 -23
  89. package/dist/author/design/categories/RowLabel.js +0 -47
  90. package/dist/author/design/categories/alternateResponses.d.ts +0 -31
  91. package/dist/author/design/categories/alternateResponses.js +0 -62
  92. package/dist/author/design/categories/category.d.ts +0 -44
  93. package/dist/author/design/categories/category.js +0 -98
  94. package/dist/author/design/categories/choice-preview.d.ts +0 -25
  95. package/dist/author/design/categories/choice-preview.js +0 -60
  96. package/dist/author/design/categories/droppable-placeholder.d.ts +0 -11
  97. package/dist/author/design/categories/droppable-placeholder.js +0 -71
  98. package/dist/author/design/categories/index.d.ts +0 -41
  99. package/dist/author/design/categories/index.js +0 -146
  100. package/dist/author/design/choices/choice.d.ts +0 -11
  101. package/dist/author/design/choices/choice.js +0 -129
  102. package/dist/author/design/choices/config.d.ts +0 -21
  103. package/dist/author/design/choices/config.js +0 -33
  104. package/dist/author/design/choices/index.d.ts +0 -41
  105. package/dist/author/design/choices/index.js +0 -110
  106. package/dist/author/design/header.d.ts +0 -24
  107. package/dist/author/design/header.js +0 -49
  108. package/dist/author/design/index.d.ts +0 -52
  109. package/dist/author/design/index.js +0 -417
  110. package/dist/author/design/input-header.d.ts +0 -39
  111. package/dist/author/design/input-header.js +0 -69
  112. package/dist/author/design/utils.d.ts +0 -9
  113. package/dist/author/design/utils.js +0 -7
  114. package/dist/author/index.d.ts +0 -51
  115. package/dist/author/index.js +0 -87
  116. package/dist/author/main.d.ts +0 -23
  117. package/dist/author/main.js +0 -30
  118. package/dist/author/utils.d.ts +0 -16
  119. package/dist/author/utils.js +0 -17
  120. package/dist/browser/author/index.js +0 -2041
  121. package/dist/browser/author/index.js.map +0 -1
  122. package/dist/browser/categorize.css +0 -2
  123. package/dist/browser/controller/index.js +0 -299
  124. package/dist/browser/controller/index.js.map +0 -1
  125. package/dist/browser/delivery/index.js +0 -1051
  126. package/dist/browser/delivery/index.js.map +0 -1
  127. package/dist/browser/dist-BINEJ0Vp.js +0 -1954
  128. package/dist/browser/dist-BINEJ0Vp.js.map +0 -1
  129. package/dist/browser/dist-DDCLQ8jp.js +0 -49802
  130. package/dist/browser/dist-DDCLQ8jp.js.map +0 -1
  131. package/dist/controller/defaults.d.ts +0 -34
  132. package/dist/controller/defaults.js +0 -29
  133. package/dist/controller/index.d.ts +0 -61
  134. package/dist/controller/index.js +0 -155
  135. package/dist/controller/utils.d.ts +0 -20
  136. package/dist/controller/utils.js +0 -35
  137. package/dist/delivery/categorize/categories.d.ts +0 -34
  138. package/dist/delivery/categorize/categories.js +0 -66
  139. package/dist/delivery/categorize/category.d.ts +0 -28
  140. package/dist/delivery/categorize/category.js +0 -48
  141. package/dist/delivery/categorize/choice.d.ts +0 -27
  142. package/dist/delivery/categorize/choice.js +0 -94
  143. package/dist/delivery/categorize/choices.d.ts +0 -39
  144. package/dist/delivery/categorize/choices.js +0 -51
  145. package/dist/delivery/categorize/droppable-placeholder.d.ts +0 -32
  146. package/dist/delivery/categorize/droppable-placeholder.js +0 -64
  147. package/dist/delivery/categorize/grid-content.d.ts +0 -25
  148. package/dist/delivery/categorize/grid-content.js +0 -39
  149. package/dist/delivery/categorize/index.d.ts +0 -57
  150. package/dist/delivery/categorize/index.js +0 -260
  151. package/dist/delivery/index.d.ts +0 -27
  152. package/dist/delivery/index.js +0 -152
  153. package/dist/index.d.ts +0 -1
  154. package/dist/index.iife.d.ts +0 -8
  155. package/dist/index.iife.js +0 -152
  156. package/dist/index.js +0 -2
  157. package/dist/runtime-support.d.ts +0 -12
  158. package/dist/runtime-support.js +0 -12
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("./utils");
8
+ var _default = exports.default = {
9
+ model: {
10
+ allowAlternateEnabled: true,
11
+ allowMaxChoicesPerCategory: false,
12
+ allowMultiplePlacementsEnabled: _utils.multiplePlacements.enabled,
13
+ alternates: [],
14
+ categories: [],
15
+ categoriesPerRow: 2,
16
+ choices: [],
17
+ choicesLabel: '',
18
+ choicesPosition: 'below',
19
+ correctResponse: [],
20
+ feedbackEnabled: false,
21
+ lockChoiceOrder: true,
22
+ maxAnswerChoices: 6,
23
+ maxChoicesPerCategory: 0,
24
+ partialScoring: true,
25
+ promptEnabled: true,
26
+ rationaleEnabled: true,
27
+ rowLabels: [''],
28
+ studentInstructionsEnabled: true,
29
+ teacherInstructionsEnabled: true,
30
+ toolbarEditorPosition: 'bottom',
31
+ minRowHeight: '80px'
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
+ spellCheck: {
58
+ label: 'Spellcheck',
59
+ settings: false,
60
+ enabled: true
61
+ },
62
+ feedback: {
63
+ settings: true,
64
+ label: 'Feedback',
65
+ enabled: true
66
+ },
67
+ lockChoiceOrder: {
68
+ settings: true,
69
+ label: 'Lock Choice Order'
70
+ },
71
+ choicesPosition: {
72
+ settings: true,
73
+ label: 'Choices Position'
74
+ },
75
+ allowMultiplePlacements: {
76
+ settings: true,
77
+ label: 'Allow Multiple Placements'
78
+ },
79
+ maxPlacements: {
80
+ settings: true,
81
+ label: 'Max choices per category'
82
+ },
83
+ allowAlternate: {
84
+ settings: true,
85
+ label: 'Allow Alternate Correct Answers'
86
+ },
87
+ categoriesPerRow: {
88
+ settings: true,
89
+ label: 'Categories per row'
90
+ },
91
+ partialScoring: {
92
+ settings: false,
93
+ label: 'Allow Partial Scoring'
94
+ },
95
+ prompt: {
96
+ settings: true,
97
+ label: 'Prompt',
98
+ required: false,
99
+ inputConfiguration: {
100
+ audio: {
101
+ disabled: false
102
+ },
103
+ video: {
104
+ disabled: false
105
+ },
106
+ image: {
107
+ disabled: false
108
+ }
109
+ }
110
+ },
111
+ rationale: {
112
+ settings: true,
113
+ label: 'Rationale',
114
+ required: false,
115
+ inputConfiguration: {
116
+ audio: {
117
+ disabled: false
118
+ },
119
+ video: {
120
+ disabled: false
121
+ },
122
+ image: {
123
+ disabled: false
124
+ }
125
+ }
126
+ },
127
+ scoringType: {
128
+ settings: false,
129
+ label: 'Scoring Type'
130
+ },
131
+ settingsPanelDisabled: false,
132
+ studentInstructions: {
133
+ settings: false,
134
+ label: 'Student Instructions'
135
+ },
136
+ teacherInstructions: {
137
+ settings: true,
138
+ label: 'Teacher Instructions',
139
+ required: false,
140
+ inputConfiguration: {
141
+ audio: {
142
+ disabled: false
143
+ },
144
+ video: {
145
+ disabled: false
146
+ },
147
+ image: {
148
+ disabled: false
149
+ }
150
+ }
151
+ },
152
+ headers: {
153
+ inputConfiguration: {
154
+ audio: {
155
+ disabled: true
156
+ },
157
+ video: {
158
+ disabled: true
159
+ },
160
+ image: {
161
+ disabled: false
162
+ }
163
+ }
164
+ },
165
+ rowLabels: {
166
+ inputConfiguration: {
167
+ audio: {
168
+ disabled: false
169
+ },
170
+ video: {
171
+ disabled: false
172
+ },
173
+ image: {
174
+ disabled: false
175
+ }
176
+ }
177
+ },
178
+ toolbarEditorPosition: {
179
+ settings: false,
180
+ label: 'Toolbar Editor Position'
181
+ },
182
+ maxImageWidth: {
183
+ teacherInstructions: 300,
184
+ prompt: 300,
185
+ rationale: 300,
186
+ rowLabel: 200,
187
+ categoryLabel: 260,
188
+ choices: 240
189
+ },
190
+ maxImageHeight: {
191
+ teacherInstructions: 300,
192
+ prompt: 300,
193
+ rationale: 300,
194
+ rowLabel: 100,
195
+ categoryLabel: 100,
196
+ choices: 150
197
+ },
198
+ withRubric: {
199
+ settings: false,
200
+ label: 'Add Rubric'
201
+ },
202
+ minCategoriesPerRow: 1,
203
+ allowMaxAnswerChoices: {
204
+ settings: true,
205
+ label: 'Max answer choices'
206
+ },
207
+ mathMlOptions: {
208
+ mmlOutput: false,
209
+ mmlEditing: false
210
+ },
211
+ language: {
212
+ settings: false,
213
+ label: 'Specify Language',
214
+ enabled: false
215
+ },
216
+ languageChoices: {
217
+ label: 'Language Choices',
218
+ options: []
219
+ }
220
+ }
221
+ };
222
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","names":["_utils","require","_default","exports","default","model","allowAlternateEnabled","allowMaxChoicesPerCategory","allowMultiplePlacementsEnabled","multiplePlacements","enabled","alternates","categories","categoriesPerRow","choices","choicesLabel","choicesPosition","correctResponse","feedbackEnabled","lockChoiceOrder","maxAnswerChoices","maxChoicesPerCategory","partialScoring","promptEnabled","rationaleEnabled","rowLabels","studentInstructionsEnabled","teacherInstructionsEnabled","toolbarEditorPosition","minRowHeight","configuration","baseInputConfiguration","h3","disabled","audio","video","image","textAlign","showParagraphs","separateParagraphs","spellCheck","label","settings","feedback","allowMultiplePlacements","maxPlacements","allowAlternate","prompt","required","inputConfiguration","rationale","scoringType","settingsPanelDisabled","studentInstructions","teacherInstructions","headers","maxImageWidth","rowLabel","categoryLabel","maxImageHeight","withRubric","minCategoriesPerRow","allowMaxAnswerChoices","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"sources":["../src/defaults.js"],"sourcesContent":["import { multiplePlacements } from './utils';\n\nexport default {\n model: {\n allowAlternateEnabled: true,\n allowMaxChoicesPerCategory: false,\n allowMultiplePlacementsEnabled: multiplePlacements.enabled,\n alternates: [],\n categories: [],\n categoriesPerRow: 2,\n choices: [],\n choicesLabel: '',\n choicesPosition: 'below',\n correctResponse: [],\n feedbackEnabled: false,\n lockChoiceOrder: true,\n maxAnswerChoices: 6,\n maxChoicesPerCategory: 0,\n partialScoring: true,\n promptEnabled: true,\n rationaleEnabled: true,\n rowLabels: [''],\n studentInstructionsEnabled: true,\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n minRowHeight: '80px',\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 spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true,\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n choicesPosition: {\n settings: true,\n label: 'Choices Position',\n },\n allowMultiplePlacements: {\n settings: true,\n label: 'Allow Multiple Placements',\n },\n maxPlacements: {\n settings: true,\n label: 'Max choices per category',\n },\n allowAlternate: {\n settings: true,\n label: 'Allow Alternate Correct Answers',\n },\n categoriesPerRow: {\n settings: true,\n label: 'Categories per row',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n settingsPanelDisabled: false,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n headers: {\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: false },\n },\n },\n rowLabels: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n toolbarEditorPosition: {\n settings: false,\n label: 'Toolbar Editor Position',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowLabel: 200,\n categoryLabel: 260,\n choices: 240,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n rowLabel: 100,\n categoryLabel: 100,\n choices: 150,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n minCategoriesPerRow: 1,\n allowMaxAnswerChoices: {\n settings: true,\n label: 'Max answer choices',\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,IAAAA,MAAA,GAAAC,OAAA;AAA6C,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE9B;EACbC,KAAK,EAAE;IACLC,qBAAqB,EAAE,IAAI;IAC3BC,0BAA0B,EAAE,KAAK;IACjCC,8BAA8B,EAAEC,yBAAkB,CAACC,OAAO;IAC1DC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,EAAE;IACdC,gBAAgB,EAAE,CAAC;IACnBC,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,OAAO;IACxBC,eAAe,EAAE,EAAE;IACnBC,eAAe,EAAE,KAAK;IACtBC,eAAe,EAAE,IAAI;IACrBC,gBAAgB,EAAE,CAAC;IACnBC,qBAAqB,EAAE,CAAC;IACxBC,cAAc,EAAE,IAAI;IACpBC,aAAa,EAAE,IAAI;IACnBC,gBAAgB,EAAE,IAAI;IACtBC,SAAS,EAAE,CAAC,EAAE,CAAC;IACfC,0BAA0B,EAAE,IAAI;IAChCC,0BAA0B,EAAE,IAAI;IAChCC,qBAAqB,EAAE,QAAQ;IAC/BC,YAAY,EAAE;EAChB,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;IACDO,UAAU,EAAE;MACVC,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,KAAK;MACfhC,OAAO,EAAE;IACX,CAAC;IACDiC,QAAQ,EAAE;MACRD,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,UAAU;MACjB/B,OAAO,EAAE;IACX,CAAC;IACDS,eAAe,EAAE;MACfuB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDzB,eAAe,EAAE;MACf0B,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDG,uBAAuB,EAAE;MACvBF,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDI,aAAa,EAAE;MACbH,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDK,cAAc,EAAE;MACdJ,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACD5B,gBAAgB,EAAE;MAChB6B,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDnB,cAAc,EAAE;MACdoB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDM,MAAM,EAAE;MACNL,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,QAAQ;MACfO,QAAQ,EAAE,KAAK;MACfC,kBAAkB,EAAE;QAClBf,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;IACDiB,SAAS,EAAE;MACTR,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,WAAW;MAClBO,QAAQ,EAAE,KAAK;MACfC,kBAAkB,EAAE;QAClBf,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;IACDkB,WAAW,EAAE;MACXT,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDW,qBAAqB,EAAE,KAAK;IAC5BC,mBAAmB,EAAE;MACnBX,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDa,mBAAmB,EAAE;MACnBZ,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,sBAAsB;MAC7BO,QAAQ,EAAE,KAAK;MACfC,kBAAkB,EAAE;QAClBf,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;IACDsB,OAAO,EAAE;MACPN,kBAAkB,EAAE;QAClBf,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAK,CAAC;QACzBE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAK,CAAC;QACzBG,KAAK,EAAE;UAAEH,QAAQ,EAAE;QAAM;MAC3B;IACF,CAAC;IACDR,SAAS,EAAE;MACTwB,kBAAkB,EAAE;QAClBf,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;IACDL,qBAAqB,EAAE;MACrBc,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDe,aAAa,EAAE;MACbF,mBAAmB,EAAE,GAAG;MACxBP,MAAM,EAAE,GAAG;MACXG,SAAS,EAAE,GAAG;MACdO,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE,GAAG;MAClB5C,OAAO,EAAE;IACX,CAAC;IACD6C,cAAc,EAAE;MACdL,mBAAmB,EAAE,GAAG;MACxBP,MAAM,EAAE,GAAG;MACXG,SAAS,EAAE,GAAG;MACdO,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE,GAAG;MAClB5C,OAAO,EAAE;IACX,CAAC;IACD8C,UAAU,EAAE;MACVlB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDoB,mBAAmB,EAAE,CAAC;IACtBC,qBAAqB,EAAE;MACrBpB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDsB,aAAa,EAAE;MACbC,SAAS,EAAE,KAAK;MAChBC,UAAU,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACRxB,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE,kBAAkB;MACzB/B,OAAO,EAAE;IACX,CAAC;IACDyD,eAAe,EAAE;MACf1B,KAAK,EAAE,kBAAkB;MACzB2B,OAAO,EAAE;IACX;EACF;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildCategories = exports.buildAlternateResponses = void 0;
7
+ var _lodashEs = require("lodash-es");
8
+ const buildCategories = (categories, choices, correctResponse) => {
9
+ const clonedCategories = (0, _lodashEs.cloneDeep)(categories);
10
+ return clonedCategories.map(category => {
11
+ const cr = correctResponse.find(cr => cr.category === category.id);
12
+ if (cr) {
13
+ category.choices = (cr.choices || []).map(choiceId => {
14
+ const choice = choices.find(h => h.id === choiceId);
15
+ if (choice) {
16
+ return Object.assign({}, {
17
+ id: choice.id,
18
+ content: choice.content
19
+ });
20
+ }
21
+ });
22
+ }
23
+ return category;
24
+ });
25
+ };
26
+ exports.buildCategories = buildCategories;
27
+ const getChoices = (cat, choices, index) => {
28
+ if (!cat.alternateResponses || cat.alternateResponses.length === 0) {
29
+ return [];
30
+ }
31
+ return (cat.alternateResponses[index] || []).map(alt => {
32
+ return choices.find(ch => ch.id === alt);
33
+ });
34
+ };
35
+ const buildAlternateResponses = (categories, choices, correctResponse) => {
36
+ const mostAlternates = correctResponse.reduce((mostAlt, cat) => {
37
+ if (cat.alternateResponses && cat.alternateResponses.length >= mostAlt) {
38
+ return cat.alternateResponses.length;
39
+ }
40
+ return mostAlt;
41
+ }, 0);
42
+ const alternatesArray = new Array(mostAlternates).fill(0);
43
+ return alternatesArray.map((val, index) => {
44
+ return correctResponse.map((cat, catIndex) => {
45
+ const currentCategory = categories[catIndex];
46
+ return {
47
+ id: currentCategory.id,
48
+ label: currentCategory.label,
49
+ choices: getChoices(cat, choices, index)
50
+ };
51
+ });
52
+ });
53
+ };
54
+ exports.buildAlternateResponses = buildAlternateResponses;
55
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","names":["_lodashEs","require","buildCategories","categories","choices","correctResponse","clonedCategories","cloneDeep","map","category","cr","find","id","choiceId","choice","h","Object","assign","content","exports","getChoices","cat","index","alternateResponses","length","alt","ch","buildAlternateResponses","mostAlternates","reduce","mostAlt","alternatesArray","Array","fill","val","catIndex","currentCategory","label"],"sources":["../../src/design/builder.js"],"sourcesContent":["import { cloneDeep } from 'lodash-es';\n\nexport const buildCategories = (categories, choices, correctResponse) => {\n const clonedCategories = cloneDeep(categories);\n\n return clonedCategories.map((category) => {\n const cr = correctResponse.find((cr) => cr.category === category.id);\n\n if (cr) {\n category.choices = (cr.choices || []).map((choiceId) => {\n const choice = choices.find((h) => h.id === choiceId);\n if (choice) {\n return Object.assign({}, { id: choice.id, content: choice.content });\n }\n });\n }\n\n return category;\n });\n};\n\nconst getChoices = (cat, choices, index) => {\n if (!cat.alternateResponses || cat.alternateResponses.length === 0) {\n return [];\n }\n\n return (cat.alternateResponses[index] || []).map((alt) => {\n return choices.find((ch) => ch.id === alt);\n });\n};\n\nexport const buildAlternateResponses = (categories, choices, correctResponse) => {\n const mostAlternates = correctResponse.reduce((mostAlt, cat) => {\n if (cat.alternateResponses && cat.alternateResponses.length >= mostAlt) {\n return cat.alternateResponses.length;\n }\n\n return mostAlt;\n }, 0);\n const alternatesArray = new Array(mostAlternates).fill(0);\n\n return alternatesArray.map((val, index) => {\n return correctResponse.map((cat, catIndex) => {\n const currentCategory = categories[catIndex];\n\n return {\n id: currentCategory.id,\n label: currentCategory.label,\n choices: getChoices(cat, choices, index),\n };\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAACC,UAAU,EAAEC,OAAO,EAAEC,eAAe,KAAK;EACvE,MAAMC,gBAAgB,GAAG,IAAAC,mBAAS,EAACJ,UAAU,CAAC;EAE9C,OAAOG,gBAAgB,CAACE,GAAG,CAAEC,QAAQ,IAAK;IACxC,MAAMC,EAAE,GAAGL,eAAe,CAACM,IAAI,CAAED,EAAE,IAAKA,EAAE,CAACD,QAAQ,KAAKA,QAAQ,CAACG,EAAE,CAAC;IAEpE,IAAIF,EAAE,EAAE;MACND,QAAQ,CAACL,OAAO,GAAG,CAACM,EAAE,CAACN,OAAO,IAAI,EAAE,EAAEI,GAAG,CAAEK,QAAQ,IAAK;QACtD,MAAMC,MAAM,GAAGV,OAAO,CAACO,IAAI,CAAEI,CAAC,IAAKA,CAAC,CAACH,EAAE,KAAKC,QAAQ,CAAC;QACrD,IAAIC,MAAM,EAAE;UACV,OAAOE,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE;YAAEL,EAAE,EAAEE,MAAM,CAACF,EAAE;YAAEM,OAAO,EAAEJ,MAAM,CAACI;UAAQ,CAAC,CAAC;QACtE;MACF,CAAC,CAAC;IACJ;IAEA,OAAOT,QAAQ;EACjB,CAAC,CAAC;AACJ,CAAC;AAACU,OAAA,CAAAjB,eAAA,GAAAA,eAAA;AAEF,MAAMkB,UAAU,GAAGA,CAACC,GAAG,EAAEjB,OAAO,EAAEkB,KAAK,KAAK;EAC1C,IAAI,CAACD,GAAG,CAACE,kBAAkB,IAAIF,GAAG,CAACE,kBAAkB,CAACC,MAAM,KAAK,CAAC,EAAE;IAClE,OAAO,EAAE;EACX;EAEA,OAAO,CAACH,GAAG,CAACE,kBAAkB,CAACD,KAAK,CAAC,IAAI,EAAE,EAAEd,GAAG,CAAEiB,GAAG,IAAK;IACxD,OAAOrB,OAAO,CAACO,IAAI,CAAEe,EAAE,IAAKA,EAAE,CAACd,EAAE,KAAKa,GAAG,CAAC;EAC5C,CAAC,CAAC;AACJ,CAAC;AAEM,MAAME,uBAAuB,GAAGA,CAACxB,UAAU,EAAEC,OAAO,EAAEC,eAAe,KAAK;EAC/E,MAAMuB,cAAc,GAAGvB,eAAe,CAACwB,MAAM,CAAC,CAACC,OAAO,EAAET,GAAG,KAAK;IAC9D,IAAIA,GAAG,CAACE,kBAAkB,IAAIF,GAAG,CAACE,kBAAkB,CAACC,MAAM,IAAIM,OAAO,EAAE;MACtE,OAAOT,GAAG,CAACE,kBAAkB,CAACC,MAAM;IACtC;IAEA,OAAOM,OAAO;EAChB,CAAC,EAAE,CAAC,CAAC;EACL,MAAMC,eAAe,GAAG,IAAIC,KAAK,CAACJ,cAAc,CAAC,CAACK,IAAI,CAAC,CAAC,CAAC;EAEzD,OAAOF,eAAe,CAACvB,GAAG,CAAC,CAAC0B,GAAG,EAAEZ,KAAK,KAAK;IACzC,OAAOjB,eAAe,CAACG,GAAG,CAAC,CAACa,GAAG,EAAEc,QAAQ,KAAK;MAC5C,MAAMC,eAAe,GAAGjC,UAAU,CAACgC,QAAQ,CAAC;MAE5C,OAAO;QACLvB,EAAE,EAAEwB,eAAe,CAACxB,EAAE;QACtByB,KAAK,EAAED,eAAe,CAACC,KAAK;QAC5BjC,OAAO,EAAEgB,UAAU,CAACC,GAAG,EAAEjB,OAAO,EAAEkB,KAAK;MACzC,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAACH,OAAA,CAAAQ,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RawAddButton = exports.DeleteButton = exports.AddButton = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _styles = require("@mui/material/styles");
12
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
13
+ const StyledAddButton = (0, _styles.styled)(_Button.default)(({
14
+ theme
15
+ }) => ({
16
+ height: theme.spacing(4)
17
+ }));
18
+ class RawAddButton extends _react.default.Component {
19
+ render() {
20
+ const {
21
+ label,
22
+ onClick,
23
+ disabled
24
+ } = this.props;
25
+ return /*#__PURE__*/_react.default.createElement(StyledAddButton, {
26
+ onClick: onClick,
27
+ disabled: disabled,
28
+ size: "small",
29
+ variant: "contained",
30
+ color: "primary"
31
+ }, label);
32
+ }
33
+ }
34
+ exports.RawAddButton = RawAddButton;
35
+ (0, _defineProperty2.default)(RawAddButton, "propTypes", {
36
+ label: _propTypes.default.string,
37
+ onClick: _propTypes.default.func,
38
+ disabled: _propTypes.default.bool
39
+ });
40
+ (0, _defineProperty2.default)(RawAddButton, "defaultProps", {
41
+ label: 'Add'
42
+ });
43
+ const AddButton = exports.AddButton = RawAddButton;
44
+ const StyledDeleteButton = (0, _styles.styled)(_Button.default)({
45
+ margin: 0,
46
+ padding: 0
47
+ });
48
+ const DeleteButton = ({
49
+ label,
50
+ onClick,
51
+ disabled
52
+ }) => /*#__PURE__*/_react.default.createElement(StyledDeleteButton, {
53
+ onClick: onClick,
54
+ size: "small",
55
+ color: "primary",
56
+ disabled: disabled
57
+ }, label);
58
+ exports.DeleteButton = DeleteButton;
59
+ //# sourceMappingURL=buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttons.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","StyledAddButton","styled","Button","theme","height","spacing","RawAddButton","React","Component","render","label","onClick","disabled","props","default","createElement","size","variant","color","exports","_defineProperty2","PropTypes","string","func","bool","AddButton","StyledDeleteButton","margin","padding","DeleteButton"],"sources":["../../src/design/buttons.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\n\nconst StyledAddButton = styled(Button)(({ theme }) => ({\n height: theme.spacing(4),\n}));\n\nexport class RawAddButton extends React.Component {\n static propTypes = {\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n };\n\n static defaultProps = {\n label: 'Add',\n };\n\n render() {\n const { label, onClick, disabled } = this.props;\n return (\n <StyledAddButton\n onClick={onClick}\n disabled={disabled}\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n >\n {label}\n </StyledAddButton>\n );\n }\n}\n\nconst AddButton = RawAddButton;\n\nconst StyledDeleteButton = styled(Button)({\n margin: 0,\n padding: 0,\n});\n\nconst DeleteButton = ({ label, onClick, disabled }) => (\n <StyledDeleteButton onClick={onClick} size=\"small\" color=\"primary\" disabled={disabled}>\n {label}\n </StyledDeleteButton>\n);\n\nexport { AddButton, DeleteButton };\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,MAAMI,eAAe,GAAG,IAAAC,cAAM,EAACC,eAAM,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACrDC,MAAM,EAAED,KAAK,CAACE,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEI,MAAMC,YAAY,SAASC,cAAK,CAACC,SAAS,CAAC;EAWhDC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACC,KAAK;IAC/C,oBACEnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,eAAe;MACdW,OAAO,EAAEA,OAAQ;MACjBC,QAAQ,EAAEA,QAAS;MACnBI,IAAI,EAAC,OAAO;MACZC,OAAO,EAAC,WAAW;MACnBC,KAAK,EAAC;IAAS,GAEdR,KACc,CAAC;EAEtB;AACF;AAACS,OAAA,CAAAb,YAAA,GAAAA,YAAA;AAAA,IAAAc,gBAAA,CAAAN,OAAA,EAzBYR,YAAY,eACJ;EACjBI,KAAK,EAAEW,kBAAS,CAACC,MAAM;EACvBX,OAAO,EAAEU,kBAAS,CAACE,IAAI;EACvBX,QAAQ,EAAES,kBAAS,CAACG;AACtB,CAAC;AAAA,IAAAJ,gBAAA,CAAAN,OAAA,EALUR,YAAY,kBAOD;EACpBI,KAAK,EAAE;AACT,CAAC;AAkBH,MAAMe,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAGnB,YAAY;AAE9B,MAAMoB,kBAAkB,GAAG,IAAAzB,cAAM,EAACC,eAAM,CAAC,CAAC;EACxCyB,MAAM,EAAE,CAAC;EACTC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,YAAY,GAAGA,CAAC;EAAEnB,KAAK;EAAEC,OAAO;EAAEC;AAAS,CAAC,kBAChDlB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACW,kBAAkB;EAACf,OAAO,EAAEA,OAAQ;EAACK,IAAI,EAAC,OAAO;EAACE,KAAK,EAAC,SAAS;EAACN,QAAQ,EAAEA;AAAS,GACnFF,KACiB,CACrB;AAACS,OAAA,CAAAU,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RowLabel = void 0;
8
+ var _utils = require("../utils");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styles = require("@mui/material/styles");
11
+ var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
12
+ var _renderUi = require("@pie-lib/render-ui");
13
+ const RowLabelContainer = (0, _styles.styled)(_renderUi.InputContainer)(({
14
+ theme
15
+ }) => ({
16
+ width: '100%',
17
+ paddingTop: theme.spacing(1),
18
+ marginTop: theme.spacing(1)
19
+ }));
20
+ const RowLabel = ({
21
+ categoriesPerRow,
22
+ configuration,
23
+ disabled,
24
+ markup,
25
+ imageSupport,
26
+ onChange,
27
+ toolbarOpts,
28
+ spellCheck,
29
+ maxImageWidth,
30
+ maxImageHeight,
31
+ uploadSoundSupport,
32
+ mathMlOptions = {}
33
+ }) => {
34
+ const {
35
+ rowLabels,
36
+ baseInputConfiguration
37
+ } = configuration;
38
+ return /*#__PURE__*/_react.default.createElement("div", {
39
+ style: {
40
+ gridColumn: `1/${categoriesPerRow + 1}`,
41
+ width: '100%'
42
+ }
43
+ }, /*#__PURE__*/_react.default.createElement(RowLabelContainer, {
44
+ label: "Row Label"
45
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
46
+ disabled: disabled,
47
+ markup: markup,
48
+ onChange: onChange,
49
+ imageSupport: imageSupport,
50
+ nonEmpty: false,
51
+ toolbarOpts: toolbarOpts,
52
+ pluginProps: (0, _utils.getPluginProps)(rowLabels?.inputConfiguration, baseInputConfiguration),
53
+ spellCheck: spellCheck,
54
+ maxImageWidth: maxImageWidth,
55
+ maxImageHeight: maxImageHeight,
56
+ uploadSoundSupport: uploadSoundSupport,
57
+ languageCharactersProps: [{
58
+ language: 'spanish'
59
+ }, {
60
+ language: 'special'
61
+ }],
62
+ mathMlOptions: mathMlOptions
63
+ })));
64
+ };
65
+ exports.RowLabel = RowLabel;
66
+ //# sourceMappingURL=RowLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowLabel.js","names":["_utils","require","_react","_interopRequireDefault","_styles","_editableHtmlTipTap","_renderUi","RowLabelContainer","styled","InputContainer","theme","width","paddingTop","spacing","marginTop","RowLabel","categoriesPerRow","configuration","disabled","markup","imageSupport","onChange","toolbarOpts","spellCheck","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","rowLabels","baseInputConfiguration","default","createElement","style","gridColumn","label","nonEmpty","pluginProps","getPluginProps","inputConfiguration","languageCharactersProps","language","exports"],"sources":["../../../src/design/categories/RowLabel.jsx"],"sourcesContent":["import { getPluginProps } from '../utils';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer } from '@pie-lib/render-ui';\n\nconst RowLabelContainer = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(1),\n marginTop: theme.spacing(1),\n}));\n\nexport const RowLabel = ({\n categoriesPerRow,\n configuration,\n disabled,\n markup,\n imageSupport,\n onChange,\n toolbarOpts,\n spellCheck,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n }) => {\n const { rowLabels, baseInputConfiguration } = configuration;\n\n return (\n <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%',\n }}\n >\n <RowLabelContainer label=\"Row Label\">\n <EditableHtml\n disabled={disabled}\n markup={markup}\n onChange={onChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rowLabels?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </RowLabelContainer>\n </div>\n );\n };\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,MAAMM,iBAAiB,GAAG,IAAAC,cAAM,EAACC,wBAAc,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC/DC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAEF,KAAK,CAACG,OAAO,CAAC,CAAC,CAAC;EAC5BC,SAAS,EAAEJ,KAAK,CAACG,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEI,MAAME,QAAQ,GAAGA,CAAC;EACrBC,gBAAgB;EAChBC,aAAa;EACbC,QAAQ;EACRC,MAAM;EACNC,YAAY;EACZC,QAAQ;EACRC,WAAW;EACXC,UAAU;EACVC,aAAa;EACbC,cAAc;EACdC,kBAAkB;EAClBC,aAAa,GAAG,CAAC;AACnB,CAAC,KAAK;EACJ,MAAM;IAAEC,SAAS;IAAEC;EAAuB,CAAC,GAAGZ,aAAa;EAE3D,oBACEf,MAAA,CAAA4B,OAAA,CAAAC,aAAA;IACEC,KAAK,EAAE;MACLC,UAAU,EAAE,KAAKjB,gBAAgB,GAAG,CAAC,EAAE;MACvCL,KAAK,EAAE;IACT;EAAE,gBAEFT,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACxB,iBAAiB;IAAC2B,KAAK,EAAC;EAAW,gBAClChC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAAC1B,mBAAA,CAAAyB,OAAY;IACXZ,QAAQ,EAAEA,QAAS;IACnBC,MAAM,EAAEA,MAAO;IACfE,QAAQ,EAAEA,QAAS;IACnBD,YAAY,EAAEA,YAAa;IAC3Be,QAAQ,EAAE,KAAM;IAChBb,WAAW,EAAEA,WAAY;IACzBc,WAAW,EAAE,IAAAC,qBAAc,EAACT,SAAS,EAAEU,kBAAkB,EAAET,sBAAsB,CAAE;IACnFN,UAAU,EAAEA,UAAW;IACvBC,aAAa,EAAEA,aAAc;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,kBAAkB,EAAEA,kBAAmB;IACvCa,uBAAuB,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAU,CAAC,EAAE;MAAEA,QAAQ,EAAE;IAAU,CAAC,CAAE;IAC5Eb,aAAa,EAAEA;EAAc,CAC9B,CACgB,CAChB,CAAC;AAEV,CAAC;AAACc,OAAA,CAAA1B,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.AlternateResponses = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _styles = require("@mui/material/styles");
12
+ var _categorize = require("@pie-lib/categorize");
13
+ var _category = _interopRequireDefault(require("./category"));
14
+ const CategoriesContainer = (0, _styles.styled)('div')(({
15
+ theme
16
+ }) => ({
17
+ marginBottom: theme.spacing(2.5)
18
+ }));
19
+ const CategoriesHolder = (0, _styles.styled)('div')(({
20
+ theme
21
+ }) => ({
22
+ display: 'grid',
23
+ gridRowGap: theme.spacing(1),
24
+ gridColumnGap: theme.spacing(1)
25
+ }));
26
+ const RowLabel = (0, _styles.styled)('div')({
27
+ gridColumn: '1 / 3'
28
+ });
29
+ class AlternateResponses extends _react.default.Component {
30
+ constructor(...args) {
31
+ super(...args);
32
+ (0, _defineProperty2.default)(this, "deleteChoiceFromCategory", (category, choice, choiceIndex) => {
33
+ const {
34
+ model,
35
+ altIndex,
36
+ onModelChanged
37
+ } = this.props;
38
+ const correctResponse = (0, _categorize.removeChoiceFromAlternate)(choice.id, category.id, choiceIndex, altIndex, model.correctResponse);
39
+ onModelChanged({
40
+ correctResponse
41
+ });
42
+ });
43
+ }
44
+ render() {
45
+ const {
46
+ altIndex,
47
+ model,
48
+ configuration,
49
+ categories,
50
+ imageSupport,
51
+ spellCheck,
52
+ uploadSoundSupport,
53
+ mathMlOptions = {}
54
+ } = this.props;
55
+ const {
56
+ categoriesPerRow,
57
+ errors,
58
+ rowLabels
59
+ } = model;
60
+ const {
61
+ duplicateAlternate
62
+ } = errors || {};
63
+ const holderStyle = {
64
+ gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`
65
+ };
66
+ const isDuplicated = duplicateAlternate ? duplicateAlternate.index === altIndex : false;
67
+ return /*#__PURE__*/_react.default.createElement(CategoriesContainer, null, /*#__PURE__*/_react.default.createElement(CategoriesHolder, {
68
+ style: holderStyle
69
+ }, categories.map((category, index) => {
70
+ const hasRowLabel = index % categoriesPerRow === 0;
71
+ const rowIndex = index / categoriesPerRow;
72
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
73
+ key: index
74
+ }, hasRowLabel && /*#__PURE__*/_react.default.createElement(RowLabel, {
75
+ style: {
76
+ gridColumn: `1/${categoriesPerRow + 1}`,
77
+ width: '100%'
78
+ },
79
+ dangerouslySetInnerHTML: {
80
+ __html: rowLabels[rowIndex] || ''
81
+ }
82
+ }), /*#__PURE__*/_react.default.createElement(_category.default, {
83
+ key: index,
84
+ alternateResponseIndex: altIndex,
85
+ imageSupport: imageSupport,
86
+ isDuplicated: isDuplicated && duplicateAlternate.category === category.id,
87
+ category: category,
88
+ spellCheck: spellCheck,
89
+ onDeleteChoice: (choice, choiceIndex) => this.deleteChoiceFromCategory(category, choice, choiceIndex),
90
+ uploadSoundSupport: uploadSoundSupport,
91
+ mathMlOptions: mathMlOptions,
92
+ configuration: configuration,
93
+ isAlternate: true
94
+ }));
95
+ })));
96
+ }
97
+ }
98
+ exports.AlternateResponses = AlternateResponses;
99
+ (0, _defineProperty2.default)(AlternateResponses, "propTypes", {
100
+ altIndex: _propTypes.default.number.isRequired,
101
+ configuration: _propTypes.default.object,
102
+ imageSupport: _propTypes.default.shape({
103
+ add: _propTypes.default.func.isRequired,
104
+ delete: _propTypes.default.func.isRequired
105
+ }),
106
+ categories: _propTypes.default.array,
107
+ onModelChanged: _propTypes.default.func,
108
+ model: _propTypes.default.object.isRequired,
109
+ uploadSoundSupport: _propTypes.default.shape({
110
+ add: _propTypes.default.func.isRequired,
111
+ delete: _propTypes.default.func.isRequired
112
+ }),
113
+ spellCheck: _propTypes.default.bool
114
+ });
115
+ var _default = exports.default = AlternateResponses;
116
+ //# sourceMappingURL=alternateResponses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alternateResponses.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_categorize","_category","CategoriesContainer","styled","theme","marginBottom","spacing","CategoriesHolder","display","gridRowGap","gridColumnGap","RowLabel","gridColumn","AlternateResponses","React","Component","constructor","args","_defineProperty2","default","category","choice","choiceIndex","model","altIndex","onModelChanged","props","correctResponse","removeChoiceFromAlternate","id","render","configuration","categories","imageSupport","spellCheck","uploadSoundSupport","mathMlOptions","categoriesPerRow","errors","rowLabels","duplicateAlternate","holderStyle","gridTemplateColumns","isDuplicated","index","createElement","style","map","hasRowLabel","rowIndex","Fragment","key","width","dangerouslySetInnerHTML","__html","alternateResponseIndex","onDeleteChoice","deleteChoiceFromCategory","isAlternate","exports","PropTypes","number","isRequired","object","shape","add","func","delete","array","bool","_default"],"sources":["../../../src/design/categories/alternateResponses.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { removeChoiceFromAlternate } from '@pie-lib/categorize';\n\nimport Category from './category';\n\nconst CategoriesContainer = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst CategoriesHolder = styled('div')(({ theme }) => ({\n display: 'grid',\n gridRowGap: theme.spacing(1),\n gridColumnGap: theme.spacing(1),\n}));\n\nconst RowLabel = styled('div')({\n gridColumn: '1 / 3',\n});\n\nexport class AlternateResponses extends React.Component {\n static propTypes = {\n altIndex: PropTypes.number.isRequired,\n configuration: PropTypes.object,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n spellCheck: PropTypes.bool,\n };\n\n\n deleteChoiceFromCategory = (category, choice, choiceIndex) => {\n const { model, altIndex, onModelChanged } = this.props;\n\n const correctResponse = removeChoiceFromAlternate(\n choice.id,\n category.id,\n choiceIndex,\n altIndex,\n model.correctResponse,\n );\n\n onModelChanged({ correctResponse });\n };\n\n render() {\n const {\n altIndex,\n model,\n configuration,\n categories,\n imageSupport,\n spellCheck,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { categoriesPerRow, errors, rowLabels } = model;\n const { duplicateAlternate } = errors || {};\n\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`,\n };\n const isDuplicated = duplicateAlternate ? duplicateAlternate.index === altIndex : false;\n\n return (\n <CategoriesContainer>\n <CategoriesHolder style={holderStyle}>\n {categories.map((category, index) => {\n const hasRowLabel = index % categoriesPerRow === 0;\n const rowIndex = index / categoriesPerRow;\n\n return (\n <React.Fragment key={index}>\n {hasRowLabel && (\n <RowLabel\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%',\n }}\n dangerouslySetInnerHTML={{\n __html: rowLabels[rowIndex] || '',\n }}\n />\n )}\n\n <Category\n key={index}\n alternateResponseIndex={altIndex}\n imageSupport={imageSupport}\n isDuplicated={isDuplicated && duplicateAlternate.category === category.id}\n category={category}\n spellCheck={spellCheck}\n onDeleteChoice={(choice, choiceIndex) => this.deleteChoiceFromCategory(category, choice, choiceIndex)}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n configuration={configuration}\n isAlternate={true}\n />\n </React.Fragment>\n );\n })}\n </CategoriesHolder>\n </CategoriesContainer>\n );\n }\n}\n\nexport default AlternateResponses;\n"],"mappings":"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","ignoreList":[]}